@hihihiroroのLog

ダラダラと。本ブログは、個人の意見であり、所属会社とは関係がありません。

「Kubernetes CI/CDパイプラインの実装」を読んだ

CI/CD 何もわからないとなった時に見かけたので読んでみた。
目次は以下。

第1章 開発プロセスの運用変化
第2章 クラウドネイティブ開発に向けた環境準備
第3章 Tekton Pipelines の概要
第4章 継続的インテグレーションのパイプライン
第5章 イベント駆動のパイプライン実行
第6章 Argo CD の概要
第7章 継続的デリバリのデプロイメント
第8章 継続的デリバリのリリース

コンテナを活用したシステムを作成しても運用、アプリケーションライフサイクルが今まで通りだと自動化や変更がうまくできないことが多いことが1章で紹介されている。まずはコンテナを活用した開発プロセスについての説明がされており、コンテナ実行基盤をKubernetes で行うためKubernetes についても説明がされている。
Kubernetes 前提でのCI/CD の話になるためKubernetes のカスタムリソースを用いることでCI/CD の実装を行っている。そのため、Kubernetes の説明でもリソース、オブジェクトについての説明がされている。

Kubernetes 環境での運用のためにCloud Native trail Map を順番に見ながら環境の構築と説明がされていた。本書ではCIツールとしてTEKTON が、デリバリーツールとしてはArgo CD が使われている。
リポジトリのブランチ戦略や権限分離、それら説明されたツールを使ってのマイクロサービスのデプロイについてが説明されている。安全にデプロイするデプロイメント戦略についても説明されていた。
古いアプリケーションを削除して、新しいアプリケーションと置き換えるRecreate Update や、徐々にアプリケーションをアップデートするRolling Update、アクセスを制御することで切り替えるBlue-Green Deployment などが紹介されている。これらをArgo CD で実施するためのマニフェストや設定の説明がされているので試してみると動きがわかりそう。このあたりはツールによらない話なので理解しておきたい。ツールに関しては設定から実行まで順番に説明されているので試してみることができるので楽しい。

まとめ

  • Kubernetes 環境でのアプリケーションライフサイクルについての勉強ができた
  • 開発プロセスが本書で書かれているものに載せれないか調べてみたい
  • GitOps について勉強する