目录

使用sealos创建k8s集群

sealos是什么,功能过多,这里就不介绍了,本篇仅介绍通过sealos部署一套kubeadmin的kubernetes。

环境准备

提前准备3台空虚拟机,同步操作下初始化环境

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 关闭firewalld
...略
# 关闭SElinux
...略
# 配置yum源
...略
# 下载基础工具
yum install -y wget vim
# 下载sealos二进制文件
wget https://github.com/labring/sealos/releases/download/v4.1.3/sealos_4.1.3_linux_amd64.tar.gz    && tar zxvf sealos_4.1.3_linux_amd64.tar.gz sealos && chmod +x sealos && mv sealos /usr/bin
# 查看安装是否成功
sealos -v

配置主机名

1
2
3
4
5
# 不配置将安装集群失败
# 根据主机不同角色进行设置
hostnamectl set-hostname master
hostnamectl set-hostname node1
hostnamectl set-hostname node2

master准备ssh密钥

1
ssh-keygen

配置k8s Clusterfile

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
apiVersion: apps.sealos.io/v1beta1
kind: Cluster
metadata:
  name: default
spec:
  hosts:
    - ips:
        - 10.20.6.246:22
      roles:
        - master
        - amd64
    - ips:
        - 10.20.6.247:22
        - 10.20.6.248:22
      roles:
        - node
        - amd64
  image:
    - labring/kubernetes:v1.25.0
    - labring/helm:v3.8.2
    - labring/calico:v3.24.1
  ssh:
    passwd: password
    pk: /root/.ssh/id_rsa
    port: 22
    user: root

部署集群

1
sealos apply -f Clusterfile

完成后查看集群是否安装成功

1
2
3
4
5
[root@master ~]# kubectl get node
NAME     STATUS   ROLES           AGE   VERSION
master   Ready    control-plane   1m    v1.25.0
node1    Ready    <none>          1m    v1.25.0
node2    Ready    <none>          1m    v1.25.0

2023/7/19加更:

sealos部署集群时,会装一个docker registry,访问方式为masterIP:5000或者sealos.hub:5000(需要写本地hosts,默认三台节点会写)来访问,该registry带有认证,默认账户密码为: admin/passw0rd

默认设置NodePort端口范围在30000多,不会端口冲突