二进制部署 K8s 集群 1.23.1 版本
1 环境介绍
虽然 kubeadm, kops, kubespray 以及 rke, kubesphere 等工具可以快速部署 K8s 集群,但是依然会有很多人热衷与使用二进制部署 K8s 集群。
二进制部署可以加深对 K8s 各组件的理解,可以灵活地将各个组件部署到不同的机器,以满足自身的要求。还可以生成一个超长时间自签证书,比如 99 年,免去忘记更新证书过期带来的生产事故。
本文基于当前(2021-12-31)最新版本 K8s 1.23.1,总体和网上的 1.20,1.22 等版本的部署方式没有太大的区别,主要参考了韩先超老师的 K8s 1.20 版本的二进制部署教程。
另外,我的环境是使用 m1 芯片的 macbook 运行的 ubuntu 20.04 TLS
虚拟机搭建,因此本次环境搭建 K8s 是基于 arm64 架构的。
1.0 书写约定
- 命令行输入,均以
➜
符号表示 - 注释使用
#
或//
表示 - 执行命令输出结果,以空行分隔
1.1 规划
角色 | 主机名 | IP | 组件 |
---|---|---|---|
master node | ubuntu-k8s-master-01 | 10.211.55.4 | etcd, kube-apiserver, kube-controller-manager, kube-scheduler, kube-proxy, kubelet |
worker node | ubuntu-k8s-worker-01 | 10.211.55.5 | kubelet, kube-proxy |
1.2 环境配置
设置主机名
# 10.211.55.4 主机 ➜ sudo hostnamectl set-hostname ubuntu-k8s-master-01 # 10.211.55.5 主机 ➜ sudo hostnamectl set-hostname ubuntu-k8s-worker-01