フォーム読み込み中
本記事は、2023年1月に、CKA(Certified Kubernetes Administrator)試験に合格するまでの体験記となります。長い道のりでしたので、本文を参考にして少しだけでも試験合格までの道のりを短縮することができましたら幸いと思います。
Kubernetesを触り始めたのは、新卒ソフトバンク入社以後、CNAPという、本社開発のKubernetesベースのクラウドネイティブアプリのCI/CDプラットフォームの企画業務を担当した後となります。
Container、Dockerなどについて、一定程度の知識を持っていますが、「Kubernetesって何?美味しいの?」の状態で、Kubernetesに関しては全く知識がありませんでした。よりよくCNAPの技術を理解するため、Kubernetesの資格勉強を始めました。
その後、部署移動、業務変更などを経ても、断続的にKubernetesの勉強をし続け、ようやく2023年1月でCKA資格に合格しました。
そもそもCKAとは何かについて、簡単に説明したいと思います。
Certified Kubernetes Administrator (CKA)とは、Cloud Native Computing Foundation(Kubernetesなどの開発を仕切っている組織)と、Linux Fundation(オープンソース開発をサポートする組織)の協力によって作った資格です。
同系列の資格はいくつか存在します:
Kubernetes and Cloud Native Associate (KCNA):Kubernetesの入門資格。
Certified Kubernetes Application Developer (CKAD):アプリ開発者向けのKubernetes資格。
(本資格)Certified Kubernetes Administrator (CKA):管理者向けのKubernetes資格。
Certified Kubernetes Security Specialist (CKS):セキュリティ責任者向けのKubernetes資格。
個人的には、Kubernetesの基本について知りたい初心者の方は、資格を取るより、実際にKubernetesのコマンドを叩いて試した方がいいと思います。その際に、適当なチュートリアルを読みながら、こちらのPlay with Kubernetesという、無料でKubernetesをお試しできるサイトでやってみることをお勧めします。
初心者以上のレベルを目指し、Kubernetesをより深く勉強したい方であれば、好みでCKAかCKADのどちらかの資格を勉強することをお勧めします。この2つの資格ではKubernetesの基本を一通りカバーできます。足りない部分はその後の実践でその都度勉強すればいいと思います。
また、資格勉強の前提として、ある程度Linuxに関する知識、Networkに関する知識を持っていることが望ましいと思います。私自身はLinux系の資格を取ったことがないので、どのレベルのものが要求されているかは分かりませんが、一般的に利用されるコマンド、パイプ、プロセス、VIエディターなどに対する基本的な知識を持っていれば大丈夫だと思います。
Network面に関しては、私自身はCCNAを持っていますが、CCNAレベルでも十分すぎるぐらいだと感じました。基本的にはTCP/IP、NAPT、HTTP、公開鍵暗号方式辺りを知っていれば大丈夫だと思います。
CKAのテストは、別の資格テストで良く採用されされているテストセンター形式で受験することができなく、必ず受験者側で環境を用意し、オンライン形式でテストを受けなければなりません。そのテスト環境の制限も多く、テストを受ける前にしっかり事前に環境を整えることを強くお勧めします。
沢山の制限の中に、特に重要なのは:
モニターを1つしか使えない(内蔵モニター、外付けモニター全部含めて)
周りにテスト用パソコン以外の電子機器がない(案外自宅ではクリアできない人が多いと思う)
専用ブラウザでテストを受けることになるので、ソフトウェアをインストールできるパソコンを用意すること。
特にモニターについて、1つしか使えない上、テスト時にテストの指示などで更に操作に使える画面が狭くなり、ノートパソコンの小さい画面だと本当に地獄を見ることになります。そのため、ノートパソコンを使っても、本体のモニターを無効化して、外付けの大きいモニターを利用することを強くお勧めします。
又、CKAのテストは、多く見られた選択肢を選ぶ形式のテストではなく、実際のKubernetes環境を複数提供した上、受験者は要求を従って実際にコマンドを叩いてアプリをデプロイ、故障を修復するなど、本番に近い操作でテストを進行します。故にCKA資格の勉強において最も重要となっていることは自分でコマンドを叩く、体で覚えることです。
幸い、CKAテストはコマンドの暗記を求めるのではなく、テスト中はいつでもKubernetesの公式ドキュメントを見ることができます。よって学習段階で重要なドキュメントを熟読し、そのドキュメントがどのキーワードで検索できるかなどを意識して勉強することが大事となります。
CKAを含めて、最近テスト環境に関しては大きな変更が入ったため、ネット上の古い記事と異なる場合があります。より詳しく環境の変更点などを知りたい場合、こちらのKubernetes Certification Updates 動画 (YouTube)を見ることをお勧めします。
知識をちゃんと身につけ、受験料を払っていよいよ本番というところ、その前に幾つかの事前準備をすることをお勧めします。
まずは、練習問題をやることです。受験料を払った後、killer.shというテストシミュレーション環境を2回利用(1回24時間利用可能)することができるようになると思います。このシミュレーション環境は一番本番形式に近い環境となり、問題の難易度も本番より難しく設定されているため非常に役に立つと思います。テスト期間が過ぎても、24時間以内であれば、任意に回答することができます。ボーナス質問も大量にありますので、せっかくの機会なので解いてみましょう。
そして、直接Kubernetesと関係ないが、非常に役に立つ幾つかのテクニックを練習することをお勧めします:
alias k=kubectl
こちらのコマンドでは、頻繁に使われるkubectlのコマンドを、k1文字に短縮する必須設定です。
alias kn="kubectl config set-context --current --namespace"
こちらのコマンドでは、同じく頻繁に使われるデフォルトのnamespaceを変更するコマンドをkn2文字に短縮する設定です。テスト中特定のnamespaceへの操作が頻繁に起きており、この設定でかなり楽になると思います。
export dry='--dry-run=client -o yaml'
こちらのコマンドでは、--dry-run=client -o yamlという、長くて多用する仮設定yamlファイルを生成するオプションコマンドを、$dryに短縮することができます。
いよいよテスト当日になりますが、ここでも幾つかの注意事項があります:
長めにテスト時間を取りましょう。筆者の場合、会社の会議室を借りて周りに何もない環境でも、机の上のスピーカー、「忘れ物に注意」のような貼り紙の確認作業で1時間も取られてしまいました。
テスト前に絶対トイレに行くこと。環境確認時間も含めて相当長丁場のテストなので、筆者の場合、事前にトイレに行ったのですが、テストの最後の方ではトイレを我慢するのが大変でした。
もう一度言いますが、テスト環境を整理すること(会議室を借りるなど)と、大きいモニターを用意することを強くお勧めします。
今回は、CKA資格取得までの体験談をまとめてみました。
個人的には、選択肢のテストより、CKAみたな実際に手を動かす形式のテストの方がよりチャレンジ的で、そして勉強していてより楽しいと感じました。
Kubernetes資格取得を目指す方に少しでも助けになると幸いです。
条件に該当するページがございません