搭建Kubernetes集群前需完成以下基础配置,确保所有节点(Master/Worker)环境一致:
ping命令验证);swapoff -a(永久禁用需注释/etc/fstab中的swap行);setenforce 0并修改/etc/selinux/config为SELINUX=permissive;hostnamectl set-hostname <master-node>(Worker节点替换为对应名称);/etc/hosts,添加节点IP与主机名映射(如192.168.1.100 master-node)。yum install -y yum-utils device-mapper-persistent-data lvm2 → yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo → yum install -y docker-ce docker-ce-cli containerd.io;apt install -y apt-transport-https ca-certificates curl software-properties-common → curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - → add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" → apt install -y docker-ce;systemctl start docker && systemctl enable docker。在所有节点上安装kubeadm(集群引导工具)、kubelet(节点代理)、kubectl(命令行工具):
/etc/yum.repos.d/kubernetes.repo,内容如下:[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes;apt update && apt install -y kubelet kubeadm kubectl;systemctl enable --now kubelet(确保开机自启)。Master节点是集群的控制平面,负责管理集群状态与调度:
kubeadm init --apiserver-advertise-address=<Master-IP> --pod-network-cidr=10.244.0.0/16
--apiserver-advertise-address:Master节点的IP地址(用于节点间通信);--pod-network-cidr:Pod网络的CIDR范围(需与后续网络插件兼容,如Flannel默认使用10.244.0.0/16)。mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes,此时Master节点状态应为NotReady(需加入Worker节点并部署网络插件后变为Ready)。Kubernetes需要网络插件实现Pod间的通信,常用插件包括Flannel(轻量级)、Calico(高性能):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
注:选择一种插件即可,避免冲突。安装完成后,等待1-2分钟,Pod会自动部署。
Worker节点负责运行应用Pod,通过kubeadm join命令加入集群:
kubeadm join <Master-IP>:6443 --token <Token> --discovery-token-ca-cert-hash sha256:<Hash>
kubectl get nodes,若所有节点状态均为Ready,则表示集群搭建成功。kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pods,svc
访问http://<Worker-Node-IP>:<NodePort>(NodePort为kubectl expose输出的端口),若看到Nginx欢迎页面,则说明应用部署成功。kubeadm init的--cert-dir参数指定证书目录;通过以上步骤,即可完成Kubernetes集群的搭建。实际生产环境中,还需根据业务需求调整网络配置、存储方案及高可用架构(如多Master节点)。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。