第1章 Operator を使用した EKS への Developer Hub のインストール
Red Hat Developer Hub Operator のインストールには、Operator Lifecycle Manager (OLM) フレームワークが必要です。
関連情報
- OLM の詳細は、Operator Lifecycle Manager (OLM) のドキュメントを参照してください。
1.1. OLM フレームワークを使用した Developer Hub Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
Operator Lifecycle Manager (OLM) フレームワーク を使用して、EKS に Developer Hub Operator をインストールできます。その後、EKS に Developer Hub インスタンスをデプロイできます。
前提条件
-
現在の
kubeconfigで、EKS クラスターにコンテキストが設定されている。詳細は、Creating or updating a kubeconfig file for an Amazon EKS cluster を参照してください。 -
kubectlがインストールされている。詳細は、Installing or updating kubectl を参照してください。 -
registry.redhat.ioにサブスクライブされている。詳細は、Red Hat コンテナーレジストリーの認証 を参照してください。 - Operator Lifecycle Manager (OLM) がインストールされている。インストールとトラブルシューティングの詳細は、OLM クイックスタート または Operator Lifecycle Manager の入手方法 を参照してください。
手順
ターミナルで次のコマンドを実行して、Operator がインストールされている
rhdh-operatornamespace を作成します。kubectl create namespace rhdh-operator次のコマンドを使用してプルシークレットを作成します。
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 作成されたプルシークレットは、Red Hat Ecosystem から Developer Hub イメージをプルするために使用されます。
Red Hat Ecosystem からの 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次のように
OperatorGroupリソースを作成します。cat <<EOF | kubectl apply -n rhdh-operator -f - apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: rhdh-operator-group EOF次のコードを使用して
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次のコマンドを実行して、作成した Operator が実行されていることを確認します。
kubectl -n rhdh-operator get pods -wOperator Pod に
ImagePullBackOffステータスが表示される場合は、Operator デプロイメントのマニフェスト内でイメージを直接プルする権限が必要な場合があります。ヒント必要なシークレット名を
deployment.spec.template.spec.imagePullSecretsリストに含め、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次の手順を使用して Operator のデフォルト設定を更新して、Developer Hub リソースが EKS で正常に起動できるようにします。
次のコマンドを使用して、
rhdh-operatornamespace のbackstage-default-configConfigMap を編集します。kubectl -n rhdh-operator edit configmap backstage-default-config次の例に示すように、
db-statefulset.yaml文字列を見つけて、そのspec.template.spec.securityContextにfsGroupを追加します。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 ---次の例に示すように、
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 ---次のように、
service.yaml文字列を見つけて、typeをNodePortに変更します。service.yaml: | apiVersion: v1 kind: Service spec: # NodePort is required for the ALB to route to the Service type: NodePort --- TRUNCATED ---保存して終了します。
変更が Operator Pod に自動的に適用されるまで、数分間待ちます。