跨VPC网络-工具安装
选择官方推荐的版本组合,尽量避免一些已被报告的问题,让搭建工作轻松些。
Ubuntu
22.04 LTS
2022-04-21
Kubernetes
1.24.4-00
2022-08-18
containerd
1.6.6
2022-06-07
runc
1.1.2
2022-05-12
CNI Plugins
1.1.1
2022-02-24
红帽已决定 2024 年终止 CentOS 项目的更新和发布。受此影响,很多企业和开发者转向 Ubuntu/Debian。此处我们选择最新的 Ubuntu 长期稳定版。
k8s v1.24 起放弃了 docker 作为默认的容器运行时,故我们选择最主流的运行时 containerd。
runc 和 CNI Plugins 是 containerd 的核心组件。
1. 服务器列表
我们用下面三台不同 VPC 网络的服务器来演示搭建k8s集群。
172.19.200.6
43.129.25.161
master
香港
172.22.0.10
43.134.80.11
node1
新加坡
172.26.0.9
43.135.160.117
node2
美国
注意私网IP,不要使用同一个网段,防止冲突
2. kubeadm 集群工具安装(版本号1.24)
2.1 节点之中不能有重复的主机名、MAC 地址或 product_uuid。
# 查询MAC地址,
sudo cat /sys/class/net/eth0/address
sudo cat /sys/class/dmi/id/product_uuid2.2 允许 iptables 检查桥接流量
2.3 在各个服务器开启必需端口
TCP
入站
6443
Kubernetes API server
TCP
入站
2379-2380
etcd server client API
TCP
入站
10250
Kubelet API
TCP
入站
10259
kube-scheduler
TCP
入站
10257
kube-controller-manager
TCP
入站
30000-32767
NodePort Services
UDP
入站
8472
Flannel vxlan
2.4 然后用 netcat 工具检查端口是否启用(以 6443 为例)
修改 hosts 文件
2.5 禁用交换分区
swap这一项全部为 0B,就是禁用状态, 服务器开通时候默认是禁用状态
2.6 安装容器
k8s 支持以下三种容器运行时
containerd
unix:///var/run/containerd/containerd.sock
CRI-O
unix:///var/run/crio/crio.sock
Docker Engine (使用 cri-dockerd)
unix:///var/run/cri-dockerd.sock
此处安装 containerd,推荐官方二进制文件下载安装的方式
2.7 安装 runc
2.8 安装 CNI 插件
2.9 安装 kubeadm、kubelet 和 kubectl
在每台服务器上安装以下的软件包:
kubeadm:用来初始化集群的指令
kubelet:在集群中的每个节点上用来启动 Pod 和容器等
kubectl:用来与集群通信的命令行工具
2.10 配置 cgroup 驱动程序
在部署环节- k8s集群初始化将配置 kubelet cgroup 驱动,所以此处无需配置。
至此,k8s 的集群工具安装完成,
准备进入下一节:部署
ETCD存储, 最好 etcd 集群是单独的机器
Last updated