Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

2.4.4. 手动公开 Non-Secure Registry

对于非生产环境的 OpenShift Container Platform,可以公开一个非安全的 registry,而不必通过安全 registry 来公开 registry。这允许您使用一个外部路由到 registry,而无需使用 SSL 证书。

警告

为外部访问非安全的 registry 只适用于非生产环境。

公开一个非安全的 registry:

  1. 公开 registry:

    # oc expose service docker-registry --hostname=<hostname> -n default

    这会创建以下 JSON 文件:

    apiVersion: v1
    kind: Route
    metadata:
      creationTimestamp: null
      labels:
        docker-registry: default
      name: docker-registry
    spec:
      host: registry.example.com
      port:
        targetPort: "5000"
      to:
        kind: Service
        name: docker-registry
    status: {}
  2. 验证路由是否已创建成功:

    # oc get route
    NAME              HOST/PORT                    PATH      SERVICE           LABELS                    INSECURE POLICY   TLS TERMINATION
    docker-registry   registry.example.com            docker-registry   docker-registry=default
  3. 检查 registry 的健康状况:

    $ curl -v http://registry.example.com/healthz

    预期为 HTTP 200/OK 消息。

    公开 registry 后,通过将端口号添加到 OPTIONS 条目来更新您的 /etc/sysconfig/docker 文件。例如:

    OPTIONS='--selinux-enabled --insecure-registry=172.30.0.0/16 --insecure-registry registry.example.com:80'
    重要

    上面的选项应该添加到您要从其登录的客户端上。

    此外,确保 Docker 在客户端上运行。

登录到非安全且公开的 registry 时,请确保在 docker login 命令中指定 registry。例如:

# docker login -e user@company.com \
    -u f83j5h6 \
    -p Ju1PeM47R0B92Lk3AZp-bWJSck2F7aGCiZ66aFGZrs2 \
    <host>