Cluster management
Overview
An overview of your cluster is available under the "Cluster Management" tab in the Admin Console.
Some key pieces of information:
- Nodes in the cluster.
- CPU, RAM, and disk availability on each node.
Nodes don't need to be of the same size.
Here, you can also find instructions to add a new node. You can also drain nodes.
Adding worker nodes
If you want more processing power, you can scale your instance vertically by using a more powerful machine. But it is not always practical because it needs to be done before the installation, and it also means a big machine will always be running.
Usually, a better solution is to scale horizontally by adding worker nodes to the cluster. This solution is more flexible and allows to add and remove processing capabilities when needed. A common use case is the initial historical scan. If you have a lot of repositories, adding more CPUs can speed up this process a lot.
Note: This procedure does not bring high availability, we are only adding worker nodes, not master.
Here are the steps to add a worker node:
- Go to the KOTS Admin Console. Go to the "Cluster Management" tab. Click on "Add node". It will show you a command to a node. This command is valid only for 24 hours.
You can also generate this command through the CLI and the master node:
curl -sSL https://kurl.sh/gitguardian/tasks.sh | sudo bash -s join_token
You should have this kind of output:
Node join commands expire after 24 hours.
To generate new node join commands, run curl -sSL https://kurl.sh/gitguardian/tasks.sh | sudo bash -s join_token on this node.
To add worker nodes to this installation, run the following script on your other nodes:
curl -sSL https://kurl.sh/gitguardian/join.sh | sudo bash -s kubernetes-master-address=<master-address>:6443 kubeadm-token=<token> kubeadm-token-ca-hash=sha256:<token-ca-hash> kubernetes-version=x.x.x docker-registry-ip=x.x.x.x
- Connect with SSH to your other node and run your command.