はじめに
CKA-JPに合格しました。勉強していく中で得たものについて徒然に書いていきます。
ちなみに合格ラインは66点で私は84点でした。
CKS受験に必要でした
まず受験の経緯ですが、CKS受験に必要だったためです。業務でKubernetesを使っていたため技術力を高めたいと思っていましたが、CKAには業務で使っていない内容が含まれており、あまりやる気は出ませんでした。。
以下のページにあるように、CKS受験には有効期限が切れていないCKAを持っていることが必要です。
実践的なKubernetes技術取得の証明になります
そもそも資格を取る目的として自分の技術証明があると思います。Kubernetes認定試験の場合は、選択式ではなく実際にコマンドを打って答えるので実践的な内容になります。
具体的にはkubectlでコンテナやサービスといったリソースを自分で作れる証明になります。
選択式の試験と比べると、難しいかどうかは好みによるかなと思っています。コマンドを打たねば答えられませんが、答えに至る方法は自由です。どこまでの回答があっているか確認用のコマンドを打つこともできます。問題文のやってほしいことを明確に理解できるのであれば、選択式よりも答えやすいのではないかと思っています。
Kubernetesの基盤のイメージがわくようになりました
試験範囲ですが、以下のページが参考になります。
受験前にCKADは取っており、試験内容のかぶりがいくつかありました。
CKAのみの内容として、
- クラスタのバージョンアップ
- ETCDのバックアップ&レストア
- Kubernetesリソース(Ingress、RBAC)
- kube-systemのコンポーネント(APIサーバー、DNSサーバー、CNI)
などがあります。
正直環境依存のものが多く、学んだことをそのまま業務に使えるとは思えませんでした。。
最近はマネジメントサービスでAWSのEKS、OCIのOKEなどがあり、Kubernetesの基盤は気にしなくても使えるようになっています。
ただ、いつも気にしないKubernetesの仕組みをより深く知ることができるのは面白いかもしれません。
またKubernetesリソースの使い方をさらに知ることで、今までマニュアルで何とかしていたことを、仕組みで解決できるようになるかもしれません。
Kubernetesのネットワークの理解が深まりました
前提として、私は業務でKubernetesに触れていたため以前から知っている部分は多くありました。
まずコンテナというだけで、インスタンスのどこで何が動いているか知る必要があります。以下に参考にした記事を載せておきます。
さらにKubernetesでは様々な通信が行き来しています。
Kubernetesのリソースを作成するにはAPIサーバーにアクセスします。
POD同士も通信します。Kubernetes内部にDNSサーバーがあり、名前解決も行っています。
さらにマネジメントサービスを使用していれば、クラウドベンダーのIPアドレスから通信が来ることもあります。
これらのことを知らないと、得体のしれないものが動いている感覚になってしまうと思います。
ネットワークの問題になったときに何がよくて何が悪いのかわからなくなります。
Linuxに関する知識も身につきました
CKAではKubernetesのコマンドだけでは解けない問題も出てきます。
LPIではLinuCレベル2相当の前提知識が必要とされています。
一気に覚えるのが大変になりますが、KubernetesだけでなくLinux全般の知識が身につきます。
業務でもコンテナの動いている様子やアプリの管理に役立てられるので、ためになりました!
おわりに
これで私はCKADとCKAを持つことになりました。Kubernetesを極めるため、CKSもとれるよう頑張ります!