第 3 章 使用 Operator 时配置 Red Hat Developer Hub 部署
Red Hat Developer Hub operator 会公开其自定义资源定义(CRD)的 rhdh.redhat.com/v1alpha2
API 版本。此 CRD 会公开一个通用的 spec.deployment.patch
字段,它可让您完全控制 Developer Hub Deployment 资源。此字段可以是标准 apps.Deployment
Kubernetes 对象的一个片段。
流程
- 使用以下字段创建 Developer Hub 自定义资源定义:
Example
apiVersion: rhdh.redhat.com/v1alpha2 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template:
labels
为 Developer Hub pod 添加标签。
添加标签
my=true
示例apiVersion: rhdh.redhat.com/v1alpha2 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: metadata: labels: my: true
卷
添加名为 my-volume
的额外卷,并将它挂载到 Developer Hub 应用程序容器中的 /my/path
下。
附加卷示例
apiVersion: rhdh.redhat.com/v1alpha2 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: spec: containers: - name: backstage-backend volumeMounts: - mountPath: /my/path name: my-volume volumes: - ephemeral: volumeClaimTemplate: spec: storageClassName: "special" name: my-volume
将默认的 dynamic-plugins-root
卷替换为名为 dynamic-plugins-root
的持久性卷声明(PVC)。请注意 $patch: replace
指令,否则将添加新卷。
dynamic-plugins-root
卷替换示例
apiVersion: rhdh.redhat.com/v1alpha2 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: spec: volumes: - $patch: replace name: dynamic-plugins-root persistentVolumeClaim: claimName: dynamic-plugins-root
CPU
请求将 Developer Hub 应用程序容器的 CPU 请求设置为 250m。
CPU 请求示例
apiVersion: rhdh.redhat.com/v1alpha2 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: spec: containers: - name: backstage-backend resources: requests: cpu: 250m
my-sidecar
容器在 Developer Hub Pod 中添加新的
my-sidecar
sidecar 容器。side car 容器示例
apiVersion: rhdh.redhat.com/v1alpha2 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: spec: containers: - name: my-sidecar image: quay.io/my-org/my-sidecar:latest
其他资源
- 要了解更多有关合并的信息,请参阅 strategy Merge Patch。