Confluent Admin REST API の管理¶
このトピックでは、Confluent for Kubernetes (CFK)を使用して Confluent Platform を管理する際に、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 を作成します。
apiVersion: platform.confluent.io/v1beta1
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]
[1] KafkaRestClass の CR の名前。
default
にすることをお勧めします。[2] KafkaRestClass の CR の名前空間
[3] Kafka クラスターの名前
[4] Admin REST API の構成。
[5] Admin REST API エンドポイント。指定されていない場合は、CFK が、
kafka
の CR タイプを通じて、同じ名前空間で Kafka クラスターの検出を試みます。[6] 認証の種類。
basic
とbearer
がサポートされます。[7] TLS クライアントの構成。MDS が HTTPS モードで実行されているときは必須です。
[8] TLS 証明書を格納するシークレットの名前。
TLS シークレットの想定されるキーについては、「Confluent for Kubernetes でのネットワーク暗号化の構成」を参照してください。
KafkaRestClass のカスタムリソース定義(CRD)全体を確認するには、以下のコマンドを使用します。詳細については、「kubectl を使用した Confluent Platform の CRD の調査」を参照してください。
kubectl explain KafkaRestClass
Kafka クラスターエンドポイントの指定¶
デフォルトでは、CFK が、Kafka の CR を通じて同じ名前空間から Kafka クラスターの検出を試みます。
Admin REST API の構成を明示的に指定するために、2 つのメカニズムが用意されています。
同じ名前空間または異なる名前空間の
kafkaClusterRef
を使用して Kafka クラスターの CR 名を指定します。kafkaRest
を使用して REST エンドポイントの URL を指定します。同じ名前空間にない Kafka クラスターの REST エンドポイントを指定する必要がある場合は、
kafkaRest
構成を指定する必要があります。
kafkaRest の Kafka エンドポイントを使用した Kafka の検出¶
Kafka クラスターのエンドポイントは、spec.kafkaRest.endpoint
で指定します。
認証が必要な場合は、spec.kafkaRest.authentication
セクションを追加します。サポートされる認証タイプは basic
と bearer
です。
以下に例を示します。
apiVersion: platform.confluent.io/v1beta1
kind: KafkaTopic
metadata:
name: topic-a
namespace: operator
spec:
kafkaRest:
endpoint: https://kafka.operator.svc.cluster.local:8090
authentication:
kafkaClusterRef にある Kafka の CR 名を使用した Kafka の検出¶
同じ名前空間または異なる名前空間の kafkaClusterRef
を使用して Kafka クラスターの CR 名を指定します。
認証が必要な場合は、CR で spec.kafkaRest.authentication
セクションを構成します。
以下に例を示します。
apiVersion: platform.confluent.io/v1beta1
kind: KafkaTopic
metadata:
name: topic-a
namespace: operator
spec:
replicas: 3
partitionCount: 12
kafkaClusterRef:
name: kafka
namespace: operator-test
kafkaRest:
authentication:
type: basic
basic:
secretRef: mds-admin-client
Kafka の CR タイプを使用した Kafka の検出¶
トピックの CR 構成で kafkaRestClassRef
も kafkaClusterRef
も指定されていない場合、CFK が、kafka
の CR タイプを通じて同じ名前空間から Kafka クラスターの検出を試みます。
複数の Kafka クラスターが検出された場合、CFK によってログとイベントにエラーがスローされます。