👻

Kubernetes apiVersionの選び方

2020/12/09に公開

apiVersionの選び方

選び方の基準として、

  • 特定のAPI GROUPに属している場合 → apiVersion: (APIGROUP)/(APIVERSION)
  • 属していない場合(=Core Groupに属す) → apiVersion: v1

という基準がある。調べ方のフローは以下。

  1. $ kubectl api-resources | grep Deploymentとしてみて、deploymentリソースとapiGroupの対応を調べる
    • 例えば、deployments deploy apps true Deploymentという実行結果が出たとすると、中央の出力結果がapiGroupを示しているので、appsに属していると分かる
    1. appsとextensionsが出た、という場合は、extensionsは移行過渡期のものなので、appsが$apiGroupとなる
    2. 空の場合は、Core Groupに属しているということなので、apiVersion: v1で良い。apiVersionの選択終了。
  2. apiVersionが空でない(=Core Groupに属していない)場合は、以下のようにして利用可能なバージョンを調べる。
  3. kubectl api-versions | grep $apiGroupとして、grepの引数には、1で調べたapiGroupの名前をいれる。
  4. その出力結果をapiVersionとして用いれば良い。
  5. 複数出力された場合は、機能のバージョン差分があるので、バージョン名で検索して公式ドキュメントを参照する。

参考Qiita

Discussion