1️⃣Bootstrap a Controller

This section will cover how to deploy a Controller in a bare-metal environment.
For The official documentation is already well-prepared for public cloud environments. If you are not deploying in a bare-metal environment, Please refer to https://ubuntu.com/kubernetes/docs for more information.

Install Juju

Juju is a tool that helps automate the deployment, configuration, and management of applications in cloud environments. It makes it easier to manage multiple applications and their interactions within the cloud.

Setting up password-less login

Generate SSH keys:
Copy the generated SSH keys to the specified address
:::tip{title="Note"} Replace "ares@" with the actual username and IP address. The following steps will continue in the same manner. There will be no further prompts. :::

Create a Cloud

Since we are not generating the nodes to be deployed via a cloud environment or infrastructure API, please enter "manual" here.
:::tip{title="Note"} You can give a name to your private cloud. I'll use "ares-homelab" here. :::

Bootstrap a Controller

The Juju controller is used to manage the software deployed through Juju, from deployment to upgrades to day-two operations. One Juju controller can manage multiple projects or workspaces, which in Juju are known as ‘models’.
:::tip{title="Note"} You can give a name to your Controller. I'll use "infra-demo" here. :::

Enable Controller HA

In a production environment, it is recommended to deploy the Controller in high-availability (HA) mode, with a suggested number of 3 or 5 nodes. If you are only testing, this step can be skipped.
:::tip{title="Note"} Enabling HA requires a minimum of three nodes :::
Jenkins Inbound AgentDeploy Kubernetes