はじめに
CNCF主催の認定試験 Cilium Certified Associate (CCA) を受験し合格したので、受験記を記載します。同認定試験の受験を考えている方の参考になれば幸いです。
免責事項(Disclamer)
- 本投稿は受験当時の情報となります。受験を検討する際は最新の情報の確認をお願いします。
- 本投稿は個人の所感です。
- 所属する企業や団体は関係ありません。
- 情報の利用は自己責任でお願いします。
試験概要
- Kubernetesで用いるネットワークプラグインCiliumに関する認定試験です。
- 受験日:2024/11/19
- 試験形式
- オンライン試験
- 1回再受験可能
- 多肢選択式
- 試験時間90分
- 試験言語は英語のみ提供
- 100点満点中75点以上で合格
Ciliumとは
- CiliumではKubernetesで用いられるCNI用のネットワークプラグインです。
- Kubernetesがネットワーク通信を行う際に使うコンポーネントであり、プラグイン的に変更することが可能です。パソコンでいうとネットワークドライバのようなイメージでしょうか。
- eBPFを用いてプロセスとカーネルの間に位置し、ネットワークトラフィックが来た時にフックされて動作します。
- このあたりがイメージつきやすいかなと思います。
- 以下のような機能を持っています。
- L3レイヤーでのネットワークポリシーの適用
- Kubernetesのサービスメッシュとして動作
- Cilium内での透過的な暗号化
- クラスターメッシュを使うことで異なるk8sクラスター間でも通信可能。異なるリージョンのクラスター間も接続可能。
- Hubbleを使ったトラフィックフローの可視化
- 上記のように非常に多くの機能を持つため、覚えることが多く大変でした。
勉強方法
参考にした受験記
学習リソース
- まずはLinuxFoundation提供の無料トレーニング Introduction to Cilium (LFS146) を受けましょう。Ciliumの概要や主な機能などを学習できます。
- 次に 認定の公式ページ を見て認定のカリキュラムを把握し、先ほどのトレーニングでカバーできていない範囲をCiliumドキュメントで確認します。
- 具体的は以下あたりが該当すると思います。
- IP Address Management (IPAM) with Cilium
- Datapath Models
- Policy Enforcement Modes
- Know How to use Ingress or Gateway API for Ingress Routing
- Understand the Benefits of Gateway API over Ingress
- Encrypting Traffic in Transit with Cilium
- Egress Connectivity Requirements
- Understand Options to Connect Cilium-managed Clusters with External Networks
- 認定カリキュラムとドキュメントの対応はこちらも参考になりました。
上記でカバーしきれず本番で戸惑った項目
- 各IPAMモードでどの機能が使えるかは、こちらの表を覚えておきましょう。
- CNI, IPAMを切り替える際に無停止で切り替えができるか。
- Ingressトラフィックのルーティング方法には 1.Kubernetes Ingress API, 2.Cilium Gateway API, 3.Kubernetes Gateway API(1の後継機能)の3種類があります。試験で主に聞かれるのはCiliumの機能である2ですが、3についてもマニフェストの書き方の概要は知っておいたほうがよいです。
- Cilium ClusterMeshのIDが競合した際の動作。
- 以下は(beta)となっている機能なので試験に出ないかなと思いつつ、問われることがありました。
- BIG TCPとMTUについて。
その他Tips
- ドキュメントを見てもわかりづらい点については、ChatGPTなどを使って説明してもらうのも有用でした。(ただし、情報の正確さは裏どりした方がよいです。Cilium関連は比較的正確だったと感じます)