#Kubernetes

141 件の記事

Certified Kubernetes Administrator (CKA) #10 Workloads 1: Deployment の深掘り、ReplicaSet、rolling update/rollback
読了 9分

Certified Kubernetes Administrator (CKA) #10 Workloads 1: Deployment の深掘り、ReplicaSet、rolling update/rollback

Certified Kubernetes Administrator (CKA) シリーズの 10 番目の記事です。運用者が最も頻繁に扱うワークロードである Deployment を深く見ていきます。Deployment→ReplicaSet→Pod の階層とそれを束ねるラベル selector、kubectl で作成とスケールを処理する方法、rollingUpdate 戦略 (maxSurge/maxUnavailable) で無停止アップデートを保証する条件、そして kubectl rollout でバージョンを追跡して戻す rollback まで手に覚えさせます。

Certified Kubernetes Application Developer (CKAD) #5 Workloads 1: Deployment、ReplicaSet、ローリングアップデートとロールバック
読了 10分

Certified Kubernetes Application Developer (CKAD) #5 Workloads 1: Deployment、ReplicaSet、ローリングアップデートとロールバック

Certified Kubernetes Application Developer (CKAD) シリーズの 5 番目の記事です。アプリデプロイの中心である Deployment を命令型で作成し、Deployment・ReplicaSet・Pod の関係とスケールを整理します。rollingUpdate の maxSurge・maxUnavailable の意味、kubectl set image で新しいバージョンをデプロイする流れ、kubectl rollout で状態を追跡し、失敗したバージョンを undo で戻すロールバックシナリオを手で実習します。

Certified Kubernetes Security Specialist (CKS) #3: CIS benchmark (kube-bench)、コンポーネントセキュリティ、Ingress TLS、バイナリ検証
読了 10分

Certified Kubernetes Security Specialist (CKS) #3: CIS benchmark (kube-bench)、コンポーネントセキュリティ、Ingress TLS、バイナリ検証

Certified Kubernetes Security Specialist (CKS) シリーズの 3 番目の記事です。Cluster Setup ドメインの残り半分である、クラスター自体のハードニングを扱います。CIS Kubernetes benchmark とは何か、kube-bench で control plane とノードを点検して PASS/FAIL/WARN の結果を読み remediation を適用する方法、apiserver と kubelet の危険なフラグを安全な値に変える手順、Ingress に TLS を付ける方法、そしてダウンロードしたバイナリを sha256sum で検証する流れまで、コマンドとマニフェストで手に覚えさせます。

ConfigMap と Secret
読了 17分

ConfigMap と Secret

ConfigMap と Secret で設定とパスワードをマニフェスト本体から分離します。12-factor の「設定は環境に置く」を K8s で解く形、env・envFrom・volume の3つの注入方式、Secret の base64 が暗号化ではないという一行、そして設定変更時に Pod 再起動が必要な理由までを扱います。

Deployment と ReplicaSet
読了 15分

Deployment と ReplicaSet

宣言型デプロイとローリングアップデートを扱います。Deployment / ReplicaSet / Pod の三段の関係をつかみ、replicas: 3 の self-healing、RollingUpdate の maxSurge / maxUnavailable、rollout undo によるロールバック、Deployment が解かないワークロード (StatefulSet・DaemonSet・Job) までを一連の流れで整理します。

Health check
読了 20分

Health check

K8s がコンテナが生きているか、そしてトラフィックを受ける準備ができているかをどう判断するかのモデルを扱います。liveness · readiness · startup の3つの probe の役割分離、httpGet · tcpSocket · exec の検査方式、initialDelaySeconds · periodSeconds · failureThreshold のようなパラメータチューニング、liveness に外部依存を入れたときの cascading failure、terminationGracePeriodSeconds と preStop フックの graceful shutdown までを一連の流れで整理します。

Ingress と Ingress Controller
読了 18分

Ingress と Ingress Controller

外部トラフィックがクラスタの中の Service へ入ってくるモデルをまとめる抽象化です。Ingress オブジェクトと Ingress Controller の二層分離、ホスト · パス · pathType ベースのルーティング、TLS 終端と cert-manager、IngressClass、そして後続標準である Gateway API までを体系的に整理します。

kubectl と最初の Pod
読了 15分

kubectl と最初の Pod

kubectl のメンタルモデルをつかみ、最初の Pod を起動します。kubectl run の命令型の一連の流れから YAML マニフェストの宣言型、get / describe / logs / exec の日常コマンド、Pod ライフサイクルと ImagePullBackOff・CrashLoopBackOff のよくある失敗パターンまで扱います。

Kubernetes とは
読了 15分

Kubernetes とは

なぜコンテナオーケストレーターが必要なのか。Docker / docker-compose まで触れてきた読者を出発点に、単一コンテナツールの5つの限界、宣言型 desired state + reconcile loop モデル、control plane / worker node の全体像、本書の範囲までを整理します。

Namespace とラベル
読了 18分

Namespace とラベル

1つのクラスタをネームスペースで分けておくモデルとラベル・セレクタの文法を整理します。default の限界、システムネームスペース4つ、RBAC・ResourceQuota・NetworkPolicy の単位としてのネームスペース、kubens 運用のヒント、app.kubernetes.io/* 標準ラベル、kubectl -l の selector 文法までを扱い1部を締めくくります。

PV / PVC / StorageClass
読了 19分

PV / PVC / StorageClass

Pod のライフサイクルを越えて生き残る永続データモデルを扱います。PV · PVC · StorageClass の三角関係、静的 · 動的プロビジョニング、accessModes (RWO · RWX · RWOP)、reclaimPolicy、volumeBindingMode の WaitForFirstConsumer、allowVolumeExpansion、StatefulSet の volumeClaimTemplates がその上で何を作るのかまでを一連の流れで整理します。

resources.requests / limits
読了 17分

resources.requests / limits

コンテナが CPU とメモリをどう要求し、どう上限を与えられるかのモデルを扱います。requests と limits の分離、QoS クラス (Guaranteed · Burstable · BestEffort)、CPU throttling とメモリ OOMKilled の動作の違い、JVM · Go ランタイムの cgroup 認識、LimitRange · ResourceQuota のネームスペースポリシー、そして最初の値を決めて調整する運用サイクルまでを一連の流れで整理します。