使用操作员在OpenShift上安装Project Quay Registry


您可以通过以下链接以PDF格式下载本文来支持我们。

    将指南下载为PDF








关门


Project Quay是一个可扩展的容器映像注册表,使您能够构建,组织,分发和部署容器。借助Quay,您可以创建映像存储库,执行映像漏洞扫描和强大的访问控制。码头工人

如何在CentOS / RHEL / Ubuntu上设置Red Hat Quay注册表

在本指南中,我们将回顾如何使用Operator在OpenShift Container Platform上部署Quay容器注册表。 运营商中心如果您没有正在运行的OpenShift / OKD集群,并且想尝试本文,请查看下面的指南。

使用CodeReady容器设置本地OpenShift 4.x群集

如何在Ubuntu上设置OpenShift Origin(OKD)3.11

如何使用Minishift运行本地Openshift集群

Project Quay由几个核心组件组成。

  • 资料库:由Red Hat Quay用作其主要元数据存储(不适用于图像存储)。
  • Redis(密钥,值存储):存储实时构建器日志和Red Hat Quay教程。
  • 码头(集装箱登记处):将码头容器作为服务运行,由容器中的几个组件组成。
  • 克莱尔:扫描容器映像中的漏洞并提出修复建议。

步骤1:为Project Quay创建新项目

首先,为Quay注册表创建一个新项目。

$ oc new-project quay-enterprise
Now using project "quay-enterprise" on server "https://api.crc.testing:6443".
.....

您也可以从OpenShift Web控制台创建项目。

单击创建按钮,并确认该项目已创建并正在运行。

使用操作员在OpenShift上安装Project Quay Registry

步骤2:安装Red Hat Quay设置操作器

Red Hat Quay设置操作员提供了一种简单的方法来部署和管理Red Hat Quay集群。

登录到OpenShift控制台,然后选择 经营者OperatorHub

使用操作员在OpenShift上安装Project Quay Registry

选择Red Hat Quay运算符。

使用操作员在OpenShift上安装Project Quay Registry

选择安装,然后将显示操作员订阅页面。

使用操作员在OpenShift上安装Project Quay Registry

选择以下内容,然后选择“订阅”:

  • 安装模式:选择要安装到的特定名称空间
  • 更新频道:选择更新频道(可能只有一个)
  • 批准策略:选择批准自动或手动更新

使用操作员在OpenShift上安装Project Quay Registry

步骤3:部署Red Hat Quay生态系统

某些凭据是必需的 访问Quay.io注册表使用以下详细信息创建一个新文件。

$ vim docker_quay.json 
{
  "auths":{
    "quay.io": {
        "auth": "cmVkaGF0K3F1YXk6TzgxV1NIUlNKUjE0VUFaQks1NEdRSEpTMFAxVjRDTFdBSlYxWDJDNFNEN0tPNTlDUTlOM1JFMTI2MTJYVTFIUg==",
        "email": ""
    }
  }
}

然后在将要使用的OpenShift上创建一个秘密。

oc project quay-enterprise
oc create secret generic redhat-pull-secret --from-file=".dockerconfigjson=docker_quay.json" --type='kubernetes.io/dockerconfigjson'

创建Quay超级用户凭据机密:

oc create secret generic quay-admin 
--from-literal=superuser-username=quayadmin 
--from-literal=superuser-password=StrongAdminPassword 
[email protected]

其中:

  • 码头管理员 是Quay管理员用户名
  • StrongAdminPassword 是管理员用户的密码
  • [email protected] 是要创建的管理员用户的电子邮件

创建码头配置机密

Quay Enterprise的专用部署用于管理Quay的配置。对配置界面的访问是安全的,并且需要进行身份验证才能访问。

oc create secret generic quay-config --from-literal=config-app-password=StrongPassword

用所需的密码替换StrongPassword。

创建数据库凭证密码– PostgreSQL

oc create secret generic postgres-creds 
--from-literal=database-username=quay 
--from-literal=database-password=StrongUserPassword 
--from-literal=database-root-password=StrongRootPassword 
--from-literal=database-name=quay

这些是用于访问数据库服务器的凭据:

  • 码头 –数据库和数据库用户名
  • StrongUserPassword –码头数据库用户密码
  • StrongRootPassword –根用户数据库密码

创建Redis密码凭证

缺省情况下,操作员托管的Redis实例不带密码部署。可以通过在密钥password中创建包含密码的密钥来指定密码。

oc create secret generic redis-password  --from-literal=password=StrongRedisPassword

创建码头生态系统部署清单

我的Red Hat Quay生态系统配置文件如下所示

apiVersion: redhatcop.redhat.io/v1alpha1
kind: QuayEcosystem
metadata:
  name: quay-ecosystem
spec:
  clair:
    enabled: true
    imagePullSecretName: redhat-pull-secret
    updateInterval: "60m"
  quay:
    imagePullSecretName: redhat-pull-secret
    superuserCredentialsSecretName: quay-admin
    configSecretName: quay-config
    deploymentStrategy: RollingUpdate
    skipSetup: false
    redis:
      credentialsSecretName: redis-password
    database:
      volumeSize: 10Gi
      credentialsSecretName: postgres-creds
    registryStorage:
      persistentVolumeSize: 20Gi
      persistentVolumeAccessModes:
        - ReadWriteMany
    livenessProbe:
      initialDelaySeconds: 120
      httpGet:
        path: /health/instance
        port: 8443
        scheme: HTTPS
    readinessProbe:
      initialDelaySeconds: 10
      httpGet:
        path: /health/instance
        port: 8443
        scheme: HTTPS

修改它以适合您的用例。完成后,应用配置:

oc apply -f quay-ecosystem.yaml

使用自定义SSL证书

如果要对Quay使用自定义SSL证书,则需要使用密钥和证书创建一个秘密:

oc create secret generic custom-quay-ssl 
   --from-file=ssl.key=example.key 
   --from-file=ssl.cert=example.crt

然后修改您的Ecosystem文件以使用自定义证书密钥:

quay:
    imagePullSecretName: redhat-pull-secret
    sslCertificatesSecretName: custom-quay-ssl
.......

等待几分钟,然后确认部署:

$ oc get deployments
NAME                              READY   UP-TO-DATE   AVAILABLE   AGE
quay-ecosystem-clair              1/1     1            1           2m35s
quay-ecosystem-clair-postgresql   1/1     1            1           2m57s
quay-ecosystem-quay               1/1     1            1           3m45s
quay-ecosystem-quay-postgresql    1/1     1            1           5m8s
quay-ecosystem-redis              1/1     1            1           5m57s
quay-operator                     1/1     1            1           70m

$ oc get svc
NAME                              TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
quay-ecosystem-clair              ClusterIP   172.30.66.1             6060/TCP,6061/TCP   4m
quay-ecosystem-clair-postgresql   ClusterIP   172.30.10.126           5432/TCP            3m58s
quay-ecosystem-quay               ClusterIP   172.30.47.147           443/TCP             5m38s
quay-ecosystem-quay-postgresql    ClusterIP   172.30.196.61           5432/TCP            6m15s
quay-ecosystem-redis              ClusterIP   172.30.48.112           6379/TCP            6m58s
quay-operator-metrics             ClusterIP   172.30.81.233           8383/TCP,8686/TCP   70m

在项目中运行Pod:

$ oc get pods
NAME                                              READY   STATUS    RESTARTS   AGE
quay-ecosystem-clair-84b4d77654-cjwcr             1/1     Running   0          2m57s
quay-ecosystem-clair-postgresql-7c47b5955-qbc4s   1/1     Running   0          3m23s
quay-ecosystem-quay-66584ccbdb-8szts              1/1     Running   0          4m8s
quay-ecosystem-quay-postgresql-74bf8db7f8-vnrx9   1/1     Running   0          5m34s
quay-ecosystem-redis-7dcd5c58d6-p7xkn             1/1     Running   0          6m23s
quay-operator-764c99dcdb-k44cq                    1/1     Running   0          70m

步骤4:访问码头仪表板

获取已部署码头的路线URL:

$ oc get route
quay-ecosystem-quay   quay-ecosystem-quay-quay-enterprise.apps.example.com         quay-ecosystem-quay   8443   passthrough/Redirect   None

在有权访问群集域的计算机上打开URL。

使用操作员在OpenShift上安装Project Quay Registry

使用您配置的凭据登录Quay注册表。

使用操作员在OpenShift上安装Project Quay Registry

有了它,您现在可以使用Operators在OpenShift上运行Quay注册表了。请参阅以下文档以获取更多帮助。

有关OpenShift /注册表的更多信息:

使用Cephfs的Kubernetes的Ceph永久存储

使用Ceph RBD的Kubernetes持久存储

在CentOS / Debian / Ubuntu上安装Harbor Container Image Registry


您可以通过以下链接以PDF格式下载本文来支持我们。

    将指南下载为PDF








关门


Sidebar