第1章 Operator を使用した AKS への Developer Hub のデプロイ
Red Hat Developer Hub Operator を使用して、AKS に Developer Hub をデプロイできます。
手順
次の例に示すように、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: my-rhdh-project 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: my-rhdh-project 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.yaml
を含むmy-rhdh-app-config
config map を作成します。apiVersion: v1 kind: ConfigMap metadata: name: my-rhdh-app-config data: "app-config.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: my-rhdh-app-config data: "app-config.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! 次の例に示すように、
<my_product_secrets>
シークレットを作成し、Base64-encoded
文字列値を持つBACKEND_SECRET
という名前のキーを追加します。apiVersion: v1 kind: Secret metadata: name: <my_product_secrets> stringData: BACKEND_SECRET: "xxx"
apiVersion: v1 kind: Secret metadata: name: <my_product_secrets>
1 stringData: BACKEND_SECRET: "xxx"
Copy to Clipboard Copied! - 1
<my_product_secrets>
は、任意の Developer Hub シークレット名です。<my_product_secrets>
は、Developer Hub 内のシークレット設定の識別子を指定します。
次のように、
<your-rhdh-cr>
という名前のBackstage
カスタムリソース (CR) マニフェストファイルを作成し、以前に作成したrhdh-pull-secret
を含めます。apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: <your-rhdh-cr> spec: application: imagePullSecrets: - rhdh-pull-secret appConfig: configMaps: - name: my-rhdh-app-config extraEnvs: secrets: - name: <my_product_secrets>
apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: <your-rhdh-cr> spec: application: imagePullSecrets: - rhdh-pull-secret appConfig: configMaps: - name: my-rhdh-app-config extraEnvs: secrets: - name: <my_product_secrets>
1 Copy to Clipboard Copied! - 1
<my_product_secrets>
は、任意の Developer Hub シークレット名です。<my_product_secrets>
は、Developer Hub 内のシークレット設定の識別子を指定します。
CR マニフェストを namespace に適用します。
kubectl -n my-rhdh-project apply -f rhdh.yaml
kubectl -n my-rhdh-project 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 my-rhdh-project delete -f rhdh.yaml
kubectl -n my-rhdh-project delete -f rhdh.yaml
Copy to Clipboard Copied!