[toc]
使用 kubeadm 搭建 v1.22.2 版本 Kubernetes 集群
1.环境准备
单master架构图

1.1 实验环境
| 角色 | IP地址 | 主机名 | containerd版本 | 硬件配置 | 系统 | 硬盘 | 内核 | 安装组件 |
|---|---|---|---|---|---|---|---|---|
| master | 172.30.100.101 | k8s-master01 | 1.5.5 | 2C4G | CentOS7.6 | 40g+50g | 3.10.0-957.21.3.el7.x86_64 | kube-apiserver,kube-controller-manager,kube-scheduler,etcd |
| node1 | 172.30.100.102 | k8s-node01 | 1.5.5 | 2C4G | CentOS7.6 | 40g+50g | 3.10.0-957.21.3.el7.x86_64 | kubelet,kube-proxy,docker,etcd |
| node2 | 172.30.100.103 | k8s-node02 | 1.5.5 | 2C4G | CentOS7.6 | 40g+50g | 3.10.0-957.21.3.el7.x86_64 | kubelet,kube-proxy,docker,etcd |
:::tip说明
如无特殊说明,以下所有操作均在master节点
已提前配置好master可以免密登陆node节点
实验开始前已临时开启root远程登陆,实验结束后关闭root远程登陆,采用sudo用户密钥登陆方式
:::
1.2 编辑环境变量文件
[ -d /opt/k8s/script ] || mkdir -p /opt/k8s/script && cd /opt/k8s/script
cat > /opt/k8s/script/env.sh <<EOF
export NODE_IPS=(172.30.100.101 172.30.100.102 172.30.100.103)
export NODE_NAMES=(k8s-master01 k8s-node01 k8s-node02)
export SSH_USER=root
export SSH_PORT=22
export SSH_KEY_FILE=/root/.ssh/id_rsa
export K8S_VERSION=1.22.2
export POD_SUBNET=10.244.0.0/16
export SERVICE_SUBNET=10.96.0.0/12
EOF