Tanzu Service Mesh を利用する - Onboarding
Tanzu Service Mesh(TSM) を利用してみた際の手順等のメモです。Kubernetes クラスタのOnboarding までを対象としています。
前提条件
- TMC が利用出来る環境
- TMC からAWS 上にTKGm クラスタを2つ作成
- Control plane: m5.large
- Worker node: m5.xlarge * 2
- TSM が利用出来る環境
手順
TKG のデプロイ
TMC でのTKG on AWS 作成手順に従ってクラスタを作成しました。
Kubernetes のバージョンはそれぞれ変えて作成してみました。
Onboard New Cluster
作成したTKC をTSM にOnboard させます。こちら「Onboard a Cluster to Tanzu Service Mesh」の手順を参考に、TSM のDashboard から2つのTKC をTSM にOnboard します。この処理を行うと、
vmware-system-tsm
とistio-system
という2つのNamespace が作成され、リソースがOnboard したKubernetes クラスタ上で稼働します。TSM01
$ k -n vmware-system-tsm get all
NAME READY STATUS RESTARTS AGE
pod/allspark-ws-proxy-5f8cbdc89b-588h2 1/1 Running 0 39m
pod/installer-job-snskn 0/1 Completed 0 38m
pod/k8s-cluster-manager-8b4bffb9f-8227l 1/1 Running 0 39m
pod/operator-ecr-read-only--renew-token-9s2bf 0/1 Completed 0 40m
pod/telegraf-istio-59464777bc-8d2h6 1/1 Running 0 36m
pod/tsm-agent-operator-598b799766-jqxzg 1/1 Running 0 40m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/allspark-telemetry-aggregator ClusterIP 10.106.173.176 <none> 8086/TCP,40091/TCP 36m
service/k8s-cluster-manager ClusterIP 10.107.247.187 <none> 40041/TCP 39m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/allspark-ws-proxy 1/1 1 1 39m
deployment.apps/k8s-cluster-manager 1/1 1 1 39m
deployment.apps/telegraf-istio 1/1 1 1 36m
deployment.apps/tsm-agent-operator 1/1 1 1 40m
NAME DESIRED CURRENT READY AGE
replicaset.apps/allspark-ws-proxy-5f8cbdc89b 1 1 1 39m
replicaset.apps/k8s-cluster-manager-8b4bffb9f 1 1 1 39m
replicaset.apps/telegraf-istio-59464777bc 1 1 1 36m
replicaset.apps/tsm-agent-operator-598b799766 1 1 1 40m
NAME COMPLETIONS DURATION AGE
job.batch/installer-job 1/1 88s 38m
job.batch/operator-ecr-read-only--renew-token 1/1 15s 40m
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
cronjob.batch/operator-ecr-read-only--renew-token 0 */8 * * * False 0 <none> 40m
$ k -n istio-system get all
NAME READY STATUS RESTARTS AGE
pod/allspark-telegraf-node-722wm 1/1 Running 0 37m
pod/allspark-telegraf-node-bwcfz 1/1 Running 0 37m
pod/istio-egressgateway-647c488f7-kqf5w 1/1 Running 0 38m
pod/istio-egressgateway-647c488f7-znj86 1/1 Running 0 38m
pod/istio-ingressgateway-85859d874-sph4v 1/1 Running 0 38m
pod/istio-ingressgateway-85859d874-tl2kf 1/1 Running 0 38m
pod/istio-telemetry-6877cf46fc-4h9r6 2/2 Running 0 38m
pod/istio-telemetry-6877cf46fc-vvdpp 2/2 Running 0 38m
pod/istiocoredns-7c7bc456d6-rltwq 2/2 Running 0 38m
pod/istiocoredns-7c7bc456d6-sv7jc 2/2 Running 0 38m
pod/istiod-746549575-9xgqb 1/1 Running 0 38m
pod/istiod-746549575-jr7tr 1/1 Running 0 38m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/istio-egressgateway ClusterIP 10.102.81.237 <none> 80/TCP,443/TCP 38m
service/istio-ingressgateway LoadBalancer 10.111.238.65 xxx-xxx.ap-northeast-1.elb.amazonaws.com 15021:30767/TCP,80:30918/TCP,443:31362/TCP 38m
service/istio-telemetry ClusterIP 10.97.241.100 <none> 9091/TCP,15004/TCP,15014/TCP,42422/TCP 38m
service/istiocoredns ClusterIP 10.106.210.86 <none> 53/UDP,53/TCP 38m
service/istiod ClusterIP 10.101.159.64 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP,853/TCP 38m
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
daemonset.apps/allspark-telegraf-node 2 2 2 2 2 <none> 37m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/istio-egressgateway 2/2 2 2 38m
deployment.apps/istio-ingressgateway 2/2 2 2 38m
deployment.apps/istio-telemetry 2/2 2 2 38m
deployment.apps/istiocoredns 2/2 2 2 38m
deployment.apps/istiod 2/2 2 2 38m
NAME DESIRED CURRENT READY AGE
replicaset.apps/istio-egressgateway-647c488f7 2 2 2 38m
replicaset.apps/istio-ingressgateway-85859d874 2 2 2 38m
replicaset.apps/istio-telemetry-6877cf46fc 2 2 2 38m
replicaset.apps/istiocoredns-7c7bc456d6 2 2 2 38m
replicaset.apps/istiod-746549575 2 2 2 38m
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
horizontalpodautoscaler.autoscaling/istio-egressgateway Deployment/istio-egressgateway <unknown>/80% 2 5 2 38m
horizontalpodautoscaler.autoscaling/istio-ingressgateway Deployment/istio-ingressgateway <unknown>/80% 2 5 2 38m
horizontalpodautoscaler.autoscaling/istio-telemetry Deployment/istio-telemetry <unknown>/80% 2 5 2 38m
horizontalpodautoscaler.autoscaling/istiocoredns Deployment/istiocoredns <unknown>/80% 2 5 2 38m
horizontalpodautoscaler.autoscaling/istiod Deployment/istiod <unknown>/80% 2 5 2 38m
TSM02
$ k -n vmware-system-tsm get all
NAME READY STATUS RESTARTS AGE
pod/allspark-ws-proxy-5694c97889-sj5pl 1/1 Running 0 18m
pod/installer-job-9mwc8 0/1 Completed 0 17m
pod/k8s-cluster-manager-6bdc475b4b-wkm29 1/1 Running 0 18m
pod/operator-ecr-read-only--renew-token-cftjd 0/1 Completed 0 19m
pod/telegraf-istio-85dddfdc68-ggwpl 1/1 Running 0 15m
pod/tsm-agent-operator-54b8447955-qqdnd 1/1 Running 0 19m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/allspark-telemetry-aggregator ClusterIP 10.104.131.172 <none> 8086/TCP,40091/TCP 15m
service/k8s-cluster-manager ClusterIP 10.97.223.243 <none> 40041/TCP 18m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/allspark-ws-proxy 1/1 1 1 18m
deployment.apps/k8s-cluster-manager 1/1 1 1 18m
deployment.apps/telegraf-istio 1/1 1 1 15m
deployment.apps/tsm-agent-operator 1/1 1 1 19m
NAME DESIRED CURRENT READY AGE
replicaset.apps/allspark-ws-proxy-5694c97889 1 1 1 18m
replicaset.apps/k8s-cluster-manager-6bdc475b4b 1 1 1 18m
replicaset.apps/telegraf-istio-85dddfdc68 1 1 1 15m
replicaset.apps/tsm-agent-operator-54b8447955 1 1 1 19m
NAME COMPLETIONS DURATION AGE
job.batch/installer-job 1/1 89s 17m
job.batch/operator-ecr-read-only--renew-token 1/1 12s 19m
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
cronjob.batch/operator-ecr-read-only--renew-token 0 */8 * * * False 0 <none> 19m
$ k -n istio-system get all
NAME READY STATUS RESTARTS AGE
pod/allspark-telegraf-node-pv546 1/1 Running 0 16m
pod/allspark-telegraf-node-vbr6h 1/1 Running 0 16m
pod/istio-egressgateway-7b6594c54c-frwnr 1/1 Running 0 17m
pod/istio-egressgateway-7b6594c54c-ml5bf 1/1 Running 0 17m
pod/istio-ingressgateway-7495668d5d-qcj5m 1/1 Running 0 17m
pod/istio-ingressgateway-7495668d5d-v7m9c 1/1 Running 0 17m
pod/istio-telemetry-794cc95589-bxkcs 2/2 Running 0 17m
pod/istio-telemetry-794cc95589-fq27d 2/2 Running 0 17m
pod/istiocoredns-599c554d55-hhdhx 2/2 Running 0 17m
pod/istiocoredns-599c554d55-w9gnv 2/2 Running 0 17m
pod/istiod-7b8b6bc84f-dr27x 1/1 Running 0 17m
pod/istiod-7b8b6bc84f-k9hhq 1/1 Running 0 17m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/istio-egressgateway ClusterIP 10.111.193.115 <none> 80/TCP,443/TCP 17m
service/istio-ingressgateway LoadBalancer 10.101.71.201 xxx-xxx.ap-northeast-1.elb.amazonaws.com 15021:32031/TCP,80:32621/TCP,443:32358/TCP 17m
service/istio-telemetry ClusterIP 10.111.238.14 <none> 9091/TCP,15004/TCP,15014/TCP,42422/TCP 17m
service/istiocoredns ClusterIP 10.99.108.37 <none> 53/UDP,53/TCP 17m
service/istiod ClusterIP 10.96.166.27 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP,853/TCP 17m
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
daemonset.apps/allspark-telegraf-node 2 2 2 2 2 <none> 16m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/istio-egressgateway 2/2 2 2 17m
deployment.apps/istio-ingressgateway 2/2 2 2 17m
deployment.apps/istio-telemetry 2/2 2 2 17m
deployment.apps/istiocoredns 2/2 2 2 17m
deployment.apps/istiod 2/2 2 2 17m
NAME DESIRED CURRENT READY AGE
replicaset.apps/istio-egressgateway-7b6594c54c 2 2 2 17m
replicaset.apps/istio-ingressgateway-7495668d5d 2 2 2 17m
replicaset.apps/istio-telemetry-794cc95589 2 2 2 17m
replicaset.apps/istiocoredns-599c554d55 2 2 2 17m
replicaset.apps/istiod-7b8b6bc84f 2 2 2 17m
NAME REFERENCE TARGETS MINPODS MAXPODS REPLICAS AGE
horizontalpodautoscaler.autoscaling/istio-egressgateway Deployment/istio-egressgateway <unknown>/80% 2 5 2 17m
horizontalpodautoscaler.autoscaling/istio-ingressgateway Deployment/istio-ingressgateway <unknown>/80% 2 5 2 17m
horizontalpodautoscaler.autoscaling/istio-telemetry Deployment/istio-telemetry <unknown>/80% 2 5 2 17m
horizontalpodautoscaler.autoscaling/istiocoredns Deployment/istiocoredns <unknown>/80% 2 5 2 17m
horizontalpodautoscaler.autoscaling/istiod Deployment/istiod <unknown>/80% 2 5 2 17m
無事Onboarding まで完了したので、次はサンプルアプリをデプロイしたいと思います。