Mac で docker と kubectl の自動補完コマンドを追加する方法

Mac で docker と kubectl の自動補完コマンドを追加する方法

kubectl の紹介

kubectl は、k8s クラスターを操作するためのコマンドライン ツールです。k8s のマスター ノードにインストールされます。kubectl は、$HOME/.kube ディレクトリで config という名前のファイルを探します。Kubeconfig 環境変数を設定するか、--kubeconfig を設定することで、他の kubeconfig ファイルを指定できます。 Kubectl は、apiserver と対話することで、k8s クラスター内のさまざまなリソースを追加、削除、変更、および照会できます。次に、kubectl の構文、コマンドライン操作、一般的な例を紹介します。コマンド、その引数、サブコマンドの詳細については、kubectl リファレンス ドキュメントを参照してください。

kubectl 構文

kubectl 構文形式は次のとおりです。これは、k8s クラスターのマスター ノードで実行できます。

kubectl [コマンド] [タイプ] [名前] [フラグ]

1 はじめに

自動コマンド補完は、特にコマンドに多くのパラメータがある場合に非常に便利な機能です。どうやら、 docker/kubectlはそのようなコマンドのようです。コマンド補完を行う方法を見てみましょう。

2 現在使用されているシェルを表示する

現在のシステムでサポートされているshellを確認します。

$ cat /etc/shells 
# chpass(1) で許容されるシェルのリスト。
# Ftpdは使用していないユーザーの接続を許可しません
# これらのシェルの 1 つ。

バイナリ
/bin/csh
/bin/ダッシュ
バイナリ
バイナリ
バイナリ
バイナリ

現在のshellを表示する方法はいくつかあります:

# 環境変数を表示$ echo $SHELL
バイナリ

# プロセス名を印刷 $ echo $0
-バッシュ

# プロセスを表示 $ ps
  PID TTY 時間 コマンド
66162 ttys005 0:00.68 -バッシュ

# 存在しないコマンドを直接入力すると、エラーメッセージに $ pkslow が表示されます
-bash: pkslow: コマンドが見つかりません

3 kubectlの自動補完を追加する

ヘルプを取得するには、コマンドkubectl completion -hを使用します。

bashバージョンを確認します:

$ bash -バージョン
GNU bash、バージョン 3.2.57(1) リリース (x86_64-apple-darwin19)
著作権 (C) 2007 フリーソフトウェア財団、Inc.

bash-completionをインストールします:

brew install bash-completion

kubectl 補完 bash を補完ディレクトリにコピーします。

$ kubectl 補完 bash > $(brew --prefix)/etc/bash_completion.d/kubectl

.bash_prfileに追加するステートメントを参照してください:

$ brew info bash補完
==> 注意事項
~/.bash_profile に次の行を追加します。
  [[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"

Bash 補完は次の場所にインストールされています:
  /usr/local/etc/bash_completion.d

上記の[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh".bash_profileファイルに追加するだけです。

上記の手順を完了したら、 .bash_profile有効にして使用できるようになります。コマンドを使用するときは、 Tabを使用してコマンドを補完します。プレフィックスが一意に識別されない場合は、すべてのオプションがリストされます。

$ kubectl get se
シークレットサービスアカウントサービス

4 dockerコマンドの自動補完を追加する

以前の基盤では、はるかにシンプルです。

$ cd /usr/local/etc/bash_completion.d
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker.bash-completion
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-machine.bash-completion
$ ln -s /Applications/Docker.app/Contents/Resources/etc/docker-compose.bash-completion

ターミナルを再度開くと使用できるようになります。

5 結論

複雑なコマンドの場合でも、自動コマンド補完を追加する必要があります。これにより、効率が向上し、エラーが削減されます。

Mac で docker と kubectl の自動補完コマンドを追加する方法についてはこれで終わりです。docker と kubectl の自動補完コマンドの詳細については、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • kubectl の get コマンドと使用例の概要
  • kubectl 操作コマンドと使用方法の概要

<<:  CSS で順序付きリスト項目と順序なしリスト項目のスタイルを設定する方法

>>:  フレームセットの共通プロパティ(フレームとウィンドウの分割)

推薦する

Pycharmとsshリモートアクセスサーバーdockerの詳細なチュートリアル

背景: 一部の実験はサーバー上で完了する必要があります。したがって、リモート サーバー上のコードをロ...

UbuntuからMySQLを削除して再インストールする方法

まずmysqlを削除します: sudo apt-get remove mysql-*残ったデータをク...

MySQL 単一テーブルクエリの例の詳細な説明

1. データを準備するこのテーブルでは次の操作が実行されます 学生テーブルを作成 ( id int ...

JavaScript を使用して userAgent を通じていくつかの一般的なブラウザを判別する方法

序文通常、h5 ページを作成するときは、WeChat、QQ、Weibo などのエコシステム内でトラフ...

Linux で Spring Boot プロジェクトを開始および停止するためのスクリプトの例

Springboot プロジェクトを開始するには、次の 3 つの方法があります。 1. メインメソッ...

CSS3+ベジェ曲線でスケーラブルな入力検索ボックス効果を実現

では、早速レンダリングを見てみましょう。 コア コードはtransition: cubic-bezi...

Vue のライフサイクルとフック関数の詳細な説明と典型的な面接の質問

目次1. Vue ライフサイクル2. フック機能2.1 4つの段階と8つの方法に分かれています。 2...

JavaScript が Jingdong の虫眼鏡の特殊効果を模倣

この記事では、Jingdong虫眼鏡を模倣したJavaScriptの具体的なコードを参考までに共有し...

Baidu百科事典UIの開発動向について議論する

<br />百度百科事典の正式版がついにオンラインになりました。2年間の「テスト版」の帽...

Reactは二次的連鎖効果(階段効果)を実現する

この記事では、二次リンク効果を実現するためのReactの具体的なコードを参考までに共有します。具体的...

CentOS 7.2 は uniapp プロジェクトを展開するための nginx Web サーバーを構築します

Pantherは新人としてスタートし、今もまだ新人ですが、人々から学び、学んだことを時々皆さんと共有...

モバイルデバイス上のぼやけた小さなアイコンの問題を解決する方法

序文以前、画像とテキストの垂直方向のずれの問題について説明しました。ここで示した小さな例では、小さな...

Nest.js のハッシュと暗号化の例の詳細な説明

0x0 はじめにまず、ハッシュアルゴリズムとは何でしょうか?メッセージやセッション項目など、一部のデ...

JavaScriptの浅いコピーと深いコピーについての簡単な説明

目次1. 直接譲渡2. 浅いコピー3. ディープコピー1. JSONオブジェクトメソッド2. 再帰コ...

見落とされがちなMETAタグの特殊効果(ページ遷移効果)

Web デザインで js を使用すると、多くのページ効果を実現できますが、HTML タグの META...