1. VMware与Ubuntu环境搭建全攻略
最近在准备CKA认证考试,发现很多同学卡在了第一步——搭建实验环境。今天我就把自己折腾了半个月的经验总结成这份保姆级教程,手把手教你用VMware Workstation和Ubuntu Server搭建K8S学习环境。这个方案最大的优势是完全复刻考试环境,而且后续可以一键快照还原,特别适合反复练习的场景。
先说说我的硬件配置:一台8核16G内存的Windows笔记本,实测同时运行3个Ubuntu虚拟机完全无压力。如果你用的是Mac或Linux系统,操作流程也基本一致,只是VMware的界面稍有不同。建议初学者直接跟着我的参数配置,等熟悉了再根据自己电脑性能调整。
2. 虚拟网络环境配置
2.1 网络类型选择
打开VMware Workstation,点击顶部菜单的"编辑"→"虚拟网络编辑器"。这里有个关键选择:推荐使用NAT模式而不是桥接模式。原因很简单——NAT模式下虚拟机可以访问外网,但外部无法直接访问虚拟机,既满足了下载软件包的需求,又避免了网络冲突。
具体配置步骤:
- 选择"VMnet8"(对应NAT模式)
- 子网IP设置为192.168.10.0
- 子网掩码255.255.255.0
- 点击"NAT设置",将网关设为192.168.10.2
注意:如果后续要搭建多节点Kubernetes集群,所有虚拟机必须使用同一网段。我建议保持这个192.168.10.x的配置不变。
2.2 静态IP配置技巧
很多教程用DHCP自动获取IP,但这对K8S环境简直是灾难——每次重启都可能变IP。我的方案是手动配置静态IP,具体参数:
- IP地址:192.168.10.60(可改成61、62等)
- 网关:192.168.10.2
- DNS:192.168.10.2
这里有个坑要注意:Ubuntu 20.04的netplan配置和旧版不同。安装完成后需要检查/etc/netplan/00-installer-config.yaml文件,确认配置类似这样:
network: ethernets: ens33: addresses: [192.168.10.60/24] gateway4: 192.168.10.2 nameservers: addresses: [192.168.10.2] version: 23. 虚拟机创建与资源分配
3.1 硬件资源配置
点击"创建新的虚拟机"时,关键参数这样设置:
- 操作系统选择Linux → Ubuntu 64位
- 处理器:2核(必须)
- 内存:2GB(最低要求)
- 磁盘:20GB(选择"单个文件"存储)
这里有个性能优化技巧:在"自定义硬件"里,把声卡、打印机这些用不到的设备全删掉。我实测发现这能让虚拟机启动速度提升15%左右。
3.2 存储优化方案
磁盘配置时强烈建议:
- 选择"将虚拟磁盘存储为单个文件"
- 预分配磁盘空间(虽然占用更多空间,但性能更好)
- 磁盘类型选SCSI(兼容性最好)
安装完成后记得执行这条命令清理无用缓存:
sudo apt clean && sudo apt autoclean4. Ubuntu Server安装详解
4.1 系统安装流程
挂载ISO镜像后启动虚拟机,重点注意这几个步骤:
- 语言选择English(避免终端乱码)
- 网络配置时选Manual,按前文说的配置静态IP
- 分区方案直接选Use Entire Disk(学习环境不需要复杂分区)
- 用户名设置candidate(和考试环境一致)
- 必装openssh-server(后续远程操作全靠它)
我在第5次重装时才发现的坑:如果安装过程卡在"Installing system"超过10分钟,大概率是镜像损坏。建议用md5sum校验ISO文件完整性:
md5sum ubuntu-20.04.6-live-server-amd64.iso正确校验码应该是f8b1d07a235b8a9e2b4e633207cc1c1c
4.2 初始安全配置
安装完第一件事就是安全加固:
- 修改默认密码:
passwd candidate - 配置SSH密钥登录(更安全):
ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys - 禁用root登录:
sudo sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config sudo systemctl restart sshd
5. 环境备份与复用
5.1 快照管理技巧
在VMware右侧工具栏点击"快照"图标,建议创建两个关键快照:
- "Clean Install":纯净系统安装后
- "Pre-K8S":安装完所有依赖包但未装K8S
快照命名一定要有规律,我习惯用"日期+状态"的格式,比如"20240801_Clean"。
5.2 OVF模板导出
导出OVF格式模板时,建议先执行以下清理操作:
sudo apt autoremove sudo dd if=/dev/zero of=/EMPTY bs=1M sudo rm -f /EMPTY这能减少镜像体积,我导出的OVF文件从3.5GB降到了2.8GB。
最后提醒:每次做重要操作前,养成手动执行快照的习惯。有次我在装K8S时把系统搞崩了,就靠快照5秒回退到正常状态。现在我的虚拟机里有十几个快照节点,像git commit一样记录每个关键操作步骤。