コンテナ

Kubernetesを中心としたコンテナエコシステムの環境構築や運用ノウハウ

Dockerの登場によって、コンテナはユーティリティ化しました。
当初は開発環境やテスト環境等で使われることが多かったですが、主要クラウドベンダーのKubernetesサポートもあり、今や商用環境でコンテナ技術が使われるのが当たり前になりました。
ここでは、コンテナ技術に関する記事をまとめていきます。

Kubernetesチュートリアル

#

コンテナオーケストレーションツールとしてデファクトスタンダードとなったKubernetesは、クラウド環境のみならずオンプレ環境でも利用が進んでおり、コンテナ実行基盤としての確固たる地位を築いています。
ここでは、そんなKubernetesの環境構築から開発・運用までで必要な作業をハンズオン形式で実施することで、初心者レベルからの脱却を目指します。

環境構築編

#

Kubernetesクラスタ構築

  1. AWS EKS(eksctl)
  2. AWS EKS(Terraform)

Ingress導入

  1. NGINX Ingress Controller
  2. AWS Load Balancer Controller
  3. カスタムドメイン管理(external-dns)
  4. HTTPS通信(Cert Manager)

ストレージ(CSI)導入

  1. AWS EBS
  2. AWS EFS

アプリケーション開発編

#

ローカル開発環境準備

  1. 実行環境(minikube)
  2. 自動化ツール(Skaffold)
  3. ローカルAWS(LocalStack)

Kubernetesマニフェスト作成

  1. Webアプリケーション(Deployment)
  2. バッチアプリケーション(CronJob/Job)

クラスタ環境デプロイ

  1. コンテナレジストリ(ECR)
  2. EKSクラスタ(AWS環境準備)
  3. EKSクラスタ(Kustomize導入)
  4. EKSクラスタ(デプロイ)

継続的デリバリ編

#
  1. Flux
  2. ArgoCD

クラスタ運用編

#

スケーリング/スケジューラ

  1. オートスケーリング(HPA)
  2. Podスケジューリング

モニタリング

  1. メトリクス収集・可視化(Prometheus / Grafana)
  2. メトリクス収集・可視化(OpenTelemetry / CloudWatch)
  3. ログ収集・分析(Fluent Bit / AWS OpenSearch)
  4. ログ収集・分析(Fluent Bit / Cloud Watch)
  5. 分散トレーシング(OpenTelemetry / Jaeger)
  6. 分散トレーシング(OpenTelemetry / AWS X-Ray)

バックアップ・リストア

  1. Velero による Kubernetes クラスタのバックアップ・リストア

Kubernetes活用編

#

Kubernetes活用例の記事を抜粋しました。Kubernetesを様々なユースケースに適用してみましょう。

その他コンテナ関連のブログ記事

#
豆蔵デベロッパーサイト - 先週のアクセスランキング
  1. 基本から理解するJWTとJWT認証の仕組み(2022-12-08)
  2. 直感が理性に大反抗!「モンティ・ホール問題」(2022-07-04)
  3. Nuxt3入門(第4回) - Nuxtのルーティングを理解する(2022-10-09)
  4. Nuxt3入門(第8回) - Nuxt3のuseStateでコンポーネント間で状態を共有する(2022-10-28)
  5. Podman Desktopがv1.0になったのでwindows版を試してみたところ、気付いたらv1.1に上がるくらいに機能豊富だった話(2023-06-09)
  6. Nuxt3入門(第1回) - Nuxtがサポートするレンダリングモードを理解する(2022-09-25)
  7. VS Code で .NET MAUI の開発環境を構築する(macOS/iOS)(2023-08-14)
  8. Pytestを使ってみる(その2:VSCode拡張機能編)(2023-03-05)
  9. GitHub Actions - 構成変数(環境変数)が外部設定できるようになったので用途を整理する(2023-01-16)
  10. 統計学で避けて通れない自由度の話(2022-06-20)