wget https://rancher-mirror.rancher.cn/k3s/k3s-install.sh
https://github.com/k3s-io/k3s/releases/
wget https://github.com/k3s-io/k3s/releases/download/v1.29.9%2Bk3s1/k3s
wget https://github.com/k3s-io/k3s/releases/download/v1.29.9%2Bk3s1/k3s-airgap-images-amd64.tar.gz
docker load -i k3s-airgap-images-amd64.tar.gz
chmod +x k3s
cp -a k3s /usr/local/bin/
chmod +x k3s-install.sh
INSTALL_K3S_SKIP_DOWNLOAD=true ./k3s-install.sh --docker
第2种
export INSTALL_K3S_VERSION=v1.27.4-k3s1
export INSTALL_K3S_MIRROR=cn
curl -sfL https://rancher-mirror.rancher.cn/k3s/k3s-install.sh | \
INSTALL_K3S_MIRROR=cn \
sh -s - --docker \
--system-default-registry "registry.cn-hangzhou.aliyuncs.com"
https://forums.rancher.cn/t/k3s/1416/3
kubectl describe pods coredns-7c855cf8c6-x6d77 -n kube-system
K3s 配置 Mirror
以上这些步骤只是为了加速 K3s 的安装和启动。启动 K3s 后你可能会在 K3s 上部署自己的业务(例如 nginx),而这些镜像默认也是从 DockerHub 拉取。如果使用 docker 容器运行时,你可能会在 docker 上配置 mirror 来加速镜像的拉取。
K3s 默认使用的 containerd 容器运行时。而且,可以通过 K3s 的参数来设置 containerd 的 mirror,设置方式如下:
cat >> /etc/rancher/k3s/registries.yaml <<EOF
mirrors:
"docker.io":
endpoint:
- "https://docker.1panel.dev/" # 可根据需求替换 mirror 站点
- "https://registry-1.docker.io"
EOF
systemctl restart k3s
经过以上配置后,通过 K3s 拉取的镜像如果在配置的 mirror 站点中存在,那么将会从该站点拉取镜像。如果不存在,将会从默认的 docker.io 2 中拉取镜像。
如果你想确认 containerd 的 mirror 是否生效,你可以使用 crictl info 检查:
# crictl info
"registry": {
"configPath": "",
"mirrors": {
"docker.io": {
"endpoint": [
"https://docker.mirrors.ustc.edu.cn",
"https://registry-1.docker.io"
],
"rewrite": null
}
},