Kubernetes集群搭建步骤
导读:Kubernetes集群搭建步骤 1. 环境准备 搭建Kubernetes集群前需完成基础环境配置,确保所有节点(Master/Worker)满足以下要求: 节点规划:至少准备1台Master节点(控制集群)和1台Worker节点(运行应...
Kubernetes集群搭建步骤
1. 环境准备
搭建Kubernetes集群前需完成基础环境配置,确保所有节点(Master/Worker)满足以下要求:
- 节点规划:至少准备1台Master节点(控制集群)和1台Worker节点(运行应用),生产环境建议至少3台Master节点以保证高可用。
- 操作系统:推荐使用CentOS 7/8、Ubuntu 18.04/20.04等Linux发行版(避免使用Windows节点)。
- 网络配置:所有节点处于同一局域网,能互相通信;关闭防火墙或开放必要端口(如6443(kube-apiserver)、10250(kubelet)、30000-32767(Service端口)等)。
- 硬件要求:每台节点至少2GB RAM、2核CPU、20GB以上存储(生产环境需根据业务规模扩容)。
- 依赖工具:安装
curl、wget、tar、gcc等基础工具(用于下载和解压组件)。
2. 安装Docker容器运行时
Kubernetes依赖容器运行时管理容器,推荐使用Docker(也可选择containerd、CRI-O):
- 安装Docker:以CentOS为例,执行以下命令:
sudo yum update -y sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo sudo yum install -y docker-ce docker-ce-cli containerd.io sudo systemctl start docker & & sudo systemctl enable docker sudo docker run hello-world # 验证安装 - 配置权限:将当前用户加入
docker组,避免每次使用Docker需输入sudo:sudo usermod -aG docker $USER newgrp docker # 立即生效 - 其他节点:重复上述步骤,在所有Worker节点安装Docker。
3. 安装Kubernetes核心组件
Kubernetes的核心组件包括kubelet(节点代理)、kubeadm(集群初始化工具)、kubectl(命令行工具),需在所有节点安装:
- 配置Kubernetes YUM源(CentOS为例):
cat < < EOF > /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://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF - 安装组件:
sudo yum install -y kubelet kubeadm kubectl sudo systemctl enable --now kubelet # 设置kubelet开机自启 - 其他节点:重复上述步骤,在所有Worker节点安装相同组件。
4. 初始化Master节点
Master节点是集群的控制中心,负责调度、管理集群状态:
- 初始化Master:在Master节点执行以下命令(替换
< Pod网络CIDR>,如10.244.0.0/16,需与后续网络插件配置一致):sudo kubeadm init --pod-network-cidr=< Pod网络CIDR> - 配置kubectl:初始化完成后,执行以下命令配置
kubectl(用于管理集群):mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config - 验证Master状态:执行
kubectl get nodes,此时Master节点状态应为NotReady(需等待网络插件安装后变为Ready)。
5. 部署网络插件
Kubernetes需要网络插件实现Pod间通信,常用插件包括Flannel(轻量级)、Calico(高性能):
- 以Flannel为例:执行以下命令部署:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml - 验证网络插件:执行
kubectl get pods -n kube-system,检查网络插件Pod是否全部处于Running状态。
6. 加入Worker节点
Worker节点用于运行应用,通过kubeadm join命令加入集群:
- 获取加入命令:Master节点初始化完成后,会输出类似以下命令(需保存):
kubeadm join < Master_IP> :6443 --token < TOKEN> --discovery-token-ca-cert-hash < HASH> - 执行加入命令:在每台Worker节点执行上述命令,等待节点状态变为
Ready。
7. 验证集群状态
- 检查节点状态:在Master节点执行
kubectl get nodes,确认所有节点状态为Ready。 - 部署测试应用:部署一个Nginx应用验证集群功能:
kubectl create deployment nginx --image=nginx kubectl expose deployment nginx --type=NodePort --port=80 kubectl get pods,svc # 查看Pod和Service状态 - 访问应用:通过任意节点IP加
NodePort(如http://< Node_IP> :31000)访问Nginx页面。
8. 后续配置(可选但推荐)
- 配置RBAC:设置基于角色的访问控制,限制用户对集群资源的操作权限。
- 部署监控工具:安装Prometheus+Grafana监控集群状态(如节点资源使用率、Pod运行状态)。
- 部署日志系统:使用ELK(Elasticsearch+Logstash+Kibana)或Loki收集和分析应用日志。
- 备份集群:定期备份etcd数据(集群状态存储),防止数据丢失。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Kubernetes集群搭建步骤
本文地址: https://pptw.com/jishu/730711.html
