离线安装k3s(Air Gap Install)
准备离线文件
从https://github.com/k3s-io/k3s/releases
下载以下文件:
* k3s-airgap-images-amd64.tar.zst
* k3s
从https://rancher-mirror.rancher.cn/k3s/k3s-install.sh
下载k3s-install.sh文件。
离线安装(Ubuntu 22.04)
将k3s-airgap-images-amd64.tar.zst文件上传到服务器的
/var/lib/rancher/k3s/agent/images/
目录下1
2sudo mkdir -p /var/lib/rancher/k3s/agent/images/
sudo cp k3s-airgap-images-amd64.tar.zst /var/lib/rancher/k3s/agent/images/将k3s文件上传到服务器的
/usr/local/bin/
目录下1
2sudo cp k3s /usr/local/bin/
sudo chmod +x /usr/local/bin/k3s将k3s-install.sh文件上传到服务器
执行安装脚本
1
2
3
4
5chmod +x k3s-install.sh
sudo INSTALL_K3S_SKIP_DOWNLOAD=true \
INSTALL_K3S_EXEC='server --token=23f0fba79fc84fd5962279908c86d05e --cluster-init' \
./k3s-install.sh
挂载NAS
在阿里云控制台查看具体操作
helm安装(ubuntu 22.04)
1 | cp /etc/rancher/k3s/k3s.yaml ~/.kube/config |
使用Lens访问
在https://k8slens.dev/
下载Lens安装包,支持windows,需要通过XShell的隧道来打通网络。
使用Docker下载镜像再导入到k8s
Docker下载
1 | docker save registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.9.2 -o kube-state-metrics-v2.9.2.tar |
Docker导入
1 | docker image load -i kube-state-metrics-v2.9.2.tar |
k3s导入
1 | k3s ctr image import kube-state-metrics-v2.9.2.tar |
注意:如果镜像的下载策略(imagePullPolicy
)是Always
,则始终会重新下载镜像,所以要使用导入的镜像,需要将镜像下载策略改为IfNotPresent
kube-prometheus
1 | kubectl apply --server-side -f manifests/setup |
安装Docker(Ubuntu)
1 | sudo apt install docker.io |
配置镜像加速(阿里云)
1 | sudo mkdir -p /etc/docker |
rancher(弃用)
Rancher安装后默认开启了一个内置的k3s集群,但是无法增加自建的k8s集群?或许只用k3s才是最简单的方式?毕竟Rancher带来了更多的复杂性和不可控性。
持久化存储(longhorn)
1 | wget https://raw.githubusercontent.com/longhorn/longhorn/v1.5.1/deploy/longhorn.yaml |
部署私有镜像仓库
1 | docker run -d\ |
标记镜像并推送到私有仓库:
1 | docker tag registry:latest 127.0.0.1:5000/registry:v2.7.1 |
用curl查看仓库中的镜像:
1 | # 查看仓库中镜像 |
如果出现异常可以加-v或–verbose参数以详细模式运行curl,方便排查
其他主机使用私有仓库镜像,则需要修改daemon.json文件,并使之生效:
1 | sudo mkdir -p /etc/docker |
TODO: 部署Docker私有镜像服务,使用阿里云NAS存储镜像,然后让k3s使用私有镜像仓库。
https://zhuanlan.zhihu.com/p/78543733
https://blog.csdn.net/kidom1412/article/details/108128859
自建容器镜像仓库虽然存在单点瓶颈,还是比从文件中手动加载要,毕竟可以由k8s自动处理,新加入的节点也可以自动拉取镜像。