
它提供了自动化部署、扩展和管理容器化应用程序的能力,极大地提高了开发运维(DevOps)团队的效率和生产力
然而,对于初学者来说,在本地环境中搭建一个K8s集群可能会显得复杂和繁琐
本文将详细介绍如何在虚拟机VMware上安装Kubernetes集群,帮助您快速上手并享受K8s带来的便利
一、准备工作 1. 虚拟机VMware安装与配置 首先,确保您已经在计算机上安装了VMware Workstation或VMware Fusion(适用于Mac用户)
VMware是一款强大的虚拟化软件,允许您在同一台物理机上运行多个操作系统
以下是VMware安装的基本步骤: - 下载并安装VMware:从VMware官方网站下载适用于您操作系统的版本,并按照安装向导完成安装
- 创建虚拟机:打开VMware,选择“创建新的虚拟机”,然后根据向导选择操作系统类型、版本以及配置虚拟机资源(如CPU、内存和磁盘空间)
- 安装操作系统:在虚拟机中安装一个Linux发行版,如Ubuntu Server或CentOS
这些发行版通常预装了必要的软件包管理工具,便于后续安装K8s组件
2. 网络配置 在VMware中配置网络,以确保虚拟机能够访问外部网络以及相互通信
您可以选择桥接模式、NAT模式或仅主机模式,根据具体需求设置
- 桥接模式:虚拟机将直接连接到物理网络,拥有独立的IP地址
- NAT模式:虚拟机通过VMware提供的NAT服务访问外部网络,共享主机的IP地址
- 仅主机模式:虚拟机仅能与主机通信,无法访问外部网络
对于搭建K8s集群,建议采用桥接模式或NAT模式,以确保节点间的网络通信畅通无阻
二、安装Docker Kubernetes使用Docker作为容器运行时,因此在搭建K8s集群之前,您需要在每个虚拟机节点上安装Docker
1. 更新系统并安装依赖项 在每个虚拟机节点上执行以下命令,更新系统并安装必要的依赖项: sudo apt-get update && sudo apt-get upgrade -y 对于Debian/Ubuntu系统 sudo yum update && sudo yum upgrade -y 对于CentOS系统 sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common Debian/Ubuntu sudo yum install -y yum-utils device-mapper-persistent-data lvm2 CentOS 2. 添加Docker的官方GPG密钥并设置Docker的稳定版仓库 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - Debian/Ubuntu sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo CentOS 3. 安装Docker CE sudo apt-get update && sudo apt-get install -y docker-ce Debian/Ubuntu sudo yum install -y docker-ce docker-ce-cli containerd.io CentOS 4. 启动并启用Docker服务 sudo systemctl start docker sudo systemctl enable docker 三、安装kubectl、kubeadm和kubelet kubectl是Kubernetes的命令行工具,用于与K8s集群进行交互;kubeadm是Kubernetes的集群初始化工具;kubelet则是K8s节点上的主要“节点代理”,负责维护和管理该节点上的容器
1. 禁用swap Kubernetes要求禁用swap以提高系统稳定性
编辑`/etc/fstab`文件,注释掉包含swap的行,然后执行以下命令禁用swap: sudo swapoff -a 2. 安装必要的软件包并加载kubelet依赖项 sudo apt-get update && sudo apt-get install -y apt-transport-https curl sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - sudo apt-add-repository deb http://apt.kubernetes.io/ kubernetes-xenial main Debian/Ubuntu 对于CentOS,使用以下命令添加yum仓库 sudo cat [eof>/etc/yum.repos.d/kubernetes.repo 【kubernetes】 name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 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 3. 安装kubectl、kubeadm和kubelet sudo apt-get update && sudo apt-get install -y kubelet kubeadm kubectl Debian/Ubuntu sudo yum install -y kubeadm kubelet kubectl --disablerepo=kubernetes-client --enablerepo=kubernetes-client-stable CentOS 4. 配置kubelet的cgroup驱动为systemd(可选,但推荐) 编辑`/etc/default/kubelet`文件(对于Debian/Ubuntu)或`/etc/sysconfig/kubelet`文件(对于CentOS),添加或修改以下行: KUBELET_CGROUP_DRIVER=systemd 然后重启kubelet服务: sudo systemctl restart kubelet 四、初始化Kubernetes Master节点 在选定的Master节点上执行以下命令初始化Kubernetes集群: sudo kubeadm init --pod-network-cidr=192.168.0.0/16 请注意,`--pod-network-cidr`参数用于指定Pod网络的CIDR范围,您可以根据需要调整
初始化过程将下载Kubernetes的镜像,并配置必要的组件
完成后,您将看到一条包含`kubeadm join`命令的消息,该命令用于将其他节点加入集群
1. 配置kubectl以访问集群 执行以下命令,将kubectl配置为访问新创建的Kubernetes集群: mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown$(id -u):$(id -g) $HOME/.kube/config 2. 安装Pod网络插件 Kubernetes需要Pod网络插件来实现跨节点的网络通信
Flannel是一个简单而有效的选择
执行以下命令安装Flannel: kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml 五、加入Worker节点 在Wor
VMware虚拟机:实现多系统共存技巧
VMware虚拟机上轻松搭建K8s集群
解决TeamViewer进程停止:快速排查与重启指南
TeamViewer:登录账号为必需使用条件
TeamViewer能否远程控制国外电脑?
TeamViewer:轻松建立远程连接指南
掌握VMware技术:学习指南与实战
VMware虚拟机:实现多系统共存技巧
掌握VMware技术:学习指南与实战
VMware子网IP自定义设置指南
VMware安装ESD镜像教程指南
“VMware安装后重启电脑设置重置?”
掌握VMware SDK服务,提升虚拟化效能
一键重置VMware虚拟机教程
VMware虚拟机转战Parallel指南
VMware装虚拟机致电脑蓝屏解决指南
VMware安装CentOS环境配置指南
VMware试用版到期影响与应对
Mac卸载VMware,文件会否被删除?