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

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

推薦する

Linuxでのソフトウェア(ライブラリ)の更新コマンドの詳しい説明

Ubuntu サーバーにパッケージをインストールする場合、sudo apt-get install ...

Ckeditor + Ckfinderを使用したJavaScriptファイルアップロードケースの詳細な説明

目次1. 準備2. 減圧3. 統合を開始する1. 準備Ckeditor_4.5.7_full + C...

CSS 要素を表示および非表示にする 9 つの方法

Web ページの制作では、要素の表示と非表示は非常に一般的な要件です。この記事では、要素を表示したり...

MySQL公式パフォーマンステストツールmysqlslapの使い方の紹介

目次導入説明書実際の経験まとめ導入MySQL は最も人気のあるオープンソース データベースとして、さ...

Nginx ソースコード調査における nginx 電流制限モジュールの詳細な説明

目次1. 電流制限アルゴリズム2. nginxの基礎知識4. 実戦要約する高並行性システムには、キャ...

TeamCenter12 にログインする際の 404/503 問題の解決方法

TeamCenter12はアカウントのパスワードを入力し、ログインをクリックすると、404または50...

ウィンドウ表示効果を実現するJavaScript

この記事では、ウィンドウ表示効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

winx64 での mysql5.7.19 の基本的なインストール プロセス (詳細)

1. ダウンロード参考: https://www.jb51.net/softs/451120.ht...

初心者向けウェブサイト構築ガイド⑦:美しいウェブサイトを作るのはとっても簡単

私はかつて、ウェブサイトを一度も構築したことのない人々が、初心者向けのウェブサイト構築方法に関する私...

Windows での MySQL 8.0.16 のインストールと設定方法のグラフィック チュートリアル

この記事は、参考のためにMySQL 8.0.16のインストールグラフィックチュートリアルを記録してい...

webpackコード断片化の実装

目次背景コモンズチャンクプラグイン分割チャンク構成リソースを非同期に読み込む要約する背景高性能なアプ...

ラベルタグの使用時に発生する問題の分析と解決策

最近何かをするときにラベル タグを使用しました。以前はラベル タグをほとんど使用していなかったため、...

Docker基盤技術の適用に関する詳細な説明 名前空間Cgroup

Docker の基盤技術: Docker の基盤となる 2 つのコア テクノロジーは、名前空間とコ...

Docker と Intellij IDEA の融合により、Java 開発の生産性が 10 倍向上

目次1. 開発前の準備2. 新しいプロジェクトIdea は Java 開発のための強力なツールであり...

Spring Boot のパッケージ化と Docker リポジトリへのアップロードの詳細な手順

重要な注意: この記事を読む前に、Docker コンテナに関する知識と、一般的な Docker 操作...