基于 Containerd 为 Kubernetes 提供了容器运行时,部署K8S 1.31 集群
一、主机准备
1.1 K8S概述
Kubernetes 也称为 K8s,是一种用于自动部署、扩展和管理容器化应用程序的开源系统。生产级 Kubernetes 集群需要规划和准备。如果您的 Kubernetes 集群要运行关键工作负载,则必须将其配置为具有弹性。
Kubernetes 集群中有两类节点:
- Master Node:负责处理 Kubernetes 集群的 pod、复制控制器、服务、节点和其他组件的控制 API 调用。
- Worker Node:为容器提供运行时环境。一组容器 pod 可以跨越多个节点。在您的主节点/工作节点中。
1.2 U24概述
2022 年 4 月发布的 Ubuntu 22.04 LTS 相较于 20.04 LTS 带来了诸多引人注目的创新。时隔两年,Ubuntu 24.04 LTS 的亮相自然也不会让人失望,它将继承并超越前代的辉煌。
1.3 硬件说明
序号 | 主机名 | 角色 | 系统 | IP | CPU | 内存 | 硬盘 |
---|---|---|---|---|---|---|---|
1 | master200 | Master Node | Ubuntu 24.04 | 192.168.31.200 | 8C | 16G | 256G |
2 | worker203 | Worker Node | Ubuntu 24.04 | 192.168.31.203 | 12C | 16G | 1024G |
2 | worker204 | Worker Node | Ubuntu 24.04 | 192.168.31.204 | 12C | 16 | 1024G |
1.4 主机配置
1.4.1 安装基础依赖
$ sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates vim curl gpg
1.4.2 配置主机名
由于本次使用3台主机完成K8S集群部署,其中200服务器为master节点,节点名为master200;
其中203、204两台服务器为worker节点,节点名分别为worker203、worker204
# master节点 192.168.31.200
$ sudo hostnamectl set-hostname master200
# worker节点1 192.168.31.203
$ sudo hostnamectl set-hostname worker203
# worker节点2 192.168.31.204
$ sudo hostnamectl set-hostname worker204
1.4.3 配置IP地址
查看master节点IP配置接口为:enp6s0
$ ip addr
修改master节点的IP地址为 :192.168.31.200/24
# 进入IP配置目录
$ cd /etc/netplan
# 查看IP配置文件
$ ll
# 编辑IP配置文件
$ sudo vim 50-cloud-init.yaml
# 更新IP配置文件
$ sudo netplan apply
# 检查IP更新结果
$ ip addr
$ ping dianjiu.xyz
master节点配置文件如下
# This is the network config written by 'dianjiu.xyz'
network:
ethernets:
enp6s0:
dhcp4: no
addresses: [192.168.31.200/24]
routes:
- to: default
via: 192.168.31.1
nameservers:
addresses: [8.8.8.8,6.6.6.6]
version: 2
同理 worker 节点参考上述方法,进行修改即可
1.4.4 配置host文件
将以下行添加到每个实例上的 /etc/hosts 文件中。
127.0.0.1 localhost
# k8s config
192.168.31.200 master200
192.168.31.203 worker203
192.168.31.204 worker204
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
修改host文件并使之生效
$ sudo vim /etc/hosts
$ sudo service network-manager restart
1.4.5 配置时间同步
查看时间
$ sudo date
设置时区
$ sudo timedatectl set-timezone Asia/Shanghai
使用ntpdate命令同步时间
$ sudo apt install ntpdate
$ sudo ntpdate time1.aliyun.com
通过计划任务实现时间同步
$ crontab -e
0 0 * * * ntpdate time1.aliyun.com
1.4.6 禁用swap分区
在每个实例上运行以下命令来禁用swap分区
$ sudo swapoff -a && sudo sed -i '/swap/s/^/#/' /etc/fstab
# 或者
$ sudo vim /etc/fstab
#/swap.img none swap sw 0 0
#在上一行中行首位置添加#
# 或者
$