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

Kind で量産する使い捨て Kubernetes #cicd_test_night / CI...

y_taka_23
October 02, 2019

Kind で量産する使い捨て Kubernetes #cicd_test_night / CICD Test Night 5th

CI/CD Test Night #5 で使用したスライドです。

コンテナを利用してローカルにマルチノード Kubernetes クラスタを立ち上げるツール Kind(Kubernetes IN Docker)を紹介します。

従来、CI 用に Kubernetes クラスタが必要な場合、取れる選択肢は「Pull Request ごとに Namespace を作成」もしくは「Pull Request ごとにマネージドクラスタを振り出し」のいずれかでした。Kind を CI パイプラインに組み込むことにより、従来よりも素早く、かつ低コストでクラスタを立ち上げて使い捨てることが可能になります。

イベント概要:https://testnight.connpass.com/event/145238/

y_taka_23

October 02, 2019
Tweet

More Decks by y_taka_23

Other Decks in Technology

Transcript

  1. Kubernetes の光と †闇† • Platform のための Platform ◦ Kubernetes を前提とした多数の

    OSS ◦ Webehook による処理の挿入 ◦ Custom Resource + Controller による API 拡張 • 実際に E2E テストしないと検証が困難 ◦ 複数のカスタマイズが干渉しないか? ◦ バージョンアップしても大丈夫か? #cicd_test_night
  2. Kind の特徴 • マルチノードの Kubernetes が作成可能 ◦ 他のツールはシングルノードのみ ◦ 複数コンテナを立ち上げてノードと見なす

    • 自由度の高いカスタマイズ ◦ ノード (control-plane, worker) 構成 ◦ Kubernetes のバージョン指定 ◦ Control-Plane の実行時設定も指定可能 #cicd_test_night
  3. Docker OS Container (K8s Node) Container (K8s Node) (K8s は

    Kubernetes の略) Docker Docker #cicd_test_night
  4. Docker OS Container (K8s Node) Container (K8s Node) Docker Docker

    K8s Container K8s Container K8s Container K8s Container (K8s は Kubernetes の略) #cicd_test_night
  5. まとめ • Kubernetes のプラットフォーム化 ◦ クラスタの実物がないと検証が辛い • Kind によるローカルクラスタ構築 ◦

    複数のコンテナをノードに見立てる ◦ 自由度の高いカスタマイズ要素 • Pull-Request ベースの CI との統合 ◦ コンテナベースなのでビルドに組み込みやすい #cicd_test_night