Certified Kubernetes Administrator (CKA) #1: 試験環境: alias と dry-run、vim/yq セットアップ、時間管理
CKAD シリーズ 21 編 でアプリ開発者視点のマニフェスト作成を手に覚えたなら、次は クラスター自体をインストールし、運用し、直す管理者の仕事 です。CNCF Kubernetes 認定のうち、運用者視点の実技試験が Certified Kubernetes Administrator (CKA) です。本シリーズは CKA 合格に必要なすべてのドメインを 27 編で解きほぐすトラックです。
CKAD が「アプリをどうデプロイするか」を問うたなら、CKA は「クラスターがどう動くのか、そして壊れたらどう直すのか」を問います。control plane を自分でブートストラップし、etcd をバックアップして復旧し、ノードが NotReady になった原因を追跡します。そのためこの最初の記事は、試験の構造だけでなく、2 時間をどう運用するか を分けるセットアップまで一緒に扱います。
CKA はどんな資格か #
CKA は Kubernetes クラスターをインストールし、構成し、運用し、トラブルシューティングする能力 を実技で検証する資格です。CKAD がクラスターの上でアプリを扱う開発者の仕事だったなら、CKA は クラスターそのもの を扱います。次のような作業を空のターミナルで制限時間内に終えられるかを見ます。
- kubeadm で control plane をブートストラップし、ワーカーノードを join する
- クラスターをマイナーバージョン 1 つ分アップグレードする
- etcd スナップショットを保存し、障害状況でそのスナップショットから復旧する
- RBAC でユーザーと ServiceAccount に最小権限を付与する
- NotReady ノード、CrashLoop Pod、期限切れの証明書の原因を追跡して直す
この試験に通った人はマニフェストを書けるだけにとどまらず、クラスターのコンポーネントがどう噛み合って動くのか を理解し、障害を手で復旧できます。
どんな人に価値があるか #
| 職種 | 効用 |
|---|---|
| インフラ / プラットフォームエンジニア | クラスター運用の標準的な実力の証明 |
| DevOps / SRE | 障害対応とアップグレードの手の速さの検証 |
| バックエンド開発者 (上位トラック) | CKAD の次の運用の深さの確保 |
| CKS 準備者 | CKS は CKA 保有が受験の前提 |
CKA は CKAD とともに 実技資格の中心 であり、CKS (セキュリティ専門家) へ進むための前提条件でもあります。ここで身につける etcd 復旧・証明書・RBAC・トラブルシューティングの感覚は CKS にもそのまま使えます。
試験の構造 #
CKA 試験の表面的な情報は短く覚えておく価値があります。
| 項目 | 値 |
|---|---|
| 形式 | 実技 (performance-based)。実際のクラスターで作業 |
| 問題数 | 約 15〜20 個の作業 (task) |
| 試験時間 | 2 時間 |
| 合格ライン | 66% |
| 受験料 | $395 USD (再受験 1 回を含む) |
| 有効期間 | 2 年 |
| 受験資格 | なし (誰でも受験可能) |
| ドキュメント閲覧 | 試験中に kubernetes.io/docs などの公式ドキュメント閲覧が許可される |
| 受験方式 | オンライン監督 (PSI)。リモートターミナル |
| Kubernetes バージョン | 受験時点の最新マイナーバージョン基準 (予約時に確認) |
CKAD と決定的に違う点 #
CKAD は 1 つのクラスターの中でアプリリソースを作る作業がほとんどでした。CKA は 複数のクラスター/ノードを行き来しながらシステムレベル まで降ります。SSH でノードに入り systemctl で kubelet を扱い、/etc/kubernetes/manifests の static Pod マニフェストを直し、etcdctl でスナップショットを取る作業が出ます。つまり kubectl だけで終わらず、Linux 運用の感覚 も一緒に必要です。
最も大きなドメインは Troubleshooting (30%) #
CKA の 5 つのドメインのうち Troubleshooting が 30% で最も大きいです。何かを新しく作るよりも すでに壊れたものを直す 作業の比重が大きいということです。そのため本シリーズは最後の 4 編 (#22〜#25) を丸ごとトラブルシューティングに充てます。
試験ドメインの比重 #
CKA の出題範囲は 公式試験カリキュラム に 5 つのドメインで整理されています。
| # | ドメイン | 比重 | シリーズ対応 |
|---|---|---|---|
| 1 | Cluster Architecture, Installation and Configuration | 25% | #2〜#9 |
| 2 | Workloads and Scheduling | 15% | #10〜#15 |
| 3 | Services and Networking | 20% | #18〜#20 |
| 4 | Storage | 10% | #16 · #17 |
| 5 | Troubleshooting | 30% | #22〜#25 |
比重はそのまま学習時間の配分ガイドになります。Troubleshooting (30%) と Cluster Architecture (25%) が合わせて 55% を占めるので、この 2 つのドメインが合格を分けます。特にトラブルシューティングは他のドメインの知識を前提にするので、アーキテクチャとネットワーキングをしっかり固めてから入ると解けます。
試験環境のセットアップ #
CKA も CKAD と同じく、知識だけでなく 速度 も問われます。試験開始と同時に次のセットアップをしておくと、作業ごとに数十秒ずつ節約できます。
alias と環境変数 #
# kubectl を k に
alias k=kubectl
# dry-run + YAML 出力を do に
export do="--dry-run=client -o yaml"
# 即時削除を now に
export now="--force --grace-period=0"
# 自動補完 (k まで拡張)
source <(kubectl completion bash)
complete -o default -F __start_kubectl kvim セットアップ: YAML インデント事故の防止 #
set expandtab
set tabstop=2
set shiftwidth=2
set numberyq: YAML をコマンドで扱う #
CKA ではマニフェストや static Pod ファイルの特定のフィールドだけを素早く変えなければならない場面がよくあります。yq が入っていれば手編集より安全です。
# 特定のフィールドを読む
yq '.spec.containers[0].image' pod.yaml
# フィールドを修正 (in-place)
yq -i '.spec.replicas = 3' deploy.yamlノードと control plane を扱うシステムコマンド #
CKA はノードの中に入る作業が多いです。次のコマンドが手に馴染んでいる必要があります。
# ノードへ接続 (試験で提示されるホスト名)
ssh node01
# kubelet の状態とログ
systemctl status kubelet
journalctl -u kubelet -f
# static Pod マニフェストの場所 (control plane コンポーネント)
ls /etc/kubernetes/manifests/
# etcd スナップショット
ETCDCTL_API=3 etcdctl snapshot save /opt/snap.db \
--cacert=... --cert=... --key=...context 切り替えを真っ先に確認する #
各作業は指定されたクラスター/ノードで解かないと採点されません。問題ごとに提示される kubectl config use-context ... コマンドを 先に実行する 習慣が誤答を防ぎます。CKA はクラスターが複数あるので、このミスが特に多いです。
k config use-context <問題で指定されたコンテキスト>学習戦略 #
1) 自分でクラスターを壊す #
CKA は読んで伸びるものではありません。kubeadm でマルチノードクラスターを自分で立ててみて、etcd をわざと壊してから復旧してみて、証明書を期限切れにしてみた人が試験会場で揺らぎません。ローカルで難しければ、クラウド VM を 2〜3 台で練習環境を作ります。
2) Troubleshooting は最後にまとめて #
トラブルシューティングは前のドメインの知識を前提にするので、アーキテクチャ・ワークロード・ネットワーキング・ストレージを先に固め、#22〜#25 で総合します。比重が 30% で最も大きいので、ここで点数を確保することが合格の核心です。
3) 部分点と時間管理 #
CKA は作業単位で採点され、一部の作業には部分点があります。1 つの作業で詰まったら印を付けて次へ進み、配点が高く手に馴染んだ作業から確実に点数を積み上げることが合格ラインを超える道です。時間管理は #26 で詳しく扱います。
4) 模擬試験は後半に #
本シリーズを一周したら、#27 にフルスケールの実技模擬試験を置いてあります。追加の練習が必要なら、killercoda の CKA シナリオや受験券に含まれる killer.sh の模擬環境が信頼できる基準です。
登録と受験環境 #
登録の手順 #
- Linux Foundation 教育ポータル で CKA を購入。頻繁に行われる割引キャンペーンを待てば安く購入可能
- 受験券に含まれる killer.sh 模擬試験 2 回 を活用。実際の試験とほぼ同じ環境
- PSI 監督システムで受験日を予約
- 受験前にシステム互換性チェック (ブラウザ・ウェブカメラ・ネットワーク) を通過
オンライン監督受験の準備 #
CKA はリモートターミナルに接続して作業するオンライン監督試験です。
- 身分証 — 英文表記のあるパスポートが最も安全。名前が登録情報と正確に一致する必要あり
- 受験環境 — 机の上のすべての物を片付け、デュアルモニターは 1 台だけ使用、家族・ルームメイトの出入りを遮断
- システム点検 — 受験 30 分前に入室してバックグラウンドアプリをすべて終了。安定した有線ネットワークを推奨
まとめ #
この記事で押さえたこと:
- CKA はクラスター管理者の実技資格。インストール・構成・運用・トラブルシューティングを空のターミナルで検証
- 約 15〜20 個の作業 / 2 時間 / 66% / $395 (再受験 1 回を含む) / 2 年有効。試験中に公式ドキュメントの閲覧が許可される
- 5 つのドメイン — Cluster Architecture (25%)、Workloads and Scheduling (15%)、Services and Networking (20%)、Storage (10%)、Troubleshooting (30%)
- セットアップ —
alias k、do、now、vim インデント、yq、systemctl/journalctl、etcdctl、context 切り替え - 学習戦略 — 自分でクラスターを壊して復旧。トラブルシューティングは最後に総合。模擬試験は後半に
次へ — クラスターアーキテクチャ 1 #
環境は押さえました。ここからクラスターがどう動くのか、control plane から入ります。
#2 クラスターアーキテクチャ 1: Control plane では、kube-apiserver (すべての通信の関門)、etcd (クラスター状態のストア)、kube-scheduler (Pod 配置の決定)、kube-controller-manager (reconciliation loop) がそれぞれ何をするのか、static Pod としてどう起動しているのか、そしてコンポーネントが死ぬとクラスターに何が起きるのかまで、直接覗き込みながら整理します。