Kubernetes
コンテナオーケストレーター。Googleが社内クラスタ管理システムBorgの知見をもとに2014年に公開し、CNCF設立時の最初のホストプロジェクトとなった。2010年代後半のオーケストレーション競争(vs Docker Swarm, Apache Mesos)を制し、コンテナ基盤の事実上の標準になっている。
このノートはKubernetes関連ノートを束ねるハブノート。 #kubernetes #infrastructure #moc
ローカル・軽量環境
- minikube — upstreamのKubernetesをローカルに立てる公式ツール。多様なドライバー(VM/コンテナ/ベアメタル)を選べる
- k3s — 単一バイナリの軽量ディストリビューション。エッジ・IoT・ホームラボ向けで、本番でも使われる
- kind — Kubernetes本体のテスト用に生まれた、Dockerコンテナをノードとするクラスタツール。CI・使い捨てクラスタ向き
アーキテクチャ・拡張機構
- Cluster API (CAPI) — Kubernetesクラスタ自体をKubernetesのリソースとして宣言的に管理する仕組み
- Cloud Controller Manager (CCM) — クラウドプロバイダー固有の制御ループを本体から分離したコンポーネント
- Container Storage Interface (CSI) — ストレージベンダーがプラグインを書くための標準インターフェース
- CNI — Podネットワークを実装するプラグインの標準インターフェース。ストレージにおけるCSIのネットワーク版にあたる
- etcd — クラスタの全状態を保存するプライマリデータストア
- kubeadm — クラスタを手作業で組む際の公式ブートストラップツール。kind・Cluster APIなど上位ツールの土台でもある
事例
- Kubernetes on Oxide — Oxide Computerのオンプレクラウド基盤へのKubernetes統合の取り組み
前史・周辺
- Apache Mesos — two-level schedulingを特徴とするクラスタマネージャ。オーケストレーション競争でKubernetesと争い、2025年にApache Attic入りした
- Borg — Kubernetesの源流となったGoogle社内のクラスタ管理システム
🔗 リンクされているノート
- Apache Mesos
- Borg (Googleのクラスタ管理システム)
- CEL (Common Expression Language)
- CNI (Container Network Interface)
- Cilium
- Cloud Controller Manager (CCM)
- Cluster API (CAPI)
- Container Storage Interface (CSI)
- CoreOS
- Fluent Bit
- Kata Containers
- Kubernetes on Oxide
- Nomad
- Open vSwitch (OVS)
- Podman
- RBAC (Role-Based Access Control)
- Raft (合意アルゴリズム)
- Service Mesh
- Traefik
- cgroups(control groups)
- etcd
- firecracker-containerd
- k3s
- kind (Kubernetes in Docker)
- kubeadm
- minikube
- コンテナ向け軽量VM技術