Kubernetes: 2023년 학습 계획

Kubernetes 用語の整理

Kubernetesは、それ自体が独特のエコシステムと哲学を持っています。それを効果的に利用し、理解するためには、基本的な用語や概念に慣れる必要があります。Kubernetesに関連する主要な用語とその意味を整理し、全体的なアーキテクチャや動作原理の基本的な理解を深める手助けをします。

初めてのステップとして、これらの用語にはまだ慣れていないかもしれませんが、時間が経てば自然と慣れてくるでしょう。

用語の整理を通して得られる基本的な理解は、Kubernetesの他の学習リソースやドキュメントを読む際、また実際の環境での作業を行う際に大きな助けとなります。だから、ゆっくりと各用語を覚え、その意味と使用方法を理解することが重要です。

Kubernetes コンポネントを車に例えると以下の通り

  • Pod: 車の中の個々の座席です。それぞれの座席(コンテナ)は特定の機能を持っています。
  • Node: ガレージです。複数の車(Pod)を保管しています。
    1. Kubelet: ガレージの管理人です。各車(Pod)の状態を確認し、必要なメンテナンスを行います。
    2. Service: 交差点または信号機です。どの車(Pod)にどのような通信(トラフィック)を送るかを制御します。
  • Cluster: 複数のガレージ(Node)で形成される駐車場または車庫です。
  • ConfigMap/Secret: 車のキーまたはGPSです。設定や機密情報を保管し、適切な場所に導きます。
  • Deployment: 車の運行計画です。どの車(Pod)がいつどこで動くかを管理します。

Kubernetes 学習プランをたてる

基礎編:初心者向け

  1. 基礎理論の学習
    • Kubernetesのアーキテクチャ、主要な概念と用語について理解する
  2. 基本的な概念の実践を通してマスター
    • minikubeやクラウドベースのKubernetesクラスタを使い、基本的なコマンドと概念の実践
  3. Pod、Service、Deploymentの実践
    • 基本的なKubernetesオブジェクトの作成、変更、削除を実践する

応用編:中級者むけ

  1. ConfigMapとSecretを扱う
    • 設定情報と機密情報をKubernetesでどのように管理するか学習
  2. 状態を維持するアプリケーションを扱う
    • StatefulSet、Persistent Volumesなどを使用した状態を維持するアプリケーションのデプロイ方法を学習
  3. ネットワークとセキュリティ
    • Ingress、NetworkPoliciesなどを使用してサービスルーティングとセキュリティ設定

専門編:上級者むけ

  1. CI/CDパイプラインの構築
    • Jenkins、GitLab CIなどを使用したKubernetesに対するCI/CDパイプラインの構築
  2. モニタリングとロギング
    • Prometheus、Grafana、ELKスタックなどを使用したモニタリングとロギング
  3. 高度なトピック
    • オペレーター、Custom Resource Definitions(CRDs)、サービスメッシュなどの高度なトピックについて理解

2023.10.29 追記


Azure Kubernetes Service

  1. Azure Kubernetes Service features
    • CSI Driver
      Integrate Azure Key Vault as a secrets store with a Kubernetes cluster via a CSI volume.
    • Container Networking
      Choose between a network configuration using kubenet or Azure CNI, they can both work with a default VNet or you have the option to customize your own VNet.