openEuler 安装k3s

吴书松
吴书松
发布于 2025-09-12 / 16 阅读
0
0

openEuler 安装k3s

前提:服务器需要提前安装docker

1、下载离线包

Github:https://github.com/k3s-io/k3s/releases

三个文件:已上传云盘

将这三个文件上传到服务器中

赋予执行权限

chmod +x k3s
chmod +x install.sh

将k3s复制到/usr/local/bin 中,让其可以全局执行

cp k3s /usr/local/bin/

2、加载k3s镜像

docker load -i k3s-airgap-images-amd64.tar.zst

3、配置install.sh


export INSTALL_K3S_SKIP_DOWNLOAD=true #跳过下载文件
export INSTALL_K3S_BIN_DIR=/usr/local/bin
INSTALL_K3S_EXEC='server --docker --tls-san 192.168.15.171' #使用docker作为runtime,并配置公网IP用于外部来连接

注意存放位置:开头下面一点

4、执行安装

./install.sh

安装成功

5、其他问题

5.1、卸载 K3S

要从 server 节点卸载 K3s,请运行:

# 主节点 /usr/local/bin/k3s-uninstall.sh

要从 agent 节点卸载 K3s,请运行:

# 工作节点 /usr/local/bin/k3s-agent-uninstall.sh

5.2、--tls-san – 在 TLS 证书中添加其他主机名或 IP 作为主题备用名称

# 在公有云环境中使用较多,在K3s注册集群的时候会将一些IP地址自动收藏了
# 以及使用多个K3s Server搭建的K3s集群,并且拥有一个LB负载均衡器,就需要将LB的地址添加

# --tls-san
# 在TLS证书中添加其他主机名或IP作为主机备用名称
# 即在公网环境下允许通过公网IP访问控制、操作远程集群
# 或者部署多个Server并使用LB进行负责,就需要保留公网地
$ curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | \
  INSTALL_K3S_MIRROR=cn \
  INSTALL_K3S_EXEC="--docker --tls-san 1.1.1.1" \
  K3S_KUBECONFIG_OUTPUT=/root/.kube/config \
  INSTALL_K3S_VERSION="v1.21.14+k3s1" \
  K3S_TOKEN="rancher" \
  sh -

# 需要修改相应的 ~/.kube/config 文件的URL地址

# 获取配置
# k3s 会将信任的IP地址存放到k3s-serving的secrets中
$ kubectl get secrets -n kube-system k3s-serving
NAME          TYPE                DATA   AGE
k3s-serving   kubernetes.io/tls   2      117m

$ kubectl get secrets -n kube-system k3s-serving -o yaml
apiVersion: v1
data:
  tls.crt: [......]
  tls.key: [......]
kind: Secret
metadata:
  annotations:
    listener.cattle.io/cn-1.1.1.1: 1.1.1.1
    listener.cattle.io/cn-192.168.10.30: 192.168.10.30
    listener.cattle.io/cn-k8s-master: k8s-master
    listener.cattle.io/cn-kubernetes: kubernetes
    listener.cattle.io/cn-kubernetes.default: kubernetes.default
    listener.cattle.io/cn-kubernetes.default.svc: kubernetes.default.svc
    listener.cattle.io/cn-kubernetes.default.svc.cluster.local: kubernetes.default.svc.cluster.local
    [......]
type: kubernetes.io/tls

# 然后本机复制公网主节点对应的yaml文件即可本地操作了
$ scp root@1.1.1.1:/etc/rancher/k3s/k3s.yaml ~/.kube/config

其他问题参考:04-K3S 安装-K3s Server和Agent配置_k3s agent-CSDN博客

注意,公司电脑访问家里的服务,使用了代理

6、k3s启动和关停

查看状态:

systemctl status k3s

关闭服务

systemctl stop k3s

docker k3s相关的容器也停止了

启动服务

systemctl start k3s


评论