节点准备
为了成功部署Kubernetes集群,节点必须满足以下要求:

- 操作系统:CentOS 7.5以上
- CPU:2核
- 内存:4G以上
- 硬盘:30G以上
在准备节点时,还需要进行一些系统参数配置,包括:
- 关闭swap:运行命令
free -m和swapoff -a - 关闭防火墙:运行命令
systemctl stop firewalld和systemctl status firewalld - 关闭selinux:使用命令
vim /etc/selinux/config编辑disable,然后运行setenforce 0临时关闭。使用getenforce查看selinux状态。 - 在master主机中添加hosts:使用命令
vim /etc/hosts编辑 - 将桥接的IPV4流量传递到iptables的链:在Docker和Kubernetes的网络通信中,均使用iptables,因此不能随意清除Docker服务器中的iptables规则。运行命令
net.bridge.bridge-nf-call-iptables=1和systcl --system 生效 - 安装ntp,同步时间:使用命令
yum -y install ntp和ntp datetime.windows.com
安装Docker/Kubeadm/Kubelet/Kubectl
所有节点上都需要安装Docker/Kubeadm/Kubelet/Kubectl。
- 安装Docker:使用命令
yum -y install docker,然后启动服务systemctl enable docker和systemctl start docker。 - 配置国内镜像加速站:使用命令
sudo mkdir -p /etc/docker和sudo tee /etc/docker/daemon.json << 'EOF'{ "registry-mirrors":["https://jwrmyfx1.mirror.aliyuncs.com"]}EOF。然后执行命令sudo systemctl daemon-reload和sudo systemctl restart docker以生效 - 配置Kubernetes国内阿里云yum源:使用命令
cat > /etc/yum.repos.d/k8s.repo << EOF [kubernetes] name=kubernetes enabled=1 baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/ gpgcheck=1 gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg EOF - 安装Kubeadm:使用命令
yum -y install kubeadm kubectl kubelet,然后启动服务systemctl enable kubelet和systemctl start kubelet。 - 手动启动Kubelet:使用命令
systemctl start kubelet和systemctl enable kubelet
安装Kubenetes Master节点
执行kubeadm init命令以安装Kubernetes Master节点,例如:
kubeadm init --apiserver-advertise-address=10.57.98.169 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.23.5 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16 --ignore-preflight-errors=all
安装过程包括:
- 安装环境检查,包括swap是否关闭、机器配置是否符合以及kubelet服务是否开机自启。
- 下载镜像
kubeadm config images pull拉取镜像,可以提前进行此操作。 - 生成证书并保存至/etc/kubernetes/pki(k8s,etcd)。
- 生成kubeconfig文件。
- 生成kubelet配置文件并启动,路径为/var/lib/kubelet/config.yaml。
- 启动Master节点组件,包括kube-apiserver、kube-controller-manager和kube-scheduler。
- 将一些配置文件存储到configmap中,用于其他节点初始拉取。
- 为Master节点打上污点,不允许Pod在其上面运行。
- 自动为kubelet颁发证书。
- 安装插件,包括CoreDNS和kube-proxy。
最后,使用以下命令拷贝kubectl工具用的kubeconfig到默认路径下:
mkdir -p $HOME/.kubesudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/configsudo chown $(id -u):$(id -g) $HOME/.kube/config
要在其他节点加入Master,使用以下命令:
kubeadm join 10.57.98.169:6443 --token 60npxf.33hynnget6h5b8ej --discovery-token-ca-cert-hash sha256:69250e213fb500b7ee8a260c5571500c857df05b5a31bac59c6803e3586ee730
添加Node节点
要将Node节点添加到Master中,使用以下命令:
kubeadm join 10.57.98.169:6443 --token 60npxf.33hynnget6h5b8ej --discovery-token-ca-cert-hash sha256:69250e213fb500b7ee8a260c5571500c857df05b5a31bac59c6803e3586ee730
可能会出现没有查看k8s-node节点的情况,但这不影响。可以运行kubectl get nodes查看节点是否识别到。
部署容器网络CNI
为了让Kubernetes集群中的容器可以互相访问,需要部署容器网络CNI,具体操作如下:
- 下载配置文件:使用命令
wget https://docs.projectcalico.org/manifests/calico.yaml --no-check-certificate - 编辑文件:修改配置文件中的参数为部署Master节点时使用的参数。
- 应用配置文件:使用命令
kubectl apply -f calico.yaml - 查看节点状态:使用命令
kubectl get pods -n kube-system和kubectl get node
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/7409.html
