Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Kubernetes CICD Pipelines Book

Kubernetes CICD Pipelines Book

「Kubernetes CI/CDパイプラインの実装」 (impress top gearシリーズ)
https://www.amazon.co.jp/dp/4295012750

■ インフラエンジニアBooks
2022/01/20(木) 20:00〜
30分でわかる「Kubernetes CI/CDパイプラインの実装」
https://www.youtube.com/watch?v=1O9GW_OvEN0

書籍の紹介概要です
-----
Publisher: Impress Corporation
Release Date: October 19th, 2021
Author: Shingo Kitayama (Red Hat K.K.)
Language: Japanese

Shingo.Kitayama

October 16, 2021
Tweet

More Decks by Shingo.Kitayama

Other Decks in Technology

Transcript

  1. 本書の特徴 の開発体験 本書では、 で利用されてい る「 」をサンプルアプリ ケーションとして利用しています。 コンテナ化されたマイクロサー ビスの継続的インテグレーション と継続的デリバリの実装をこの

    冊で理解できます。 カスタムリソースを駆使 したパイプライン実装 の拡張機能である カスタムリソースを用いた、 パイプラインの実装を紹介 しています。 ツール固有の設定方法ではな く、 リソースによる標 準化を体感できます。 ブランチ戦略による の理解 では、全てのリ ソースが で取り扱うため、 その管理方法の理解が欠かせ ません。 ブランチ戦略と をインター フェイスとしたアプリケーション開 発プロセスの実装を学びます。
  2. に適した を使うメリット など以前から存在しているツールは、運用が属人化しやすいなどの課題が存在していました。 は、 リソースの特徴を活かして、既存の ツールの課題を解決しています。 ・ と を一つのツールで実行 ・専用のサーバーを構築

    運用 ・プラグインの依存関係の解消 ・並列ジョブ実行のための サーバ ーの追加設定 ・デプロイのロールバックは自前で実 装 ・ と をそれぞれのツールで実行 ・ によるインストール 管理 ・ジョブは独立したコンテナで実行され るため依存関係の考慮不要 ・オンデマンドなスケーリング ・デプロイのロールバックはデフォルト で準備
  3. に 運用を任せること ローカル開発 継続的インテグレーション 継続的デリバリー 開発者 運用者 ビルド確認 テスト確認 デプロイ

    確認 パイプライン 設定 回復性、管理の容易性、可観測性 デプロイ 設定 運用の自律化 共通化された運用 や は の を駆使して実装されています。 これによって、 自体の運用は にある程度任せることができ、開発者自身でビルドやテスト、 デプロイが実施できる環境が整い始めています。
  4. 本書の パイプライン構成 上で、マイクロ サービスの継続的インテグ レーションと継続的デリバリ を実装します。 【 パイプライン 】 リポジトリ上のアプリ

    ケーションソースコードを 「 」内でビ ルド、テストし、コンテナイ メージを作成します。 テストされたコンテナイメー ジのマニフェストをもとに、各 デプロイメント環境に動的に 配置します。
  5. マニフェストによるデプロイ管理 リポジトリに置かれたマニフェストを とみなし、マニフェストとデプロイ状態を常に 同じ状態に保つ運用を行います。 では リポジトリの状態を定期的に確認し、変更を自動的にデプロイする ことで を実現します。 作業の属人化を防止 デプロイは

    が自動で行うた め、デプロイ作業が特定の個人のス キルに依存することがなくなります。 デプロイ状況の見える化 リポジトリのコードを見れば、クラスタ に今何がデプロイされているか確認す ることができます。 マニフェスト リポジトリ マニフェストとデプロイ状態が同じ
  6. tリポジトリと運用 Git clone Update manifest マニフェスト リポジトリ アプリコード リポジトリ アプリケーションリポジトリへの変

    更は開発者だけが実施 マニフェストリポジトリへの変更は リリースエンジニア パイプラ インが実施 を効率的に実施していく上で、アプリケーションのリポジトリとインフラ側のリポジトリをそれぞれ分けて管理す る方法がとられています。これにより開発者 リリースエンジニア自身の作業タイミングで変更を加えることが可能とな ります。