Kubernetes(K8s)是一个强大的容器编排系统,可以自动部署、扩展和管理容器化应用程序。以下是搭建Kubernetes集群的详细步骤:
准备环境:
服务器要求:建议最小硬件配置为2核CPU、2G内存、20G硬盘。服务器最好可以访问外网,因为会有从网上拉取镜像的需求。如果服务器不能上网,需要提前下载对应镜像并导入节点。
软件环境:确保服务器上安装了CentOS 7.x_x64操作系统、Docker CE v20以及K8s v1.22.3。
yum install -y kubelet kubeadm kubectl
服务器规划:进行主机名解析,编辑三台服务器的/etc/hosts文件,添加相应的IP和主机名。
关闭防火墙:通过执行systemctl stop firewalld和systemctl disable firewalld命令来关闭防火墙。
关闭selinux:通过执行setenforce 0命令临时关闭selinux。
安装依赖包:在所有节点上安装conntrack、ntpdate、ntp、ipvsadm、ipset、jq、iptables、curl、sysstat、libseccomp、wget、vim、net-tools和git等依赖包。
时间同步:启动chronyd服务,执行systemctl start chronyd命令。
修改内核参数:在Master和node上修改内核参数,使流过网桥的流量也进入iptables/netfilter框架中。执行以下命令:
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
安装组件:在Master和node上安装Kubernetes组件,包括kubeadm、kubelet和kubectl等。
使用kubeadm初始化Master节点:在Master节点上执行以下命令来初始化Kubernetes集群:
kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=192.168.73.120 --kubernetes-version=v1.22.3
将node节点添加到集群中:在node节点上执行以下命令来加入集群:
kubeadm join --token <token> --discovery-token-ca-cert-hash sha256:<hash> 192.168.73.120:6443