このトピックでは、Tanzu CLI を使用してパッケージとパッケージ リポジトリをインストールおよび管理する方法について説明します。
注
tanzu packageCLI プラグインは、CLI で管理されるパッケージのみを対象としています。このトピックに記載されているコマンドを使用して、自動管理パッケージをインストールおよび管理しないでください。ライフサイクルは、Tanzu Kubernetes Grid によって自動的に管理されます。自動管理パッケージの詳細については、「自動管理パッケージ」を参照してください。
standard パッケージ リポジトリから CLI で管理されるパッケージをインストールする前に、次の手順を実行します。
tanzu-standard パッケージ リポジトリを追加します。プランベースのクラスタ(レガシー)をターゲットとする場合は、この手順をスキップします。プランベースのクラスタの場合は、tanzu-standard パッケージ リポジトリは、すべてのクラスタの tanzu-package-repo-global 名前空間で自動的に有効になります。Tanzu CLI を使用してパッケージをインストールおよび管理する方法については、以下のセクションを参照してください。
パッケージ リポジトリ:次の操作を行う場合は、このセクションを参照してください。
パッケージ:次の操作を行う場合は、このセクションを参照してください。
tanzu package コマンドの詳細については、「tanzu package」を参照してください。
パッケージ リポジトリとパッケージは、選択した名前空間にインストールします。--namespace オプションを設定しない場合、Tanzu CLI は default 名前空間をターゲットにします。
パッケージ サービスのコンポーネントは、パッケージ自体が展開される場所とは別のシステム名前空間で実行されます。たとえば、Contour および Envoy コンポーネントは tanzu-system-ingress 名前空間で実行され、Harbor コンポーネントは tanzu-system-registry 名前空間で実行されます。
tanzu-system- 名前空間にパッケージをインストールしないでください。
以下のセクションでは、パッケージ リポジトリを一覧表示、追加、更新、および削除する方法について説明します。
tanzu package repository list コマンドは、ターゲット クラスタで使用可能なすべてのパッケージ リポジトリを一覧表示します。このリストには、tanzu package repository add コマンドを実行してターゲット クラスタに追加されたパッケージ リポジトリが含まれます。クラスタにパッケージ リポジトリを追加するには、以下の「パッケージ リポジトリの追加」を参照してください。
ターゲット クラスタ内のすべての名前空間のパッケージ リポジトリを一覧表示するには、次のコマンドを実行します。
tanzu package repository list -A
特定の名前空間内のパッケージ リポジトリを一覧表示するには、次のコマンドを実行します。
tanzu package repository list -n NAMESPACE
ここで、NAMESPACE はターゲット名前空間です。default 以外の名前空間内のパッケージ リポジトリを一覧表示する場合は、--namespace または -n オプションが必要です。
default 名前空間内のパッケージ リポジトリを一覧表示するには、次のコマンドを実行することもできます。
tanzu package repository list
tanzu package repository get コマンドは、パッケージ リポジトリの詳細を取得します。
パッケージ リポジトリの詳細を取得するには、次のコマンドを実行します。
tanzu package repository get REPOSITORY-NAME -n REPOSITORY-NAMESPACE
ここで、
REPOSITORY-NAME は、ターゲット クラスタ内のパッケージ リポジトリの名前です。REPOSITORY-NAMESPACE は、ターゲット クラスタ内のパッケージ リポジトリの名前空間です。tanzu package repository add コマンドを実行すると、パッケージ リポジトリが追加されます。
パッケージ リポジトリをターゲット クラスタに追加するには、次のコマンドを実行します。
tanzu package repository add REPOSITORY-NAME --url REPOSITORY-URL -n REPOSITORY-NAMESPACE
ここで、
REPOSITORY-NAME は、パッケージ リポジトリ用に選択した名前です。REPOSITORY-URL は、パッケージ リポジトリの OCI レジストリ URL です。
projects.registry.vmware.com/tce 以下に置くことはできません。REPOSITORY-NAMESPACE は、パッケージ リポジトリのターゲット名前空間です。このオプションが指定されていない場合、Tanzu CLI はパッケージ リポジトリを default 名前空間に追加します。たとえば、Tanzu Kubernetes Grid に含まれている CLI で管理されるパッケージを含む standard パッケージ リポジトリを追加するには、次のコマンドを実行します。standard パッケージ リポジトリのターゲット --namespace は、tkg-system です。
注プランベースのクラスタ(レガシー)をターゲットとする場合は、この手順をスキップします。プランベースのクラスタの場合は、
tanzu-standardパッケージ リポジトリは、すべてのクラスタのtanzu-package-repo-global名前空間で自動的に有効になります。
tanzu package repository add tanzu-standard --url projects.registry.vmware.com/tkg/packages/standard/repo:v2.1.1 --namespace tkg-system
tanzu package repository update コマンドは、URL で公開された新しいバージョンを使用してパッケージ リポジトリを更新します。
ターゲット クラスタ内のパッケージ リポジトリを更新するには、次のコマンドを実行します。
tanzu package repository update REPOSITORY-NAME --url REPOSITORY-URL -n REPOSITORY-NAMESPACE
ここで、
REPOSITORY-NAME は、クラスタ内のパッケージ リポジトリの名前です。REPOSITORY-URL はパッケージ リポジトリの新しい URL です。URL にパッケージ リポジトリ タグを指定しない場合、システムは最新の Tanzu Kubernetes Grid リリースのパッケージ リポジトリ タグを使用します。REPOSITORY-NAMESPACE は、クラスタ内のパッケージ リポジトリの名前空間です。tanzu package repository delete コマンドを実行すると、パッケージ リポジトリが削除されます。ターゲット クラスタからパッケージ リポジトリを削除するには、次のコマンドを実行します。
tanzu package repository delete REPOSITORY-NAME -n REPOSITORY-NAMESPACE
ここで、
REPOSITORY-NAME はパッケージ リポジトリの名前です。REPOSITORY-NAMESPACE はパッケージ リポジトリの名前空間です。以下のセクションでは、パッケージを一覧表示、インストール、更新、および削除する方法について説明します。
tanzu package available list コマンドを実行すると、使用可能なすべてのパッケージとパッケージ バージョンが一覧表示されます。
使用可能なパッケージの一覧表示:
ターゲット クラスタ内のすべての名前空間で使用可能なパッケージを一覧表示するには、次のコマンドを実行します。
tanzu package available list -A
特定の名前空間で使用可能なパッケージを一覧表示するには、次のコマンドを実行します。
tanzu package available list -n NAMESPACE
ここで、NAMESPACE は、使用可能なパッケージのリストを取得する名前空間です。default 名前空間で使用可能なパッケージを一覧表示するには、次のコマンドを実行することもできます。
tanzu package available list
使用可能なパッケージ バージョンの一覧表示:
ターゲット クラスタ内のすべての名前空間のパッケージで使用可能なパッケージ バージョンを一覧表示するには、次のコマンドを実行します。
tanzu package available list AVAILABLE-PACKAGE-NAME -A
ここで、AVAILABLE-PACKAGE-NAME は、tanzu package available list コマンドを実行して取得したパッケージ名です。
特定の名前空間内のパッケージで使用可能なパッケージ バージョンを一覧表示するには、次のコマンドを実行します。
tanzu package available list AVAILABLE-PACKAGE-NAME -n AVAILABLE-PACKAGE-NAMESPACE
ここで、
AVAILABLE-PACKAGE-NAME は、tanzu package available list コマンドを実行して取得したパッケージ名です。AVAILABLE-PACKAGE-NAMESPACE は、使用可能なパッケージの名前空間です。default 名前空間内のパッケージで使用可能なパッケージ バージョンを一覧表示するには、次のコマンドを実行することもできます。
tanzu package available list AVAILABLE-PACKAGE-NAME
tanzu package available get コマンドは、使用可能なパッケージの詳細を取得します。
使用可能なパッケージの詳細を取得するには、次のコマンドを実行します。
tanzu package available get AVAILABLE-PACKAGE-NAME -n AVAILABLE-PACKAGE-NAMESPACE
または:
tanzu package available get AVAILABLE-PACKAGE-NAME/AVAILABLE-PACKAGE-VERSION -n AVAILABLE-PACKAGE-NAMESPACE
ここで、
AVAILABLE-PACKAGE-NAME は、使用可能なパッケージの名前です。この名前は、tanzu package available list コマンドを実行して取得できます。AVAILABLE-PACKAGE-VERSION は、使用可能なパッケージのバージョンです。tanzu package available list AVAILABLE-PACKAGE-NAME コマンドを実行して、使用可能なパッケージ バージョンのリストを取得できます。AVAILABLE-PACKAGE-NAMESPACE は、使用可能なパッケージの名前空間です。使用可能なパッケージのデフォルトの構成を取得するには、tanzu package available get コマンドの --default-values-file-output フラグを使用します。
tanzu package available get AVAILABLE-PACKAGE-NAME/AVAILABLE-PACKAGE-VERSION -n AVAILABLE-PACKAGE-NAMESPACE --default-values-file-output FILE-PATH
使用可能なパッケージの値スキーマ(各キーのデフォルト値を含む)を取得するには、tanzu package available get コマンドの --values-schema フラグを使用します。これにより、使用可能なパッケージの Package Kubernetes API リソースから valuesSchema セクションが取得されます。値スキーマの出力形式 -o は、yaml、json、または table に設定できます。
tanzu package available get AVAILABLE-PACKAGE-NAME/AVAILABLE-PACKAGE-VERSION -n AVAILABLE-PACKAGE-NAMESPACE --values-schema
tanzu package installed list コマンドを実行すると、ターゲット クラスタに現在インストールされているすべてのパッケージが一覧表示されます。
クラスタ内のすべての名前空間でインストールされているパッケージを一覧表示するには、次のコマンドを実行します。
tanzu package installed list -A
特定の名前空間でインストールされているパッケージを一覧表示するには、次のコマンドを実行します。
tanzu package installed list -n NAMESPACE
ここで、NAMESPACE は、インストールされているパッケージのリストを取得する名前空間です。
tanzu package installed get コマンドは、インストール済みパッケージの詳細を取得します。
インストール済みパッケージの詳細を取得するには、次のコマンドを実行します。
tanzu package installed get INSTALLED-PACKAGE-NAME -n INSTALLED-PACKAGE-NAMESPACE
ここで、
INSTALLED-PACKAGE-NAME はインストール済みパッケージの名前です。INSTALLED-PACKAGE-NAMESPACE は、パッケージがインストールされている名前空間です。インストールされているパッケージの現在の構成をファイルに保存する場合は、次のコマンドを実行します。
tanzu package installed get INSTALLED-PACKAGE-NAME -n INSTALLED-PACKAGE-NAMESPACE --values-file-output FILE-PATH
ここで、FILE-PATH はファイルへのパスです。たとえば、values.yamlです。
tanzu package install コマンドを実行すると、CLI で管理されるパッケージがインストールされます。
CLI で管理されるパッケージをターゲット クラスタにインストールするには、次の手順を実行します。
まだインストールしていない場合は、パッケージを含むパッケージ リポジトリを追加します。上記の「パッケージ リポジトリの追加」を参照してください。
インストールするパッケージの名前とバージョンを書き留めます。パッケージ名とバージョンを表示するには、tanzu package available list コマンドを実行します。上記の「使用可能なパッケージの一覧表示」を参照してください。
このパッケージをインストールします。
tanzu package install PACKAGE-NAME -p AVAILABLE-PACKAGE-NAME -v AVAILABLE-PACKAGE-VERSION --values-file PACKAGE-CONFIGURATION-FILE -n TARGET-NAMESPACE
ここで、
PACKAGE-NAME は、パッケージに対して選択した名前です。AVAILABLE-PACKAGE-NAME は、上で書き留めたパッケージ名です。AVAILABLE-PACKAGE-VERSION は、上で書き留めたパッケージ バージョンです。PACKAGE-CONFIGURATION-FILE は、パッケージ用に準備した構成ファイルです。このオプションを指定しない場合、パッケージはデフォルトの構成でインストールされます。TARGET-NAMESPACE は、パッケージ (PackageInstall)、パッケージ アプリケーション (App)、およびパッケージを記述するその他の Kubernetes リソースをインストールする名前空間です。たとえば、my-packages または tanzu-cli-managed-packages 名前空間などです。
-n フラグが指定されていない場合、Tanzu CLI は default 名前空間を使用します。ポッドやサービスなどのパッケージのコンテンツをこの名前空間にインストールしないでください。パッケージ コンテンツの名前空間は、パッケージ構成で個別に設定されます。kubectl create namespace my-packages を実行することによってすでに存在している必要があります。このコマンドでサポートされているフラグの完全なリストを表示するには、--help オプションを使用します。
パッケージがインストールされていることを確認するには、tanzu package installed list コマンドを実行します。上記の「インストール済みパッケージの一覧表示」を参照してください。
tanzu package installed update コマンドは、CLI で管理されるパッケージのバージョンと構成を更新します。
CLI で管理されるパッケージのバージョンを更新する前に、通常、「パッケージ リポジトリの更新」の説明に従って、そのリポジトリを更新します。
CLI で管理されるパッケージのバージョンと構成の両方を更新するには、次のコマンドを実行します。
tanzu package installed update INSTALLED-PACKAGE-NAME -v TARGET-PACKAGE-VERSION --values-file PACKAGE-CONFIGURATION-FILE -n INSTALLED-PACKAGE-NAMESPACE
ここで、
INSTALLED-PACKAGE-NAME は、パッケージに対して選択した名前です。パッケージの名前を確認するには、tanzu package installed list コマンドを実行します。詳細については、「インストール済みパッケージの一覧表示」を参照してください。TARGET-PACKAGE-VERSION は、パッケージの更新先のバージョンです。バージョンではなく、パッケージ構成を更新する場合は不要です。PACKAGE-CONFIGURATION-FILE は、更新されたパッケージ構成を含む .yaml ファイルへのパスです。構成ではなく、パッケージ バージョンを更新する場合は不要です。現在の構成を取得するには、「インストール済みパッケージの詳細の取得」を参照してください。INSTALLED-PACKAGE-NAMESPACE は、パッケージがインストールされている名前空間です。注TKG v2.1.0 から v2.1.1 にアップグレードされたワークロード クラスタの場合、
cert-manager、external-dns、およびgrafana構成を更新すると、既知の問題のリストにある「構成の更新で、一部のパッケージのアップグレードが求められる」で説明するように、パッケージ バージョンのアップグレードが必要になる場合があります。
tanzu package installed delete コマンドを実行すると、CLI で管理されるパッケージが削除されます。
ターゲット クラスタから CLI で管理されるパッケージを削除するには、次のコマンドを実行します。
tanzu package installed delete INSTALLED-PACKAGE-NAME -n INSTALLED-PACKAGE-NAMESPACE
ここで、
INSTALLED-PACKAGE-NAME は、削除するパッケージの名前です。パッケージの名前を確認するには、tanzu package installed list コマンドを実行します。詳細については、「インストール済みパッケージの一覧表示」を参照してください。INSTALLED-PACKAGE-NAMESPACE は、パッケージがインストールされている名前空間です。名前空間を指定しない場合、default 名前空間が使用されます。CLI で管理されるパッケージをカスタマイズするために、ytt オーバーレイを適用することができます。