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. View Slide

  2. View Slide

  3. View Slide

  4. 本書の目次
    開発プロセスの運用変化
    クラウドネイティブ開発
    に向けた環境準備
    の概要
    継続的インテグレーションの
    パイプライン
    イベント駆動の
    パイプライン実行
    の概要
    継続的デリバリの
    デプロイメント
    継続的デリバリのリリース

    View Slide

  5. 本書の特徴
    の開発体験
    本書では、 で利用されてい
    る「 」をサンプルアプリ
    ケーションとして利用しています。
    コンテナ化されたマイクロサー
    ビスの継続的インテグレーション
    と継続的デリバリの実装をこの
    冊で理解できます。
    カスタムリソースを駆使
    したパイプライン実装
    の拡張機能である
    カスタムリソースを用いた、
    パイプラインの実装を紹介
    しています。
    ツール固有の設定方法ではな
    く、 リソースによる標
    準化を体感できます。
    ブランチ戦略による
    の理解
    では、全てのリ
    ソースが で取り扱うため、
    その管理方法の理解が欠かせ
    ません。
    ブランチ戦略と をインター
    フェイスとしたアプリケーション開
    発プロセスの実装を学びます。

    View Slide

  6. 本書の執筆背景
    参照
    パイプラインツールを入れただけではなく、コンテナで期待される実装が行われているのだろうか

    View Slide

  7. の進化
    以前は と の区別は今ほど明確ではなく、 ツールを使ってデプロイまで実施していました。
    昨今ではより高度な を可能とする専用ツールが登場し、コンテナ環境ではそれぞれ別のツールで実施すること
    が主流となっています。
    と の区別が明確化

    View Slide

  8. に適した を使うメリット
    など以前から存在しているツールは、運用が属人化しやすいなどの課題が存在していました。
    は、 リソースの特徴を活かして、既存の ツールの課題を解決しています。
    ・ と を一つのツールで実行
    ・専用のサーバーを構築 運用
    ・プラグインの依存関係の解消
    ・並列ジョブ実行のための サーバ
    ーの追加設定
    ・デプロイのロールバックは自前で実

    ・ と をそれぞれのツールで実行
    ・ によるインストール 管理
    ・ジョブは独立したコンテナで実行され
    るため依存関係の考慮不要
    ・オンデマンドなスケーリング
    ・デプロイのロールバックはデフォルト
    で準備

    View Slide

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

    View Slide

  10. 本書のサンプルアプリケーション
    のサンプルアプリケーションとして提供されている「 」を利用しています。
    はマイクロサービス化されたアプリケーションであり、その中の サービスを の対象として書籍
    の中で更新していきます。
    本書の 対象

    View Slide

  11. 本書の パイプライン構成
    上で、マイクロ
    サービスの継続的インテグ
    レーションと継続的デリバリ
    を実装します。
    【 パイプライン 】
    リポジトリ上のアプリ
    ケーションソースコードを
    「 」内でビ
    ルド、テストし、コンテナイ
    メージを作成します。
    テストされたコンテナイメー
    ジのマニフェストをもとに、各
    デプロイメント環境に動的に
    配置します。

    View Slide

  12. を活用した継続的インテグレーション
    を用いて、アプリケーションやマニフェストのテスト、コン
    テナイメージのビルド、スキャン、デプロイといった、継続的インテグレー
    ションのパイプラインを構築します。
    アプリケーション開発者は、 リポジトリ内のアプリケーションソースコー
    ドを変更するだけで、一連の動作確認ができます。

    View Slide

  13. 標準化されたタスクの組み合わせ
    公開されている の例
    のビルド、テスト、など
    マニフェストファイルのテスト
    言語の単体テスト
    の単体テスト
    アプリケーション静的診断
    では パイプラインの中で実行される一般的な を にて公開しています。
    これらの を組み合わせることで、最低限の労力で パイプラインを構築することが可能です。

    View Slide

  14. を活用した継続的デリバリ
    を用いて、 を主体 としたコンテナイメージのデプロイ
    を実装します。
    アプリケーションリリース運用者は、マニフェストの確認と 上の マージ
    ボタンを押すだけで、各デプロイメント環境にコンテナを配置できます。

    View Slide

  15. マニフェストによるデプロイ管理
    リポジトリに置かれたマニフェストを とみなし、マニフェストとデプロイ状態を常に
    同じ状態に保つ運用を行います。 では リポジトリの状態を定期的に確認し、変更を自動的にデプロイする
    ことで を実現します。
    作業の属人化を防止
    デプロイは が自動で行うた
    め、デプロイ作業が特定の個人のス
    キルに依存することがなくなります。
    デプロイ状況の見える化
    リポジトリのコードを見れば、クラスタ
    に今何がデプロイされているか確認す
    ることができます。
    マニフェスト
    リポジトリ
    マニフェストとデプロイ状態が同じ

    View Slide

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

    View Slide

  17. 本書でお伝えしたかったこと
    リポジトリ内容の変更をインターフェイスとして、開発者と運用者の責任分界を明確化した世界観
    リポジトリ

    View Slide

  18. コンテンツを公開予定
    【 】
    本書で利用している内容をそのま
    ま手元の環境で利用できるように、
    無償で公開しています。本書内容を
    実装する際は、照らし合わせながら
    ご活用ください。
    また内容は極力、 ディ
    ストリビューションの差をなくして構
    成しています。同バージョンの
    環境のもと、商用利用
    やチュートリアルとして再利用くださ
    い。

    View Slide

  19. 分でわかる
    「 パイプラインの実装」
    イベント日時

    動画
    イベントサイト
    インフラエンジニアBooks

    View Slide

  20. View Slide