Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Kpt を使って組み換え可能な Manifest Pipeline を作ろう! チェシャ猫 (@y_taka_23) KubeFest Tokyo 2020 (13th Jun. 2020)
Slide 2
Slide 2 text
Kpt [képt] Kubernetes Package Manager named after
Slide 3
Slide 3 text
Base Repo Team Repo Developer Cluster 1. get / follow 3. push 4. apply 2. construct
Slide 4
Slide 4 text
Base Repo Team Repo Developer Cluster 1. get / follow 3. push 4. apply 2. construct
Slide 5
Slide 5 text
Manifest 構築ツールとしての Kpt ● Setter ○ YAML 内の指定した項目を置換 ● Substitution ○ YAML 内の文字列の一部を置換 ● Function ○ カスタム変換・バリデーションを記述可能
Slide 6
Slide 6 text
Manifest 構築ツールとしての Kpt ● Setter ○ YAML 内の指定した項目を置換 ● Substitution ○ YAML 内の文字列の一部を置換 ● Function ○ カスタム変換・バリデーションを記述可能
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
置換したい項目にコメント
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
OpenAPI 形式で置換を定義
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
Manifest 構築ツールとしての Kpt ● Setter ○ YAML 内の指定した項目を置換 ● Substitution ○ YAML 内の文字列の一部を置換 ● Function ○ カスタム変換・バリデーションを記述可能
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
アノテーション追加
Slide 17
Slide 17 text
No content
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
No content
Slide 20
Slide 20 text
Q:Docker 化する意義は? A:各ステップが配布可能に
Slide 21
Slide 21 text
配布されている Function の例 ● マニフェスト変換系 ○ : Helm Chart をレンダリング ○ : リソース要求量を追記 ● バリデーション系 ○ : OPA 形式の制約検査 ○ : PodSecurityPolicy に対する Lint
Slide 22
Slide 22 text
Q:なぜ Manifest + コメント? A:各ステップが合成可能に
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
Transform 2 Source Manifest Transform 1 Validation Result Manifest
Slide 25
Slide 25 text
パッケージマネージャ + パイプラインの「パイプ記号」部分
Slide 26
Slide 26 text
まとめ ● Manifest 管理ツール Kpt ○ unix コマンドの「パイプ」としても振る舞う ● カスタム Function も定義可能 ○ Docker 化されているので配布が容易 ● 入出力は常に完全な Manifest YAML ○ 複数のステップを連結できる
Slide 27
Slide 27 text
Enjoy Manifest Pipelining! Presented by チェシャ猫 (@y_taka_23)