Cloud Native Delivery は CI 定義、Infrastructure as Code、宣言的 Orchestration、運用データ処理を組み合わせます。このチャレンジ形式のプロジェクトでは、準備済みローカル環境で各形式を具体的な成果物として試します。
GitHub Actions Workflow、Terraform による Docker Container、複数 Resource の Kubernetes Manifest、Python Access Log Analyzer を作ります。各 Phase は共通テーマを持ちますが、接続済み本番 Pipeline ではなく独立した演習です。
学習内容
mainへの Push で Checkout、Node Setup、Install、Test を行うNode.js CIWorkflow を定義する- Terraform Docker Provider を設定し、
terraform-webNginx Container を8080:80で作る - Terraform を Init・Apply し、Docker と HTTP でローカル Container を確認する
- 3 つの
nginx:alpineReplica と一致する Label・Selector の Kubernetes Deployment を適用する - NodePort Service で Workload を公開し、ローカル Cluster に両 Resource があることを確認する
- Python で準備済み Log の第 1 Field を読み、Set で IP を重複排除して件数を表示する
このコースの対象者
手順ごとのコマンドなしで入門 CI、Terraform、Kubernetes、Python を適用したい DevOps 学習者向けです。
前提知識: YAML、GitHub Actions 構造、Terraform Provider・Resource、Docker Port、Kubernetes Deployment・Service、Python の File Iteration と Set、Linux Terminal。評価型プロジェクトです。
学習環境: Docker、Terraform、ローカル Minikube、kubectl、Python 3、Node.js Project、準備済み Log を備えたブラウザー対応 Linux。Cloud Account と GitHub Push は不要です。
よくある質問
Workflow は実際に GitHub で動きますか?
いいえ。.github/workflows/ci.yml をローカルで作成・検証します。Push、Hosted Runner、遠隔での npm test 成功確認はありません。
Terraform は Cloud Infrastructure を作りますか?
いいえ。kreuzwerker/docker でローカル nginx:latest Container を 1 つ動かします。Cloud Provider、Remote State、Module、本番 Network は対象外です。
Kubernetes は Terraform や CI と接続しますか?
いいえ。別の Minikube 演習で、3 Replica と NodePort を作ります。Pipeline は配備せず Terraform も管理しません。
Python Automation は何をしますか?
access.log の第 1 Field を Set で数え、Unique IPs: 10 を表示します。Log Stream、API 呼び出し、Infrastructure 変更はしません。


