APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

【Kubernetes】未経験から1か月経ったので振り返る

こんにちは、クラウド事業部の中根です。


未経験からKubernetesに入門して約1か月が経ったので、振り返りたいと思います!
実務に入る前の予習なので、実務を通した実践的な学習はしていない点はご了承ください。

学習の動機

私は中途入社で、案件は決まったのですが、参画まで1か月半ほど待機期間となりました。
クラウドネイティブな案件ということで、この期間を活かしてKubernetesのキャッチアップをすることになりました。

入門前のレベル感

IT業界経験が3年と1か月です。
以下、関係する領域の詳細です。

Kubernetes
ほぼ未経験。
OpenShiftをちょろっと触っていたが、手順書通りにデプロイ作業していただけのレベル。
(Kubernetesが元であることすら知らなかった)

Docker
実務未経験。
個人的に入門ハンズオンをやって、個人アプリをローカルでデプロイしたことがある程度。

Linux
業務経験1年半。(メインではない)
運用管理は未経験。
シェルスクリプト書いたり基本コマンド操作は少しできる。

関連資格
※理解の助けになったと思ったものだけ抜粋。
・AWS認定(Specialty以外取得)
・応用情報技術者
・ネットワークスペシャリスト

学習プロセス

業務時間の多くをKubernetesの学習に使いました。
時間については、トラッカーの実績を元に参考として記載しています。

入門0~7時間

公式ドキュメント
チュートリアルの項目だけ読みました。
図とかもあってわかりやすかったので、ドキュメント苦手な人もおすすめです。
対話型チュートリアルが使えなかったのが残念でした。
https://kubernetes.io/ja/docs/tutorials/

コンテナ(Docker)、OpenShiftの社内教材で学習
社内研修の過去動画があったので、復習がてら利用しました。

入門7~32時間

上司からの課題
「EKS上でPrometheusとGrafanaで監視ダッシュボード作ってみる」という課題を通して学習することになりました。
机上だときつそうだったので、とてもわくわくしました。
AWS公式のEKSハンズオンの後、後述の『Kubernetes完全ガイド』やChatGPT/Claude3を頼りに完了しました。
この時点で、PrometheusとGrafanaについては、圧倒的に理解が浅いままでした。

技術ブログ
技術ブログへのアウトプットも合わせて行いました。
社内のメンター制度を利用して、レビューも行っていただきました。

techblog.ap-com.co.jp

入門32~60時間目

『Kubernetes完全ガイド』
ローカル環境を作って、動かしながら順番に読み進めました。
バージョンの違いはチャンスと捉えて学習するスタイルにしたので、なかなかハードでした。
(本:1.18、当時:1.29)
特に苦労したのは以下です。

  • ServiceAccount作成時に、Secretが自動生成されなくなった(アプデ部分の把握)
  • ネットワークポリシーが使えない(kindで構築していたため)

また、スライドで図解を書きながら読んだりもしました。
このような図を30枚以上書いてました。

また、環境構築についてのアウトプットも行いました。
techblog.ap-com.co.jp

入門60~71時間目

Kubernetes The Hard Way
GKE上でやるものですが、ローカルのVM上でやってやるぜ!と、謎の縛りを設けました。
結果、CNIの設定あたりで挫折しました。
後にVM版も存在することを知り、そちらをやればよかったと後悔しました。
とても非効率だったので、真似しないでください。

入門71~132時間目

CKA取得
次案件では「CKA相当の知識」は欲しい、というご要望があったので、取得を目指しました。
まずは有名なCKAのUdemy講座を、会社補助で受けさせていただきました。
まるっと1週間かけて、講義を一通り終えました。
講義動画はめちゃくちゃわかりやすく、練習問題もあって楽しかったです。
ただ、systemdとか、証明書関連など、前提知識部分でだいぶ苦戦しました。
特に証明書は、資格を通してある程度理解したと思っていましたが、実際にやってみると何もわからなかったです。
アウトプットの大事さを改めて痛感しました。

その後、Udemyの模擬試験と、KillerShellという受験申込でついてくる模擬試験で学習しました。
模擬試験は難しいというより、時間が足りない、という印象でした。
おかげで後は時間との勝負だな、という自信が生まれました。

試験は無事合格できました。
満点取るくらいの気持ちでいましたが、89%だったのでまだまだ足りていないなと思いました。
6月中くらい目標で良いよ、と言っていただいていたのですが、早めに取得できてのはよかったです。

勉強会参加
業務時間外では、以下のイベントにオンライン参加しました。

  • Kubernetes Novice Tokyo
    入門50時間くらいでの参加です。
    内容には辛うじてついていけましたが、これで初心者なんだ…と思い、めちゃくちゃ刺激になりました。

  • Kubernetesマイクロサービス開発の実践
    入門70時間くらいでの参加です。
    結構ついていけて楽しかったです。
    現場でどういうことを考えないといけないかみたいなのが参考になりました。
    CKAに直接かかわるようなトピックはほとんどなかったので、この辺は前提なんだろうなーと感じました。

  • Kubernetes Meetup Tokyo
    入門80時間くらいでの参加です。
    全くついていけず、途中で脱落しました。
    修行して出直してこようと思いました。

できるようになったこと

参画前で不安だらけでしたが、基本操作くらいはできる自信はつきました。
実際の運用で直面するような課題にはなかなか対応できないのかもしれませんが、簡単なものなら仮説検証したり議論に参加することはできそうな気がしています。
KubeConで出てくるような深い内容には、まだまだついていけなさそうです。

また、CKAを取ったことで、以下ができるようになったみたいです。
具体的にどの部分がどれだけできていて、どこが足りていない、と言語化できない時点で、まだまだこれからなんだなと思います。
(いわゆる「完全に理解した」状態)

認定Kubernetes管理者は、基本的なインストールを実行できるだけでなく、本番環境レベルのKubernetesクラスタを構成および管理する機能を実証しました。
また、Kubernetesのネットワーキング、ストレージ、セキュリティ、メンテナンス、ロギングとモニタリング、アプリケーションのライフサイクル、トラブルシューティング、APIオブジェクトプリミティブ、エンドユーザーの基本的なユースケースを確立する機能などの主要な概念を理解します。

https://training.linuxfoundation.org/ja/certification/certified-kubernetes-administrator-cka/

次のステップ

実務経験はまだないので、そことのギャップを埋めていくことになると考えています。
手を動かすことはある程度できると思うので、実際の課題に向き合いながら、いろいろ学んでいきたいです。
Systemdなど、Kubernetesを扱う上での前提知識が足りていない部分がまだまだ出てきそうな予感もあります。

これから入門する方へ

これから入門する方向けのおすすめ教材です。

1. UdemyのCKA講座
https://www.udemy.com/course/certified-kubernetes-administrator-with-practice-tests/
非常にわかりやすく、環境構築なしでKubernetesを触ることができます。
いきなり自分で環境作るのはとてもしんどかったので、挫折しにくい点でもおすすめです。
公式ドキュメントだけ試験で参照できることから、ドキュメントに慣れ親しめる点も嬉しいです。

受験料高い&準備が面倒なので、個人的には資格取得は任意で良いと思います。
模擬試験1周終えた時点で、k8sの知識というより、試験対策の意味合いが強かったです。
(ドキュメントの場所やよく使うコマンド覚えたり、作業スピード上げたり)
受験しない場合でも、KillerShellはレベルが高いので、腕試しに購入してやっておくのも良いかもしれません。
時間がかかっても9割以上正解できるなら、あとは試験対策するだけで合格できるだけの知識はあると思います。

2. 公式ドキュメントのチュートリアル
https://kubernetes.io/ja/docs/tutorials/
公式ドキュメントは読みにくいイメージがあると思いますが、図もついていてわかりやすいと感じました。
対話型チュートリアルは現在利用できないのが残念ですが、こちらを使えばブラウザ上でお試しできます。

3. 『Kubernetes完全ガイド』
https://book.impress.co.jp/books/1119101148
有名な技術書です。
2024/4/30現在のバージョンが1.30ですが、書籍は1.18ですのでその点はご注意ください。
バージョンの違いでたまにつまづきますが、わかりやすくて辞書代わりにもなるので、とてもおすすめです。
これだけでも十分良かったと感じましたが、1.のCKAよりは挫折しやすいと思うので、強力な補助輪だと思った方が良いかもしれません。

おわりに

約1か月間のKubernetes学習を振り返りました。
入門時の難しそうなイメージは、今も変わりません。笑
しかし、着実に知識を身に着けられたことで、難しいけどやればできるという自信につながりました。
マニフェストを使って各種リソースを設定したり、簡単なトラブルシューティングなら全然できそうな予感がします。
実務経験がないため実践的なスキルが不足している部分が不安ですが、楽しみな気持ちが大きいです。
5月からの実務を通して、確実にレベルアップしていきたいと思います!

お知らせ

APCはAWS Advanced Tier Services(アドバンストティアサービスパートナー)認定を受けております。


その中で私達クラウド事業部はAWSなどのクラウド技術を活用したSI/SESのご支援をしております。
www.ap-com.co.jp

https://www.ap-com.co.jp/service/utilize-aws/

また、一緒に働いていただける仲間も募集中です!
今年もまだまだ組織規模拡大中なので、ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp

本記事の投稿者: r-nakane
AWSをメインにインフラ系のご支援を担当しています。