Phase 2: Cluster setup#
This assumes all engineers have access to this new account, and will be able to set up the cluster and support, without any new hubs being set up.
Definition of ready#
The following lists the information that needs to be available to the engineer before this phase can start.
Region / Zone of the cluster
Name of cluster
Is GPU required?
Outputs#
At the end of Phase 2, there should be a new cluster setup, with fully configured and deployed support components.
The file assets that should have been included in the PR should be:
➕ config/clusters/<new-cluster-name>
├── cluster.yaml
├── enc-deployer-credentials.secret.json
├── enc-support.secret.values.yaml
├── enc-grafana-token.secret.yaml
└── support.values.yaml
➕ terraform/<cloud-provider>/projects
└── <new-cluster>.tfvars
If on AWS:
➕ eksctl
├── <new-cluster>.jsonnet
├── ssh-keys/
├── <new-cluster>.key.pub
├── secret
└ └── <new-cluster>.key
And the following existing file should be updated to accommodate the new cluster:
~ .github/workflows
└── deploy-grafana-dashboards.yaml
Tip
When reviewing cluster setup PRs, make sure the files above are all present.
Cluster setup runbook#
All of the following steps must be followed in order to consider phase 2 complete. Steps contain references to other smaller, topic-specifc runbooks that are gathered together and listed in the order they should be carried on by an engineer.
Create the new cluster
Follow the provider-specific steps in New Kubernetes cluster on GCP, Azure or AWS to create the cluster.
Configure and deploy the support chart
Follow the steps in Configure and deploy the support chart to configure and deploy the support chart.
Setup Grafana dashboards
Follow the steps in Setup grafana dashboards to setup Grafana dashboards for the newly created cluster.
Register the new cluster with the central 2i2c Grafana
Follow the steps in Register the cluster’s Prometheus server with the central Grafana so that the cluster you just added will be findable from the 2i2c central Grafana.