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

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

推薦する

MySQL データベースのデータ テーブルの最適化、外部キーの分析、3 つのパラダイムの使用

この記事では、例を使用して、MySQL データベースのデータ テーブルの最適化、外部キーの使用、およ...

MySQL 5.7を完全にアンインストールするための詳細な手順

この記事は主に、MySQLを再インストールする際のクリーンでないアンインストールのさまざまな問題をま...

Ubuntu で時刻同期に NTP を使用する

NTP は、ネットワーク上で時間を同期するための TCP/IP プロトコルです。通常、クライアントは...

LinuxでJenkinsのパスワードを忘れる方法

1.Jenkinsのインストール手順: https://www.jb51.net/article/1...

ウェブデザインのためのオンライン開発ツール10選の紹介

1. オンラインテキストジェネレーターBlindTextGenerator: デザイナーにとって、こ...

jQueryはバウンドボールゲームを実装します

この記事では、バウンドボールゲームを実装するためのjQueryの具体的なコードを参考までに共有します...

Linux Samba サーバーの超詳細なインストールと構成 (問題解決付き)

目次Samba サーバーの紹介Samba サーバー コンポーネントSamba サーバー関連の設定ファ...

MySQL 5.7.30 のインストールとアップグレードの問題に関する詳細なチュートリアル

くさびコンピュータにインストールされている MySQL のバージョンが比較的古く、おそらくバージョン...

node.js でマルチコア CPU を最大限に活用する方法

目次概要node.js でマルチコア CPU を最大限に活用する方法Node で子プロセスを作成する...

MySQL トリガー構文とアプリケーション例

この記事では、例を使用して MySQL トリガーの構文とアプリケーションを説明します。ご参考までに、...

血の写輪眼と輪廻眼の特殊効果コードを実現するためのHTML+CSS

結果 (完全なコードは下部にあります): 実装は難しくありませんが、繰り返しコードが多くなります。実...

jQuery キャンバスで画像検証コード例を描画する

この記事では、jQuery Canvasの描画画像検証コードの具体的なコードを例として紹介します。具...

Ubuntu 16.4 で完全に分散された Hadoop 環境を構築するための実践的なチュートリアル

序文この記事は主にubantu 16.4 Hadoop完全分散構築に関する関連コンテンツを紹介し、皆...

jQueryで大画面スクロール再生効果を実現

この記事では、大画面スクロール効果を実現するためのjQueryの具体的なコードを参考までに紹介します...

フロントエンドインタビューに必要なホモロジーとクロスドメインの詳細な説明

序文ご存知のとおり、ブラウザの相同性戦略とクロスドメイン方式も、フロントエンド面接で頻繁に遭遇する問...