実務で使えるKubernetes：学習リソース厳選リスト

# はじめに
- 今後Kubernetesを扱っていくうえでこれは学んでおきたいという内容を整理しました
- 筆者が実際に読んだモノや、これから読もうと思っているものを含めています
# 表記説明
- 読んだ/買って読んだ/実践した：★
- まだ読めてない/買っただけで積まれている/実践しようとしている：☆
# Webサイト
- ★[入門 Docker](https://y-ohgi.com/introduction-docker/)
  - Kubernetesを理解するには、まずDockerを学ばなければ話になりません
  - Dockerって何？を順を追って学ぶことができます
- ☆[Kubernetes入門 (LFS158-JP)](https://training.linuxfoundation.org/ja/training/introduction-to-kubernetes-lfs158-jp/)
  - KubernetesというOSSを提供しているCloud Native Computing Foundation (CNCF)という団体が、Kubernetesを学ぶwebコースを、**日本語**で！！、**無料**で！！公開を開始しました
  - まだKubernetesを触ったことがない方は、ここから始めてみることをお勧めします
- ★[転職したら Kubernetes だった件](https://speakerdeck.com/superbrothers/that-time-i-changed-jobs-as-a-kubernetes)
  - 「ある日、転職した あなた に与えられた仕事は、Kubernetes の一員になることだった！？」
  - 読者のあなたはKubernetes上で動くリソースです
  - Kubernetesリソースのあなたは、出勤したらまず何をするのか、どういう指示を受けて動くのか、一風変わった切り口でKubernetesとして学ぶことができます
- ☆[Amazon EKS Blueprints for Terraform](https://github.com/aws-ia/terraform-aws-eks-blueprints)
  - Amazon Web Services(以下 AWS)でのマネージドなKubernetesであるAmazon EKSをTerraformで構築するという前提で、よくありそうな構成の設定ファイルを提供してくれます
  - そのままの設定ファイルを使用する...というより、ここで提供される設定ファイルを元にして、作成を省力化する、という目的で利用可能です
# 勉強会資料
- ★[進化するK8s運用：KarpenterによるCluster Autoscalerからの脱却、運用ノウハウ完全公開](https://speakerdeck.com/shibatch/jin-hua-suruk8syun-yong-karpenterniyorucluster-autoscalerkaranotuo-que-yun-yong-nouhauwan-quan-gong-kai)
  - EKS Auto Mode以来、Karpenterのワードをよく聞くようになった印象ですが、何がうれしいのか、何がautoscalerと違って優れているのか？を説明できますか？
  - この資料では、Karpenterのメリット、インストール方法、運用方法についてまなべｍ
# ハンズオン
- ★[数時間で完全理解！わりとゴツいKubernetesハンズオン！！](https://qiita.com/Kta-M/items/ce475c0063d3d3f36d5d)
  - Kubernetesって何？の振り返りから、Docker for Desktopを用いてKubernetesを動かしてみる流れを学べます
  - もちろん動かして終わり！ではなく、内部的にどういうものが作成され、それがどういう設定をしたからなのか、かなり細かめに見ることができます
- ☆[EKS Workshop](https://www.eksworkshop.com/)
  - Amazon EKSを基に、Kubernetesを学ぶことができます
  - 英語ではありますが、chromeの日本語翻訳機能を用いて、初心者向けIntroから、中上級者向けのObservabilityやSecurity、Network、またユースケースとしてAI/MLについて学ぶことができます
  - このワークショップは以前から公開されていたのですが、画面上部のバーに気が付いておらず、かなり多くの項目をカバーしていました
    ![EKS Workshopのナビゲーションバー](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1276335/3426eecc-0192-49bd-9db0-3e888ebfa5ad.png)
  - かなりやりごたえがありそうです！
# 参考書
- ★[仕組みと使い方がわかる Docker＆Kubernetesのきほんのきほん](https://amzn.asia/d/hUgpkQO)
  - Kubernetesを理解するためにはまずDockerを知らなければいけません
  - Docker何それ美味しいの？から順を追ってKubernetesを知ることができます
- ★[Docker/Kubernetes開発・運用のためのセキュリティ実践ガイド](https://amzn.asia/d/7IFSwa5)
  - タイトル通りではありますが、Kubernetesが美味しい事を理解した人の第二歩目としておススメです
  - コンテナもセキュリティ対策、当然必要です
  - じゃあ何をしなければいけないの？対策しなければいけないのはコンテナだけ？
  - いいえそんなことはありません
  - では何にどんなセキュリティ対策が必要なのか、理解しましょう
- ★[現場で使えるkubernetes](https://amzn.asia/d/33pkhvU)
  - 特にChapter 05 Kubernetesの運用の章が必見です
  - Kubernetesを運用するために必要となる、スケーリング、モニタリング、ロギング、サービスメッシュ、クラスターアップグレードについて学ぶことができます
- ★[つくって、壊して、直して学ぶ Kubernetes入門](https://amzn.asia/d/bootX6U)
  - 人が一番技術力が上がるのはどんな時か、そう、外的要因によって学ばざるを得なくなった時です
  - つまり、トラブルシュートの時です
  - ただ、残念ながら意図的に顧客環境で障害を起こして、このトラブルシュートで私を成長させてください！なんていうことはできないので、、、
  - 仕方がないですが、この本を元に検証環境でトラブルシュートを学びましょう
- ☆[Kubernetes Secret管理入門　HashiCorp Vaultで実現するセキュアな運用](https://amzn.asia/d/20IPkwi)
  - Kubernetesでは**Secret**という形で、例えば3rd Partyサービスやコンテナレジストリへのアクセスで用いるID/Passwordなどの認証情報を管理しています
  - このSecretという名称から、ああ暗号化されているんだろうと思われるでしょうが、あくまで管理慎重にね、というラベルが付けられただけの状態といえます
  - すなわちBase64でエンコードされているだけで、簡単にデコードできてしまい、実質平文保存と変わりません
  - そのため、HashiCorp Vaultなる、Secretを安全に管理するツール？を学ぶことができそうです
- ★[まんがではじめるKubernetes](https://blux.booth.pm/items/1317512)
  - Kubernetesは正直ちゃんと理解しようとするとすごくすごく難しいです
    - 私も「完全に理解できた」状態だと思っています....
  - そんな難しいKubernetesを、まずは薄く簡単に学んでみることができます
  - for Macではありますが、ローカルでKubernetesをとりあえず動かす手順やKubernetesでpodを動かしてみる手順を辿ることができます
- ★[まんがではじめるKubernetes2](https://blux.booth.pm/items/1869808)
  - 前述の筆者の方の第二弾です
  - こちらではKubernetesのアーキテクチャとしてどういうコンポーネントが動いているかを学ぶことができます
- ☆[Docker & Kubernetesネットワークのしくみ　クラウドネイティブに求められる情報通信の知識](https://amzn.asia/d/aG5kzMR)
  - 本記事執筆時点(2025.4.19)では発売されていないのですが、Docker/Kubernetesのネットワークを深く学べるのでは？？と期待しています
  - Kindle版の発売も期待してよいでしょうか？
# 資格
- Kubernetesでは[4つの資格](https://lpi.or.jp/k8s/)が提供されています
  - 認定Kubernetes 管理者 (CKA-JP)
    ```
    「認定Kubernetes管理者 (CKA-JP)」（以下、CKA-JP試験）の認定を保有することは、基本的なインストールを実行できるだけでなく、本番環境レベルのKubernetesクラスタを構成および管理する能力があることの証明となります。
    具体的には、Kubernetesのネットワーク、ストレージ、セキュリティ、メンテナンス、ロギングとモニタリング、アプリケーションのライフサイクル、トラブルシューティング、APIオブジェクトプリミティブ、エンドユーザーの基本的なユースケースの確立などの主要な概念を理解していることの証明です。
    ```
  - 認定Kubernetes クラウドネイティブアソシエイト（KCNA-JP）
    ```
    認定Kubernetesクラウドネイティブアソシエイト（KCNA-JP）は、Kubernetesの基礎的な知識やスキルを理解しプロフェショナルなエンジニアを目指す方にとって最適な認定です。
    Kubernetesを中心に、幅広いクラウドネイティブエコシステムの基本知識があることを証明することができます。
    ```
  - 認定Kubernetes アプリケーション開発者（CKAD-JP）
    ```
    「認定Kubernetesアプリケーション開発者（CKAD-JP）」（以下、CKAD-JP試験）の認定を保有することは、Kubernetes用のクラウドネイティブ アプリケーションを設計、構築、公開できる技術力があることの証明となります。 
    具体的には、アプリケーションリソースを定義し、コアプリミティブを使用して、Kubernetesのスケーラブルなアプリケーションやツールを構築、監視、トラブルシューティングなどが行える証明です。
    ```
  - 認定Kubernetesセキュリティ スペシャリスト（CKS-JP）
    ```
    「認定Kubernetesセキュリティスペシャリスト（CKS-JP）」（以下、CKS-JP試験）とは、CKS保持者がさまざまなベストプラクティスのスキル、知識、およびコンピテンシーを備え、ビルド・デプロイ・ランタイム時にコンテナベース アプリケーションやKubernetesプラットフォームを保護できることを保証するものです。
    この試験を受けるには、CKA認定が必要です。
    ```
- 参考になりそうな合格体験記
  - [クラウド系資格 受験記目次](https://qiita.com/synn/items/e26a33f3ae04f2de3bf6#cncf-kubernetes%E7%B3%BB%E8%B3%87%E6%A0%BC-%E5%8F%97%E9%A8%93%E8%A8%98%E7%9B%AE%E6%AC%A1)
  - [CKA体験記](https://qiita.com/tomtech_2024/items/d1f64cb5c1fd72df71eb)
# 終わりに
- 今後もよさそうな情報を収集したら紹介していきます！