[[TrainTicket]]を構築する。
```shell
export PROJECT_ID=$(gcloud config list --format 'value(core.project)')
export CLUSTER_NAME='train-ticket-01'
```
```shell
gcloud container clusters create $CLUSTER_NAME \
--region asia-northeast1-b \
--cluster-version 1.23.5-gke.1501 \
--image-type=cos_containerd \
--machine-type e2-standard-2 \
--num-nodes 4 \
--workload-pool="${PROJECT_ID}.svc.id.goog" \
--workload-metadata=GKE_METADATA \
--no-enable-stackdriver-kubernetes
```
```shell
gcloud container node-pools create control-pool \
--region asia-northeast1-b \
--cluster $CLUSTER_NAME \
--machine-type e2-standard-2 \
--image-type=cos_containerd \
--num-nodes=1 \
--workload-metadata=GKE_METADATA
```
```shell
gcloud container node-pools create load-pool \
--region asia-northeast1-b \
--cluster $CLUSTER_NAME \
--machine-type e2-small \
--image-type=cos_containerd \
--num-nodes=1 \
--workload-metadata=GKE_METADATA
```
```shell
gcloud container node-pools create analytics-pool \
--region asia-northeast1-b \
--cluster $CLUSTER_NAME \
--machine-type e2-medium \
--image-type=cos_containerd \
--num-nodes=1 \
--workload-metadata=GKE_METADATA
```
```shell
gcloud iam service-accounts create $CLUSTER_NAME
gcloud projects add-iam-policy-binding $PROJECT_ID --member serviceAccount:$CLUSTER_NAME@$PROJECT_ID.iam.gserviceaccount.com --role roles/storage.objectAdmin
gcloud iam service-accounts add-iam-policy-binding --role roles/iam.workloadIdentityUser --member "serviceAccount:$PROJECT_ID.svc.id.goog[litmus/argo-chaos]" $CLUSTER_NAME@$PROJECT_ID.iam.gserviceaccount.com
```
- load-testとmonitoringはわけたほうがよさそう。
## After
- [[TrainTicket負荷生成]]
- [[TrainTicket監視]]