⼀、安装环境
1. 安装说明
本次以⼆进制⽅式安装⾼可⽤ k8s 1.28.0 版本,但在⽣产环境中,
建议使⽤⼩版本⼤于 5 的 Kubernetes 版本,⽐如 1.19.5 以后。
2. 系统环境

3. ⽹络及版本环境

注:宿主机⽹段、Pod ⽹段、Service ⽹段不能重复,服务器 IP 地
址不能设置为 DHCP,需配置为静态 IP。
⼆、前期准备
1. 配置主机映射

2. 配置 yum 源




enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker
ce/linux/centos/gpg
[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://mirrors.aliyun.com/docker
ce/linux/centos/$releasever/source/test
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker
ce/linux/centos/gpg
[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://mirrors.aliyun.com/docker
ce/linux/centos/$releasever/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker
ce/linux/centos/gpg
[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://mirrors.aliyun.com/docker
ce/linux/centos/$releasever/debug-
$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://mirrors.aliyun.com/docker
ce/linux/centos/gpg
[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://mirrors.aliyun.com/docker
ce/linux/centos/$releasever/source/nightly



[root@k8s-master yum.repos.d]# yum makecache #
建⽴yum元数据缓存
Rocky Linux 8 - AppStream
5.2 MB/s | 9.6 MB 00:01 3. 安装必备⼯具
Rocky Linux 8 - BaseOS
2.6 MB/s | 3.9 MB 00:01
Docker CE Stable - x86_64
54 kB/s | 52 kB 00:00
Kubernetes
193 kB/s | 182 kB 00:00
元数据缓存已建⽴。

4. 关闭安全及 swap 分区

5. 同步时间

6. 配置 limit

7. 配置免密登录

8. 安装 k8s ⾼可⽤性 Git 仓库S

9. 升级系统并重启
更新系统但不包括内核

三、配置内核模块
1. 配置 ipvs 模块


The unit files have no installation config
(WantedBy, RequiredBy, Also, Alias
settings in the [Install] section, and
DefaultInstance for template units).

nf_defrag_ipv6 20480 2 nf_conntrack,ip_vs
nf_defrag_ipv4 16384 1 nf_conntrack2. 配置 k8s 内核
libcrc32c 16384 5
nf_conntrack,nf_nat,nf_tables,xfs,ip_vs



nf_conntrack 172032 4
xt_conntrack,nf_nat,ipt_MASQUERADE,ip_vs
nf_defrag_ipv6 20480 2 nf_conntrack,ip_vs
nf_defrag_ipv4 16384 1 nf_conntrack
libcrc32c 16384 5
nf_conntrack,nf_nat,nf_tables,xfs,ip_vs
四、基本组件安装
1. 安装 Containerd

(2)配置 Containerd 所需模块

(3)配置 Containerd 所需内核

(
4
)
Containerd
配置⽂件


(
5
)配置
crictl
客户端连接的运⾏位置

2.
安装
Kubernetes
组件
安装
Kubeadm
、
Kubelet
和
Kubectl

3. Kubernetes
集群初始化
(
1
)Kubeadm 配置⽂件



(
2
)下载组件镜像

(
3
)集群初始化


(
4
)加载环境变量

(
5
)查看组件容器状态
之前采⽤初始化安装⽅式,所有的系统组件均以容器的⽅式运⾏
并且在
kube-system
命名空间内,此时可以查看
Pod
(容器
组)状态


(
6
)初始化失败排查
Ⅰ.
初始化重置
如果初始化失败,重置后再次初始化,命令如下
(没有失败不要执
⾏!!!)

Ⅱ.
多次初始化失败
⾸先排查系统⽇志

Ⅲ.
连接
API
服务器超时
当获取集群状态出现以下信息时:
[root@master ~]
# kubectl get po

The connection to the server
192
.168.15.11:6443
was refused
-
did you specify the right host or
port?
此时可以修改系统环境变量
临时修改:
export
KUBECONFIG
=/etc/kubernetes/admin.conf
⻓期修改:
mkdir
~/.kube
cp
/etc/kubernetes/admin.conf ~/.kube/config
如果修改环境变量后也不⾏时,需要重新进⾏初始化(依次执⾏下
⾯两条命令)
kubeadm reset
-f
; ipvsadm
--clear
;
rm
-rf
~/.kube
kubeadm init
--config
/root/new.yaml
--upload
certs
4. Master
⾼可⽤
其他
master
加⼊集群时,输⼊如下命令
如:需要⾼可⽤时,⼜克隆了
master02
、
03...
等,那么这些节
点都执⾏下⾯的命令
注意:
每个主机的
token
值是不⼀样的,下⾯是我
192.168.15.11 (master)
主机的
token
值,这是集群初始化⽣成
的代码,需要在当时记录下来

5. Token
过期处理
注意:
*
*
以下步骤是上述初始化命令产⽣的
Token
过期了才需要执
⾏以下步骤,如果没有过期不需要执⾏,直接
join
即可。
**
Token
过期后⽣成新的
token

Master
需要⽣成
--certificate-key
:

6. Node
节点配置
Node
节点上主要部署公司的⼀些业务应⽤,⽣产环境中不建议
Master
节点部署系统组件之外的其他
Pod
,测试环境可以允许
Master
节点部署
Pod
以节省系统资源。


(
2
)查看集群状态
master
上查看集群状态(
NotReady
不影响)

7. Calico
组件安装
(
1
)切换
git
分⽀

(
2
)修改
Pod
⽹段

(
3
)查看容器和节点状态)n
ode 加⼊
