Fusion 12.0 では、vctl ユーティリティは、KIND をサポートするように拡張されています。この機能強化により、KIND は、Docker コンテナの代わりに vctl コンテナをノードとして使用し、ローカルの Kubernetes クラスタを実行できるようになります。

前提条件

デフォルトで、vctlvctl コンテナ ノードをホストするすべての CRX 仮想マシンに 2 GB のメモリを割り当てます。1 つのノード クラスタを実行している場合、Mac マシンに 2 GB の空きメモリがあることを確認します。2 つのノード クラスタを実行している場合、4 GB の空きメモリがあることを確認します。クラスタ内で構成されているノードの数が増えると、必要な空きメモリが増加します。

手順

  1. Mac でターミナル ウィンドウを開きます。
  2. vctl system start コマンドを実行して、vctl コンテナ ランタイムを起動します。
    このコマンドは次の処理を実行します。
    1. <user home folder>/.vctl フォルダ内に、[bin] フォルダを作成します。
    2. [kubectl][kind] および [crx.vmdk] ファイルをダウンロードし、bin フォルダに保存します。
    3. /Applications/VMware Fusion.app/Contents/Library/vkd/bin/vctl を指す Docker のリンク ファイルを作成します。
  3. vctl kind コマンドを実行します。
    このコマンドは次の 4 つの処理を実行します。
    1. <user home folder>/.vctl フォルダ内に、[bin] フォルダを作成します。
    2. [kubectl][kind] および [crx.vmdk] ファイルをダウンロードし、[bin] フォルダに保存します。
    3. /Applications/VMware Fusion.app/Contents/Library/vkd/bin/vctl を指す Docker のリンク ファイルを作成します。
    4. <user home folder>/.vctl/bin を PATH 環境変数に追加することによって vctl ベースの KIND コンテキストを作成し、最初の検索可能なパスにします。

      したがって [ターミナル] ウィンドウでは、<user home folder>/.vctl/bin フォルダ内の [kubectl/kind/docker] CLI ツールが、他の場所にインストールされている可能性のあるこれらのツールの他の既存のバージョンよりも優先されます。

  4. ターミナル ウィンドウを閉じると、vctl ベースの KIND コンテキストは失われます。

    次回 Kubernetes クラスタを操作するときは、vctl kind コマンドを実行します。

    注:
    • vctl は kind build コマンドをサポートしていません。
    • デフォルトで、vctl は、ノード コンテナをホストする CRX 仮想マシンに 2 GB のメモリと 2 つの CPU コアを割り当てます。vctl system config コマンドの --k8s-cpus および --k8s-mem オプションを使用して、構成をカスタマイズできます。
    • 各 Fusion のバージョンでは、特定のバージョンの kind CLI および kubectl CLI ツールのみがサポートされています。たとえば、
      • Fusion 12.0.0 は、kind v0.8.1 および kubectl v1.18.6 をサポートしています。
      • Fusion 12.1.0 は、kind v0.9.0 および kubectl v1.19.1 をサポートしています。
      Fusion 12.1.0 の vctl ユーティリティには、kind および kubectl CLI ツールのバージョン チェックが導入されています。vctl system start または vctl kind コマンドを実行するときに、<user home folder>/.vctl/bin フォルダに kind または kubectl CLI ツールがすでに存在し、そのバージョンが現在の Fusion のバージョンでサポートされている場合、vctl コマンドはツールを再度ダウンロードしません。バージョンが現在の Fusion のバージョンでサポートされていない場合、vctl コマンドはサポートされているバージョンのツールをダウンロードし、サポートされていないバージョンのツールを削除します。