配置CentOS上的Kubernetes(k8s)部署环境涉及多个步骤,包括系统初始化、安装Docker、配置网络插件、初始化Kubernetes集群等。以下是一个详细的步骤指南:
1. 系统初始化准备
关闭防火墙:
systemctl stop firewalld systemctl disable firewalld
关闭SELinux:
sed -i 's/enforcing/disabled/' /etc/selinux/config setenforce 0
关闭Swap:
swapoff -a sed -i 's/.*swap.*/#&/' /etc/fstab
设置主机名:
hostnamectl set-hostname
配置主机名解析:
在/etc/hosts
文件中添加所有节点的IP和对应主机名。
配置网络参数:
cat > /etc/sysctl.d/k8s.conf << eof net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 eof sysctl --system
时间同步:
yum install ntpdate -y ntpdate time.windows.com
2. 安装Docker
添加Docker源:
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum makecache yum install -y docker-ce
启动Docker服务:
systemctl start docker systemctl enable docker
3. 安装Kubernetes组件
添加Kubernetes源:
cat > /etc/yum.repos.d/kubernetes.repo << eof [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 install -y kubelet-1.23.6 kubeadm-1.23.6 kubectl-1.23.6 systemctl enable kubelet systemctl start kubelet
4. 初始化Kubernetes集群
在Master节点上初始化:
kubeadm init --apiserver-advertise-address--image-repository registry.aliyuncs.com/google_containers --kubernetes-version 1.23.6 --service-cidr 10.96.0.0/12 --pod-network-cidr 10.244.0.0/16 --ignore-preflight-errors all
拷贝kubectl配置文件:
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
加入Worker节点:
在Worker节点上执行初始化时输出的kubeadm join
命令。
5. 部署CNI网络插件
安装Calico:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
6. 验证安装
检查节点状态:
kubectl get nodes
检查Pod状态:
kubectl get pods --all-namespaces
以上步骤涵盖了在CentOS上配置Kubernetes部署环境的主要流程。请根据实际需求和环境调整具体参数和版本号。