第3章 Operator を使用する場合の Red Hat Developer Hub デプロイメントの設定
Red Hat Developer Hub Operator は、カスタムリソース (CR) の rhdh.redhat.com/v1alpha3
API バージョンを公開します。この CR は汎用の spec.deployment.patch
フィールドを公開し、Developer Hub デプロイメントリソースを完全に制御できるようにします。このフィールドは、標準の apps.Deployment
Kubernetes オブジェクトのフラグメントにすることができます。
手順
-
次のフィールドを使用して
Backstage
CR を作成します。
例
apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template:
apiVersion: rhdh.redhat.com/v1alpha3
kind: Backstage
metadata:
name: developer-hub
spec:
deployment:
patch:
spec:
template:
labels
Developer Hub Pod にラベルを追加します。
ラベル
my=true
を追加する例apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: metadata: labels: my: true
apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: metadata: labels: my: true
Copy to Clipboard Copied! volumes
my-volume
という名前のボリュームを追加し、Developer Hub アプリケーションコンテナーの /my/path
の下にマウントします。
追加ボリュームの例
apiVersion: rhdh.redhat.com/v1alpha3 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
apiVersion: rhdh.redhat.com/v1alpha3
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/v1alpha3 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: spec: volumes: - $patch: replace name: dynamic-plugins-root persistentVolumeClaim: claimName: dynamic-plugins-root
apiVersion: rhdh.redhat.com/v1alpha3
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/v1alpha3 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: spec: containers: - name: backstage-backend resources: requests: cpu: 250m
apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: spec: containers: - name: backstage-backend resources: requests: cpu: 250m
Copy to Clipboard Copied! my-sidecar
コンテナーDeveloper Hub Pod に新しい
my-sidecar
サイドカーコンテナーを追加します。サイドカーコンテナーの例
apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: spec: containers: - name: my-sidecar image: quay.io/my-org/my-sidecar:latest
apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: spec: containers: - name: my-sidecar image: quay.io/my-org/my-sidecar:latest
Copy to Clipboard Copied!