2.5. プラグインによる OpenShift CLI の拡張
デフォルトの oc
コマンドを拡張するためにプラグインを作成およびインストールし、これを使用して OpenShift CLI で新規および追加の複雑なタスクを実行できます。
2.5.1. CLI プラグインの作成
コマンドラインコマンドを記述できる任意のプログラミング言語またはスクリプトで、OpenShift CLI のプラグインを記述できます。既存の oc
コマンドを上書きするプラグインを使用することはできない点に注意してください。
手順
以下の手順では、oc foo
コマンドの実行時にターミナルにメッセージを出力する単純な Bash プラグインを作成します。
oc-foo
というファイルを作成します。プラグインファイルの名前を付ける際には、以下の点に留意してください。
-
プログインとして認識されるように、ファイルの名前は
oc-
またはkubectl-
で開始する必要があります。 -
ファイル名は、プラグインを起動するコマンドを判別するものとなります。たとえば、ファイル名が
oc-foo-bar
のプラグインは、oc foo bar
のコマンドで起動します。また、コマンドにダッシュを含める必要がある場合には、アンダースコアを使用することもできます。たとえば、ファイル名がoc-foo_bar
のプラグインは、oc foo-bar
のコマンドで起動します。
-
プログインとして認識されるように、ファイルの名前は
以下の内容をファイルに追加します。
#!/bin/bash # optional argument handling if [[ "$1" == "version" ]] then echo "1.0.0" exit 0 fi # optional argument handling if [[ "$1" == "config" ]] then echo $KUBECONFIG exit 0 fi echo "I am a plugin named kubectl-foo"
CLI 用のこのプラグインをインストールすると、oc foo
コマンドを使用して呼び出すことができます。
関連情報
- Go で作成されたプラグインの例については、サンプルのプラグインリポジトリー を参照してください。
- Go でのプラグインの作成を支援する一連のユーティリティーについては、CLI ランタイムリポジトリー を参照してください。
2.5.2. CLI プラグインのインストールおよび使用
OpenShift CLI のカスタムプラグインを作成した後、使用する前にプラグインをインストールする必要があります。
前提条件
-
oc
CLI ツールをインストールしていること。 -
oc-
またはkubectl-
で始まる CLI プラグインファイルがあること。
手順
必要に応じて、プラグインファイルを更新して実行可能にします。
$ chmod +x <plugin_file>
ファイルを
PATH
の任意の場所に置きます (例:/usr/local/bin/
)。$ sudo mv <plugin_file> /usr/local/bin/.
oc plugin list
を実行し、プラグインが一覧表示されることを確認します。$ oc plugin list
出力例
The following compatible plugins are available: /usr/local/bin/<plugin_file>
プラグインがここに一覧表示されていない場合、ファイルが
oc-
またはkubectl-
で開始されるものであり、実行可能な状態でPATH
上にあることを確認します。プラグインによって導入される新規コマンドまたはオプションを起動します。
たとえば、
kubectl-ns
プラグインを サンプルのプラグインリポジトリー からビルドし、インストールしている場合、以下のコマンドを使用して現在の namespace を表示できます。$ oc ns
プラグインを呼び出すコマンドは、プラグインのファイル名に依存することに注意してください。たとえば、ファイル名が
oc-foo-bar
のプラグインはoc foo bar
コマンドによって起動します。