Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

7.3. プラグインのインストール

oc がプラグインを検索するファイルシステム内の場所に、プラグインの plugin.yaml 記述子、バイナリー、スクリプト、およびアセットファイルをコピーします。

現在、OpenShift Container Platform はプラグイン用のパッケージマネージャーを提供していません。したがって、お客様にプラグインファイルを適切な場所に配置していただく必要があります。各プラグインは独自のディレクトリーに置くことが推奨されます。

圧縮ファイルとして配布されているプラグインをインストールするには、プラグインローダー のセクションで指定される場所に展開します。

7.3.1. プラグインローダー

プラグインローダーは、プラグインファイルの検索 のほか、プラグインを実行する上で必要最低限の情報をプラグインが提供するかどうかを確認します。正しい場所に置かれたファイルで、最低限の情報を提供しないもの (例: 不十分な plugin.yaml 記述子) は無視されます。

7.3.1.1. 検索の順序

プラグインローダーは、以下の順序で検索します。

  1. ${KUBECTL_PLUGINS_PATH}

    これが指定されている場合は、検索はここで停止します。

    KUBECTL_PLUGINS_PATH 環境変数がある場合、ローダーはこれをプラグインを検索する際の唯一の場所として使用します。KUBECTL_PLUGINS_PATH 環境変数はディレクトリーの一覧です。Linux および Mac では、この一覧はコロンで区切られています。Windows の場合、この一覧はセミコロンで区切られています。

    KUBECTL_PLUGINS_PATH がない場合、ローダーは他の場所を探し始めます。

  2. ${XDG_DATA_DIRS}/kubectl/plugins

    プラグインローダーは、XDG System Directory Structure の仕様に応じて指定された 1 つ以上のディレクトリーを検索します。

    とりわけローダーは、XDG_DATA_DIRS 環境変数が指定したディレクトリーの場所を見つけます。プラグインローダーは、XDG_DATA_DIRS 環境変数が指定したディレクトリー内にある kubectl/plugins ディレクトリーを検索します。XDG_DATA_DIRS が指定されていない場合は、デフォルトで /usr/local/share:/usr/share を指定します。

  3. ~/.kube/plugins

    ユーザーの kubeconfig ディレクトリーにある plugins ディレクトリーです。ほとんどのケースでは、これは ~/.kube/plugins です。

    # Loads plugins from both /path/to/dir1 and /path/to/dir2
    $ KUBECTL_PLUGINS_PATH=/path/to/dir1:/path/to/dir2 kubectl plugin -h