Skip to content

Sealos4快速安装k8s

下载安装包

前往https://github.com/labring/sealos/releases下载安装包

https://github.com/labring/sealos/releases

RPM包:

# amd
https://github.com/labring/sealos/releases/download/v4.3.7/sealos_4.3.7_linux_amd64.rpm

# arm
https://github.com/labring/sealos/releases/download/v4.3.7/sealos_4.3.7_linux_arm64.rpm

tar.gz包

# amd
https://github.com/labring/sealos/releases/download/v4.3.7/sealos_4.3.7_linux_amd64.tar.gz

# arm
https://github.com/labring/sealos/releases/download/v4.3.7/sealos_4.3.7_linux_arm64.tar.gz

安装sealos

RPM

# amd
yum install -y sealos_4.3.7_linux_amd64.rpm
# arm
yum install -y sealos_4.3.7_linux_arm64.rpm

tar.gz包

bash
# arm
mkdir -p /usr/local/sealos/ && tar -xvf sealos_4.3.7_linux_arm64.tar.gz  -C /usr/local/sealos/ && chmod +x /usr/local/sealos/sealos && ln -s /usr/local/sealos/sealos /usr/local/bin/sealos && which sealos
# amd
mkdir -p /usr/local/sealos/ && tar -xvf sealos_4.3.7_linux_amd64.tar.gz -C /usr/local/sealos/ && chmod +x /usr/local/sealos/sealos && ln -s /usr/local/sealos/sealos /usr/local/bin/sealos && which sealos

注意:sealos不是守护进程,不需要启动

设置所有节点 hostname 主机名

hostnamectl set-hostname xxx

主机名不能重复,集群装好后会以主机名作为节点名称

注意:主机名不能重复,否则会报:[EROR] [check.go:63] duplicate hostnames is not allowed

各节点配置 /etc/hosts

cat >> /etc/hosts << EOF
192.168.x.x master1
192.168.x.x master2
192.168.x.x node1
192.168.x.x node2
EOF

测试是否ssh能够通过

ssh root@192.168.x.x

配置sealos自动补全

bash
# 临时生效sealos自动补全
source <(sealos completion bash)

## 只在当前用户生效sealos自动补全
echo 'source <(sealos completion bash)' >>~/.bashrc

## 全局生效sealos自动补全
echo 'source <(sealos completion bash)' >>/etc/profile.d/sealos.sh && source /etc/profile

# 生成sealos自动补全联想信息
sealos completion bash >/etc/bash_completion.d/sealos

安装k8s

在线安装

bash
# 安装k8s
## 集群安装一个集群
## 只支持IP地址
sealos run labring/kubernetes:v1.25.0 labring/helm:v3.8.2 labring/calico:v3.24.1 labring/ingress-nginx:4.1.0 \
    --masters 192.168.x.x \
    --nodes 192.168.x.x,192.168.x.x \
    -p [your-ssh-passwd]

# 检查k8s集群是否就绪
kubectl get nodes

## --single 单机安装
sealos run labring/kubernetes:v1.25.0 \   
	labring/helm:v3.8.2 \ 
	labring/ingress-nginx:4.1.0 \  
	labring/calico:v3.24.1 --single

-p [your-ssh-passwd]指定密码,免密可忽略

相关的镜像可以下载最新的版本,离线环境可以在其他地方下载后带过去,sealos4自带镜像管理,所以无需安装Docker即可导入镜像

离线安装

bash
# 下载k8s镜像
sealos pull labring/kubernetes:v1.25.0

# 将k8s镜像打包--用于导出到其他离线机器
sealos save -o kubernetes.tar labring/kubernetes:v1.25.0

# 在其他集群导入k8s镜像包
sealos load -i kubernetes.tar

# 查看集群镜像是否导入成功
sealos images

# 安装k8s
## 集群安装一个集群
## 只支持IP地址
sealos run labring/kubernetes:v1.25.0 labring/helm:v3.8.2 labring/calico:v3.24.1 labring/ingress-nginx:4.1.0 \
    --masters 192.168.x.x \
    --nodes 192.168.x.x,192.168.x.x \
    -p [your-ssh-passwd]

## --single 单机安装
sealos run labring/kubernetes:v1.25.0 \   
	labring/helm:v3.8.2 \ 
	labring/ingress-nginx:4.1.0 \  
	labring/calico:v3.24.1 --single

查看集群健康情况

kubectl get cs

域名解析检查

# 查看给dns分配的svc地址,比如说是10.10.0.10
kubectl get svc -n kube-system
# 找一个域名尝试解析
dig -t a www.baidu.com @10.10.0.10

其他sealos命令见,sealos help

已执行的集群上可以通过kubeadm config images list查看组件版本列表

增加/删除node

# 增加master
sealos add --masters 192.168.x.x,192.168.x.x

# 增加node
sealos add --nodes 192.168.x.x,192.168.x.x

# 删除 master 节点:
sealos delete --masters 192.168.x.x,192.168.x.x

# 删除node
sealos delete --nodes 192.168.x.x

# 查看机器是否退出
kubectl get nodes -A

删除整个集群

# 删除整个集群
sealos reset

pull拉取镜像

# 拉取镜像
sealos pull 镜像名

login登录到dockerhub

sealos自带私有仓库 https://sealos.io/zh-Hans/docs/design/private-registry

# 登录到docker.io
sealos login docker.io

# 按照提示输入账号和密码

push推送镜像

# sealos push 镜像名:tag
sealos push docker.io/fanux/ingress-nginx:v1.2.0