Tanzu Platform Self Managed を試す - 管理者向けデプロイ先の軽量化編
最新製品である Tanzu Platform のオンプレ版を試していきます。
TPのデフォルトのClusterGroupのrun
だとKubernetesのインストール先に必要なリソース量がそれなりに多くなってしまいます。
今回は、それを軽量化してみたいと思います。
シリーズ
- Install編
- 管理者向けProjectセットアップ編
- 利用者向けSpaceへのデプロイ編
- ここ> 管理者向けデプロイ先の軽量化編
- 管理者向け通信のHTTPS化
- 管理者向けDNSへの自動登録
デフォルトの run
, Cluster Group のリソース
以下が、RunのClusterGroupに一切のアプリケーションもデプロイしていない時のリソース予約量(かならずこの量より多くのリソースが必要)です。 特に顕著なのが、メモリの予約量であり、10GBほどが必要となってきます。
この状態ですと、1アプリでもデプロイすると、リソースが限界になり、二つ目以降のアプリケーションがデプロイが困難になります。
run-lite
, ClusterGroupを作成
そこでより軽量化を目指した、run-lite
とよばれるクラスタグループを作っていきます。
[ Infrastructure ] > [ Kubernetes Clusters ] > [ Cluster Groups ] > [ ADD Cluster Group] を選択して run-lite
を作成します。
run-lite
への Packages のインストール
run-lite
にデフォルトでインストールされるパッケージを指定していきます。
[ Space ] > [ Capabilites ] から一つづやるのも可能なのですが、CLIでやる方法のがシンプルなので、今回はそれをベースに行います。
まず、以下のコマンドで、run-lite
クラスタグループをターゲットにします。
1tanzu operations clustergroup use run-lite
次に、パッケージをインストールしていきます。簡単にするため以下の git レポジトリを用意しました。 https://github.com/mhoshi-vm/tp-run-lite
以下のコマンドで適用します。
1git clone https://github.com/mhoshi-vm/tp-run-lite
2cd tp-run-lite/clustergroup
3tanzu deploy --only .
以上ではありますが、この run-lite
と run
の比較を以下の表にまとめました。
run | run-lite | 補足 | |
---|---|---|---|
bitnami.services.tanzu.vmware.com | ○ | bitnami系のcreate-serviceができなくなるがリソース消費量が多いので削除 | |
cert-manager.tanzu.vmware.com | ○ | ○ | |
container-apps.tanzu.vmware.com | ○ | ○ | |
controller.build.tanzu.vmware.com | ○ | プラットフォームビルドのために必要。通常run には含まれないが、簡易的に追加 | |
crossplane.tanzu.vmware.com | ○ | bitnami系のcreate-serviceができなくなるがリソース消費量が多いので削除 | |
egress.tanzu.vmware.com | ○ | ○ | |
health.spaces.tanzu.vmware.com | ○ | ○ | |
horizontal-autoscaling.tanzu.vmware.com | ○ | ○ | |
ingress.tanzu.vmware.com | ○ | ○ | |
k8sgateway.tanzu.vmware.com | ○ | ○ | |
mtls.tanzu.vmware.com | ○ | ○ | |
observability.tanzu.vmware.com | ○ | ○ | |
servicebinding.tanzu.vmware.com | ○ | ○ | |
spring-cloud-gateway.tanzu.vmware.com | ○ | メモリ消費量が多いのでSCGも通常は使わないので削除 | |
tanzu-servicebinding.tanzu.vmware.com | ○ | ○ | |
tcs.tanzu.vmware.com | ○ | △ | リソース消費量は多いのだが、他の機能のために必須なので、リソース両方減らして登録 |
なお最後のtcs.tanzu.vmware.com
は istiod
をインストールするために使われますが、この Hack によってリソース消費量をおさえています。
とくに Replica を1にしているので、耐障害性は低くなる点注意してください。
run-lite
へクラスタを登録
k8s クラスタを run-lite
に登録していきます。
なお、残念ながらすでに run
で登録したクラスタを run-lite
に移すのは執筆時点ではできないです。
新しいクラスタを用意するか、もしくは、今のクラスタを detach
して再度アタッチしなおしてください。
[ Infrastructure ] > [ Kubernetes Clusters ] から行えます。
run-lite
のリソース量
それなりに低くくなって、特にメモリ量が 6.5 GB ほどです。
アプリケーションのデプロイ
ここからは通常のアプリケーションのデプロイで行えます。
apps.tanzu.vmware.com
プロファイルをベースとしたSpace
にデプロイするだけでいつも通りデプロイできます。
前記事を参照してください。
以上デプロイ先の軽量化について記載しました。