第 1 章 使用 Operator 在 EKS 上安装 Developer Hub


Red Hat Developer Hub Operator 安装需要 Operator Lifecycle Manager (OLM)框架。

其他资源

1.1. 使用 OLM 框架安装 Developer Hub Operator

您可以使用 Operator Lifecycle Manager (OLM)框架在 EKS 上安装 Developer Hub Operator。之后,您可以继续在 EKS 中部署 Developer Hub 实例。

先决条件

流程

  1. 在终端中运行以下命令,以创建安装 Operator 的 rhdh-operator 命名空间:

    kubectl create namespace rhdh-operator
  2. 使用以下命令创建 pull secret:

    kubectl -n rhdh-operator create secret docker-registry rhdh-pull-secret \
        --docker-server=registry.redhat.io \
        --docker-username=<user_name> \ 
    1
    
        --docker-password=<password> \ 
    2
    
        --docker-email=<email> 
    3
    1
    在命令中输入您的用户名。
    2
    在命令中输入您的密码。
    3
    在命令中输入您的电子邮件地址。

    创建的 pull secret 用于从红帽生态系统中拉取 Developer Hub 镜像。

  3. 创建一个包含红帽生态系统中的 Operator 的 CatalogSource 资源:

    cat <<EOF | kubectl -n rhdh-operator apply -f -
    apiVersion: operators.coreos.com/v1alpha1
    kind: CatalogSource
    metadata:
      name: redhat-catalog
    spec:
      sourceType: grpc
      image: registry.redhat.io/redhat/redhat-operator-index:v4.17
      secrets:
      - "rhdh-pull-secret"
      displayName: Red Hat Operators
    EOF
  4. 按如下所示创建 OperatorGroup 资源:

    cat <<EOF | kubectl apply -n rhdh-operator -f -
    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: rhdh-operator-group
    EOF
  5. 使用以下代码创建 Subscription 资源:

    cat <<EOF | kubectl apply -n rhdh-operator -f -
    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: rhdh
      namespace: rhdh-operator
    spec:
      channel: fast
      installPlanApproval: Automatic
      name: rhdh
      source: redhat-catalog
      sourceNamespace: rhdh-operator
      startingCSV: rhdh-operator.v1.4.3
    EOF
  6. 运行以下命令,以验证创建的 Operator 是否正在运行:

    kubectl -n rhdh-operator get pods -w

    如果 Operator pod 显示 ImagePullBackOff 状态,则可能需要权限直接在 Operator 部署清单中拉取镜像。

    提示

    您可以在 deployment.spec.template.spec.imagePullSecrets 列表中包括所需的 secret 名称,并使用 kubectl get deployment -n rhdh-operator 命令验证部署名称:

    kubectl -n rhdh-operator patch deployment \
        rhdh.fast --patch '{"spec":{"template":{"spec":{"imagePullSecrets":[{"name":"rhdh-pull-secret"}]}}}}' \
        --type=merge
  7. 更新 Operator 的默认配置,以确保 Developer Hub 资源可以按照以下步骤在 EKS 中正确启动:

    1. 使用以下命令,编辑 rhdh-operator 命名空间中的 backstage-default-config ConfigMap:

      kubectl -n rhdh-operator edit configmap backstage-default-config
    2. 找到 db-statefulset.yaml 字符串,并将 fsGroup 添加到其 spec.template.spec.securityContext 中,如下例所示:

        db-statefulset.yaml: |
          apiVersion: apps/v1
          kind: StatefulSet
      --- TRUNCATED ---
          spec:
          --- TRUNCATED ---
            restartPolicy: Always
            securityContext:
            # You can assign any random value as fsGroup
              fsGroup: 2000
            serviceAccount: default
            serviceAccountName: default
      --- TRUNCATED ---
    3. 找到 deployment.yaml 字符串,并将 fsGroup 添加到其规格中,如下例所示:

        deployment.yaml: |
          apiVersion: apps/v1
          kind: Deployment
      --- TRUNCATED ---
          spec:
            securityContext:
              # You can assign any random value as fsGroup
              fsGroup: 3000
            automountServiceAccountToken: false
      --- TRUNCATED ---
    4. 找到 service.yaml 字符串,并将 类型改为 NodePort,如下所示:

        service.yaml: |
          apiVersion: v1
          kind: Service
          spec:
           # NodePort is required for the ALB to route to the Service
            type: NodePort
      --- TRUNCATED ---
    5. 保存并退出。

      等待几分钟,直到更改自动应用到操作器 Pod。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部