Linux离线安装k3s步骤

k3s 是一个实现轻量级和小型化 k8s 集群的软件,支持安装脚本一键安装,有点类似 k8s官方提供的 minikube,但k3s更接近原生的k8s集群,是快速搭建k8s开发学习环境的首选,缺点是只支持Linux环境。

Slogan:

k3s - Kubernetes, but small and simple

由于 k3s 的服务器在国外,我们通过一键安装脚本安装时有时速度会特别慢,或者失败的情况,这时我们可以选择离线安装的方式。

  1. https://github.com/k3s-io/k3s/releases 下载对应架构的 k3s-airgap-images-$ARCH.tar 的以 .tar 为结尾的镜像文件并放到 /var/lib/rancher/k3s/agent/images/目录下,这里以 x64 为例,下同:
wget https://github.com/k3s-io/k3s/releases/download/v1.27.2%2Bk3s1/k3s-airgap-images-amd64.tar
mkdir -p /var/lib/rancher/k3s/agent/images/
sudo mv ./k3s-airgap-images-amd64.tar /var/lib/rancher/k3s/agent/images/
  1. https://github.com/k3s-io/k3s/releases 下载相同版本的k3s可执行文件( k3sk3s-$ARCH )放到 /usr/local/bin 目录下,
wget https://github.com/k3s-io/k3s/releases/download/v1.27.2%2Bk3s1/k3s
file k3s
k3s: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, Go BuildID=37Ad6no39kUYnYHPTmTm/PDaf_deq_x7o2Ts4z4ZB/2F-DQmkwTgBxGiVPpvtG/GkKhUgT2wO4C0kW362zN, stripped

sudo mv k3s /usr/local/bin
sudo chmod +x /usr/local/bin/k3s
  1. https://get.k3s.io/ 获取安装脚本。
curl -SL -o install.sh https://get.k3s.io/
sudo chmod +x install.sh
  1. 添加路由
ip link add dummy0 type dummy
ip link set dummy0 up
ip addr add 169.254.255.254/31 dev dummy0
ip route add default via 169.254.255.255 dev dummy0 metric 1000
  1. 执行安装脚本(设置 INSTALL_K3S_SKIP_DOWNLOAD 环境变量为 true 以执行离线安装)。
INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh
  1. 默认的单节点,如有需要,可以向集群添加更多节点,在其他机器上重复相同的操作,最后一步改成如下命令:
INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://<SERVER_IP>:6443 K3S_TOKEN=<YOUR_TOKEN> ./install.sh

token 存储在 /var/lib/rancher/k3s/server/token 文件中。

  1. 设置国内docker镜像仓库。

k3s默认使用containerd作为容器运行时, k3s可以很方便的设置容器镜像的拉取仓库,新建文件/etc/rancher/k3s/registries.yaml并写入以下内容,然后重启 k3s 服务。

mirrors:
  docker.io:
    endpoint:
      - "https://qbd2mtyh.mirror.aliyuncs.com"
      - "https://mirror.ccs.tencentyun.com"
      - "https://hub-mirror.c.163.com"

重启k3s可以使用命令 systemctl restart k3s.service

$ sudo systemctl restart k3s.service
$ crictl info | grep 'docker.io' -A 10
        "docker.io": {
          "endpoint": [
            "https://qbd2mtyh.mirror.aliyuncs.com",
            "https://mirror.ccs.tencentyun.com",
            "https://hub-mirror.c.163.com"
          ],
          "rewrite": null
        }
      },
      "configs": null,
      "auths": null,

crictl info 输出能看到以上信息说明设置成功。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,针对您的问题,我可以给出以下的步骤供您参考: 1. 准备离线安装所需的文件和工具,包括: - k3s二进制文件 - autok3s二进制文件 - kubectl二进制文件 - Docker镜像文件 - 一个Linux服务器,可以访问互联网和您的本地文件系统 2. 在互联网上下载k3s和autok3s的二进制文件,并将其上传到您的Linux服务器上。 3. 在Linux服务器上安装Docker,并将您需要的Docker镜像文件导入到Docker中。 4. 使用autok3s二进制文件创建一个名为`offline`的k3s集群,命令如下: ``` ./autok3s create --name offline --provider k3s \ --k3s-server-arg "--disable=traefik" \ --k3s-server-arg "--disable-network-policy" \ --k3s-server-arg "--kubelet-arg=eviction-hard=imagefs.available<5%,nodefs.available<5%" \ --k3s-server-arg "--kubelet-arg=eviction-minimum-reclaim=imagefs.available=10%,nodefs.available=10%" \ --k3s-server-arg "--kubelet-arg=eviction-pressure-transition-period=30s" \ --k3s-server-arg "--kubelet-arg=eviction-soft=imagefs.available<15%,nodefs.available<15%" \ --k3s-server-arg "--kubelet-arg=eviction-soft-grace-period=60s" \ --k3s-server-arg "--kubelet-arg=eviction-soft-termination=imagefs.available<5%,nodefs.available<5%" \ --k3s-server-arg "--kubelet-arg=eviction-threshold=imagefs.available<10%,nodefs.available<10%" \ --k3s-server-arg "--kubelet-arg=eviction-max-pod-grace-period=120" ``` 注意,这里使用了一些k3s的参数来避免一些资源消耗,您可以根据您自己的需求进行调整。 5. 等待autok3s命令执行完成,然后使用kubectl命令来验证集群是否成功创建。 至此,您已经完成了autok3s离线安装k3s的过程。希望这些步骤能够对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值