Fusion 12.0 では、vctl ユーティリティは、KIND をサポートするように拡張されています。この機能強化により、KIND は、Docker コンテナの代わりに vctl コンテナをノードとして使用し、ローカルの Kubernetes クラスタを実行できるようになります。
前提条件
デフォルトで、vctl は vctl コンテナ ノードをホストするすべての CRX 仮想マシンに 2 GB のメモリを割り当てます。1 つのノード クラスタを実行している場合、Mac マシンに 2 GB の空きメモリがあることを確認します。2 つのノード クラスタを実行している場合、4 GB の空きメモリがあることを確認します。クラスタ内で構成されているノードの数が増えると、必要な空きメモリが増加します。
手順
- Mac でターミナル ウィンドウを開きます。
- vctl system start コマンドを実行して、vctl コンテナ ランタイムを起動します。
このコマンドは次の処理を実行します。
- <user home folder>/.vctl フォルダ内に、[bin] フォルダを作成します。
- [kubectl]、[kind] および [crx.vmdk] ファイルをダウンロードし、bin フォルダに保存します。
- /Applications/VMware Fusion.app/Contents/Library/vkd/bin/vctl を指す Docker のリンク ファイルを作成します。
- vctl kind コマンドを実行します。
このコマンドは次の 4 つの処理を実行します。
- <user home folder>/.vctl フォルダ内に、[bin] フォルダを作成します。
- [kubectl]、[kind] および [crx.vmdk] ファイルをダウンロードし、[bin] フォルダに保存します。
- /Applications/VMware Fusion.app/Contents/Library/vkd/bin/vctl を指す Docker のリンク ファイルを作成します。
-
<user home folder>/.vctl/bin を PATH 環境変数に追加することによって vctl ベースの KIND コンテキストを作成し、最初の検索可能なパスにします。
したがって [ターミナル] ウィンドウでは、<user home folder>/.vctl/bin フォルダ内の [kubectl/kind/docker] CLI ツールが、他の場所にインストールされている可能性のあるこれらのツールの他の既存のバージョンよりも優先されます。
- ターミナル ウィンドウを閉じると、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 コマンドはサポートされているバージョンのツールをダウンロードし、サポートされていないバージョンのツールを削除します。