在CentOS上部署Kubernetes(k8s)集群通常涉及以下步骤:
准备工作
- 配置主机名:
hostnamectl set-hostname k8s-master - 关闭防火墙:
systemctl stop firewalld && systemctl disable firewalld - 关闭swap:
swapoff -a && sed -i '/ swap / s/1/g' /etc/fstab - 关闭SELinux:
setenforce 0 && sed -i 's/SELINUX.*/SELINUXdisabled/' /etc/selinux/config - 设置时区:
timedatectl set-timezone Asia/Shanghai - 时间同步:
yum -y install ntpdate ntpdate time.windows.com - 配置网络:
编辑/etc/sysctl.d/k8s.conf文件,添加以下内容:net.bridge.bridge-nf-call-ip6tables 1 net.bridge.bridge-nf-call-iptables 1然后应用配置:
sysctl --system
安装Docker
- 添加Docker镜像源:
curl https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo - 安装Docker:
yum list docker-ce --showduplicates | sort -ryum install -y docker-ce-20.10.6-3.el7 - 启动Docker并设置开机启动:
systemctl start docker && systemctl enable docker
安装kubeadm、kubelet和kubectl
- 添加Kubernetes镜像源:
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=0 repo_gpgcheck=0 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg EOF - 安装kubeadm、kubelet和kubectl:
yum list kubelet --showduplicates | sort -ryum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0 - 启动Kubernetes服务并设置开机启动:
systemctl enable kubelet && systemctl start kubelet
部署Kubernetes集群
- 初始化Master节点:
kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=Master_IP其中
Master_IP是Master节点的IP地址。 - 配置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
验证部署
- 查看节点状态:
kubectl get nodes - 查看所有Pods是否正常运行:
kubectl get pods --all-namespaces
通过以上步骤,你可以在CentOS上成功部署一个Kubernetes集群,并部署一个简单的Nginx应用。
请注意,上述步骤中的版本号和具体命令可能会因不同的CentOS版本和Kubernetes版本而有所差异。建议参考最新的官方文档或教程以确保部署成功。