Confluent CLI v2 への移行

重要

confluent v2.0.0confluent v2.1.0、および confluent v2.1.1 については、Windows マシンで CLI クライアント confluent の正常な動作がバグによって妨げられていることがわかりました。これを受け、修正が confluent v2.2.0 としてリリースされました。

現在 Windows マシンで confluent v2.0.0confluent v2.1.0、または confluent v2.1.1 を使用している場合は、既存のクライアントを削除して、confluent v2.2.0+ の新規インストールを実行する必要があります(Windows マシンでは、クライアント内のアップデートコマンドによって confluent v2.2.0+ にアップデートすることはできません)。ターミナルコマンド curl -sL https://cnfl.io/cli | sh -s -- -b $(dirname $(which confluent)) を使用すると、既存のクライアントを最新のリリースで上書きすることにより、クリーンインストールを実行できます。その他のインストールオプションについては、インストールガイド を参照してください。

非推奨の ccloud v1.x クライアントを現在使用している場合に、コマンド ccloud update --major を実行すると、最新バージョンの confluent にアップデートされます。ただし、このメジャーアップデートを実行する前に、以下のガイドをお読みください。

これまでは、Confluent Cloud (ccloud)と Confluent Platform (confluent)の管理に別々の CLI クライアントを使用していました。

Confluent CLI の 2 番目のメジャーバージョンである confluent v2 では、同じ CLI クライアントから Confluent Cloud と Confluent Platform の両方を管理できます。

2022 年 5 月 9 日以降、ccloud は使用できなくなり、統合された confluent クライアントには新しい機能も追加されます。

以前の CLI バージョンと同様、管理コマンドを実行するには、特定のデプロイに対する認証を先に行う必要があります。

  • Confluent Cloud デプロイを管理するには、次のコマンドを実行します。これは、以前の ccloud クライアントで使用していたものと同等です。

    confluent login
    
  • Confluent Platform デプロイを管理するには、前の confluent v1.x クライアントの場合と同じように、次のコマンドを実行します。

    confluent login --url <Metadata service URL>
    

confluent v2 の機能は、ログイン先のデプロイが Confluent Cloud と Confluent Platform のいずれであるかによって決まります。

以下では、このリリースに含まれる重大な変更と、既存の Confluent CLI から confluent v2 にアップデートする方法について説明します。重大な変更に対応するには、既存スクリプトのアップデートが必要になる場合があります。

ご質問などがございましたら、E メール(cli@confluent.io)でお問い合わせください。

重大な変更

confluent v2 には、前のメジャーリリースの構文や出力構造を使用できなくなるような変更点が含まれています。confluent v1.x または ccloud v1.x とのやり取りに使用していたスクリプトについては、これらの変更に対応できるように、アップデートが必要になる場合があります。

Confluent Cloud CLI と Confluent CLI に関する重大な変更

  1. iam roleiam rbac グループに移動されました。このため、iam roleiam rbac role になっています。
  2. rolebinding の名前が role-binding に変更され、iam rbac グループに移動されました。このため、iam rolebindingiam rbac role-binding になっています。
  3. config context グループの名前が context に変更されました。さらに、このグループ内のコマンドは、クライアントの全体的な構文パターンに合わせてアップデートされました。
    • context update は既存のコンテキストをアップデートします。
    • context describe は既存のコンテキストに関する情報を表示します。デフォルトでは現在のコンテキストが情報表示の対象であり、このコマンドは config context current を置き換えるものになります。

Confluent Cloud の重大な変更

  1. クライアント名 ccloudconfluent に変更されました。
  2. SSO のリフレッシュトークンの期限が 4 時間後に切れるようになりました。
  3. connector コマンドグループが connect に変更されました。たとえば、connector createconnect create になっています。
  4. connector-catalog グループが connect plugin に変更されました。たとえば、connector-catalog listconnect plugin list になっています。
  5. ksql app create コマンドに対して、--api-key フラグと --api-secret フラグが必須になりました。従来、これらのフラグは省略可能でした。
  6. ユーザー、サービスアカウント、クラスターの識別などに使用するリソース ID プロパティの値が、整数から英数字の文字列に変更されました。
  7. kafka topic describe の出力からパーティション情報が削除されました。
  8. kafka cluster describe コマンドの出力で、プロパティ ApiEndpoint は名前が KAPI に変更され、--all フラグが渡された場合にのみ出力されるようになりました。
  9. kafka acl コマンドグループでは、出力に含まれる以下のパラメーターの名前が Confluent REST Proxy と一致するようにアップデートされました。
    • ServiceAccountIdPrincipal
    • ResourceResourceType
    • NameResourceName
    • TypePatternType
  10. signupcloud-signup に変更されました。このコマンドにアクセスするために、Confluent Cloud の login は必要ありません。
  11. initcontext create に置き換えられました。
  12. api-key list--service-acount フラグに誤って指定したユーザー ID は、許容されなくなりました。
  13. service-account コマンドは iam グループに移動されました。このため、service-accountiam service-account になっています。
  14. user コマンドは admin グループから iam グループに移動されました。このため、admin user グループは iam user になっています。
  15. iam user list および iam service-account list で、クライアント全体の一貫性のために resource_id プロパティの名前が id に変更されました。
  16. iam user グループの inviteinvitation create になりました。これに伴い、admin user invite が iam user invitation create になりました。この変更により、作成され保留中の招待をすべて一覧表示する新しいコマンドとして、iam user invitation list が追加されました。

Confluent CLI の重大な変更

  1. secret コマンドでは認証が必須になりました。
  2. iam acl コマンドグループでは、出力に含まれる以下のパラメーターの名前が Confluent REST Proxy と一致するようにアップデートされました。
    • ResourceResourceType
    • NameResourceName
    • TypePatternType

環境変数名の変更

サポートされている環境変数の名前が次のようにアップデートされました。

  • CCLOUD_EMAILCONFLUENT_CLOUD_EMAIL
  • CCLOUD_PASSWORDCONFLUENT_CLOUD_PASSWORD
  • CONFLUENT_USERNAMECONFLUENT_PLATFORM_USERNAME
  • CONFLUENT_PASSWORDCONFLUENT_PLATFORM_PASSWORD
  • CONFLUENT_MDS_URLCONFLUENT_PLATFORM_MDS_URL
  • CONFLUENT_CA_CERT_PATHCONFLUENT_PLATFORM_CA_CERT_PATH

Confluent Cloud CLI から Confluent CLI v2.x への移行

2021 年 11 月 9 日、このクライアントの最後のマイナーバージョンとして ccloud v1.43 がリリースされます。必要に応じてパッチリリースは引き続き提供されますが、新しい機能は追加されません。

以前のいずれの ccloud バージョンで ccloud update を実行した場合も、この最終リリースにクライアントがアップデートされます。

ccloud v1.43 で次のコマンドを実行すると、最新の confluent v2.x リリースに直接アップグレードできます。

ccloud update --major

2022 年 5 月 9 日以降、ccloud は使用できなくなります。その時点で、ccloud で Confluent Cloud に対する認証を実行できなくなり、ターミナルから Confluent Cloud デプロイを管理するには、confluent v2.x クライアントへの移行が必要になります。

Confluent CLI v1.x から Confluent CLI v2.x への移行

confluent v1.x で管理できるのは Confluent Platform のみです。Confluent Platform には、互換性のあるバージョンの confluent がバンドルされています。

Confluent Platform v7.1 は、confluent v2.x クライアントとの相互運用が可能な最初のバージョンになります。このため、v7.1 より前の Confluent Platform バージョンを使用している場合は、confluent v2.x に移行しないでください。Confluent Platform と confluent との互換性の詳細については、相互運用性ガイド を参照してください。

次のコマンドを使用して、confluent v2.x から confluent v1.43 に直接アップグレードすることもできます(相互運用性を考えると、このコマンドが必要になる可能性は高くありません)。

confluent update --major

Confluent CLI v2.x の直接インストール

confluent v2.x をダウンロードして直接インストールする方法については、インストールガイド を参照してください。

複数の CLI の並列実行

Confluent Platform 7.0 以前のバージョンは、最近リリースされた confluent v2 CLI クライアントとの相互運用性が完全ではありません。ただし confluent v2 は、Confluent Cloud を管理するための最新の CLI クライアントです。

v7.1 以降の Confluent Platform には、Confluent Platform と Confluent Cloud の両方を管理できる CLI バージョンが含まれています。Confluent Platform v7.1 が使用可能になる前に、同じマシンから Confluent Platform と Confluent Cloud の両方を管理する場合は、このセクションの説明に従い、confluent v1confluent v2 を並行してセットアップし、実行してください。

たとえば、confluent v1.x クライアントを使用して Confluent Platform デプロイを管理し、confluent v2.x クライアントを使用して Confluent Cloud デプロイを管理できます。

セットアップ

confluent v1 のローカル環境をセットアップします。
  1. たとえば、Confluent Platform のパッケージに含まれていた既存の confluent クライアントがある場合は、混乱を避けるために削除します。

    rm $(which confluent)
    
  2. confluent v1 および対応する構成ファイル用のディレクトリを作成します。$PATH に含まれているディレクトリは使用しないでください。

    mkdir ~/confluent-v1/
    
  3. confluent v1 バイナリの新しいインスタンスを confluent-v1 ディレクトリにダウンロードします。

    この例では、Confluent Platform v7.0 との互換性がある confluent v1.43.1 をダウンロードします。

    詳細については、Confluent CLI と Confluent Platform の間の相互運用性情報を網羅した表 を参照してください。

    お使いの Confluent Platform バージョンと互換性がある最新の Confluent CLI バージョンを使用することをお勧めします。

    CLI のインストール手順については、「Confluent CLI のインストール」を参照してください。

    curl -sL https://cnfl.io/cli | sh -s -- -b ~/confluent-v1 v1.43.1
    
  4. confluent v1 のエイリアスを作成します。

    各セッションの前に読み込まれるように、このエイリアス定義をシェルのスタートアップファイル(.bashrc.zshrc など)に追加することを検討してください。エイリアスにより、クライアントをターミナルから簡単に使用できるようになります。また、confluent v1 構成ファイルが確実に ~/confluent-v1 ディレクトリに保存されるようになります。これにより、後でインストールする confluent v2 クライアントの構成ファイルとの競合を回避できます。

    alias confluent-v1="HOME=~/confluent-v1 ~/confluent-v1/confluent"
    
  5. ~/confluent-v1 ディレクトリに構成ファイルが作成されていることを確認します。

    confluent-v1 version
    
    ls ~/confluent-v1/.confluent/config.json
    
  6. このバージョンのアップデートメッセージを無効にします。

    echo '{"disable_updates": true}' > ~/confluent-v1/.confluent/config.json
    
confluent v2 をグローバルに設定します。
  1. confluent v2 の最新バージョンをダウンロードします。

    curl -sL https://cnfl.io/cli | sh -s -- -b /usr/local/bin
    
  2. $PATHconfluent v2 を追加します。

    export PATH="/usr/local/bin:$PATH"
    
  3. これまで Confluent Cloud の管理に ccloud クライアント(現在は非推奨となっている)を使用していた場合は、必要に応じて、そのクライアントを削除できます。

    rm $(which ccloud)
    

CLI の並列実行

Confluent Platform を confluent v1 で管理するには、次の手順に従います。

confluent-v1 login --url <mds-url>
confluent-v1 [command]

詳細については、RBAC が有効な Confluent Platform クラスターにログインする方法 を参照してください。

Confluent Cloud を confluent v2 で管理するには、次の手順に従います。

confluent login
confluent [command]

詳細については、「Confluent Cloud クラスターへの接続方法」を参照してください。