云网牛站
所在位置:首页 > Linux安全 > 在OpenShift/OKD 4.x群集中允许不安全的注册表

在OpenShift/OKD 4.x群集中允许不安全的注册表

2020-04-13 15:05:15作者:魏承戈稿源:云网牛站

对于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操作的注册表:

在OpenShift/OKD 4.x群集中允许不安全的注册表

....

spec:

 additionalTrustedCA:

  name: registry-config

 registrySources:

  insecureRegistries:

  - ocr.example.com

如果有多个行,则可以为不安全的注册表添加更多行,要阻止注册表,请添加以下内容:

在OpenShift/OKD 4.x群集中允许不安全的注册表

....

spec:

 additionalTrustedCA:

  name: registry-config

 registrySources:

  insecureRegistries:

  - ocr.example.com

  blockedRegistries:

  - untrusted.com

机器配置操作员(MCO)在image.config.openshift.io/cluster中监视注册表的任何更改,并在检测到更改时重新启动节点。

新的注册表配置将写入每个节点上的/etc/containers/registries.conf文件中。

 

相关主题

禁止用户在OpenShift/OKD集群中创建项目的方法

精选文章
热门文章