Confluent for Kubernetes のデプロイ¶
Confluent for Kubernetes (CFK)バンドルには、Confluent Platform を Kubernetes クラスターにデプロイするための Helm チャート、テンプレート、スクリプトが用意されています。
以下のいずれかの方法を使用して CFK をデプロイできます。
CFK と連携動作するためのオプションの Confluent プラグインは、以下のいずれかの方法でインストールできます。
Confluent の Helm リポジトリからの Confluent for Kubernetes のデプロイ¶
Helm リポジトリを追加します。
helm repo add confluentinc https://packages.confluent.io/helm
helm repo update
デフォルトの構成を使用して CFK をインストールします。
helm upgrade --install confluent-operator \ confluentinc/confluent-for-kubernetes \ --namespace <namespace>
ダウンロードバンドルを使用した Confluent for Kubernetes のデプロイ¶
次のコマンドを使用して CFK バンドルをダウンロードし、ダウンロードしたバンドルを展開します。
curl -O https://confluent-for-kubernetes.s3-us-west-1.amazonaws.com/confluent-for-kubernetes-2.2.2.tar.gz
CFK バンドルをダウンロードした
helm
サブディレクトリから CFK をインストールします。helm upgrade --install confluent-operator \ ./confluent-for-kubernetes \ --namespace <namespace>
カスタマイズした Confluent for Kubernetes のデプロイ¶
CFK の構成は、インストールまたはアップデート時にカスタマイズできます。CFK は helm
を使用してインストールおよびアップデートされるため、CFK 構成のカスタマイズ方法は helm
に従います。つまり、以下が可能です。
--values
または-f
フラグ経由でhelm
コマンドに渡すことができる構成値を YAML ファイルで設定する--set
、--set-string
、および--set-file
フラグ経由で構成値をkey=value
ペアとしてhelm
コマンドで直接設定する- 上記の 2 つの方法を組み合わせて、構成の一部を値ファイルで設定し、残りを、
--set
フラグを使用してコマンドラインで設定する
これらのフラグの詳細については、Helm のドキュメントを参照してください。
- CFK の
values.yaml
ファイルを使用して、カスタマイズされた Confluent for Kubernetes をデプロイするには、以下の手順を実行します。 デフォルトの
values.yaml
ファイルを見つけます。Helm リポジトリを使用して CFK をデプロイする場合は、CFK チャートをプルします。
mkdir -p <CFK-home> helm pull confluentinc/confluent-for-kubernetes \ --untar \ --untardir=<CFK-home> \ --namespace <namespace>
values.yaml
ファイルは<CFK-home>/confluent-for-kubernetes
ディレクトリにあります。ダウンロードバンドルを使用して CFK をデプロイしている場合は、バンドルをダウンロードした場所の
helm/confluent-for-kubernetes
ディレクトリにvalues.yaml
ファイルがあります。
values.yaml
ファイルのコピーを作成して、CFK の構成をカスタマイズします。デフォルトのvalues.yaml
ファイルは編集しないでください。任意の場所にファイルのコピーを保存します。この場所を<path-to-values-file>
とします。カスタマイズした構成を使用して CFK をインストールします。
helm upgrade --install confluent-operator \ confluentinc/confluent-for-kubernetes \ --values <path-to-values-file> \ --namespace <namespace>
helm upgrade
コマンドを使用して、カスタマイズされた Confluent for Kubernetes をデプロイするには、以下の手順を実行します。--set
フラグを使用して、次のように構成オプションを指定します。helm upgrade --install confluent-operator \ confluentinc/confluent-for-kubernetes \ --set <setting1>=<value1> \ --set <setting2>=<value2> \ ... --namespace <namespace>
すべての名前空間で Confluent Platform コンポーネントを管理するための CFK の構成¶
デフォルトで CFK は、CFK 自体がデプロイされている同じ Kubernetes 名前空間のみで、Confluent Platform コンポーネントクラスターおよびリソースをデプロイし、管理します。すべての名前空間で CFK が Confluent Platform リソースを管理できるようにするには、インストールコマンドで namespaced
構成プロパティを false
に設定します。
helm upgrade --install confluent-operator \
confluentinc/confluent-for-kubernetes \
--set namespaced=false \
--namespace <namespace>
または、上記のように values.yaml
ファイルをアップデートして、次のプロパティを設定します。
namespaced: false
ロールとロールバインディングを作成しない Confluent for Kubernetes のデプロイ¶
デフォルトでは利便性のために、helm
を使用して CFK をデプロイする際に、CFK が機能するために必要な Kubernetes のロールおよびロールバインディング(または、クラスターロールとクラスターロールバインディング)も helm
インストールによって同時に作成されます。ただし、CFK のデプロイを担当するユーザーに Kubernetes RBAC アクセス許可を管理する権限がない可能性があり、その場合は helm
インストールは失敗します。Kubernetes RBAC アクセス許可を管理する責任者が Kubernetes クラスター管理者のみである可能性もあります。このような状況では、Kubernetes クラスター管理者が、必要な RBAC リソースを事前に作成しておく必要があります(「Confluent Platform 用の Kubernetes クラスターの準備」を参照)。helm
に RBAC リソースの再作成をスキップさせるには、インストールコマンドに --set rbac=false
を追加します。
helm upgrade --install confluent-operator \
confluentinc/confluent-for-kubernetes \
--set rbac=false \
--namespace <namespace>
または、上記のように values.yaml
ファイルをアップデートして、次のプロパティを設定します。
rbac: false
カスタムサービスアカウントを指定した Confluent for Kubernetes のデプロイ¶
CFK を管理するカスタムサービスアカウントを指定するには、次のようにインストールコマンドに --set serviceAccount.create=false --set serviceAccount.name=<name>
を追加します。
helm upgrade --install confluent-operator \
confluentinc/confluent-for-kubernetes \
--set serviceAccount.create=false \
--set serviceAccount.name=<service-account-name> \
--namespace <namespace>
または、上記のように values.yaml
ファイルをアップデートして、次のプロパティを設定します。
serviceAccount:
create: false
name: <service-account-name>
カスタムサービスアカウントを使用し、さらに rbac=false
を設定した(つまり、ロールおよびロールバインディングが Kubernetes クラスター管理者によって事前に作成されている)場合は、<service-account-name>>
が、事前に作成されたロールバインディングのサブジェクト名に必ず一致するようにする必要があります。
Confluent プラグインのインストール¶
Confluent for Kubernetes (CFK)バンドルには、Confluent for Kubernetes とやり取りするための Confluent プラグインが含まれています。これは Linux、Windows、Darwin の 3 つの環境でサポートされます。ツールの詳細については、「Confluent プラグイン」を参照してください。
Helm リポジトリを使用して CFK をデプロイしている場合は、「ダウンロードバンドルを使用した Confluent for Kubernetes のデプロイ」の最初の手順の説明に従って、CFK バンドルをダウンロードし、展開する必要があります。
ダウンロードバンドルを使用した Confluent for Kubernetes のデプロイ を使用した場合は、この手順をスキップしてください。
使用しているクライアント環境である Linux、Windows、Mac OS(Darwin)に対応する
kubectl
プラグインを、クライアント環境のローカルの実行ディレクトリに展開します。Mac OS と Linux の場合、/usr/local/bin/
がそれに該当します。これによって、標準 CLIkubectl
からプラグインが見えるようになります。tar -xvf kubectl-plugin/kubectl-confluent-<environment>-amd64.tar.gz \ -C <local directory for the plugin>
たとえば、Mac OS では次のように指定します。
tar -xvf kubectl-plugin/kubectl-confluent-darwin-amd64.tar.gz \ -C /usr/local/bin/
Krew を使用した Confluent プラグインのインストール¶
Krew は、kubectl
のプラグインマネージャーです。Krew を使用して Confluent プラグインをインストールする場合は、以下の手順に従ってください。
Krew のユーザーガイド の説明に従って Krew をインストールします。
Helm リポジトリを使用して CFK をデプロイしている場合は、「ダウンロードバンドルを使用した Confluent for Kubernetes のデプロイ」の最初の手順の説明に従って、CFK バンドルをダウンロードし、展開する必要があります。
ダウンロードバンドルを使用した Confluent for Kubernetes のデプロイ を使用した場合は、この手順をスキップしてください。
CFK バンドルの展開先ディレクトリにある
kubectl-plugin
サブディレクトリに移動します。次のコマンドを使用して Confluent プラグインをインストールします。
kubectl krew install \ --manifest=confluent-platform.yaml \ --archive=kubectl-confluent-<environment>-amd64.tar.gz
たとえば、プラグインを MacOS にインストールするには、次のように入力します。
kubectl krew install \ --manifest=confluent-platform.yaml \ --archive=kubectl-confluent-darwin-amd64.tar.gz