Confluent Admin REST API の管理

このトピックでは、Confluent for Kubernetes (CFK)で Confluent Admin REST API エンドポイントを構成し管理する方法について説明します。

KafkaTopic のカスタムリソース(CR)を使用して Kafka のトピックを管理する場合、ConfluentRoleBinding のカスタムリソース(CR)を使用して Confluent RBAC ロールバインディングを管理する場合、またはクラスターの自動縮小機能を使用する場合は、最初に Admin REST API のカスタムリソース(CR)をセットアップして、使用する REST エンドポイントを指定する必要があります。

管理する Kafka クラスターが 1 つである場合は、同じ名前空間に、default という名前で KafkaRestClass のデフォルトの CR を作成することをお勧めします。これにより、この CR が、作成する KafkaTopic の CR または ConfluentRoleBinding の CR でデフォルトのオプションとして選択されるようになります。

KafkaRestClass の CR を複数構成すると、さまざまな Kafka クラスターにわたって、トピックとロールバインディングを管理できます。

Admin REST API の CR の作成

Admin REST API を構成するための KafkaRestClass の CR を作成します。

kind: KafkaRestClass
metadata:
  name:                          --- [1]
  namespace:                     --- [2]
spec:
  kafkaClusterRef:               --- [3]
    name:
    namespace:
  kafkaRest:                     --- [4]
    endpoint:                    --- [5]
    authentication:
      type:                      --- [6]
      basic:
      bearer:
    tls:                         --- [7]
      secretRef:                 --- [8]
      directoryPathInContainer:  --- [9]
    kafkaClusterID:              --- [10]
  • [1] KafkaRestClass の CR の名前。default にすることをお勧めします。

  • [2] KafkaRestClass の CR の名前空間。

  • [3] [5] kafkaClusterRef または kafkaRest.endpoint を使用して、Kafka クラスターを明示的に指定します。

    両方を省略すると、同じ名前空間の Kafka クラスターが使用されます。同じ名前空間に複数の Kafka クラスターがある場合、エラーが発生して CR が作成されません。

  • [3] Kafka クラスターの名前。

    認証が必要な場合は、CR で spec.kafkaRest.authentication セクションを構成します。例を次に示します。

    spec:
      kafkaClusterRef:
        name: kafka
        namespace: operator-test
      kafkaRest:
        authentication:
          type: basic
          basic:
            secretRef: mds-admin-client
    
  • [4] Admin REST API の構成。

    同じ Kubernetes クラスターにない Kafka クラスターの REST エンドポイントを指定する必要がある場合は、kafkaRest 構成を指定する必要があります。

  • [5] Admin REST API エンドポイント。指定されていない場合は、CFK が、同じ Kubernetes クラスター内で Kafka クラスターを検出しようとします。

  • [6] 認証の種類。basicbearermtls がサポートされています。

    詳細については、「基本認証」、「ベアラー認証」、「mTLS 認証」を参照してください。

    TLS 構成 [7] は、認証タイプを mtls に設定した場合に必須です。

  • [7] TLS クライアントの構成。MDS が HTTPS モードで実行されているときは必須です。secretRef または directoryPathInContainer を指定します。

  • [8] TLS 証明書を格納するシークレットの名前。

    See Confluent for Kubernetes でのネットワーク暗号化の構成 for the expected keys in the TLS secret.

  • [9] Vault によって必要な証明書が挿入されるコンテナーのディレクトリパス。

    See Confluent for Kubernetes でのネットワーク暗号化の構成 for the expected keys.

  • [10] Confluent Cloud に接続する場合に必須です。Kafka クラスターの ID。