#Kubernetes

141 件の記事

GitOps
読了 13分

GitOps

マニフェストの source of truth を git に置き、クラスタ内のコントローラが git を watch して自動的に同期する運用モデルを扱います。push モデルと pull モデルの違い、GitOps の4原則、ArgoCD の Application CRD・App of Apps・Sync Wave、Flux の GitRepository・Kustomization・HelmRelease、ディレクトリ構造のパターン、そして秘密を git に置く3つの標準ツールまでを一連の流れで整理して3部を締めくくります。

kubectl デバッグパターン
読了 13分

kubectl デバッグパターン

5部 (運用 · デバッグ · コスト) の最初の章です。運用クラスタで最もよく出会う事故 (CrashLoopBackOff、OOMKilled、ImagePullBackOff、Pending、Service に届かない) の診断ツリーを集約します。describe · events · logs の3つのコマンドから出発し、kubectl debug の ephemeral container、ネットワーク診断パターン、19章の可観測性スタックとの連携まで、新人 SRE の最初の参照資料になるマニュアルとして整理します。

RBAC / NetworkPolicy / ResourceQuota
読了 23分

RBAC / NetworkPolicy / ResourceQuota

1つのクラスタに複数のチーム · 環境が一緒に住むマルチテナント運用の隔離を作る3つのポリシーオブジェクトを扱います。RBAC の Role · ClusterRole · ServiceAccount · RoleBinding モデル、NetworkPolicy の default-deny パターンと CNI 依存、ResourceQuota と LimitRange の対の関係までを一連の流れで整理しながら2部を締めくくります。

RBAC / ServiceAccount 深掘り
読了 13分

RBAC / ServiceAccount 深掘り

第14章 RBAC の基本の上に、運用クラスタで出会う深さをもう一層重ねます。ClusterRole をラベルで束ねる Aggregated ClusterRole、別の主体の権限で呼び出す Impersonation、ServiceAccount トークンが永続 Secret から有効期限・audience・rotation を備えた projected token へ変わった流れ、そして EKS の IRSA・GKE の Workload Identity で K8s ServiceAccount をクラウド IAM に対応づけるモデルまでを整理します。

アップグレード戦略
読了 16分

アップグレード戦略

5部の最後の章です。K8s マイナーリリース (14か月サポート) を安全に追っていく運用マニュアルです。コントロールプレーン → データプレーン (ノード) → アドオンの順序、deprecated API の検出 (pluto · kubent · apiserver メトリクス)、マニフェスト / Helm / Operator CR の API バージョン移行、EKS のノードグループ / Karpenter NodePool drift の流れ、ノード drain の安全装置 (PDB · terminationGracePeriodSeconds)、blast radius の最小化、ロールバックシナリオ、RPO / RTO 別のバックアップ選択、そしてアップグレード前1週 / 当日 / 後1週のチェックリストまでを一連の流れで扱います。

アプリ配備の骨格
読了 11分

アプリ配備の骨格

第21章で立ち上げた空の EKS クラスタの上に、サンプルサービス myshop-api を一つのまとまりのマニフェストで配備します。Namespace · ServiceAccount · ConfigMap · Secret · Deployment · Service · Ingress · HPA · PodDisruptionBudget の9つのオブジェクトを一連の流れで整理し、AWS Load Balancer Controller で ALB を自動プロビジョニングします。そのまとまりを Helm チャートで抽象化して dev / prod に異なる values で適用する方法までを一度にたどります。

シークレット運用
読了 14分

シークレット運用

5部の3番目の章です。K8s Secret の base64 の限界と etcd encryption-at-rest の意味から始め、保存 · 回転 · 注入 · 監査の4軸でシークレットライフサイクルを扱います。sealed-secrets · external-secrets · SOPS の3つのオプションの比較、IRSA と組み合わせたパスワード0運用 (AWS API は IRSA、DB は RDS IAM auth)、envFrom vs mount の回転の違い、RBAC でネームスペース単位の分離、Audit log と GuardDuty の監査の観点までを本格的な運用マニュアルとして束ねます。

コスト最適化
読了 14分

コスト最適化

5部の2番目の章です。26章で5つの出所として挙げたコスト項目を本格的に扱います。コンピュート (ノード) と付加 (LB · ストレージ · ネットワーク · コントロールプレーン) の2軸、requests のコストの意味、VPA · Goldilocks · KRR の right-sizing、Spot · Karpenter · Cluster Autoscaler の決定ツリー、bin packing と descheduler、OpenCost · Kubecost の可視化、namespace ラベル単位の chargeback / showback、PV · ネットワークコストまでを一連の流れで束ね、翌月の請求書 review チェックリストで締めくくります。

フルスタックアプリを EKS に配備する
読了 17分

フルスタックアプリを EKS に配備する

6部キャップストーン — 本書の最後の章です。React の Next.js (App Router + RSC + Server Actions) アプリと、モダンPython の FastAPI (SQLAlchemy 2.x + Pydantic v2) アプリを、同じ TODO ドメインの上で1つの EKS クラスタに一緒に配備します。Terraform + Karpenter + IRSA + ALB Controller + ExternalDNS + cert-manager のクラスタセットアップから、RDS + External Secrets + RDS IAM auth の DB 連携、Helm + ArgoCD ApplicationSet の環境別配備、Prometheus + Grafana + Loki + OpenTelemetry の可観測性、HPA + Karpenter のオートスケーリング、k6 負荷テスト + OpenCost コスト推定、そして第26章 + 第30章の運用サイクルの適用までを13本の PR で一連の流れとして扱います。第1章〜第30章のすべての道具が1つのシステムの中でどう噛み合うのかの視野が、本キャップストーンで手に入ります。

モニタリング · アラート
読了 13分

モニタリング · アラート

第24章まで整った myshop-api はコードから配備まで自動化されましたが、その動作が見えなければ運用は回りません。本章は EKS クラスタの可観測性スタックを載せます。kube-prometheus-stack で Prometheus · Grafana · Alertmanager を一括導入し、ServiceMonitor / PrometheusRule で myshop-api メトリックと 4 golden signals アラートを標準化し、Loki でログを、CloudWatch Container Insights で AWS 連携メトリクスと長期保管を押さえ、severity · team ルーティングで Slack / PagerDuty の on-call 体制までを整理します。

運用チェックリスト
読了 17分

運用チェックリスト

4部 (EKS 実戦) の最後の章です。クラスタを安定的に立ち上げる作業と、一年のあいだ安全に運用する作業は別の質感の仕事です。EKS マイナーアップグレードのサイクル、ノードグループ交換のパターン、RDS の PITR と四半期復旧訓練、Karpenter + Spot でコストを抑える道、kube-bench · Trivy · Kyverno でセキュリティ点検を定期化する流れまで整理します。最後に 4部6章 (第21 ~ 26章) の振り返りと、1 ~ 4部26章が手に何を残したかを一つのまとまりとして押さえます。

可観測性
読了 13分

可観測性

運用クラスタの視野を作る3つの軸 — メトリクス (Prometheus + kube-state-metrics + node-exporter)、ログ (Loki)、トレース (OpenTelemetry + Tempo) — と可視化 (Grafana)、アラート (Alertmanager) の標準スタックを整理します。kube-prometheus-stack の ServiceMonitor・PrometheusRule、PromQL・LogQL の一行の例、そしてカーディナリティ・保存・アラート SNR・golden signals の運用ガードレールまでを一連の流れで扱います。