This documentation is for a release that is no longer maintained
See documentation for the latest supported version.第1章 Operator を使用した AKS への Developer Hub のデプロイ
Red Hat Developer Hub Operator を使用して、AKS に Developer Hub をデプロイできます。
手順
rhdh-operator-<VERSION>.yaml
という名前の Red Hat Developer Hub Operator マニフェストファイルを取得し、次のフラグメントを追加してdb-statefulset.yaml
とdeployment.yaml
のデフォルト設定を変更します。securityContext: fsGroup: 300
securityContext: fsGroup: 300
Copy to Clipboard Copied! マニフェストで指定された場所は次のとおりです。
db-statefulset.yaml: | spec.template.spec deployment.yaml: | spec.template.spec
db-statefulset.yaml: | spec.template.spec deployment.yaml: | spec.template.spec
Copy to Clipboard Copied! 変更した Operator マニフェストを Kubernetes クラスターに適用します。
kubectl apply -f rhdh-operator-<VERSION>.yaml
kubectl apply -f rhdh-operator-<VERSION>.yaml
Copy to Clipboard Copied! 注記前のコマンドの実行はクラスター範囲であり、適切なクラスター権限が必要です。
次の例に示すように、Red Hat 認証情報を使用して
rhdh-pull-secret
という名前のImagePull Secret
を作成し、保護されたregistry.redhat.io
からイメージにアクセスします。kubectl -n <your_namespace> create secret docker-registry rhdh-pull-secret \ --docker-server=registry.redhat.io \ --docker-username=<redhat_user_name> \ --docker-password=<redhat_password> \ --docker-email=<email>
kubectl -n <your_namespace> create secret docker-registry rhdh-pull-secret \ --docker-server=registry.redhat.io \ --docker-username=<redhat_user_name> \ --docker-password=<redhat_password> \ --docker-email=<email>
Copy to Clipboard Copied! rhdh-ingress.yaml
という名前の Ingress マニフェストファイルを作成し、次のように Developer Hub サービス名を指定します。apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: rhdh-ingress namespace: <your_namespace> spec: ingressClassName: webapprouting.kubernetes.azure.com rules: - http: paths: - path: / pathType: Prefix backend: service: name: backstage-<your-CR-name> port: name: http-backend
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: rhdh-ingress namespace: <your_namespace> spec: ingressClassName: webapprouting.kubernetes.azure.com rules: - http: paths: - path: / pathType: Prefix backend: service: name: backstage-<your-CR-name> port: name: http-backend
Copy to Clipboard Copied! 作成した Ingress をデプロイするには、次のコマンドを実行します。
kubectl -n <your_namespace> apply -f rhdh-ingress.yaml
kubectl -n <your_namespace> apply -f rhdh-ingress.yaml
Copy to Clipboard Copied! 次の例を使用して、Developer Hub 設定を含む
app-config-rhdh
という名前の ConfigMap を作成します。apiVersion: v1 kind: ConfigMap metadata: name: app-config-rhdh data: "app-config-rhdh.yaml": | app: title: Red Hat Developer Hub baseUrl: https://<app_address> backend: auth: externalAccess: - type: legacy options: subject: legacy-default-config secret: "${BACKEND_SECRET}" baseUrl: https://<app_address> cors: origin: https://<app_address>
apiVersion: v1 kind: ConfigMap metadata: name: app-config-rhdh data: "app-config-rhdh.yaml": | app: title: Red Hat Developer Hub baseUrl: https://<app_address> backend: auth: externalAccess: - type: legacy options: subject: legacy-default-config secret: "${BACKEND_SECRET}" baseUrl: https://<app_address> cors: origin: https://<app_address>
Copy to Clipboard Copied! secrets-rhdh
という名前のシークレットを作成し、次の例に示すように、Base64-encoded
文字列値のBACKEND_SECRET
という名前のキーを追加します。apiVersion: v1 kind: Secret metadata: name: secrets-rhdh stringData: BACKEND_SECRET: "xxx"
apiVersion: v1 kind: Secret metadata: name: secrets-rhdh stringData: BACKEND_SECRET: "xxx"
Copy to Clipboard Copied! rhdh.yaml
という名前のカスタムリソース (CR) マニフェストファイルを作成し、次のように以前に作成したrhdh-pull-secret
を追加します。apiVersion: rhdh.redhat.com/v1alpha1 kind: Backstage metadata: name: <your-rhdh-cr> spec: application: imagePullSecrets: - rhdh-pull-secret appConfig: configMaps: - name: "app-config-rhdh" extraEnvs: secrets: - name: "secrets-rhdh"
apiVersion: rhdh.redhat.com/v1alpha1 kind: Backstage metadata: name: <your-rhdh-cr> spec: application: imagePullSecrets: - rhdh-pull-secret appConfig: configMaps: - name: "app-config-rhdh" extraEnvs: secrets: - name: "secrets-rhdh"
Copy to Clipboard Copied! CR マニフェストを namespace に適用します。
kubectl -n <your_namespace> apply -f rhdh.yaml
kubectl -n <your_namespace> apply -f rhdh.yaml
Copy to Clipboard Copied! -
URL:
https://<app_address>
を使用して、デプロイした Developer Hub にアクセスします。ここで、<app_address> は、前に取得した Ingress アドレス (たとえば、https://108.141.70.228
) です。 オプション: CR を削除するには、次のコマンドを実行します。
kubectl -n <your_namespace> delete -f rhdh.yaml
kubectl -n <your_namespace> delete -f rhdh.yaml
Copy to Clipboard Copied!