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

269258447d4284b5cb2ce0f048d143b2?s=128

Shingo.Kitayama

October 16, 2021
Tweet

More Decks by Shingo.Kitayama

Other Decks in Technology

Transcript

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

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

    冊で理解できます。 カスタムリソースを駆使 したパイプライン実装 の拡張機能である カスタムリソースを用いた、 パイプラインの実装を紹介 しています。 ツール固有の設定方法ではな く、 リソースによる標 準化を体感できます。 ブランチ戦略による の理解 では、全てのリ ソースが で取り扱うため、 その管理方法の理解が欠かせ ません。 ブランチ戦略と をインター フェイスとしたアプリケーション開 発プロセスの実装を学びます。
  6. 本書の執筆背景 参照 パイプラインツールを入れただけではなく、コンテナで期待される実装が行われているのだろうか

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

  8. に適した を使うメリット など以前から存在しているツールは、運用が属人化しやすいなどの課題が存在していました。 は、 リソースの特徴を活かして、既存の ツールの課題を解決しています。 ・ と を一つのツールで実行 ・専用のサーバーを構築

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

    確認 パイプライン 設定 回復性、管理の容易性、可観測性 デプロイ 設定 運用の自律化 共通化された運用 や は の を駆使して実装されています。 これによって、 自体の運用は にある程度任せることができ、開発者自身でビルドやテスト、 デプロイが実施できる環境が整い始めています。
  10. 本書のサンプルアプリケーション のサンプルアプリケーションとして提供されている「 」を利用しています。 はマイクロサービス化されたアプリケーションであり、その中の サービスを の対象として書籍 の中で更新していきます。 本書の 対象

  11. 本書の パイプライン構成 上で、マイクロ サービスの継続的インテグ レーションと継続的デリバリ を実装します。 【 パイプライン 】 リポジトリ上のアプリ

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

  13. 標準化されたタスクの組み合わせ 公開されている の例 のビルド、テスト、など マニフェストファイルのテスト 言語の単体テスト の単体テスト アプリケーション静的診断 では パイプラインの中で実行される一般的な

    を にて公開しています。 これらの を組み合わせることで、最低限の労力で パイプラインを構築することが可能です。
  14. を活用した継続的デリバリ を用いて、 を主体 としたコンテナイメージのデプロイ を実装します。 アプリケーションリリース運用者は、マニフェストの確認と 上の マージ ボタンを押すだけで、各デプロイメント環境にコンテナを配置できます。

  15. マニフェストによるデプロイ管理 リポジトリに置かれたマニフェストを とみなし、マニフェストとデプロイ状態を常に 同じ状態に保つ運用を行います。 では リポジトリの状態を定期的に確認し、変更を自動的にデプロイする ことで を実現します。 作業の属人化を防止 デプロイは

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

    更は開発者だけが実施 マニフェストリポジトリへの変更は リリースエンジニア パイプラ インが実施 を効率的に実施していく上で、アプリケーションのリポジトリとインフラ側のリポジトリをそれぞれ分けて管理す る方法がとられています。これにより開発者 リリースエンジニア自身の作業タイミングで変更を加えることが可能とな ります。
  17. 本書でお伝えしたかったこと リポジトリ内容の変更をインターフェイスとして、開発者と運用者の責任分界を明確化した世界観 リポジトリ

  18. コンテンツを公開予定 【 】 本書で利用している内容をそのま ま手元の環境で利用できるように、 無償で公開しています。本書内容を 実装する際は、照らし合わせながら ご活用ください。 また内容は極力、 ディ

    ストリビューションの差をなくして構 成しています。同バージョンの 環境のもと、商用利用 やチュートリアルとして再利用くださ い。
  19. 分でわかる 「 パイプラインの実装」 イベント日時 済 動画 イベントサイト インフラエンジニアBooks

  20. None