第 4 章 开放registry
默认情况下,OpenShift 镜像 registry 在集群安装期间是加密的,它需要使用TLS进行访问。与以前的 Red Hat OpenShift Service on AWS 版本不同,安装时 registry 不会在集群外公开。
4.1. 手动公开默认 registry
通过使用路由可以开放从外部访问 OpenShift 镜像 registry 的通道,用户不再需要从集群内部登录到默认的 OpenShift Container Platform registry。通过外部访问,您可以使用路由地址从集群外部登录 registry,并使用路由主机标记并推送到现有项目。
先决条件
以下的先决条件会被自动执行:
- 部署 Registry Operator。
- 部署 Ingress Operator。
-
您可以使用具有
cluster-admin角色的用户访问集群。
流程
您可以使用 configs.imageregistry.operator.openshift.io 资源中的 defaultRoute 参数来公开路由。
使用 defaultRoute 公开 registry:
将
defaultRoute设为true:$ oc patch configs.imageregistry.operator.openshift.io/cluster --patch '{"spec":{"defaultRoute":true}}' --type=merge获取默认 registry 路由:
$ HOST=$(oc get route default-route -n openshift-image-registry --template='{{ .spec.host }}')获取 Ingress Operator 的证书:
$ oc get secret -n openshift-ingress router-certs-default -o go-template='{{index .data "tls.crt"}}' | base64 -d | sudo tee /etc/pki/ca-trust/source/anchors/${HOST}.crt > /dev/null使用以下命令启用集群的默认证书来信任路由:
$ sudo update-ca-trust enable
使用默认路由通过 podman 登录:
$ sudo podman login -u kubeadmin -p $(oc whoami -t) $HOST