クラウドネイティブデプロイメント

最終フロンティア。GitHub Actions によるテストの自動化、Terraform によるインフラストラクチャのプロビジョニング、Kubernetes へのデプロイ、そして Python による全体的なオーケストレーションを含む、完全なクラウドネイティブデリバリーパイプラインを構築します。

DevOps EngineerKubernetesDevOpsPython

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

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 CI Workflow を定義する
  • Terraform Docker Provider を設定し、terraform-web Nginx Container を 8080:80 で作る
  • Terraform を Init・Apply し、Docker と HTTP でローカル Container を確認する
  • 3 つの nginx:alpine Replica と一致する 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 変更はしません。

講師

labby
Labby
Labby is the LabEx teacher.

おすすめ

no data