Nested
Hardware
Hypervisor
VM
Hypervisor
Nested VM Nested VM
VMを活用している人たちがイメージする Nested環境ってこんな感じですよね。 VMの
中にさらにハイパーバイザを立ち上げ、 VMをネストさせる。
Slide 25
Slide 25 text
Nested
Hardware
Hypervisor
VM
Hypervisor
Nested VM Nested VM
便利だけど無視出来ない速度低下
便利な一方無視出来ない速度低下があり、検証用途にしか使えないイメージじゃな
いでしょうか
Slide 26
Slide 26 text
vcluster - No Performance Degradation
ただ、vclusterは性能低下がないことをウリにしています。これはどういうことでしょう
か。
Slide 27
Slide 27 text
vcluster
vclusterのしくみ
Host Kubernetes
Vcluster
Control plane
vclusterを立ち上げると、ホスト側の Kubernetesにk3sという軽量k8s
ディストリビューションの Control PlaneがPodとして立ち上がります。
k3sによって、もう一つの Kubernetesが生まれたわけで、上の箱にそ
れを表現しています
Slide 28
Slide 28 text
vclusterのしくみ
Host Kubernetes
Vcluster
Control plane
vcluster
Namespace 1 Namespace 2
Pod svc Pod svc
では、上の箱(仮想k8sクラスタ)にkubectlでPodを立ち上げます。仮想
k8sクラスタ側では当然、対象の NamespaceにPodやServiceが作ら
れたように見えます。
Slide 29
Slide 29 text
vclusterのしくみ
Host Kubernetes
Vcluster
Control plane
vcluster
syncer
Namespace 1 Namespace 2
Pod svc Pod svc
Pod svc Pod svc
しかし、ここでsyncerというコンポーネントが動きます。 syncerはPodや
Serviceの作成を検知すると、仮想 k8sではなくホストKubernetesのほ
うにPod, Serviceを作成します。
実体はホスト側に出来るわけです。
Slide 30
Slide 30 text
vclusterのしくみ
Host Kubernetes
Vcluster
Control plane
vcluster
syncer
Namespace 1 Namespace 2
Pod svc Pod svc
Pod svc Pod svc
実体がホスト側にあるが故に、仕組みとしては通常の k8sと同じであ
り、性能低下は起きないというわけです。
Pod間ネットワークも、ホスト側のものをそのまま使います。