Kubernetes

K8s 基礎 #7 Namespace とラベル — クラスタの整理法
読了 15分

K8s 基礎 #7 Namespace とラベル — クラスタの整理法

シリーズを追っている間、1 つの事実が静かに通り過ぎました — 今まで作った Pod、Deployment、Service、ConfigMap、Secret が全て default namespace 1 か所に入っていたという点。そして [#4](/ja/posts/k8s-basics-4) の selector からラベルもずっと見ていましたが整理はしていませんでした。この記事はその 2 つの道具 — Namespace とラベル — でクラスタを人が読める形に整える方法を扱い、シリーズ 7 編の到達点で次のトラック (K8s 中級) を短く予告します。

K8s 基礎 #6 ConfigMap と Secret — 設定の分離
読了 16分

K8s 基礎 #6 ConfigMap と Secret — 設定の分離

[#5](/ja/posts/k8s-basics-5) まで作ったマニフェストには 1 つ違和感が残っています — イメージタグ・ポート・ドメインのような値がマニフェストに直接書かれたままという点。この記事ではその空白を埋める 2 つのオブジェクト ConfigMap と Secret を整理します。12-factor の「設定は環境に置く」を K8s でどう解くか、env / envFrom / volume の 3 つの注入方式、Secret は本当の暗号化ではないという 1 行、設定が変わったとき Pod 再起動が必要な理由までを 1 サイクル追います。

K8s 基礎 #5 Service — ClusterIP / NodePort / LoadBalancer
読了 16分

K8s 基礎 #5 Service — ClusterIP / NodePort / LoadBalancer

[#4](/ja/posts/k8s-basics-4) で Pod 3 つを立てるところまでは来ましたが、その 3 つにトラフィックをどう流すかが空いています。Pod IP は毎回変わり、同じ Deployment の 3 つの Pod 間に負荷分散も無く、外部ブラウザからのアクセスは全くできません。この記事はその空白を埋める抽象 — Service の安定 IP・DNS、selector・Endpoints の動作、ClusterIP / NodePort / LoadBalancer 3 タイプの選び方までを 1 サイクル追います。

K8s 基礎 #4 Deployment と ReplicaSet — 宣言的デプロイとローリングアップデート
読了 14分

K8s 基礎 #4 Deployment と ReplicaSet — 宣言的デプロイとローリングアップデート

[#3](/ja/posts/k8s-basics-3) の最後で見た 1 行 — Pod は mortal、死んだらただ消える — の続編です。この記事では初めてコントローラのマニフェストを書きます。Deployment / ReplicaSet / Pod の 3 層の関係を押さえ、同じ nginx Pod を replicas: 3 で立てて 1 つ消したときどう自動復旧するか、イメージタグを 1 文字変えるとローリングアップデートがどう回るか、誤って上がったバージョンを 1 行でどう戻すかを 1 サイクル追います。

K8s 基礎 #3 kubectl と最初の Pod
読了 13分

K8s 基礎 #3 kubectl と最初の Pod

[#2](/ja/posts/k8s-basics-2) で立てたクラスタの上に初めてワークロードを 1 つ載せる番です。kubectl コマンドのパターンを 1 つの表に整理し、kubectl run で命令的に最初の Pod を立ててから、同じ形を YAML マニフェストに書き直して適用します。describe・logs・exec で Pod の中を覗き見て、最後に Pod 1 つではなぜ足りないのか — つまり次の記事の Deployment がなぜ必要かを押さえます。

K8s 基礎 #2 ローカル環境 — minikube / kind / Docker Desktop k8s
読了 10分

K8s 基礎 #2 ローカル環境 — minikube / kind / Docker Desktop k8s

[#1](/ja/posts/k8s-basics-1) で見た control plane / worker の絵を実際に手にする番です。ノート PC 1 台に K8s クラスタを立てる 3 つの道(minikube / kind / Docker Desktop k8s)を比較し、kubectl をインストールして、kind で初めてのクラスタを立て、ノードとシステム pod を確認するまでを一気に追います。

K8s 基礎 #1 Kubernetes とは — なぜコンテナオーケストレーターが必要か
読了 12分

K8s 基礎 #1 Kubernetes とは — なぜコンテナオーケストレーターが必要か

Docker でコンテナ 1 台を立てるところまで身についた次に来る問い — では 100 台はどう運用するのか。死んだら誰が立て直し、トラフィックに合わせてどう増減させるのか。このシリーズの第 1 話では単一コンテナの限界、コンテナオーケストレーターが解く問題、そして Kubernetes クラスタの全体像を整理します。