在CentOS上定制Kubernetes(k8s)环境涉及多个步骤,包括环境准备、安装Docker、配置网络、初始化Master节点、添加Worker节点等。以下是一个详细的步骤指南:
关闭防火墙:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
关闭SELinux:
sudo setenforce 0
sudo sed -i 's/SELINUXenforcing/SELINUXdisabled/' /etc/selinux/config
禁用交换分区:
sudo swapoff -as
sudo sed -i 's/.*swap.*/#&/' /etc/fstab
配置主机名:
sudo hostnamectl set-hostname k8s-master
配置hosts文件:
在所有节点上编辑 /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
应用配置:
sudo sysctl --system
时间同步:
安装 ntpdate
并同步时间:
sudo yum install -y ntpdate
sudo ntpdate time.windows.com
安装必要工具:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
添加Docker软件源:
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安装Docker CE:
sudo yum install -y docker-ce docker-ce-cli containerd.io
启动Docker并设置开机启动:
sudo systemctl enable docker
sudo systemctl start docker
添加K8s软件源:
sudo tee /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/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
安装Kubeadm、Kubelet和Kubectl:
sudo yum install -y kubelet kubeadm kubectl
启动Kubernetes服务:
sudo systemctl enable kubelet
sudo systemctl start kubelet
初始化Master节点:
sudo kubeadm init --apiserver-advertise-address 192.168.0.51 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version 1.22.15 --service-cidr 10.96.0.0/12 --pod-network-cidr 10.244.0.0/16
配置kubectl:
在Master节点上配置 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节点:
在Master节点执行 kubeadm join
命令,输出如下:
kubeadm join 192.168.0.51:6443 --token abcdef.0123456789abcdef0123456789abcdef012345678 --discovery-token-ca-cert-hash sha256:abcdef123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
安装Calico:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
检查节点状态:
kubectl get nodes
检查Pod状态:
kubectl get pods --all-namespaces
以上步骤涵盖了在CentOS上配置Kubernetes集群的基本流程。请根据实际需求和环境调整细节。