Skip to content

qvsctl plugin gen-kubeconfig

指定したNamespaceもしくはクラスタ全体へのAdmin権限をもつkubeconfigを生成します。

使い方

qvsctl plugin gen-kubeconfig [-p] [-n namespace] [-out output]

説明

WARNING

このコマンドを使用する前に、kubeconfigを生成したいクラスタへコンテキストを変更する必要があります。

指定したNamespace(-pオプションを使用した場合はqmonus-systemのNamespace)に対し、Admin権限をもたせたqmonus-valuestreamサービスアカウントを作成し、このアカウントを利用したkubeconfigを生成します。Namespaceがクラスタに存在しない場合は新たに作成します。

kubeconfigの出力先はディレクトリもしくはファイルを指定できます。 デフォルトではoutput.kubeconfig.yamlというファイル名でコマンドを実行したディレクトリへ出力します。

WARNING

生成したKubeconfigは、以下のコマンドでGitリポジトリ上で管理しないようにするなど、お取り扱いには注意してください。 echo 'output.kubeconfig.yaml' >> /path/to/your/repository/.gitignore

オプション

  -n, --namespace string    kubeconfigを生成したいNamespaceの指定
  -o, --output string       生成したkubeconfigを出力するディレクトリまたはファイル (Default: ./output.kubeconfig.yaml)
  -p, --privileged          クラスタ全体のNamespaceを制御できる特権的なkubeconfigを生成する

オプションの組み合わせ方

  • -n <namespace>オプションを使用することで指定したNamespaceスコープのkubeconfigを生成します。Namespaceがクラスタに存在しない場合は新たに作成し、Service Accountも指定したNamespaceへ作成されます。
  • -pオプションを使用することでクラスタ全体をスコープとしたkubeconfigを生成します。また、Service Accountはqmonus-systemというNamespaceで作成されます。
  • -p -n <namespace>と両方のオプションを使用すると指定したNamespaceへService Accountを作成しクラスタ全体をスコープとしたkubeconfigを生成します。
  • -pおよび-nのオプションを使用しない場合はdefaultNamespaceへのスコープを持つkubeconfigを生成します。また、Service AccountもdefaultNamespaceへ作成されます。