1.4. Amazon Web Services で Helm を使用して Trusted Profile Analyzer をインストールする
Red Hat の Helm チャートを使用して、Red Hat の Trusted Profile Analyzer (RHTPA) サービスを OpenShift にインストールできます。この手順では、Helm のカスタマイズされた値ファイルを使用して Amazon Web Services (AWS) を RHTPA と統合する方法を説明します。
インストール後にシークレット値が変更されると、OpenShift は RHTPA を再デプロイします。
前提条件
バージョン 4.16 以降を実行している Red Hat OpenShift Container Platform クラスター。
- HTTPS を使用する公的に信頼された証明書を提供するための Ingress リソースのサポート。
- Helm バージョン 3.17 以上。
- Helm の Transport Layer Security (TLS) 証明書のプロビジョニング 機能。
次のサービスにアクセスできる AWS アカウント:
- Simple Storage Service (S3)
- PostgreSQL データベースインスタンスを使用するリレーショナルデータベースサービス (RDS)。
- 既存の Cognito ドメインを使用する Cognito。
次の バージョンなし の S3 バケット名が 作成されている。
-
trustify-UNIQUE_ID
重要このバケット名は、同じパーティション内のすべての AWS リージョンのすべての AWS アカウント間で一意である必要があります。バケットの命名規則 の詳細は、Amazon の S3 ドキュメントを参照してください。
-
-
cluster-adminロールでの OpenShift Web コンソールへのアクセス。 -
ocおよびhelmバイナリーがインストールされたワークステーションがある。
手順
ワークステーションでターミナルを開き、コマンドラインインターフェイスを使用して OpenShift にログインします。
oc login --token=TOKEN --server=SERVER_URL_AND_PORT$ oc login --token=sha256~ZvFDBvoIYAbVECixS4-WmkN4RfnNd8Neh3y1WuiFPXC --server=https://example.com:6443注記OpenShift Web コンソールからコマンドラインで使用するログイントークンと URL を確認できます。OpenShift Web コンソールにログインします。ユーザー名をクリックし、Copy login command をクリックします。ユーザー名とパスワードをもう一度入力し、Display Token をクリックしてコマンドを表示します。
RHTPA デプロイメントの新規プロジェクトを作成します。
oc new-project PROJECT_NAME$ oc new-project trusted-profile-analyzer新規ファイルを開いて編集します。
$ vi values-rhtpa.yaml-
RHTPA 値ファイルテンプレート をコピーして、新しい
values-rhtpa.yamlファイルに貼り付けます。 関連する AWS 情報を使用して
values-rhtpa.yamlファイルを更新します。- REGION、USER_POOL_ID、および FRONTEND_CLIENT_ID および CLI_CLIENT_ID は、関連する Amazon Cognito 情報に置き換えます。この情報は、AWS Cognito Console の User pool overview セクションで確認できます。
-
UNIQUE_ID を、
trustify-S3 バケットの一意のバケット名に置き換えます。 - ファイルを保存して、エディターを終了します。
AWS 認証情報を使用して、S3 ストレージシークレットリソースを作成します。
apiVersion: v1 kind: Secret metadata: name: storage-credentials namespace: PROJECT_NAME type: Opaque data: aws_access_key_id: AWS_ACCESS_KEY aws_secret_access_key: AWS_SECRET_KEY$ cat <<EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: storage-credentials namespace: trusted-profile-analyzer type: Opaque data: aws_access_key_id: RHTPASTORAGE1EXAMPLE aws_secret_access_key: xBalrKUtnFEMI/K7RDENG/aPxRfzCYEXAMPLEKEY EOFOpenID Connect (OIDC) クライアントシークレットリソースを作成します。
apiVersion: v1 kind: Secret metadata: name: oidc-cli namespace: PROJECT_NAME type: Opaque data: client-secret: SECRET$ cat <<EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: oidc-cli namespace: trusted-profile-analyzer type: Opaque data: client-secret: 5460cc91-4e20-4edd-881c-b15b169f8a79 EOFAmazon RDS 認証情報を使用して、2 つの PostgreSQL データベースシークレットリソースを作成します。
PostgreSQL 標準ユーザーシークレットリソース:
apiVersion: v1 kind: Secret metadata: name: postgresql-credentials namespace: PROJECT_NAME type: Opaque data: db.host: DB_HOST db.name: DB_NAME db.user: USERNAME db.password: PASSWORD db.port: PORT$ cat <<EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: postgresql-credentials namespace: trusted-profile-analyzer type: Opaque data: data: db.host: rds.us-east-1.amazonaws.com db.name: rhtpadb db.user: jdoe db.password: example1234 db.port: 5432 EOFPostgreSQL 管理者シークレットリソース:
apiVersion: v1 kind: Secret metadata: name: postgresql-admin-credentials namespace: PROJECT_NAME type: Opaque data: db.host: DB_HOST db.name: DB_NAME db.user: USERNAME db.password: PASSWORD db.port: PORT$ cat <<EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: postgresql-admin-credentials namespace: trusted-profile-analyzer type: Opaque data: data: db.host: rds.us-east-1.amazonaws.com db.name: rhtpadb db.user: admin db.password: example1234 db.port: 5432 EOF- AWS マネジメントコンソールから、ポート 5432 を許可するように Amazon Virtual Private Cloud (VPC) security group を設定します。
新規ファイルを開いて編集します。
$ vi values-importers.yaml-
RHTPA インポーター値ファイルテンプレート をコピーして、新しい
values-importers.yamlファイルに貼り付けます。 - ファイルを保存して、エディターを終了します。
-
RHTPA インポーター値ファイルテンプレート をコピーして、新しい
シェル環境を設定します。
$ export NAMESPACE=trusted-profile-analyzer $ export APP_DOMAIN_URL=-$NAMESPACE.$(oc -n openshift-ingress-operator get ingresscontrollers.operator.openshift.io default -o jsonpath='{.status.domain}')OpenShift Helm チャートリポジトリーを追加します。
$ helm repo add openshift-helm-charts https://charts.openshift.io/Helm チャートリポジトリーから最新のチャート情報を取得します。
$ helm repo updateHelm チャートを実行します。
helm upgrade --install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values PATH_TO_VALUES_FILE --values PATH_TO_IMPORTER_VALUES_FILE --set-string appDomain=$APP_DOMAIN_URL$ helm upgrade --install redhat-trusted-profile-analyzer openshift-helm-charts/redhat-trusted-profile-analyzer -n $NAMESPACE --values values-rhtpa.yaml --values values-importers.yaml --set-string appDomain=$APP_DOMAIN_URL注記この Helm チャートを何度も実行して、値ファイルから現在設定されている状態を適用できます。
インストールが完了したら、OIDC プロバイダーからのユーザー認証情報を使用して RHTPA コンソールにログインできます。次のコマンドを実行すると、RHTPA コンソール URL を見つけることができます。
$ oc -n $NAMESPACE get route --selector app.kubernetes.io/name=server -o jsonpath='https://{.items[0].status.ingress[0].host}{"\n"}'