コース概要
モジュール1: マイクロサービス設計
• よいマイクロサービス境界
• ドメイン駆動設計(DDD)の使用
• 業務ドメイン境界の代替案(変動性、データ、テクノロジー、組織)
• 単一システムの分割
• 過早な分解
• レイヤーによる分割
• 分解パターン(ストレンガーパターン、並行実行、機能トグル)の使用
• データ分解の課題(パフォーマンス、整合性、トランザクション)
モジュール2: Dockerとランタイムの最適化
• 適切なベースイメージの選択
• レイヤー数の最小化
• マルチステージビルドの使用
• 画像最適化(マルチライン引数の並べ替えなど)
• ビルドキャッシュの活用
• イメージバージョンの固定
• リソース割り当ての微調整
• セキュアなコンテナプラクティス
• パフォーマンスのためのランタイム設定
モジュール3: Kubernetes & リリース戦略
Kubernetesデプロイメントの概要
• 最初のデプロイメントの作成と実行
• Kubernetesデプロイメントオプション
ローリングアップデートデプロイメントの実施
• ローリングアップデートの理解
• ローリングアップデートの作成と実行
• デプロイメントのロールバック
カナリーデプロイメントの実施
• カナリーデプロイメントの理解
• カナリーデプロイメントの作成と実行
ブルーグリーンデプロイメントの実施
• ブルーグリーンデプロイメントの理解
• ブルーグリーンデプロイメントの作成と実行
ジョブとCronJobsの実行
• ジョブとCronJobの作成
モニタリングとトラブルシューティングタスクの実施
• kubectlを使用したトラブルシューティング技術
モジュール4: 自動化 & 運用効率
Pythonを使用してKubernetesの一般的なタスクを自動化する
• Pythonを使用したKubernetesでの管理操作
• Pythonを使用した構成オブジェクトの定義
• Pythonを使用したデプロイメントオブジェクトの作成
• Pythonを使用したKubernetesイベントの監視
• Pythonを使用したデプロイメントのスケーリング
デプロイメントの自動化における課題の理解
• Kubernetesでの宣言的構成
• 構成の整合性の管理
GitOpsアプローチを使用したデプロイメントの自動化
• GitOpsの原則
• Fluxの紹介
• KubernetesクラスターへのFluxのインストール
自動化されたデプロイメントのためのFluxの構成
• 通知の使用
• ソースリポジトリの構造
画像自動化を使用したアプリケーション更新の処理
• Fluxを使用したアプリケーションデプロイメントの更新
• コンテナイメージリポジトリのタグスキャン
• 最新のイメージ選択のためのポリシー定義
• Fluxを使用した自動的なイメージ更新の構成
モジュール5: 観測性 & 根本原因の明確化
Kubernetesのログとトレーシング機能
• ログとトレーシングがなぜ重要か
• Kubernetesログへのアクセス
• Podとコンテナログ
• コントロールプレーンログ
• ノードとPodのリソース使用量
ログの収集と分析
• ログ集約
• ログビジュアライゼーション
Kubernetesでの分散トレーシング
• 分散トレーシングとは何か
• OpenTelemetryの使用
• 分散トレーシングツール
• アプリケーションのインストルメンテーション
• トレーシングを使用したパフォーマンス問題の特定
PrometheusとGrafanaでの監視
• 観測性の概念
• 監視ツール
• Prometheusインストルメンテーションの使用
ログの高度なユースケース
• ログ処理
• ログのフィルタリングと強化
• イベントソーシング
モジュール6: クラスタ危機シミュレーション & インシデント対応
• クラスタ環境でのさまざまなタイプの障害を理解する
• ノード障害のシミュレーション
• Podの排出とリソース枯渇シナリオ
• ネットワーク問題
• アプリケーションタイムアウト処理のためのDNS障害
• APIサーバー停止のシミュレーション
• 高負荷のシミュレーションによるシステムの安定性確認
• ストレージ障害
• 構成エラー
• インシデント報告手順の理解
モジュール7: トラブルシューティングを支援するAI
• Kubernetes向けジェネレーティブAIのメリット
• K8sGPT CLIアーキテクチャ
• K8sGPT CLIのインストール
• K8sGPTコマンドと使用方法
• K8sGPTアナライザー(podAnalyzer、pvcAnalyzer、rsAnalyzerなど)の使用
• K8sGPTを使用したクラスタ分析
• K8sGPTを使用したリアルタイム問題の分析
• クラスター内のK8sGPTオペレーター
要求
- Linuxコマンドラインの基本的な知識
- アプリケーション開発またはシステム管理の経験
- コンテナ(Docker概念)に関する知識
- Kubernetes概念(Pods、Deployments、Servicesなど)の基本的な理解
- ソフトウェアアーキテクチャ(API、サービスなど)に関する一般的な理解
対象者:
- DevOpsエンジニア
- サイト信頼性エンジニア(SREs)
- マイクロサービスを使用するバックエンド/ソフトウェア開発者
- クラウドエンジニアおよびプラットフォームエンジニア
-
Kubernetes環境への移行を検討しているシステム管理者
お客様の声 (1)
実際の例
Maria - Fundacja PTA
コース - Mastering Make: Advanced Workflow Automation and Optimization
機械翻訳