クラウドを利用することが当たり前の時代になり、Kubernetesなどのクラウドネイティブなエコシステムが流行になりつつあるかと思います。
では、Kubernetesのようなクラウドネイティブなツールを利用することでどのようなメリットを得られるかを以下にまとめましした。
- 疎結合なシステムを構築できる
- 障害に強く、自動で復旧してくれる
- 監視の自動化
- オートスーケルによる自動スケーリング
この記事では、Kubernetesの資格を取得するためにどうやって勉強し、どうすれば合格することができるのかを解説していきたいと思います。
CKADとは?
Kubernetesの資格であるCKAD(Certified Kubernetes Application Developer)試験とは、クラウドネイティブアプリケーションを設計・構築・設定・デプロイできることを証明する資格試験になります。
この資格では、Kubernetes上で動くアプリケーションの開発者に必要なスキル、知識を保有することを保証します。
Kubernetesの勉強を始める前に
もしCKAD資格を取得することが目的の方は、勉強を始める前に実施して欲しいことがあります。
最初の時点で受験日を決め、予約をしてしまうことです。
ちなみに、今の規約では一度落ちても再試験を無料で受けることができるため、自分にプレッシャーをかけるためにこの時点で予約をしてください。
Kubernetes環境のローカルセットアップ
では、早速ローカル環境のセットアップをしていきましょう。
必要なツールのインストール
では、早速必要なツールの minikube をインストールしていきましょう。
Windowsユーザーの方は、こちらからインストーラーを取得してインストールしてください。
# Brew Package Managerを利用している場合
$ brew install minikube
# その他(for x86 = Intel)
$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64
$ sudo install minikube-darwin-amd64 /usr/local/bin/minikube
# その他(for ARM = M1)
$ curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-arm64
$ sudo install minikube-darwin-arm64 /usr/local/bin/minikube
以下のコマンドを実行し、同様のアウトプットが返ってくればインストールができています。
$ minikube version
#-- output ---#
minikube version: v1.20.0
commit: c61663e942ec43b20e8e70839dcca52e44cd85ae
では、次にVMドライバーをインストールします。今回はdockerを利用します。
※Windowsユーザーは VirtualBoxをご利用ください。dockerをvirtualboxに読み替えて実施してください。
$ brew install --cask docker
$ brew install docker
インストール後の動作確認
インストールが完了したらDockerを立ち上げるため「Command」+ 「スペース」を押下して、「Docker」と入力し、Enterキーを押下してください。
Dockerが立ち上がりましたら、Terminalより、以下のコマンドを実行することでminikubeを立ち上げてください。
$ minikube start --driver=docker
#-- output ---#
😄 Darwin 11.2.3 (arm64) 上の minikube v1.20.0
✨ プロフィールを元に、 docker ドライバを使用します
👍 コントロールプレーンのノード minikube を minikube 上で起動しています
🚜 Pulling base image ...
💾 Kubernetes v1.20.2 のダウンロードの準備をしています
> preloaded-images-k8s-v10-v1...: 514.95 MiB / 514.95 MiB 100.00% 10.33 Mi
> gcr.io/k8s-minikube/kicbase...: 324.50 MiB / 324.50 MiB 100.00% 4.27 MiB
> gcr.io/k8s-minikube/kicbase...: 324.50 MiB / 324.50 MiB 100.00% 9.13 MiB
🔄 既存の docker container を "minikube" のために再起動しています...
🐳 Docker 20.10.5 で Kubernetes v1.20.2 を準備しています...
🔎 Kubernetes コンポーネントを検証しています...
▪ Using image gcr.io/k8s-minikube/storage-provisioner:v5
▪ Using image kubernetesui/dashboard:v2.1.0
▪ Using image kubernetesui/metrics-scraper:v1.0.4
🌟 有効なアドオン: storage-provisioner, default-storageclass, dashboard
🏄 Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default
上記のoutputのようにコマンド実行後に出力された場合、minikubeは起動されています。kubectl コマンドを利用してローカル環境で Kubernetesクラスターが起動していることを確認してください。
$ kubectl cluster-info
#-- output ---#
Kubernetes control plane is running at https://127.0.0.1:50117
KubeDNS is running at https://127.0.0.1:50117/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
上記のようにクラスターの情報が返ってくれば、ローカルのKubernetes環境が準備完了になります。
Kubernetes資格取得のための勉強方法
では、環境構築が完了しましたら実際の学習に入っていただきたいと思います。
CKAD Exercises というGithubに公開されているドキュメントがあり、これを参考書として一つ一つのテーマを進めていただければと思います。
- Core Concepts - 13%
- Multi-container pods - 10%
- Pod design - 20%
- Configuration - 18%
- Observability - 18%
- Services and networking - 13%
- State persistence - 8%
これが全て終わり次第、実際のテストに似た環境で模擬テストを実施してみてください。
この模擬テストをスラスラ全問正解できるようになれば、実際のCKAD試験についても合格できるかと思います。
まとめ
ここまでで、私が実施したCKAD試験を合格するまでの学習方法を紹介させていただきました。
今後は更にクラウドの利用が加速していくかと思いますので、エンジニアとしての価値を落とさないためにもKubernetesなどのクラウドネイティブツールにおける知見を増やしていくことをお勧めいたします。
コメント