4.5.4.2. Red Hat Single Sign-On 承認をでの Kafka クラスターのデプロイメント
Red Hat Single Sign-On サーバーに接続するように設定された Kafka クラスターをデプロイします。サンプルのkafka-ephemeral-oauth-single-keycloak-authz.yaml
ファイルを使用して、Kafka
カスタムリソースとしてKafkaクラスタを展開します。この例では、keycloak
承認と oauth
認証を使用して単一ノードの Kafka クラスターをデプロイします。
前提条件
- Red Hat Single Sign-On 承認サーバーが OpenShift クラスターにデプロイされ、サンプルレルムでロードされている。
- Cluster Operator が OpenShift クラスターにデプロイされている。
-
AMQ Streams の
examples/security/keycloak-authorization/kafka-ephemeral-oauth-single-keycloak-authz.yaml
カスタムリソース。
手順
デプロイした Red Hat Single Sign-On インスタンスのホスト名を使用して、Kafka ブローカーのトラストストア証明書を準備し、Red Hat Single Sign-On サーバーと通信します。
SSO_HOST=SSO-HOSTNAME SSO_HOST_PORT=$SSO_HOST:443 STOREPASS=storepass echo "Q" | openssl s_client -showcerts -connect $SSO_HOST_PORT 2>/dev/null | awk ' /BEGIN CERTIFICATE/,/END CERTIFICATE/ { print $0 } ' > /tmp/sso.crt
SSO_HOST=SSO-HOSTNAME SSO_HOST_PORT=$SSO_HOST:443 STOREPASS=storepass echo "Q" | openssl s_client -showcerts -connect $SSO_HOST_PORT 2>/dev/null | awk ' /BEGIN CERTIFICATE/,/END CERTIFICATE/ { print $0 } ' > /tmp/sso.crt
Copy to Clipboard Copied! OpenShift Ingress はセキュアな (HTTPS) 接続の確立に使用されるため、証明書が必要です。
シークレットとして OpenShift に証明書をデプロイします。
oc create secret generic oauth-server-cert --from-file=/tmp/sso.crt -n $NS
oc create secret generic oauth-server-cert --from-file=/tmp/sso.crt -n $NS
Copy to Clipboard Copied! ホスト名を環境変数として設定します。
SSO_HOST=SSO-HOSTNAME
SSO_HOST=SSO-HOSTNAME
Copy to Clipboard Copied! サンプル Kafka クラスターを作成およびデプロイします。
cat examples/security/keycloak-authorization/kafka-ephemeral-oauth-single-keycloak-authz.yaml | sed -E 's#\${SSO_HOST}'"#$SSO_HOST#" | oc create -n $NS -f -
cat examples/security/keycloak-authorization/kafka-ephemeral-oauth-single-keycloak-authz.yaml | sed -E 's#\${SSO_HOST}'"#$SSO_HOST#" | oc create -n $NS -f -
Copy to Clipboard Copied!