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 カスタムリソース。

手順

  1. デプロイした 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

    OpenShift Ingress はセキュアな (HTTPS) 接続の確立に使用されるため、証明書が必要です。

  2. シークレットとして OpenShift に証明書をデプロイします。

    oc create secret generic oauth-server-cert --from-file=/tmp/sso.crt -n $NS
  3. ホスト名を環境変数として設定します。

    SSO_HOST=SSO-HOSTNAME
  4. サンプル 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 -