欢迎来到本教程!本文将带你一步步在Ubuntu系统上部署一个生产可用的K8S集群。无论你是运维小白还是开发人员,只要跟着操作,都能成功搭建属于自己的Kubernetes环境。本文涵盖Ubuntu集群配置、容器运行时安装、集群初始化及网络插件部署等核心环节。
开始K8S部署前,请确保你至少有两台Ubuntu 20.04或22.04主机(一台作为控制平面,一台作为工作节点)。所有主机需要2GB以上内存,2核CPU,并保证网络互通。首先,关闭swap并设置主机名:
sudo swapoff -asudo sed -i "/ swap / s/^\(.*\)$/#�/g" /etc/fstabsudo hostnamectl set-hostname master-node # 在主节点执行sudo hostnamectl set-hostname worker-node01 # 在工作节点执行 接着,配置hosts文件以便互相解析:
sudo vi /etc/hosts# 添加如下内容(根据实际IP修改)192.168.1.10 master-node192.168.1.20 worker-node01 Kubernetes需要容器运行时来运行Pod。我们选择Containerd。在所有节点执行以下命令:
cat < 在所有节点添加Kubernetes apt仓库并安装工具:
sudo apt updatesudo apt install -y apt-transport-https ca-certificates curlcurl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpgecho "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.listsudo apt updatesudo apt install -y kubelet kubeadm kubectlsudo apt-mark hold kubelet kubeadm kubectl 在master节点上执行初始化,注意替换API Server地址:
sudo kubeadm init --apiserver-advertise-address=192.168.1.10 --pod-network-cidr=10.244.0.0/16# 初始化成功后,按提示配置kubectlmkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config 记录生成的kubeadm join命令,稍后在工作节点执行。
为了让Pod之间通信,需要部署CNI插件。在master节点执行:
kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
在每台工作节点上执行之前记录的kubeadm join命令:
sudo kubeadm join 192.168.1.10:6443 --token --discovery-token-ca-cert-hash sha256: 回到master节点,运行kubectl get nodes验证节点状态。当所有节点处于Ready状态,你的K8S集群就成功部署了!
最后,部署一个Nginx应用测试:
kubectl create deployment nginx --image=nginxkubectl expose deployment nginx --port=80 --type=NodePortkubectl get pods,svc 通过任意节点IP加NodePort即可访问Nginx。至此,你已完成了Linux Ubuntu部署K8S集群的全部流程。本教程涵盖了容器编排的核心步骤,希望对你的学习或工作有所帮助!
本文由主机测评网于2026-03-05发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20260328827.html