对于OpenShift/OKD集群4.x上的任何部署,要成功,都必须有容器映像的源。OpenShift允许您将私人注册表用作图像源,诸如Docker Hub、Quay、gcr之类的公共注册表以及集成的OpenShift注册表始终运行良好(参考:在Ubuntu 18.04/16.04上安装和配置OpenShift Origin(OKD)的方法)。但是,当您想使用没有有效SSL证书或HTTP的私有注册表时,就会出现问题。 您可以通过两种方式在OpenShift/OKD群集上使用私有不安全注册表。 1.如果使用自签名SSL证书–导入证书OpenShift CA信任。 2.将注册表添加到不安全的注册表列表中–Machine Config Operator(MCO)将推送更新到群集中的所有节点,然后重新启动它们。
添加其他信任库以访问映像注册表 假设您的注册表URL是ocr.example.com,在默认的HTTPS端口(443)上,证书文件是ocr.example.com.crt。 这是您将配置在映像导入期间应信任的其他CA的方式,pod image pull并生成。请注意,CA必须为PEM编码格式。 语法: $ oc create configmap registry-config \ --from-file=<external_registry_address>=ca.crt \ -n openshift-config 例子: $ oc create configmap registry-config \ --from-file=ocr.example.com=ocr.example.com.crt \ -n openshift-config 然后编辑映像注册表群集配置并指定AdditionalTrustedCA: $ oc edit image.config.openshift.io cluster spec: additionalTrustedCA: name: registry-config
将不安全的图像注册表列入白名单 您还可以通过编辑image.config.openshift.io/cluster自定义资源(CR)来添加不安全的注册表,这对于仅支持HTTP连接或具有无效证书的注册表很常见。 编辑image.config.openshift.io/cluster自定义资源: $ oc edit image.config.openshift.io/cluster 在allowedRegistries部分下指定允许图像pull和push操作的注册表:
.... spec: additionalTrustedCA: name: registry-config registrySources: insecureRegistries: - ocr.example.com 如果有多个行,则可以为不安全的注册表添加更多行,要阻止注册表,请添加以下内容:
.... spec: additionalTrustedCA: name: registry-config registrySources: insecureRegistries: - ocr.example.com blockedRegistries: - untrusted.com 机器配置操作员(MCO)在image.config.openshift.io/cluster中监视注册表的任何更改,并在检测到更改时重新启动节点。 新的注册表配置将写入每个节点上的/etc/containers/registries.conf文件中。
相关主题 |