DevOps とプラットフォームエンジニアリング:中級
最初のデプロイの先へ。デリバリーを自動化し、複数の環境を管理し、オブザーバビリティを追加して、チーム全員が信頼できる再現性のあるワークフローを構築します。
このパスの対象者
すでにアプリケーションを Kubernetes にデプロイでき、CI ツールも使ったことがある方向けです。デリバリープロセスを自動化し、一貫性を持たせ、他のメンバーも使いやすくしたいエンジニアに向けたパスです。
学べること
- 環境をまたいで変更をプロモートするデプロイパイプラインの構築
- 複数クラスターにわたる設定とシークレットの管理
- 素早くフィードバックを得るためのブランチ単位・プレビュー環境
- 障害にいち早く気づくためのモニタリング、ログ、アラートの追加
- 宣言した状態にクラスターを保つための GitOps プラクティスの適用
このパスの使い方
ガイドは技術ごとにまとめられています。現在もっとも大きなボトルネック(デプロイ、設定、可視性)になっている領域から始めてください。ほとんどのガイドは稼働中のクラスターを前提としているため、学習中はクラスターを一つ起動したままにしておきましょう。
始める前に
- 初心者パスの修了、または同等の実務経験
- Deployment や Service などの Kubernetes オブジェクトへの理解
- 自由に試せる Git リポジトリ
次のステップ
上級パスに進み、スケール、セキュリティ、プラットフォーム設計に取り組みましょう。
What's in this path
Argo CD
4 guidesFlux CD
7 guides-
同期動作を制御する:間隔、prune、ドリフトの修正、ロールバック Flux がいつ変更を適用するか、何を削除するか、どう一時停止するか、失敗したデプロイをどう元に戻すかを決めます。 -
環境ごとの Kustomize オーバーレイでリポジトリを構成する dev と本番のためにリポジトリを整理し、ConfigMap のロールアウトの落とし穴を避けます。 -
HelmRelease で Helm チャートをデプロイする Helm リポジトリと OCI レジストリからチャートをインストールしてアップグレードし、自動ロールバックも行います。 -
Flux Image Automation でイメージの更新を自動化する 新しいコンテナイメージのタグを Flux に検出させ、Git に commit させます。 -
SOPS と age で Git のシークレットを管理する commit する前に Kubernetes の Secret を暗号化し、クラスター内で Flux に復号させます。 -
Flux でマルチクラスターを構成する 共有インフラとクラスターごとの違いを持たせて、1 つのリポジトリから複数のクラスターを管理します。 -
Flux の通知でアラートを送り、webhook を受信する 調整イベントの Slack アラートを受け取り、Git の push から即座に同期をトリガーします。
Kubernetes
4 guides-
Service:短命な Pod のための安定したネットワーキング Pod に安定したアドレスを与え、クラスターの内外に公開し、誰が誰と通信できるかを制限します。 -
設定:ConfigMap と Secret 設定と認証情報をイメージの外に置き、Pod に注入し、よくある落とし穴を避けます。 -
永続ストレージ:ボリューム、PersistentVolume、クレーム PVC で Pod の再起動をまたいでデータを保持し、StorageClass が各要素をどうつなぐかを理解します。 -
ワークロードを健全に保つ:namespace、リソース、クォータ、probe requests、limits、クォータでクラスターを公平に共有し、Kubernetes に不健全なコンテナを検出させます。
containerd
1 guidesGrafana
7 guides-
JSON ファイルからダッシュボードをプロビジョニングする ディスクからダッシュボードを読み込み、ディレクトリからフォルダーを対応付け、変更を失わずに作成します。 -
アラートルール、コンタクトポイント、通知ポリシーをプロビジョニングする アラートのパイプライン全体を YAML で定義し、コードのようにレビューしてバージョン管理します。 -
Grafana の設定でシークレットを管理する 環境変数、ファイル、暗号化されたマニフェストを使って、パスワードとトークンを Git の外に置きます。 -
設定で認証とアクセスを構成する grafana.ini でログイン、OAuth、ロールのマッピングを設定し、ユーザーとチームをコードとして扱います。 -
Helm とプロビジョニングの values で Grafana を Kubernetes にデプロイする データソース、ダッシュボード、設定のすべてが values ファイルから来る、Helm チャートで Grafana を実行します。 -
Terraform で Grafana を管理する HCL から、フォルダー、データソース、ダッシュボード、アラート、チーム、サービスアカウントを作成します。 -
コマンドラインからプロビジョニングを再読み込み、確認、トラブルシューティングする Grafana が何を読み込んだかを調べ、再起動せずに再読み込みし、よくあるプロビジョニングのエラーを修正します。
Helm
1 guidesOpenTelemetry
7 guides-
宣言的な YAML ファイルで SDK を設定する SDK がサポートしている場合に、数十個の環境変数の代わりに、OTEL_CONFIG_FILE で 1 つの YAML ファイルを使います。 -
Collector を本番対応にする:メモリ制限、バッチ処理、リトライ 過負荷や障害の間もテレメトリが生き残るように、processor、キュー、永続ストレージを設定します。 -
Collector のデプロイパターン:Collector なし、エージェント、ゲートウェイ トポロジーを選び、Kubernetes のメタデータを含む、エージェントからゲートウェイへの引き渡しを設定します。 -
Helm で Kubernetes に Collector をデプロイする 公式チャートをインストールし、ログとメトリクスに preset を使い、values ファイルで設定を上書きします。 -
receiver でログとインフラのメトリクスを収集する filelog、hostmetrics、kubeletstats、prometheus の receiver を使い、トレースからメトリクスを導出します。 -
テレメトリをバックエンドに送り、パイプラインを保護する Tempo、Loki、Prometheus 向けの OTLP exporter を設定し、TLS、認証、シークレットも扱います。 -
Collector と SDK のトラブルシューティング テレメトリが届かないときの体系的なチェックリスト:debug exporter、ヘルスチェック、内部メトリクス、よくある間違い。
Prometheus
1 guidesFluentd
3 guidesEnvoy
1 guidesIstio
3 guides-
Helm で Istio をインストールしてカスタマイズする 本番環境で Istio を動かすために公式に推奨される方法と、削除された Istio Operator に代わるもの。 -
istioctl で Istio のインストールを検証してデバッグする 設定ミスを事前に見つけます。analyze、validate、proxy-status、そしてメッシュが黙って依存している 1 つのラベル。 -
メッシュを観測する:Prometheus、Grafana、トレーシング、Kiali すべてのサイドカーはすでにメトリクスとトレースを出力しています。それを実際に見られるものに変えるアドオンをインストールします。