皆さん、こんにちは!Kubernetes資格の華であるCKAD(Certified Kubernetes Application Developer)試験を準備されている皆さんのために、このガイドを用意しました。🚀
試験で意外と難しく感じられることがあるAPIバージョン体系とAPI非推奨化(Deprecation)ポリシーについて、10分でマスターできるように詳しくまとめました。この内容を理解すれば、リソースを作成する際にどのapiVersionを使うべきか、もう悩むことはなくなるでしょう!

1. Kubernetesの心臓部、APIサーバーを理解する 💓
Kubernetesのすべての動作はkube-apiserverを通じて行われます。私たちがkubectlコマンドを打つにしても、ダッシュボードをクリックするにしても、結局はAPIサーバーにHTTPリクエストを送っているのです。
Kubernetes APIは、数多くのリソース(Pod, Deployment, Serviceなど)を管理するためにAPIグループに分かれています。
- Core(Legacy)グループ: /api/v1パスを使用し、Pod, Service, ConfigMapなどが含まれます。
- Namedグループ: /apis/$GROUP_NAME/$VERSIONパスを使用し、Deployment(apps/v1), Job(batch/v1)などが含まれます。
2. APIバージョンの3段階進化過程 🌱
Kubernetes APIは安定性に応じて3つの段階を経ます。YAMLファイルを作成する際には、この段階を確認することが重要です!
| 段階 | 特徴 | 安定性 |
|---|---|---|
| Alpha (v1alpha1) | 初期段階、デフォルトで無効。バグの可能性が高い。 | ❌ 低い |
| Beta (v1beta1) | 十分なテストが完了。デフォルトで有効だが変更の可能性あり。 | ⚠️ 普通 |
| Stable (v1) | 最終完成段階。安定的で長期間サポートされる。 | ✅ 高い |
—
3. API非推奨化(Deprecation)ポリシー: なぜ重要なのか? ⚠️
Kubernetesは進化し続けるため、古いAPIバージョンはもはや使用されなくなります(Deprecation)。CKAD試験で特に注意すべき点は、「使用中のクラスターバージョンで特定のAPIが削除(Removed)された場合」に対応する能力です。
💡 覚えておくべき非推奨化ルール
- Stable APIは、少なくとも12ヶ月または3リリースの間維持された後、非推奨化されます。
- Beta APIは、少なくとも9ヶ月または3リリースの間維持された後、非推奨化されます。
- APIバージョンが非推奨化(Deprecated)されたからといってすぐに消えるわけではありませんが、将来的に削除される予定なので、最新バージョンに置き換える必要があります。
4. CKAD試験実践ヒント: API情報の確認 🛠️
試験中に「特定のリソースを作成したいけど、どのapiVersionを使えばいいんだろう?」と戸惑ったときに使える魔法のコマンドです。
① 現在サポートされているAPIバージョンを確認
Bash
kubectl api-versions
このコマンドで、クラスターがサポートするすべてのgroup/versionリストを見ることができます。
② リソース別APIグループおよびバージョンを確認
Bash
kubectl api-resources
各リソース(Deploy, Po, Ingなど)がどのAPIグループに属しているか、そしてSHORTNAMESが何であるかを一目で表示します。
③ 特定リソースの詳細説明とバージョンを確認
Bash
kubectl explain deployment
このコマンドは、リソースの構造だけでなく、上部にそのリソースの最新のGROUPとVERSIONを明示してくれます。
5. API非推奨化対応シナリオ (例: Ingress) 📋
例えば、以前はIngressを作成する際にextensions/v1beta1を使用していましたが、最新バージョンではnetworking.k8s.io/v1を使用する必要があります。
[誤った例 – 以前のバージョン]
YAML
apiVersion: extensions/v1beta1 # ❌ 削除されたバージョンである可能性があります
kind: Ingress
...
[正しい例 – 最新バージョン]
YAML
apiVersion: networking.k8s.io/v1 # ✅ 推奨されるStableバージョン
kind: Ingress
...
試験で特定のバージョンで作成するよう明示されていない場合は、常にkubectl explainで確認した最新のStableバージョンを使用するのが最も安全です! ✅
🌟 要約とまとめ
- Kubernetes APIはAlpha -> Beta -> Stableの段階を経ます。
- kubectl api-resourcesとkubectl explainは試験会場でのあなたの親友です。
- 非推奨化(Deprecation)は、より良い機能のための変化です。慌てずに最新のAPIグループを確認してください。
この内容を熟知していれば、CKAD試験でAPI関連の問題は問題なく解決できるでしょう。皆さんの合格を心から応援しています! 🎊
コメントを残す