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