一、部署Ubuntu24和k8s环境
Ubuntu的系统可以使用Ubuntu24.04也可以安装成功安装sealos
root@master-1:/home/hzz# cat /etc/issue
Ubuntu 24.04 LTS \n \l
root@master-1:/home/hzz# uname -r
6.8.0-40-generic
这里我们将提供 3 个节点,都是 Ubuntu 24.04 系统,内核版本:6.8.0-40-generic,在每个节点上添加 hosts 信息:
root@master-1:/home/hzz# vim /etc/hosts
# 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
192.168.10.150 master-1
192.168.10.151 master-2
192.168.10.152 node-1
192.168.10.153 node-2
配置静态ip地址
首先我们需要在 master 节点下载 Sealos 命令行工具,我们可以通过运行命令来获取版本列表。为了防止所有的节点服务器ip地址出现变化,导致日后k8s集群重启出现异常,需要先给master-1和node-1、node-2配置好静态ip地址。
root@master-1:/home/hzz# cat /etc/netplan/
cat: /etc/netplan/: Is a directory
root@master-1:/home/hzz# cat /etc/netplan/50-cloud-init.yaml
# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
ethernets:
ens33:
dhcp4: false
addresses: [192.168.10.150/24]
gateway4: 192.168.10.2
nameservers:
addresses: [114.114.114.114, 192.168.1.1]
version: 2
改完之后应用一下
root@master-1:/home/hzz# netplan apply
配置国内阿里云的源
在Ubuntu 24.04 LTS系统中更换为阿里云的软件源,您可以按照以下步骤操作:
第一步:备份原配置文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
第二步:编辑sources.list文件
打开/etc/apt/sources.list文件,并将原有的镜像源替换为阿里云的镜像地址。以下是针对Ubuntu 24.04(代号jammy)的阿里云源示例:
sudo vim /etc/apt/sources.list
然后,将sources.list中的内容替换为类似以下格式的阿里云镜像源:
# 阿里云Debian稳定版源
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
# 更新和安全更新
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
# 额外的软件包
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
# 安全更新
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
第三步:更新索引并验证
完成替换后,保存文件并退出编辑器,然后执行以下命令以更新软件包列表并确保新的源能够正常工作:
sudo apt update
如果没有任何错误提示且更新过程顺利完成,则说明已经成功切换到了阿里云的软件源。后续安装或升级软件时会从阿里云的服务器下载所需的软件包。
Master节点安装sealos软件
由于我们这里是 Ubuntu 系统,还可以使用包管理工具安装:
$ echo "deb [trusted=yes] https://apt.fury.io/labring/ /" | sudo tee /etc/apt/sources.list.d/labring.list
$ sudo apt update
$ sudo apt install sealos
$ sealos version
SealosVersion:
buildDate: "2023-10-30T16:19:05Z"
compiler: gc
gitCommit: f39b2339
gitVersion: 4.3.7
goVersion: go1.20.10
platform: linux/amd64
启用root和允许ssh远程连接
需要在Ubuntu系统里运行root用户登录,所有的节点服务器都需要激活root用户,并且允许root用户ssh远程连接,具体步骤如下:
修改ssh服务的配置运行root用户登录
root@master-1:/home/hzz# vim /etc/ssh/sshd_config
PermitRootLogin yes
刷新ssh服务
root@master-1:/home/hzz# service ssh restart
使用sealos部署k8s集群
下面命令可以自动帮助安装k8s集群,123456是所有节点的root用户的密码,建议设置成相同的密码,下面的命令在master节点上运行
root@master-1:/home/hzz# sudo sealos run registry.cn-shanghai.aliyuncs.com/labring/kubernetes:v1.27.10 registry.cn-shanghai.aliyuncs.com/labring/helm:v3.9.4 registry.cn-shanghai.aliyuncs.com/labring/cilium:v1.13.4 --masters 192.168.10.150 --nodes 192.168.10.152,192.168.10.153 -p'123456'
查看部署k8s后的节点
root@master-1:/home/hzz# kubectl get node
NAME STATUS ROLES AGE VERSION
master-1 Ready control-plane 67s v1.27.10
node-1 Ready <none> 46s v1.27.10
node-2 Ready <none> 42s v1.27.10
查看kube-system命名空间的pod
root@master-1:/home/hzz# kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
cilium-mczfz 1/1 Running 0 12m
cilium-nf6bb 1/1 Running 0 12m
cilium-operator-86666d88cb-mbstk 1/1 Running 0 12m
cilium-zts2z 1/1 Running 0 12m
coredns-5d78c9869d-ph4qn 1/1 Running 0 12m
coredns-5d78c9869d-x5rcm 1/1 Running 0 12m
etcd-master-1 1/1 Running 0 12m
kube-apiserver-master-1 1/1 Running 0 12m
kube-controller-manager-master-1 1/1 Running 0 12m
kube-proxy-p8mkf 1/1 Running 0 12m
kube-proxy-rtltm 1/1 Running 0 12m
kube-proxy-vp77x 1/1 Running 0 12m
kube-scheduler-master-1 1/1 Running 0 12m
kube-sealos-lvscare-node-1 1/1 Running 0 12m
kube-sealos-lvscare-node-2 1/1 Running 0 12m
增加 K8s的master节点
增加 K8s 节点和增加 node 节点,需要在新建的虚拟机里添加所有节点服务器的名字和对应的ip地址。新增的master-2是Ubuntu24.04系统。
步骤还是和上一个master一样,在vim /etc/ssh/sshd_config开启ssh服务,启用root用户,在/etc/hosts中添加个节点ip和名字
增加 master 节点,在第1个master上进行操作,因为它安装了sealos软件。切换到root用户进行。Maser2的root用户密码需要和前面的master节点密码一样。前面创建k8s集群的时候使用过密码123456作为所有节点的密码。
root@master-1:/home/hzz# sealos add --masters 192.168.10.151
查看k8s节点信息
root@master-1:/home/hzz# kubectl get node
NAME STATUS ROLES AGE VERSION
master-1 Ready control-plane 22m v1.27.10
master-2 Ready control-plane 78s v1.27.10
node-1 Ready <none> 21m v1.27.10
node-2 Ready <none> 21m v1.27.10