Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。
Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。
K8s的概念就不赘述了
CentOS7下快速搭建K8s集群实践
也可以参考之前文章
CentOS7环境下快速部署Kubernetes(k8s)集群
具体步骤如下
1、基础环境说明
CentOS7.6服务器4台
6 CPU/4G Mem
192.168.198.200 master.walkingcloud.cn 192.168.198.201 node1.walkingcloud.cn 192.168.198.202 node2.walkingcloud.cn 192.168.198.203 node3.walkingcloud.cn
2、使用脚本安装docker-ce以及k8s所需的基础组件rpm包
上传docker20.10_k8s1.20_localrpm.tar.gz和docker_k8s_init_v1.sh脚本到4台服务器
执行脚本sh docker_k8s_init_v1.sh
docker_k8s_init_v1.sh脚本内容如下
#!/bin/bash cat >> /etc/hosts << EOF 192.168.198.200 master.walkingcloud.cn 192.168.198.201 node1.walkingcloud.cn 192.168.198.202 node2.walkingcloud.cn 192.168.198.203 node3.walkingcloud.cn EOF echo "----------操作系统环境初始化----------------" swapoff -a #若需要永久关闭swap,需要在/etc/fstab中注释掉swap分区一行 systemctl stop firewalld systemctl disable firewalld sed -i 's/enforcing/disabled/' /etc/selinux/config setenforce 0 echo "net.bridge.bridge-nf-call-iptables = 1 ">>/etc/sysctl.d/k8s.conf echo "net.bridge.bridge-nf-call-ip6tables = 1 ">>/etc/sysctl.d/k8s.conf sysctl --system echo "----------docker-ce以及k8s本地rpm包解压--------------" tar -zxvf docker20.10_k8s1.20_localrpm.tar.gz -C /opt echo "----------docker-ce以及kubelet,kubectl等基础组件安装----------------" cd /opt/docker20.10_k8s1.20_localrpm yum -y localinstall *.rpm systemctl enable docker systemctl start docker docker version systemctl enable kubelet systemctl start kubelet echo "----------docker-ce以及k8s aliyun镜像源配置----------------" wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo 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 yum clean all yum makecache fast
3、主节点进行初始化kubeadm init
apiserver-advertise-address指定为主节点的IP:192.168.198.200
kubeadm init --apiserver-advertise-address=192.168.198.200 --pod-network-cidr=10.244.0.0/16 --i
4、master节点运行上一步的提示命令
根据上一步的提示执行如下命令
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
5、主节点安装网络flannel组件
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml kubectl apply -f kube-flannel.yml
6、节点依次加入集群
其中token是主节点初始化kubeadm init完成时的提示
kubeadm join 192.168.198.200:6443 --token aunv86.6hnhiviy4wowycab \ > --discovery-token-ca-cert-hash sha256:33c612204e0ba85bfaa15ee07f4c30b8da209ab63df2521617c1b509c56a9fc8
7、集群状态检查
加入集群需要一点时间,如果节点状态为notReady请等待几分钟
如果全部为ready就说明加入成功
kubectl get nodes kubectl get pod --all-namespaces -o wide