关于 k3s registries.yml 文件的配置注意点(k8s mirrors)
所有的坑都是因为自己学艺不精导致的,本人也不例外,记录本文其实只是一个提醒,是一个注意事项说明。希望在你看到本文之后,你的问题也能得以解决。先来看一下 k3s 部署的配置文件 registries.yml 内容,如下:---mirrors:customreg:endpoint:- "https://ip-to-server:5000"configs:customreg:auth:username:
所有的坑都是因为自己学艺不精导致的,本人也不例外,记录本文其实只是一个提醒,是一个注意事项说明。希望在你看到本文之后,你的问题也能得以解决。
先来看一下 k3s 部署的配置文件 registries.yml
内容,如下:
---
mirrors:
customreg:
endpoint:
- "https://ip-to-server:5000"
configs:
customreg:
auth:
username: xxxxxx # 镜像仓库用户名
password: xxxxxx # 镜像仓库密码
tls:
cert_file: <镜像仓库所用的客户端证书文件路径>
key_file: <镜像仓库所用的客户端密钥文件路径>
ca_file: <镜像仓库所用的ca文件路径>
insecure_skip_verify: true <不开启TLS验证的时候才需要配置它为true>
官方虽然给了这个内容,但是没有做过多的详细说明,所以不能说人家官方有问题。
下面用具体的示例来描述上述配置应该怎么写。
假设你的私服使用 harbor 搭建的,你在 harbor 上创建了一个代理 dockerhub 的仓库,名为 dockerhub_proxy
,此时你本地服务器需要拉取一个镜像的实际地址是 test.shanhy.com/dockerhub_proxy/rancher/rancher:v2.5.11
,则基于这个镜像地址,我们应该将 registries.yml
的配置如下:
---
mirrors:
test.shanhy.com:
endpoint:
- "https://test.shanhy.com"
configs:
test.shanhy.com:
auth:
username: admin
password: harbor12345
tls:
cert_file: /etc/rancher/k3s/tls/_.shanhy.com.crt
key_file: /etc/rancher/k3s/tls/_.shanhy.com_key.key
ca_file: /etc/rancher/k3s/tls/ca_bundle.crt
特别注意事项:
1、mirrors 下的节点名称 test.shanhy.com
必须和你拉取镜像的 host 完全一致,如果你拉取镜像的 host 地址带有端口,这里也需要带端口,不然你镜像地址是 test.shanhy.com:8443/dockerhub_proxy/rancher/rancher:v2.5.11
,那么对应就必须是 test.shanhy.com:8443
。
2、configs 下的节点名称必须和 mirrors 的节点名称完全一致。
其中参数 insecure_skip_verify 没有坑点,所以未列出。如果你不需要证书验证,就设置 insecure_skip_verify 为 true 并去掉关于证书的3行配置即可。
自签的证书,例如 Harbor 的证书是使用 openssl 自签的,则需要将客户端证书配置到 tls 中。
(END)
更多推荐
所有评论(0)