K3S集群使用自签署证书拉取私有仓库镜像
1. 编写证书拓展配置文件
重点是将CN
和IP.
部分的地址改为私有镜像仓库地址。创建ssl.conf
文件并填写以下内容:
[req]
default_bits = 2048
default_md = sha256
prompt = no
distinguished_name = dn
req_extensions = req_ext[dn]
C = CN
ST = GuangDong
L = GuangZhou
O = hdlh
OU = hdlh
CN = {私有镜像仓库地址(如有端口则带端口)}[req_ext]
subjectAltName = @alt_names[alt_names]
IP.1 = {私有仓库其他地址(如有端口则带端口)}
IP.2 = {私有仓库其他地址(如有端口则带端口)}
IP.n = ...
- 生成自签署证书
# 创建密钥及签名请求(输出key和csr文件)
openssl req -new -SHA256 -newkey rsa:2048 -nodes -keyout registry.key -out registry.csr
# 自签署(输出crt文件)
openssl x509 -req -days 365 -in registry.csr -signkey registry.key -out registry.crt -extfile ssl.conf -extensions req_ext
- 修改k3s配置,信任自签署证书
将上一步输出的crt文件拷贝至k3s集群服务器,并修改/etc/rancher/k3s/registries.yaml配置
configs:"{镜像仓库地址(如有端口需带端口)}":tls:ca_file: "{上文传输的.crt文件路径}"
mirrors:...
- 重启k3s,验证镜像拉取
systemctl restart k3s