1. 目的:
新入手了一台小主机(8核 / Intel(R) Xeon(R) W-10885M CPU @ 2.40GHz 2.40 GHz, 16vCpu / 64G RAM / 系统类型 64 位操作系统, 基于 x64 的处理器),原装了一套Win11专业版,打算用VirtualBox 虚拟一个集群。
2. 规划:
- 建立 1 master + 2 wokers 的三节点集群网络
- 单虚拟机采用双网卡,卡enp0s3作为网桥与外界连接使用,卡enp0s8作为NAT内网互访使用
这样的 好处是外界可以访问各个虚拟机,也可在私网内组团使用。
主机名 | 系统 | 网卡enp0s3 (网桥) IP | 网卡enp0s8 (NAT)IP | 挂硬盘 |
twdev0-k8s-master1 | ubuntu-22.04.2-live-server-amd64.iso | 172.16.20.215 | 10.0.2.1 | sda 200G sdb 100G |
twdev0-k8s-worker1 | ... | 172.16.20.219 | 10.0.2.2 | ... |
twdev0-k8s-worker2 | ... | 172.16.20.218 | 10.0.2.3 | ... |
3. 实践步骤:
3.1 设置NAT
Virtual Box => 管理 =》工具 =》网络管理器 添加 NetNetwork,记下网络掩码
3.2 安装虚拟机
安装 twdev0-k8s-master1
选择镜像,启动安装,安装完毕关闭,打开设置网络网卡:
重启虚拟机,用hostnamectl设置主机名,激活第二张网卡,编辑 /etc/netplan/00-installer-config.yaml
network:
ethernets:
enp0s3:
dhcp4: true
enp0s8:
dhcp4: false
addresses: [10.0.2.1/24]
version: 2
关闭虚拟机,待用。
安装twdev0-k8s-worker1,twdev0-k8s-workerX ...
从twdev0-k8s-master1复制,修改名称,网络网卡做上述同样设置,然后终端登录
重要一步,修改该机的machine-id,避免启动后出现相同ip的情况:
cp -f /dev/null /etc/machine-id && systemd-machine-id-setup
解释
/etc/machine-id 文件包含一个 在安装操作系统时生成的、专属于本系统的、独一无二的"machine ID"。 "machine ID"是一个32字符长度的十六进制小写字母字符串, 并以换行符结尾, 其本质是一个128位二进制整数的16进制表示。"machine ID"通常在系统安装时从一个随机数源生成, 并且之后无论经过多少次开关机,也一直保持不变。 另一方面,对于无状态系统,如果此文件为空, 将在系统启动的早期自动随机生成一个。
Ubuntu 网络组件使用 systemd-networkd。systemd-networkd 默认使用 /etc/machine-id 来识别,当虚拟机克隆的时候,他们都有一样的 /etc/machine-id 和 DHCP server,因此返回的都是同一个 ip 了。
激活网卡enp0s8,设置地址为 [10.0.2.2/24]
好了,所有机器设置好重启,结果如下:
4. 设置
# 修改源, 注意体系对应目录:amd64<>ubuntu, arm64<>ubuntu-ports
cat > /etc/apt/sources.list <<EOF
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
EOF
apt update && apt upgrade
为containerd添加代理,编辑/lib/systemd/system/containerd.service
[Service]
Environment="HTTP_PROXY=http://{proxy-ip}:1081"
Environment="HTTPS_PROXY=http://{proxy-ip}:1081"
Environment="NO_PROXY=aliyun.com,aliyuncs.com,huaweicloud.com,k8s-master-0,k8s-master-1,k8s-worker-0,localhost,127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
systemctl daemon-reload && systemctl restart containerd
5. 系统盘扩容
默认情况下,即使设置了系统盘200G, 检查发现还是只用到了100G,如图:
root@k8s-c0-pattern:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 111.9M 1 loop /snap/lxd/24322
loop1 7:1 0 63.3M 1 loop /snap/core20/1822
loop2 7:2 0 49.8M 1 loop /snap/snapd/18357
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 198G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 99G 0 lvm /
sr0 11:0 1 1024M 0 rom
先用vgdisplay查看可否有扩展空间
root@k8s-c0-pattern:~# vgdisplay
--- Volume group ---
VG Name ubuntu-vg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 2
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size <198.00 GiB
PE Size 4.00 MiB
Total PE 50687
Alloc PE / Size 25343 / <99.00 GiB
Free PE / Size 25344 / 99.00 GiB
VG UUID MRmRXD-XFuP-Zscn-pnGz-aPZD-zrBh-cMJ8fn
扩容命令
lvextend -r -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
root@k8s-c0-pattern:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
loop0 7:0 0 111.9M 1 loop /snap/lxd/24322
loop1 7:1 0 63.3M 1 loop /snap/core20/1822
loop2 7:2 0 49.8M 1 loop /snap/snapd/18357
sda 8:0 0 200G 0 disk
├─sda1 8:1 0 1M 0 part
├─sda2 8:2 0 2G 0 part /boot
└─sda3 8:3 0 198G 0 part
└─ubuntu--vg-ubuntu--lv 253:0 0 198G 0 lvm /
sr0 11:0 1 1024M 0 rom
6. 挂接硬盘
# 检查磁盘情况
fdisk -l
lsblk
# 分区
fdisk /dev/sdb
命令
n 新建分区
w 写入
# 格式化
mkfs -t ext4 /dev/sdb1
# 挂载
mkdir /mnt/data
mount /dev/sdb1 /mnt/sdb1
#开机启动自动挂载
vi /etc/fstab
末尾加 /dev/sdb1 /mnt/sdb1 ext4 defaults 0 0
6. 参考:
- https://blog.csdn.net/qq_32779119/article/details/128734720
- Ubuntu22.04 VirtualBox_ubuntu virtualbox_endswel的博客-CSDN博客