Phase 2: Cluster setup

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.

  1. Create the new cluster

    Follow the provider-specific steps in New Kubernetes cluster on GCP, Azure or AWS to create the cluster.

  2. Configure and deploy the support chart

    Follow the steps in Configure and deploy the support chart to configure and deploy the support chart.

  3. Setup Grafana dashboards

    Follow the steps in Setup grafana dashboards to setup Grafana dashboards for the newly created cluster.

  4. 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.