This documentation is for a release that is no longer maintained
See documentation for the latest supported version.Microsoft Azure Kubernetes Service への Red Hat Developer Hub のインストール
概要
はじめに リンクのコピーリンクがクリップボードにコピーされました!
次のいずれかの方法を使用して、Microsoft Azure Kubernetes Service (AKS) に Red Hat Developer Hub をインストールできます。
- Red Hat Developer Hub Operator
- Red Hat Developer Hub Helm チャート
第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: 300Copy to Clipboard Copied! Toggle word wrap Toggle overflow マニフェストで指定された場所は次のとおりです。
db-statefulset.yaml: | spec.template.spec deployment.yaml: | spec.template.spec
db-statefulset.yaml: | spec.template.spec deployment.yaml: | spec.template.specCopy to Clipboard Copied! Toggle word wrap Toggle overflow 変更した Operator マニフェストを Kubernetes クラスターに適用します。
kubectl apply -f rhdh-operator-<VERSION>.yaml
kubectl apply -f rhdh-operator-<VERSION>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記前のコマンドの実行はクラスター範囲であり、適切なクラスター権限が必要です。
次の例に示すように、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! Toggle word wrap Toggle overflow rhdh-ingress.yamlという名前の Ingress マニフェストファイルを作成し、次のように Developer Hub サービス名を指定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 作成した Ingress をデプロイするには、次のコマンドを実行します。
kubectl -n <your_namespace> apply -f rhdh-ingress.yaml
kubectl -n <your_namespace> apply -f rhdh-ingress.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次の例を使用して、Developer Hub 設定を含む
app-config-rhdhという名前の ConfigMap を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow secrets-rhdhという名前のシークレットを作成し、次の例に示すように、Base64-encoded文字列値のBACKEND_SECRETという名前のキーを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow rhdh.yamlという名前のカスタムリソース (CR) マニフェストファイルを作成し、次のように以前に作成したrhdh-pull-secretを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow CR マニフェストを namespace に適用します。
kubectl -n <your_namespace> apply -f rhdh.yaml
kubectl -n <your_namespace> apply -f rhdh.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
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.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
第2章 Helm チャートを使用した AKS への Developer Hub のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Developer Hub アプリケーションを Azure Kubernetes Service (AKS) にデプロイすると、アプリケーションのビルド、テスト、デプロイのための包括的なソリューションにアクセスできます。
前提条件
- アクティブなサブスクリプションを持つ Microsoft Azure アカウントがある。
- Azure CLI がインストールされている。
-
kubectlCLI がインストールされている。 -
kubectlを使用してクラスターにログインしており、developerまたはadmin権限を持っている。 - Helm 3 以降がインストールされている。
AKS の詳細と基本的な Developer Hub デプロイメントの比較
-
権限の問題: Developer Hub コンテナーでは、特定の操作を試行したときに権限関連のエラー (
Permission deniedなど) が発生する可能性があります。このエラーは、PodSpec.securityContextのfsGroupを調整することで解決できます。 Ingress 設定: AKS では、インストールした Developer Hub インスタンスにアクセスするために、Ingress を設定することが不可欠です。Developer Hub インスタンスにアクセスするには、次のコマンドを使用して、NGINX ベースの Ingress コントローラーであるルーティングアドオンを有効にする必要があります。
az aks approuting enable --resource-group <your_ResourceGroup> --name <your_ClusterName>
az aks approuting enable --resource-group <your_ResourceGroup> --name <your_ClusterName>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヒントAzure CLI 拡張機能
aks-previewのインストールが必要な場合があります。拡張機能が自動的にインストールされない場合は、次のコマンドを使用して手動でインストールする必要があります。az extension add --upgrade -n aks-preview --allow-preview true
az extension add --upgrade -n aks-preview --allow-preview trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記Ingress コントローラーをインストールすると、Ingress コントローラーを含む
app-routing-systemnamespace がクラスターにデプロイされます。後で Developer Hub アプリケーションにアクセスできるように、インストールした Ingress コントローラーからの Developer Hub アプリケーションのアドレス (たとえば、108.141.70.228) をメモしておきます。これは、後で<app_address>として参照されます。kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'kubectl get svc nginx --namespace app-routing-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace の管理: 次のコマンドを使用して、AKS で Developer Hub デプロイメントの専用 namespace を作成できます。
kubectl create namespace <your_namespace>
kubectl create namespace <your_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
次のコマンドを実行して AKS にログインします。
az login [--tenant=<optional_directory_name>]
az login [--tenant=<optional_directory_name>]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行してリソースグループを作成します。
az group create --name <resource_group_name> --location <location>
az group create --name <resource_group_name> --location <location>Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヒント次のコマンドを実行すると、利用可能なリージョンをリスト表示できます。
az account list-locations -o table
az account list-locations -o tableCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して AKS クラスターを作成します。
az aks create \ --resource-group <resource_group_name> \ --name <cluster_name> \ --enable-managed-identity \ --generate-ssh-keys
az aks create \ --resource-group <resource_group_name> \ --name <cluster_name> \ --enable-managed-identity \ --generate-ssh-keysCopy to Clipboard Copied! Toggle word wrap Toggle overflow 追加オプションは
--helpを参照してください。次のコマンドを実行してクラスターに接続します。
az aks get-credentials --resource-group <resource_group_name> --name <cluster_name>
az aks get-credentials --resource-group <resource_group_name> --name <cluster_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上記のコマンドは、Kubernetes クライアントを設定し、AKS クラスターを指すように
kubeconfigの現在のコンテキストを設定します。ターミナルを開き、次のコマンドを実行して Helm チャートリポジトリーを追加します。
helm repo add openshift-helm-charts https://charts.openshift.io/
helm repo add openshift-helm-charts https://charts.openshift.io/Copy to Clipboard Copied! Toggle word wrap Toggle overflow <rhdh> namespace を作成してアクティブ化します。
DEPLOYMENT_NAME=<redhat-developer-hub> NAMESPACE=<rhdh> kubectl create namespace ${NAMESPACE} kubectl config set-context --current --namespace=${NAMESPACE}DEPLOYMENT_NAME=<redhat-developer-hub> NAMESPACE=<rhdh> kubectl create namespace ${NAMESPACE} kubectl config set-context --current --namespace=${NAMESPACE}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Red Hat Ecosystem から Developer Hub イメージをプルするために使用するプルシークレットを作成します。
kubectl -n $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 $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! Toggle word wrap Toggle overflow 次のテンプレートを使用して、
values.yamlという名前のファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、Helm チャートを使用して Developer Hub をインストールします。
helm -n $NAMESPACE install -f values.yaml $DEPLOYMENT_NAME openshift-helm-charts/redhat-developer-hub --version 1.3.5
helm -n $NAMESPACE install -f values.yaml $DEPLOYMENT_NAME openshift-helm-charts/redhat-developer-hub --version 1.3.5Copy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイメントのステータスを確認します。
kubectl get deploy $DEPLOYMENT_NAME -n $NAMESPACE
kubectl get deploy $DEPLOYMENT_NAME -n $NAMESPACECopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターの Developer Hub データベースパスワードとルーターベース URL の値を使用して、Developer Hub Helm チャートのインスタンスを設定します。
PASSWORD=$(kubectl get secret redhat-developer-hub-postgresql -o jsonpath="{.data.password}" | base64 -d) CLUSTER_ROUTER_BASE=$(kubectl get route console -n openshift-console -o=jsonpath='{.spec.host}' | sed 's/^[^.]*\.//') helm upgrade $DEPLOYMENT_NAME -i "https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.3.5/redhat-developer-hub-1.3.5.tgz" \ --set global.clusterRouterBase="$CLUSTER_ROUTER_BASE" \ --set global.postgresql.auth.password="$PASSWORD"PASSWORD=$(kubectl get secret redhat-developer-hub-postgresql -o jsonpath="{.data.password}" | base64 -d) CLUSTER_ROUTER_BASE=$(kubectl get route console -n openshift-console -o=jsonpath='{.spec.host}' | sed 's/^[^.]*\.//') helm upgrade $DEPLOYMENT_NAME -i "https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.3.5/redhat-developer-hub-1.3.5.tgz" \ --set global.clusterRouterBase="$CLUSTER_ROUTER_BASE" \ --set global.postgresql.auth.password="$PASSWORD"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、実行中の Developer Hub インスタンスの URL を表示します。
echo "https://$DEPLOYMENT_NAME-$NAMESPACE.$CLUSTER_ROUTER_BASE"
echo "https://$DEPLOYMENT_NAME-$NAMESPACE.$CLUSTER_ROUTER_BASE"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
- 実行中の Developer Hub インスタンスの URL をブラウザーで開き、Developer Hub を使用します。
アップグレード
デプロイメントをアップグレードするには、次のコマンドを実行します。
helm upgrade $DEPLOYMENT_NAME -i https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.3.5/redhat-developer-hub-1.3.5.tgz
helm upgrade $DEPLOYMENT_NAME -i https://github.com/openshift-helm-charts/charts/releases/download/redhat-redhat-developer-hub-1.3.5/redhat-developer-hub-1.3.5.tgzCopy to Clipboard Copied! Toggle word wrap Toggle overflow
削除
デプロイメントを削除するには、次のコマンドを実行します。
helm -n $NAMESPACE delete $DEPLOYMENT_NAME
helm -n $NAMESPACE delete $DEPLOYMENT_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow