在MacBook Pro (ARM架构)上使用VMware Fusion安装CentOS 7并配置Kubernetes (k8s) 集群的可行方案如下:
前提条件
- MacBook Pro (ARM架构)
- VMware Fusion 已下载并安装
- CentOS 7 ARM64 镜像文件 已下载 (CentOS-7-aarch64-08191738.iso 和 CentOS-7-aarch64.iso)
- 稳定的互联网连接
步骤
1. VMware Fusion 配置
-
创建新的虚拟机:
- 打开VMware Fusion,点击“+”图标,选择“新建”。
- 选择“安装光盘映像 (iso) 或光盘”。
- 选择已下载的CentOS 7 ARM64 iso镜像文件 (CentOS-7-aarch64.iso)。
- 点击“继续”。
-
设置操作系统:
- 选择“Linux”,然后选择“CentOS 7 64-bit”。
- 点击“继续”。
-
设置虚拟机名称和位置:
- 设置虚拟机的名称,例如“CentOS 7 ARM64”。
- 选择虚拟机文件保存的位置。
- 点击“继续”。
-
配置硬件:
- 分配至少2个处理器核心和4GB内存。
- 设置20GB或更大的虚拟硬盘。
- 点击“继续”。
-
完成配置并开始安装:
- 点击“完成”,然后点击“启动虚拟机”。
- 跟随CentOS安装程序的提示完成操作系统安装。
2. 安装和配置Kubernetes
-
更新系统:
- 启动虚拟机并登录到CentOS系统。
- 打开终端,更新系统:
sudo yum update -y
-
安装Docker:
- 添加Docker存储库:
sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
- 安装Docker:
sudo yum install -y docker-ce docker-ce-cli containerd.io
- 启动Docker并设置开机自启动:
sudo systemctl start docker sudo systemctl enable docker
- 添加Docker存储库:
-
安装Kubernetes组件:
- 添加Kubernetes存储库:
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF
- 安装kubeadm, kubelet和kubectl:
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
- 启动kubelet并设置开机自启动:
sudo systemctl enable --now kubelet
- 添加Kubernetes存储库:
-
配置Kubernetes集群:
- 禁用交换分区(Kubernetes要求):
sudo swapoff -a sudo sed -i '/swap/d' /etc/fstab
- 初始化Kubernetes主节点(仅在主节点上运行):
sudo kubeadm init --pod-network-cidr=192.168.0.0/16
- 配置kubectl命令行工具:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
- 禁用交换分区(Kubernetes要求):
-
安装Pod网络插件:
- 例如使用Calico网络插件:
kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml
- 例如使用Calico网络插件:
-
测试Kubernetes集群:
- 创建一个测试Pod:
kubectl run hello-world --image=hello-world --restart=Never
- 检查Pod状态:
kubectl get pods
- 创建一个测试Pod:
注意事项
- 确保网络配置正确:VMware Fusion的网络模式可以选择桥接模式,以确保虚拟机能够访问外部网络。
- ARM架构兼容性:由于MacBook Pro的ARM架构,某些软件包和功能可能存在兼容性问题。如果遇到问题,可以尝试使用不同版本的CentOS镜像或其他Linux发行版。