デプロイ後タスク
適用対象: ✔️ Linux VM ✔️ フレキシブルなスケール セット
OpenShift クラスターをデプロイした後に、追加の項目を構成することができます。 この記事には、次の内容が含まれます。
- Azure Active Directory (Azure AD) を使用してシングル サインオンを構成する方法
- OpenShift を監視する Azure Monitor ログを構成する方法
- メトリックとログを構成する方法
- Open Service Broker for Azure (OSBA) をインストールする方法
Azure Active Directory を使用してシングル サインオンを構成する
認証に Azure Active Directory を使用するには、まず Azure AD アプリの登録を作成する必要があります。 このプロセスには、アプリの登録の作成とアクセス許可の構成という 2 つの手順があります。
アプリの登録を作成する
以下の手順では、Azure CLI を使用してアプリの登録を作成し、GUI (Portal) を使用してアクセス許可を設定します。 アプリの登録を作成するには、次の 5 つの情報が必要です。
- 表示名: アプリの登録名 (例: OCPAzureAD)
- ホーム ページ: OpenShift コンソール URL (例:
https://masterdns343khhde.westus.cloudapp.azure.com/console
) - 識別子 URI: OpenShift コンソール URL (例:
https://masterdns343khhde.westus.cloudapp.azure.com/console
) - 応答 URL: マスター パブリック URL とアプリの登録名 (例:
https://masterdns343khhde.westus.cloudapp.azure.com/oauth2callback/OCPAzureAD
) - パスワード: セキュリティで保護されたパスワード (強力なパスワードを使用する)
次の例では、上記の情報を使用してアプリの登録を作成します。
az ad app create --display-name OCPAzureAD --homepage https://masterdns343khhde.westus.cloudapp.azure.com/console --reply-urls https://masterdns343khhde.westus.cloudapp.azure.com/oauth2callback/hwocpadint --identifier-uris https://masterdns343khhde.westus.cloudapp.azure.com/console --password {Strong Password}
コマンドが成功すると、次のような JSON が出力されます。
{
"appId": "12345678-ca3c-427b-9a04-ab12345cd678",
"appPermissions": null,
"availableToOtherTenants": false,
"displayName": "OCPAzureAD",
"homepage": "https://masterdns343khhde.westus.cloudapp.azure.com/console",
"identifierUris": [
"https://masterdns343khhde.westus.cloudapp.azure.com/console"
],
"objectId": "62cd74c9-42bb-4b9f-b2b5-b6ee88991c80",
"objectType": "Application",
"replyUrls": [
"https://masterdns343khhde.westus.cloudapp.azure.com/oauth2callback/OCPAzureAD"
]
}
後の手順のために、コマンドから返された appId プロパティを書き留めます。
Azure portal で次の操作を行います。
[Azure Active Directory]>[アプリの登録] の順に選択します。
アプリの登録を検索します (例: OCPAzureAD)。
結果のアプリの登録をクリックします。
[設定] の [必要なアクセス許可] を選択します
[必要なアクセス許可] の [追加] を選択します。
[手順 1: API の選択]、[Windows Azure Active Directory (Microsoft.Azure.ActiveDirectory)] の順にクリックします。 下部にある [選択] をクリックします。
[手順 2: アクセス許可の選択] で、[委任されたアクセス許可] の [サインインとユーザー プロファイルの読み取り] を選択し、[選択] をクリックします。
[完了] を選択します。
Azure AD 認証用に OpenShift を構成する
認証プロバイダーとして Azure AD を使用するように OpenShift を構成するには、すべてのマスター ノードで /etc/origin/master/master-config.yaml ファイルを編集する必要があります。
テナント ID を確認するには、次の CLI コマンドを使用します。
az account show
yaml ファイルで、次の行を探します。
oauthConfig:
assetPublicURL: https://masterdns343khhde.westus.cloudapp.azure.com/console/
grantConfig:
method: auto
identityProviders:
- challenge: true
login: true
mappingMethod: claim
name: htpasswd_auth
provider:
apiVersion: v1
file: /etc/origin/master/htpasswd
kind: HTPasswdPasswordIdentityProvider
これらの行の真上に次の行を挿入します。
- name: <App Registration Name>
challenge: false
login: true
mappingMethod: claim
provider:
apiVersion: v1
kind: OpenIDIdentityProvider
clientID: <appId>
clientSecret: <Strong Password>
claims:
id:
- sub
preferredUsername:
- unique_name
name:
- name
email:
- email
urls:
authorize: https://login.microsoftonline.com/<tenant Id>/oauth2/authorize
token: https://login.microsoftonline.com/<tenant Id>/oauth2/token
identityProviders の下にテキストを正確に揃えて配置します。 テナント ID を確認するには、次の CLI コマンドを使用します。az account show
すべてのマネージャーで OpenShift マスター サービスを再起動します。
sudo /usr/local/bin/master-restart api
sudo /usr/local/bin/master-restart controllers
OpenShift Console に、認証のオプションが 2 つ表示されるようになります (htpasswd_auth と [アプリの登録])。
Azure Monitor ログを使用して OpenShift を監視する
OpenShift に Log Analytics エージェントを追加するには 3 つの方法があります。
- OpenShift の各ノードに直接 Log Analytics エージェント for Linux をインストールする
- OpenShift の各ノードで Azure Monitor VM 拡張機能を有効にする
- Log Analytics エージェントを OpenShift デーモン セットとしてインストールする
詳細については、手順全体を参照してください。
メトリックとログを構成する
OpenShift Container Platform および OKD 用の Azure Resource Manager テンプレートは、ブランチに基づいて、インストールの一部としてメトリックとログ記録を有効にするための入力パラメーターを提供します。
OpenShift Container Platform Marketplace オファーでは、クラスターのインストール時のメトリックとログ記録を有効にすることもできます。
クラスターのインストール時にメトリック/ログ記録を有効にしなかった場合でも、後から簡単に有効にできます。
使用中の Azure クラウド プロバイダー
デプロイ時に指定された資格情報を使用し、(使用しているテンプレートとブランチに応じて) 踏み台ノードまたは最初のマスター ノードに SSH を実行します。 次のコマンドを実行します。
ansible-playbook /usr/share/ansible/openshift-ansible/playbooks/openshift-metrics/config.yml \
-e openshift_metrics_install_metrics=True \
-e openshift_metrics_cassandra_storage_type=dynamic
ansible-playbook /usr/share/ansible/openshift-ansible/playbooks/openshift-logging/config.yml \
-e openshift_logging_install_logging=True \
-e openshift_logging_es_pvc_dynamic=true
使用中ではない Azure クラウド プロバイダー
ansible-playbook /usr/share/ansible/openshift-ansible/playbooks/openshift-metrics/config.yml \
-e openshift_metrics_install_metrics=True
ansible-playbook /usr/share/ansible/openshift-ansible/playbooks/openshift-logging/config.yml \
-e openshift_logging_install_logging=True
Open Service Broker for Azure (OSBA) をインストールする
Open Service Broker for Azure (OSBA) を使用して、OpenShift から Azure Cloud Services を直接プロビジョニングすることができます。 OSBA は、Azure 用の Open Service Broker API の実装です。 Open Service Broker API は、クラウド ネイティブ アプリケーションがロックインなしでクラウド サービスの管理に使用できるクラウド プロバイダー用の共通言語を定義した仕様です。
OpenShift に OSBA をインストールするには、こちらの手順に従います: https://github.com/Azure/open-service-broker-azure#openshift-project-template。
注意
OpenShift プロジェクト テンプレートのセクションの手順のみを実行し、インストールのセクション全体は実行しないでください。