Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
© Copyright 2020 Rancher Labs. All Rights Reserved. 1© Copyright 2020 Rancher Labs. All Rights Reserved. 1
軽量K8sディストリビューションである"K3s"を支える拡張機能
© Copyright 2020 Rancher Labs. All Rights Reserved. 2
K3sとは?
© Copyright 2020 Rancher Labs. All Rights Reserved. 3
アーキテクチャ
© Copyright 2020 Rancher Labs. All Rights Reserved. 4
Helm Controller
Helm CLIのインストールが不要で、Helm CRDのみでアプリのライフサ
イクルを管理
Service LB
エッジ側など、Cloud Providerがない環境でも、LBタイプのserviceを作成できる機能
Traefik LB
軽量なIngress Controllerを提供
local path provisioner
ロカール環境でstorageClassのprovisionerを提供
K3sの拡張機能の概要
© Copyright 2020 Rancher Labs. All Rights Reserved. 5
Helm Controller
• HelmはK8sのパッケージマネージャー
• k3s Helm Controllerは、Helmのv2とv3の両方をサポート• v1.17.0+k3s1以上のバージョンは、v3をサポート開始
• Helm Controllerの特徴
• ユーザー体験を向上
• K3sの機能拡張が簡単に
https://helm.sh/docs/faq/#changes-since-helm-2
https://helm.sh/docs/faq/
© Copyright 2020 Rancher Labs. All Rights Reserved. 6
Helm Controller仕組み
Library:
https://github.com/rancher/helm-controller
https://github.com/rancher/klipper-helm
1. Helm-controllerはmaster nodeに実行され、HelmChart CRDをlist/watch2. CRDがonChange時に、アプリ更新用のJobを実行3. Jobには、rancher/kilipper-helmをコンテナで実行4. Killper-helmは、内蔵のhelm cliでChatをインストール/アップデート
https://github.com/rancher/helm-controllerhttps://github.com/rancher/klipper-helm
© Copyright 2020 Rancher Labs. All Rights Reserved. 7
HelmChart CRDのデプロイ方式• 「/var/lib/rancher/k3s/server/manifests」に入っている
HelmChartが自動にデプロイされる
• Kubectl applyによるHelmChart CRDのインストール
• CRD経由でデプロイしたアプリは、helm CLIからも操
作できる
© Copyright 2020 Rancher Labs. All Rights Reserved. 8
Demo
• K3s上に、HelmChart CRDで定義したアプリのデプロイ
• 上記でデプロイしたアプリを、helm cliで管理
© Copyright 2020 Rancher Labs. All Rights Reserved. 9
Helm Controllerまとめ• ユーザー体験の向上
• HelmChart CRDにより、機能拡張が簡単になる
CI/CD integration, etc
• Helm CLIと互換性がある
• 利用しているOSSは下記である
• rancher/helm-controller
• rancher/kilipper-helm
© Copyright 2020 Rancher Labs. All Rights Reserved. 10 10
ありがとうございました!