✨
KubeVirt を試してみた (3)
KubeVirt を試してみた (2) の続きです。
KubeVirt の仮想マシンに IPv6 通信をさせる
IPv4/IPv6 Dual stack な Kubernetes 1.26 クラスターを kubeadm で作った で書いたクラスター上で KubeVirt の仮想マシンを起動しただけだと IPv4 通信は出来るのですが、IPv6 では通信できないです。
Interfaces and Networks - KubeVirt User-Guide > masquerade - IPv4 and IPv6 dual-stack support を参考に bridge
モードから masguerade
モードに変更してやることで通信できるようになります。
ContainerVolume を使った揮発性の仮想マシンを立てる
前記事では PVC に永続的なデータを持たせた仮想マシンを立てていましたが、コンテナレジストリ上にキャッシュしたイメージから起動することも試してみます。
やり方は volumes の containerDisk.image にコンテナレジストリを指定するだけ。
仮想マシンの定義例
上記の 2つ を適用した仮想マシンの定義例はこちら。
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachine
metadata:
name: testvm02
spec:
running: true
template:
metadata:
labels:
kubevirt.io/size: small
spec:
domain:
cpu:
cores: 2
devices:
disks:
- name: containervolume
cache: none
disk:
bus: virtio
- name: cloudinitvolume
disk:
bus: virtio
interfaces:
- name: default
masquerade: {}
ports:
- port: 22
resources:
requests:
memory: 1024M
networks:
- name: default
pod: {}
volumes:
- name: containervolume
containerDisk:
image: registry.home.wirednet.jp/docker_hub_proxy_cache/tedezed/ubuntu-container-disk:22.0
- name: cloudinitvolume
cloudInitNoCloud:
networkData: |-
version: 2
ethernets:
enp1s0:
dhcp4: true
addresses: [ fd10:0:2::2/120 ]
gateway6: fd10:0:2::1
userData: |-
#cloud-config
ssh_pwauth: true
chpasswd:
list: |
ubuntu:ubuntu
expire: false
Discussion