×

Tekton Hub 仅为技术预览功能。技术预览功能不受 Red Hat 生产服务级别协议 (SLA) 支持,并且可能功能不完整。Red Hat 不建议在生产环境中使用它们。这些功能可让您提前试用即将推出的产品功能,以便在开发过程中测试功能并提供反馈。

有关 Red Hat 技术预览功能的支持范围的更多信息,请参见 技术预览功能支持范围

Tekton Hub 可帮助您发现、搜索和共享 CI/CD 工作流程中可重复使用的任务和管道。Tekton Hub 的公共实例位于 hub.tekton.dev。集群管理员还可以通过修改TektonHub自定义资源 (CR) 中的配置来安装和部署自定义 Tekton Hub 实例。

在 OpenShift Container Platform 集群上安装和部署 Tekton Hub

Tekton Hub 是一个可选组件;集群管理员无法使用TektonConfig自定义资源 (CR) 来安装它。要安装和管理 Tekton Hub,请使用TektonHub CR。

您可以使用两种模式在集群上安装 Tekton Hub

  • 无需 Tekton Hub 工件的登录授权和评分

  • 支持 Tekton Hub 工件的登录授权和评分

如果您使用的是 Github Enterprise 或 Gitlab Enterprise,请在与企业服务器相同的网络中安装和部署 Tekton Hub。例如,如果企业服务器在 VPN 后面运行,请在也位于 VPN 后面的集群上部署 Tekton Hub。

无需登录和评分即可安装 Tekton Hub

您可以使用默认配置自动在集群上安装 Tekton Hub。使用默认配置时,Tekton Hub 不支持使用授权和 Tekton Hub 工件评分进行登录。

先决条件
  • 确保 Red Hat OpenShift Pipelines Operator 已安装在集群上的默认openshift-pipelines命名空间中。

步骤
  1. 创建一个类似以下示例的TektonHub CR。

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonHub
    metadata:
      name: hub
    spec:
      targetNamespace: openshift-pipelines (1)
      db:                      # Optional: If you want to use custom database
        secret: tekton-hub-db  # Name of db secret should be `tekton-hub-db`
    
      categories:              # Optional: If you want to use custom categories
        - Automation
        - Build Tools
        - CLI
        - Cloud
        - Code Quality
        - ...
    
      catalogs:                # Optional: If you want to use custom catalogs
        - name: tekton
          org: tektoncd
          type: community
          provider: github
          url: https://github.com/tektoncd/catalog
          revision: main
    
      scopes:                   # Optional: If you want to add new users
        - name: agent:create
          users: [abc, qwe, pqr]
        - name: catalog:refresh
          users: [abc, qwe, pqr]
        - name: config:refresh
          users: [abc, qwe, pqr]
    
      default:                   # Optional: If you want to add custom default scopes
        scopes:
          - rating:read
          - rating:write
    
      api:
        catalogRefreshInterval: 30m (2)
    1 必须安装 Tekton Hub 的命名空间;默认为openshift-pipelines
    2 目录自动刷新的时间间隔。支持的时间单位为秒 (s)、分钟 (m)、小时 (h)、天 (d) 和周 (w)。默认间隔为 30 分钟。

    如果您没有为TektonHub CR 中的可选字段提供自定义值,则使用 Tekton Hub API 配置映射中配置的默认值。

  2. 应用TektonHub CR。

    $ oc apply -f <tekton-hub-cr>.yaml
  3. 检查安装状态。TektonHub CR 可能需要一些时间才能达到稳定状态。

    $ oc get tektonhub.operator.tekton.dev
    示例输出
    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/

使用登录和评分安装 Tekton Hub

您可以使用支持使用授权登录和 Tekton Hub 工件评分的自定义配置在您的集群上安装 Tekton Hub。

先决条件
  • 确保 Red Hat OpenShift Pipelines Operator 已安装在集群上的默认openshift-pipelines命名空间中。

步骤
  1. 使用您的 Git 代码库托管提供商创建一个 OAuth 应用程序,并记下客户端 ID 和客户端密钥。支持的提供商包括 GitHub、GitLab 和 BitBucket。

  2. 编辑<tekton_hub_root>/config/02-api/20-api-secret.yaml文件以包含 Tekton Hub API 密钥。例如:

    apiVersion: v1
    kind: Secret
    metadata:
      name: tekton-hub-api
      namespace: openshift-pipelines
    type: Opaque
    stringData:
      GH_CLIENT_ID: (1)
      GH_CLIENT_SECRET: (2)
      GL_CLIENT_ID: (3)
      GL_CLIENT_SECRET: (4)
      BB_CLIENT_ID: (5)
      BB_CLIENT_SECRET: (6)
      JWT_SIGNING_KEY: (7)
      ACCESS_JWT_EXPIRES_IN: (8)
      REFRESH_JWT_EXPIRES_IN: (9)
      AUTH_BASE_URL: (10)
      GHE_URL: (11)
      GLE_URL: (12)
    1 GitHub OAuth 应用程序的客户端 ID。
    2 GitHub OAuth 应用程序的客户端密钥。
    3 GitLab OAuth 应用程序的客户端 ID。
    4 GitLab OAuth 应用程序的客户端密钥。
    5 BitBucket OAuth 应用程序的客户端 ID。
    6 BitBucket OAuth 应用程序的客户端密钥。
    7 用于签署为用户创建的 JSON Web 令牌 (JWT) 的长随机字符串。
    8 添加访问令牌过期后的时间限制。例如,1m,其中 m 表示分钟。支持的时间单位为秒 (s)、分钟 (m)、小时 (h)、天 (d) 和周 (w)。
    9 添加刷新令牌过期后的时间限制。例如,1m,其中m表示分钟。支持的时间单位为秒 (s)、分钟 (m)、小时 (h)、天 (d) 和周 (w)。确保为令牌刷新设置的过期时间大于为令牌访问设置的过期时间。
    10 OAuth 应用程序的路由 URL。
    11 如果您使用 GitHub Enterprise 进行身份验证,则为 GitHub Enterprise URL。不要为此字段提供目录的 URL 作为值。
    12 如果您使用 GitLab Enterprise 进行身份验证,则为 GitLab Enterprise URL。不要为此字段提供目录的 URL 作为值。

    您可以删除与您的部署无关的 Git 代码库托管服务提供商的未使用的字段。

  3. 创建一个类似以下示例的TektonHub CR。

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonHub
    metadata:
      name: hub
    spec:
      targetNamespace: openshift-pipelines (1)
      db: (2)
        secret: tekton-hub-db (3)
    
      categories: (4)
        - Automation
        - Build Tools
        - CLI
        - Cloud
        - Code Quality
          ...
    
      catalogs: (5)
        - name: tekton
          org: tektoncd
          type: community
          provider: github
          url: https://github.com/tektoncd/catalog
          revision: main
    
      scopes: (6)
        - name: agent:create
          users: [<username>]
        - name: catalog:refresh
          users: [<username>]
        - name: config:refresh
          users: [<username>]
    
      default: (7)
        scopes:
          - rating:read
          - rating:write
    
      api:
        catalogRefreshInterval: 30m (8)
    1 必须安装 Tekton Hub 的命名空间;默认为openshift-pipelines
    2 可选:自定义数据库,例如 Crunchy Postgres 数据库。
    3 数据库密钥的名称必须为tekton-hub-db
    4 可选:Tekton Hub 中任务和管道的自定义类别。
    5 可选:Tekton Hub 的自定义目录。
    6 可选:其他用户。您可以提及多个用户,例如[<username_1>, <username_2>, <username_3>]
    7 可选:自定义默认范围。
    8 目录自动刷新的时间间隔。支持的时间单位为秒 (s)、分钟 (m)、小时 (h)、天 (d) 和周 (w)。默认间隔为 30 分钟。

    如果您没有为TektonHub CR 中的可选字段提供自定义值,则使用 Tekton Hub API 配置映射中配置的默认值。

  4. 应用TektonHub CR。

    $ oc apply -f <tekton-hub-cr>.yaml
  5. 检查安装状态。TektonHub CR 可能需要一些时间才能达到稳定状态。

    $ oc get tektonhub.operator.tekton.dev
    示例输出
    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/

可选:在 Tekton Hub 中使用自定义数据库

集群管理员可以使用自定义数据库与 Tekton Hub,而不是操作员安装的默认 PostgreSQL 数据库。您可以在安装时关联自定义数据库,并将其与 Tekton Hub 提供的db-migrationapiui接口一起使用。或者,即使在使用默认数据库完成安装后,您也可以将自定义数据库与 Tekton Hub 关联。

步骤
  1. 在目标命名空间中创建一个名为tekton-hub-db的密钥,其中包含以下键:

    • POSTGRES_HOST

    • POSTGRES_DB

    • POSTGRES_USER

    • POSTGRES_PASSWORD

    • POSTGRES_PORT

      示例:自定义数据库密钥
      apiVersion: v1
      kind: Secret
      metadata:
        name: tekton-hub-db
        labels:
          app: tekton-hub-db
      type: Opaque
      stringData:
        POSTGRES_HOST: <The name of the host of the database>
        POSTGRES_DB: <Name of the database>
        POSTGRES_USER: <username>
        POSTGRES_PASSWORD: <password>
        POSTGRES_PORT: <The port that the database is listening on>
      ...

      默认目标命名空间为openshift-pipelines

  2. TektonHub CR 中,将数据库密钥属性的值设置为tekton-hub-db

    示例:添加自定义数据库密钥
    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonHub
    metadata:
      name: hub
    spec:
      targetNamespace: openshift-pipelines
      db:
        secret: tekton-hub-db
      api:
        hubConfigUrl: https://raw.githubusercontent.com/tektoncd/hub/main/config.yaml
        catalogRefreshInterval: 30m
    ...
  3. 使用更新后的TektonHub CR 将自定义数据库与 Tekton Hub 关联。

    1. 如果您在将 Tekton Hub 安装到集群时关联自定义数据库,请应用更新后的TektonHub CR。

      $ oc apply -f <tekton-hub-cr>.yaml
    2. 或者,如果您在 Tekton Hub 安装完成后关联自定义数据库,请用更新后的TektonHub CR 替换现有的TektonHub CR。

      $ oc replace -f <tekton-hub-cr>.yaml
  4. 检查安装状态。TektonHub CR 可能需要一些时间才能达到稳定状态。

    $ oc get tektonhub.operator.tekton.dev
    示例输出
    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/

可选:安装 Crunchy Postgres 数据库和 Tekton Hub

集群管理员可以安装 Crunchy Postgres 数据库并将 Tekton Hub 配置为使用它而不是默认数据库。

先决条件
  • 从 Operator Hub 安装 Crunchy Postgres Operator。

  • 创建一个 Postgres 实例以启动 Crunchy Postgres 数据库。

步骤
  1. 进入 Crunchy Postgres pod。

    示例:进入test-instance1-m7hh-0 pod
    $ oc exec -it -n openshift-operators test-instance1-m7hh-0 -- /bin/sh
    
    Defaulting container name to database.
    Use 'oc describe pod/test-instance1-m7hh-0 -n openshift-operators' to see all of the containers in this pod.
    sh-4.4$ psql -U postgres
    psql (14.4)
    Type "help" for help.
  2. 找到pg_hba.conf文件。

    postgres=# SHOW hba_file;
             hba_file
    --------------------------
     /pgdata/pg14/pg_hba.conf
    (1 row)
    
    postgres=#
  3. 退出数据库。

  4. 检查pg_hba.conf文件是否包含条目host all all 0.0.0.0/0 md5,这是访问所有传入连接所必需的。此外,在pg_hba.conf文件的末尾添加该条目。

    示例:pg_hba.conf文件
    sh-4.4$ cat /pgdata/pg14/pg_hba.conf
    
    # Do not edit this file manually!
    # It will be overwritten by Patroni!
    local all "postgres" peer
    hostssl replication "_crunchyrepl" all cert
    hostssl "postgres" "_crunchyrepl" all cert
    host all "_crunchyrepl" all reject
    hostssl all all all md5
    host  all  all 0.0.0.0/0 md5
  5. 保存pg_hba.conf文件并重新加载数据库。

    sh-4.4$ psql -U postgres
    psql (14.4)
    Type "help" for help.
    
    postgres=# SHOW hba_file;
             hba_file
    --------------------------
     /pgdata/pg14/pg_hba.conf
    (1 row)
    
    postgres=# SELECT pg_reload_conf();
     pg_reload_conf
    ----------------
     t
    (1 row)
  6. 退出数据库。

  7. 解码 Crunchy Postgres 主机的密钥值。

    示例:解码 Crunchy Postgres 主机的密钥值
    $ echo 'aGlwcG8tcHJpbWFyeS5vcGVuc2hpZnQtb3BlcmF0b3JzLnN2YyA=' | base64 --decode
    test-primary.openshift-operators.svc
  8. 在目标命名空间中创建一个名为tekton-hub-db的密钥,其中包含以下键:

    • POSTGRES_HOST

    • POSTGRES_DB

    • POSTGRES_USER

    • POSTGRES_PASSWORD

    • POSTGRES_PORT

      示例:自定义数据库密钥
      apiVersion: v1
      kind: Secret
      metadata:
        name: tekton-hub-db
        labels:
          app: tekton-hub-db
      type: Opaque
      stringData:
        POSTGRES_HOST: test-primary.openshift-operators.svc
        POSTGRES_DB: test
        POSTGRES_USER: <username>
        POSTGRES_PASSWORD: <password>
        POSTGRES_PORT: '5432'
      ...

    默认目标命名空间为openshift-pipelines

  9. TektonHub CR 中,将数据库密钥属性的值设置为tekton-hub-db

    示例:添加自定义数据库密钥
    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonHub
    metadata:
      name: hub
    spec:
      targetNamespace: openshift-pipelines
      db:
        secret: tekton-hub-db
    ...
  10. 使用更新后的TektonHub CR 将自定义数据库与 Tekton Hub 关联。

    $ oc apply -f <tekton-hub-cr>.yaml
  11. 检查安装状态。TektonHub CR 可能需要一些时间才能达到稳定状态。

    $ oc get tektonhub.operator.tekton.dev
    示例输出
    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/

可选:将 Tekton Hub 数据迁移到现有的 Crunchy Postgres 数据库

Tekton Hub 支持使用 Crunchy Postgres 作为自定义数据库。对于已安装并使用默认数据库的 Tekton Hub,集群管理员可以在将 Tekton Hub 数据从内部或默认数据库迁移到外部 Crunchy Postgres 数据库后使用 Crunchy Postgres 作为自定义数据库。

步骤
  1. 将现有数据从内部或默认数据库转储到 pod 中的文件。

    示例:转储数据
    $ pg_dump -Ft -h localhost -U postgres hub -f /tmp/hub.dump
  2. 将包含数据转储的文件复制到您的本地系统。

    命令格式
    $ oc cp -n <namespace> <podName>:<path-to-hub.dump> <path-to-local-system>
    示例
    $ oc cp -n openshift-pipelines tekton-hub-db-7d6d888c67-p7mdr:/tmp/hub.dump /home/test_user/Downloads/hub.dump
  3. 将包含数据转储的文件从本地系统复制到运行外部 Crunchy Postgres 数据库的 pod。

    命令格式
    $ oc cp -n <namespace> <path-to-local-system> <podName>:<path-to-hub.dump>
    示例
    $ oc cp -n openshift-operators /home/test_user/Downloads/hub.dump test-instance1-spnz-0:/tmp/hub.dump
  4. 在 Crunchy Postgres 数据库中恢复数据。

    命令格式
    $ pg_restore -d <database-name> -h localhost -U postgres <path-where-file-is-copied>
    示例
    $ pg_restore -d test -h localhost -U postgres /tmp/hub.dump
  5. 进入 Crunchy Postgres pod。示例:进入test-instance1-m7hh-0 pod

    $ oc exec -it -n openshift-operators test-instance1-m7hh-0 -- /bin/sh
    
    Defaulting container name to database.
    Use 'oc describe pod/test-instance1-m7hh-0 -n openshift-operators' to see all of the containers in this pod.
    sh-4.4$ psql -U postgres
    psql (14.4)
    Type "help" for help.
  6. 找到pg_hba.conf文件。

    postgres=# SHOW hba_file;
             hba_file
    --------------------------
     /pgdata/pg14/pg_hba.conf
    (1 row)
    
    postgres=#
  7. 退出数据库。

  8. 检查pg_hba.conf文件是否包含条目host all all 0.0.0.0/0 md5,这是访问所有传入连接所必需的。如有必要,请在pg_hba.conf文件的末尾添加该条目。

    示例:pg_hba.conf文件
    sh-4.4$ cat /pgdata/pg14/pg_hba.conf
    
    # Do not edit this file manually!
    # It will be overwritten by Patroni!
    local all "postgres" peer
    hostssl replication "_crunchyrepl" all cert
    hostssl "postgres" "_crunchyrepl" all cert
    host all "_crunchyrepl" all reject
    hostssl all all all md5
    host  all  all 0.0.0.0/0 md5
  9. 保存pg_hba.conf文件并重新加载数据库。

    sh-4.4$ psql -U postgres
    psql (14.4)
    Type "help" for help.
    
    postgres=# SHOW hba_file;
             hba_file
    --------------------------
     /pgdata/pg14/pg_hba.conf
    (1 row)
    
    postgres=# SELECT pg_reload_conf();
     pg_reload_conf
    ----------------
     t
    (1 row)
  10. 退出数据库。

  11. 验证目标命名空间中名为tekton-hub-db的密钥是否包含以下键:

    • POSTGRES_HOST

    • POSTGRES_DB

    • POSTGRES_USER

    • POSTGRES_PASSWORD

    • POSTGRES_PORT

      示例:自定义数据库密钥
      apiVersion: v1
      kind: Secret
      metadata:
        name: tekton-hub-db
        labels:
          app: tekton-hub-db
      type: Opaque
      stringData:
        POSTGRES_HOST: test-primary.openshift-operators.svc
        POSTGRES_DB: test
        POSTGRES_USER: test
        POSTGRES_PASSWORD: woXOisU5>ocJiTF7y{{;1[Q(
        POSTGRES_PORT: '5432'
      ...

      POSTGRES_HOST 字段的值被编码为密钥。您可以使用以下示例解码 Crunchy Postgres 主机的值。

      示例:解码 Crunchy Postgres 主机的密钥值
      $ echo 'aGlwcG8tcHJpbWFyeS5vcGVuc2hpZnQtb3BlcmF0b3JzLnN2YyA=' | base64 --decode
      test-primary.openshift-operators.svc
  12. 验证在 TektonHub CR 中,数据库密钥属性的值是否为 tekton-hub-db

    示例:带有数据库密钥名称的 TektonHub CR
    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonHub
    metadata:
      name: hub
    spec:
      targetNamespace: openshift-pipelines
      db:
        secret: tekton-hub-db
    ...
  13. 要将外部 Crunchy Postgres 数据库与 Tekton Hub 关联,请将任何现有的 TektonHub CR 替换为更新后的 TektonHub CR。

    $ oc replace -f <updated-tekton-hub-cr>.yaml
  14. 检查 Tekton Hub 的状态。更新后的 TektonHub CR 可能需要一些时间才能达到稳定状态。

    $ oc get tektonhub.operator.tekton.dev
    示例输出
    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/

使用自定义类别和目录更新 Tekton Hub

集群管理员可以使用反映其组织上下文的自定义类别、目录、作用域和默认作用域来更新 Tekton Hub。

步骤
  1. 可选:编辑 Tekton Hub CR 中的 categoriescatalogsscopesdefault:scopes 字段。

    类别、目录、作用域和默认作用域的默认信息是从 Tekton Hub API 配置映射中提取的。如果您在 TektonHub CR 中提供自定义值,则会覆盖默认值。

  2. 应用 Tekton Hub CR。

    $ oc apply -f <tekton-hub-cr>.yaml
  3. 观察 Tekton Hub 状态。

    $ oc get tektonhub.operator.tekton.dev
    示例输出
    NAME   VERSION   READY   REASON   APIURL                  UIURL
    hub    v1.9.0    True             https://api.route.url   https://ui.route.url

修改 Tekton Hub 的目录刷新间隔

Tekton Hub 的默认目录刷新间隔为 30 分钟。集群管理员可以通过修改 TektonHub CR 中 catalogRefreshInterval 字段的值来修改自动目录刷新间隔。

步骤
  1. 修改 TektonHub CR 中 catalogRefreshInterval 字段的值。

    apiVersion: operator.tekton.dev/v1alpha1
    kind: TektonHub
    metadata:
      name: hub
    spec:
      targetNamespace: openshift-pipelines (1)
      api:
        catalogRefreshInterval: 30m (2)
    1 安装 Tekton Hub 的命名空间;默认为 openshift-pipelines
    2 目录自动刷新的时间间隔。支持的时间单位为秒 (s)、分钟 (m)、小时 (h)、天 (d) 和周 (w)。默认间隔为 30 分钟。
  2. 应用TektonHub CR。

    $ oc apply -f <tekton-hub-cr>.yaml
  3. 检查安装状态。TektonHub CR 可能需要一些时间才能达到稳定状态。

    $ oc get tektonhub.operator.tekton.dev
    示例输出
    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/

在 Tekton Hub 配置中添加新用户

集群管理员可以向 Tekton Hub 添加具有不同作用域的新用户。

步骤
  1. 修改 TektonHub CR 以添加具有不同作用域的新用户。

    ...
    scopes:
      - name: agent:create
        users: [<username_1>, <username_2>] (1)
      - name: catalog:refresh
        users: [<username_3>, <username_4>]
      - name: config:refresh
        users: [<username_5>, <username_6>]
    
    default:
      scopes:
        - rating:read
        - rating:write
    ...
    1 在 Git 代码库托管服务提供商处注册的用户名。

    首次登录 Tekton Hub 的新用户将只有默认作用域。要激活其他作用域,请确保在 TektonHub CR 的 scopes 字段中添加用户的用户名。

  2. 应用更新后的 TektonHub CR。

    $ oc apply -f <tekton-hub-cr>.yaml
  3. 检查 Tekton Hub 的状态。更新后的 TektonHub CR 可能需要一些时间才能达到稳定状态。

    $ oc get tektonhub.operator.tekton.dev
    示例输出
    NAME   VERSION   READY   REASON   APIURL                    UIURL
    hub    v1.9.0    True             https://api.route.url/    https://ui.route.url/
  4. 刷新配置。

    $ curl -X POST -H "Authorization: <access-token>" \ (1)
        --header "Content-Type: application/json" \
        --data '{"force": true} \
        <api-route>/system/config/refresh
    1 JWT 令牌。

升级 Red Hat OpenShift Pipelines 运算符后禁用 Tekton Hub 授权 (从 1.7 升级到 1.8)

使用 Red Hat OpenShift Pipelines 运算符 1.8 安装 Tekton Hub 时,默认安装会禁用 Tekton Hub 工件的登录授权和评分。但是,当您将运算符从 1.7 升级到 1.8 时,集群上的 Tekton Hub 实例不会自动禁用登录授权和评分。

要升级运算符后(从 1.7 升级到 1.8)禁用 Tekton Hub 的登录授权和评分,请执行以下步骤。

先决条件
  • 确保 Red Hat OpenShift Pipelines Operator 已安装在集群上的默认openshift-pipelines命名空间中。

步骤
  1. 删除您在手动安装用于运算符 1.7 的 Tekton Hub 时创建的现有 Tekton Hub API 密钥。

    $ oc delete secret tekton-hub-api -n <targetNamespace> (1)
    1 Tekton Hub API 密钥和 Tekton Hub CR 的公共命名空间。默认情况下,目标命名空间为 openshift-pipelines
  2. 删除 Tekton Hub API 的 TektonInstallerSet 对象。

    $ oc get tektoninstallerset -o name | grep tekton-hub-api | xargs oc delete

    删除后,运算符会自动创建一个新的 Tekton Hub API 安装程序集。

    等待并检查 Tekton Hub 的状态。当 READY 列显示 True 时,继续执行下一步。

    $ oc get tektonhub hub
    示例输出
    NAME   VERSION        READY   REASON   APIURL                                                                                                  UIURL
    hub    1.8.0          True             https://tekton-hub-api-openshift-pipelines.apps.example.com   https://tekton-hub-ui-openshift-pipelines.apps.example.com
    
  3. 删除 Tekton Hub UI 的 ConfigMap 对象。

    $ oc delete configmap tekton-hub-ui -n <targetNamespace> (1)
    1 Tekton Hub UI 和 Tekton Hub CR 的公共命名空间。默认情况下,目标命名空间为 openshift-pipelines
  4. 删除 Tekton Hub UI 的 TektonInstallerSet 对象。

    $ oc get tektoninstallerset -o name | grep tekton-hub-ui | xargs oc delete

    删除后,运算符会自动创建一个新的 Tekton Hub UI 安装程序集。

    等待并检查 Tekton Hub 的状态。当 READY 列显示 True 时,继续执行下一步。

    $ oc get tektonhub hub
    示例输出
    NAME   VERSION        READY   REASON   APIURL                                                                                                  UIURL
    hub    1.8.0          True             https://tekton-hub-api-openshift-pipelines.apps.example.com   https://tekton-hub-ui-openshift-pipelines.apps.example.com