Mac+Multipass+MicroK8s+Virtual Boxでネットワークブリッジを構成する

 

 

 

MacとUbuntuのMicroK8sノードからクラスタを作成する から該当箇所を抜き出す(頻繁に参照することになったため)。

1.Mac の multipass 内の MicroK8s-vm(Ubuntu) にネットワークブリッジを構成する

MacのMicroK8sは、デフォルトでは、multipass に管理されたhyperkt にインストールされたUbuntuに構成される。

multipassは、仮想マシン管理ツール

$ multipass ls
Name                    State             IPv4             Image
microk8s-vm             Running           192.168.64.2     Ubuntu 18.04 LTS

こんな感じで、multipass に管理された仮想マシンに、Ubuntuがインストールされていることがわかる。

multipass の shellコマンドでmicorok8s-vmインスタンスにログインできる

$ multipass shell microk8s-vm
Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-122-generic x86_64)
   :
ubuntu@microk8s-vm:~$ 

Multipassの外側のMacから仮想マシンにアクセスできるのだが、この仮想マシンを外部のネットワークに参加させることができないので、Virtual Boxのブリッジネットワークを構成する。

2.multipass の local.driver を VirtualBoxに変更

Virtual Box でブリッジ接続を行うことで、Multipass内の仮想マシンをネットワークに外部参加させる

https://multipass.run/docs/using-virtualbox-in-multipass-macos

brew で Virtual Boxをインストール

$ brew cask install virtualbox

3.1 multipass のドライバを切り替え

現在のドライバを確認

$ sudo multipass get local.driver
hyperkit

現在のVMを削除

$ multipass delete microk8s-vm
$ multipass purge

Virtual Boxに切替え、MicoroK8sの再インストール

$ sudo multipass set local.driver=virtualbox
$ microk8s install
$ sudo VBoxManage list vms
Password:
"microk8s-vm" {d90718db-3795-4116-825f-cffe4a2f0fea}

3.2 ネットワークブリッジを生成

$ VBoxManage list bridgedifs | grep ^Name:
Name:            en0: Wi-Fi (AirPort)
Name:            en1: Thunderbolt 1
Name:            bridge0
Name:            p2p0
Name:            awdl0
Name:            llw0

$ sudo VBoxManage modifyvm microk8s-vm --nic2 bridged --bridgeadapter2 en0

インスタンスを立ち上げて新しいNICの名前(enp0s8)を取得

$ multipass exec microk8s-vm -- ip link | grep DOWN
3: enp0s8:  mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000

enp0s8に設定、反映する。

$ multipass exec microk8s-vm -- sudo bash -c "cat > /etc/netplan/60-bridge.yaml" <<EOF
network:
  ethernets:
    enp0s8:                  # this is the interface name from above
      dhcp4: true
      dhcp4-overrides:       # this is needed so the default gateway
        route-metric: 200    # remains with the first interface
  version: 2
EOF

$ multipass exec microk8s-vm -- sudo netplan apply

IPアドレスを確認

$ multipass exec microk8s-vm -- ip address show dev enp0s8 up 
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:3a:92:dd brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.40/24 brd 192.168.0.255 scope global dynamic enp0s8
       valid_lft 86331sec preferred_lft 86331sec
    inet6 2402:6b00:3666:5800:a00:27ff:fe3a:92dd/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 266sec preferred_lft 266sec
    inet6 fe80::a00:27ff:fe3a:92dd/64 scope link 
       valid_lft forever preferred_lft forever

 

$ sudo VirtualBox で起動。microk8s-vm に ブリッジアダプターが生成されている!!

Virtualbox bridge

3.3 確認

外部PCから、接続を試みる。OK!

Success add node

参考

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です