在CentOS上部署Kubernetes(k8s)集群通常涉及以下步骤:
- 基础环境准备:
- 关闭防火墙:
systemctl stop firewalld
和systemctl disable firewalld
- 关闭SELinux:
setenforce 0
和sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
- 关闭交换分区:
swapoff -a
和sed -i '/ swap / s/.*swap.*/#&/' /etc/fstab
- 设置主机名解析:编辑
/etc/hosts
文件,添加节点IP和主机名的映射。 - 配置网络参数:编辑
/etc/sysctl.d/k8s.conf
文件,添加以下内容:net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 vm.swappiness = 0
然后应用配置:sysctl --system
- 时间同步:安装
ntpd
或chrony
进行时间同步。
- 安装Docker:
- 安装依赖包:
yum install -y yum-utils device-mapper-persistent-data lvm2
- 配置Docker国内源(可选):
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 安装Docker:
yum install -y docker-ce docker-ce-cli containerd.io
- 启动Docker并设置开机启动:
systemctl enable docker
和systemctl start docker
- 安装Kubernetes组件:
- 配置Kubernetes源:
cat <
- 安装kubelet、kubeadm和kubectl:
yum install -y kubelet kubeadm kubectl
- 启动Kubernetes服务:
systemctl enable kubelet
和systemctl start kubelet
- 初始化Master节点:
- 在Master节点上执行以下命令初始化集群:
kubeadm init --apiserver-advertise-address
--image-repository registry.aliyuncs.com/google_containers --kubernetes-version --service-cidr --pod-network-cidr - 配置kubectl:
mkdir -p $HOME/.kube cp -i /etc/kubernetes/admin.conf $HOME/.kube/config chown $(id -u):$(id -g) $HOME/.kube/config
- 安装网络插件(例如Calico):
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
- 添加Worker节点:
- 在Master节点获取Join命令:
kubeadm token create --print-join-command
- 在所有Worker节点执行Join命令:
kubeadm join
:6443 --token --discovery-token-ca-cert-hash sha256:
- 验证部署:
- 在Master节点查询节点状态:
kubectl get nodes
- 查看所有Pods是否正常运行:
kubectl get pods --all-namespaces
请注意,上述步骤中的版本号和具体命令可能会因不同的CentOS版本和Kubernetes版本而有所差异。建议参考最新的官方文档或教程以确保部署成功。