离线安装
1.安装
url地址
Releases · k3s-io/k3s · GitHub
下载文件名
k3s-airgap-images-amd64.tar (离线安装镜像包)
K3s (二进制文件 )
install.sh (执行脚本,在source code压缩包里面)
执行步骤:
注意:使用 INSTALL_K3S_SKIP_DOWNLOAD
环境变量运行 K3s 脚本时,K3s 将使用脚本的本地版本和二进制文件
#拷贝镜像包(每个节点)
sudo mkdir -p /var/lib/rancher/k3s/agent/images/
sudo cp ./k3s-airgap-images-$ARCH.tar /var/lib/rancher/k3s/agent/images/
#拷贝K3s二进制文件(每个节点)
sudo cp ./k3s /usr/local/bin/
#单节点启动service
INSTALL_K3S_SKIP_DOWNLOAD=true ./install.sh
#启动agent
INSTALL_K3S_SKIP_DOWNLOAD=true K3S_URL=https://<SERVER_IP>:6443 K3S_TOKEN=<YOUR_TOKEN> ./install.sh
#Server 的 Token 通常位于 /var/lib/rancher/k3s/server/token。
注意: Kubernetes 1.20 之后 ,k3s使用containerd代替docker下载镜像,使用k3s ctr --help查看使用命令。
2.重启服务
systemctl daemon-reload
systemctl restart k3s
containerd 配置
1.containerd加速器配置和私仓
cat >> /etc/rancher/k3s/registries.yaml <<EOF
mirrors:
docker.io:
endpoint:
- "https://xxxxx.mirror.aliyuncs.com"
- "http://hub-mirror.c.163.com"
- "https://docker.mirrors.ustc.edu.cn"
- "https://registry.docker-cn.com"
mirrors:
"docker.io":
endpoint:
- "https://fogjl973.mirror.aliyuncs.com"
- "https://registry-1.docker.io"
mirrors:
"10.169.6.71:8082":
endpoint:
- "http://10.169.6.71:8082"
EOF
Containerd 目前没有直接配置镜像加速的功能,但 containerd 中可以修改 docker.io
对应的 endpoint,所以可以通过修改 endpoint 来实现镜像加速下载。因为 endpoint 是轮训访问,所以可以给 docker.io
配置多个仓库地址来实现 加速地址+默认仓库地址
。
Containerd 配置文件末尾追加了如下配置 :
root@ubuntu:~# cat /var/lib/rancher/k3s/agent/etc/containerd/config.toml
[plugins.cri.registry.mirrors]
[plugins.cri.registry.mirrors."docker.io"]
endpoint = ["https://7bezldxe.mirror.aliyuncs.com", "https://registry-1.docker.io"]
2.containerd代理配置
-
创建或编辑文件
touch /etc/systemd/system/containerd.service.d/http-proxy.conf
-
配置代理
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7090"
Environment="HTTPS_PROXY=http://127.0.0.1:7090"
Environment="NO_PROXY=localhost"
-
环境变量配置代理
export HTTP_PROXY=http://127.0.0.1:7090
export HTTPS_PROXY=http://127.0.0.1:7090
export NO_PROXY=localhost
3.containerd常见命令
-
下载镜像
k3s ctr images pull xxx
4.containerd导入镜像,docker导出镜像
-
docker导出镜像
docker save k8s.gcr.io/pause -o pause.tar
-
containerd导入镜像
k3s ctr -n <namespace> images import pause.tar
5.k3s 进入pod
k3s ctr t exec --exec-id $RANDOM -t c3557d012242b97724663417d967fa88e86a05d22c7e9b81004705ce3d5b0b15 /bin/bash