离线环境下快速部署k8e

离线环境下快速部署k8e

日常k8s部署需求中,有部分场景需要在网络隔离的环境中运营。这种情况下我们需要提前下载k8e二进制文件和install.sh安装脚本进行部署。

到以下网址下载k8e的二进制文件: https://github.com/xiaods/k8e/releases 当前k8e支持 ARM64X86

文件 说明
k8e k8s轻量级发行版可执行文件,只有这一个文件
k8e-airgap-images.tar.gz k8s标准依赖镜像包,可以制作离线包加载
k8e-hashes.txt k8e二进制文件sha256 对比清单
k8e-images.txt k8s标准依赖镜像清单

需要按照如下操作才能体验:

  • 通过环境变量 INSTALL_K8E_SKIP_DOWNLOAD=true 启动离线安装
# 提前下载好k8e二进制文件并复制到/usr/bin/目录下,文件名必须为k8e,方便脚本识别,这里下载:https://github.com/xiaods/k8e/releases/tag/v1.25.5-rc3%2Bk8e1

[ec2-user@ip-172-31-29-191 ~]$ cp k8e /usr/local/bin/k8e
[ec2-user@ip-172-31-29-191 ~]$ curl -sfL https://getk8e.com/install.sh | K8E_TOKEN=ilovek8e INSTALL_K8E_SKIP_DOWNLOAD=true INSTALL_K8E_EXEC="server --cluster-init --write-kubeconfig-mode 644" sh -

[ec2-user@ip-172-31-29-191 ~]$ source ~/.bashrc && k8e -v

/$$        /$$$$$$           
| $$       /$$__  $$          
| $$   /$$| $$  \ $$  /$$$$$$ 
| $$  /$$/|  $$$$$$/ /$$__  $$
| $$$$$$/  >$$__  $$| $$$$$$$$
| $$_  $$ | $$  \ $$| $$_____/
| $$ \  $$|  $$$$$$/|  $$$$$$$
|__/  \__/ \______/  \_______/
                              
Get Kubernetes cluster the easy way.
k8e version v1.25.2+k8e1


[ec2-user@ip-172-31-29-191 ~]$ wget get https://github.com/xiaods/k8e/releases/download/v1.25.2%2Bk8e1/k8e-airgap-images.tar.gz 
# 离线环境下导入k8e所有依赖镜像库 by nerdctl 
[ec2-user@ip-172-31-29-191 ~]$ /usr/local/bin/nerdctl -n k8s.io load -i k8e-airgap-images.tar.gz

# OR 离线环境下导入k8e所有依赖镜像库 by ctr
[ec2-user@ip-172-31-29-191 ~]$ gunzip -d k8e-airgap-images.tar.gz
[ec2-user@ip-172-31-29-191 ~]$ ctr -n=k8s.io images import k8e-airgap-images.tar

# 验证镜像已经导入kubernetes集群中
[ec2-user@ip-172-31-29-191 ~]$ ctr -n=k8s.io image ls