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 で順序付きリスト項目と順序なしリスト項目のスタイルを設定する方法

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

推薦する

HTML で 2 列レイアウトを実装する方法の例 (左側は固定幅、右側は適応幅)

HTMLは2列レイアウトを実装し、左側は固定幅、右側は適応幅です。実装1: <スタイル>...

Linuxでホスト名を永続的に変更する方法

ホスト名を変更する場合は、以下の手順に従ってください。ホスト名の使用hostnameコマンドを使用す...

CSS3 でシンプルな白い雲が浮かぶ背景効果を実現

これは非常にシンプルな純粋な CSS3 の白い雲の浮遊する背景効果です。浮かぶ白い雲の特殊効果は、C...

Vue の詳細な入門ノート

目次1. はじめに2. 初期ビュー(I) Vueの概念を理解する(II) MVVMアーキテクチャ(I...

fileReader 使用時の落とし穴と解決策

目次fileReader に関する落とし穴iOS における FileReader の落とし穴 (イメ...

CSS の境界線を通して三角形と矢印を実装するサンプルコード

1. CSS ボックスモデルボックスには、余白、境界線、パディング、コンテンツが含まれます境界線の接...

ユーザーエクスペリエンスの76の経験ポイントの要約

ウェブサイト体験の分類1. 感覚体験:快適性を重視した視聴覚体験をユーザーに提供します。 2. イン...

HTML 選択ボックスのプレースホルダーの作成に関する問題

テキスト入力でプレースホルダーを使用していますが、問題なく動作します。しかし、選択ボックスにはプレー...

Linux のソフトリンクとハードリンクの詳細な説明

目次1. ファイルとディレクトリの基本的な保存2. Inコマンドの紹介(1)lnコマンドの基本情報を...

Angularコンポーネントライフサイクルの詳細説明(I)

目次概要1. フックの呼び出し順序2. onChangesフック3. 変更検出メカニズムとDoChe...

MySQL パフォーマンス チューニングについて知っておくべき 15 個の重要な変数 (要約)

序文: MYSQL は最も人気のある WEB バックエンド データベースです。最近、NOSQL がま...

Centos7 でスーパーバイザ デーモンをインストールして設定する方法

初心者は自分で録音しましょう1. スーパーバイザーをインストールします。 Supervisor は ...

MySql データ型チュートリアル例の詳細な説明

目次1. 概要2. MySQLデータ型の詳細な説明1) 文字列型2) 整数型3) 浮動小数点型4) ...

Vueバインディングオブジェクトと配列変数を変更した後にレンダリングできない問題の解決策

プロジェクトシナリオ:ページ表示には <ul> タグがあります。リストデータを動的に表示...