k3s集群+rancher离线环境使用思考

部署K3s集群在有访问外网权限的情况下是非常简单的,然而实际情况中绝大多数依然是离线环境,所以就需要思考如何在离线环境中正常使用k3s+rancher集群。

结论:K3s+rancher离线环境可以正常使用

准备工作:
1.k3s离线安装包(放入/var/lib/rancher/k3s/agent/images路径中)2.k3s对应安装包版本的二进制文件(/usr/local/bin路径中)3.install.sh安装脚本,需要和k3s在同一路径执行。

安装:
同样分为2种方式部署:1.单节点模式2.集群模式。执行脚本需要稍微修改下
server-token获取地址依旧是在/var/lib/rancher/k3s/server/token下,离线脚本就是多了一个INSTALL_K3S_SKIP_DOWNLOAD的参数。
INSTALL_K3S_SKIP_DOWNLOAD=true K3S_TOKEN=server-token INSTALL_K3S_EXEC='server --datastore-endpoint=mysql://user:password@tcp(ip:port)/databasesname' ./install.sh
k3s加入rancher管理就不再复述,还是通过rancher界面导入集群即可。

使用
离线环境下使用是由于没有网络是较为麻烦的,需要做好几个前提条件:1.必要的私有镜像仓库2.必要的公共镜像(需要先在可上网的服务器上上传到私有仓库)3.私有仓库配置

注意点
如果私有仓库是普通的http模式,需要自行修改镜像配置文件,实例如下:

mirrors:
  docker.io:
    endpoint:
      - "http://harbor.com"
configs:
  "harbor.com":
    auth:
      username: admin
      password: XXX

经过多次实验,docker.io的代理加速器是必须要域名的,可以配置一个假域名,然后修改主机的hosts来进行访问。配置就是做了1点功能,代替docker.io访问网络私有仓库harbor.com,所以的共有镜像以及项目镜像都是通过私有仓库来完成。

由此看来k3s的离线使用最主要还是通过私有仓库来解决网络访问问题。

posted @ 2021-12-29 15:36  周知非  阅读(675)  评论(0编辑  收藏  举报
返回顶点