Skip to content

Commit

Permalink
docs(clustertool): cleanup getting started guide (#845)
Browse files Browse the repository at this point in the history
* quick fixes

* downlod link

* Update src/content/docs/clustertool/getting-started.md

Signed-off-by: Kjeld Schouten <[email protected]>

---------

Signed-off-by: Kjeld Schouten <[email protected]>
Co-authored-by: Kjeld Schouten <[email protected]>
  • Loading branch information
kqmaverick and PrivatePuffin authored Oct 14, 2024
1 parent 2ff5542 commit 84ffbdc
Showing 1 changed file with 36 additions and 38 deletions.
74 changes: 36 additions & 38 deletions src/content/docs/clustertool/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ From this step forward, we're going to assume a github repo. If you're starting

### Downloading ClusterTool

ClusterTool is currently not publicly available. If you've access, please extract the archive and copy the executable into your `configuration folder`.
ClusterTool is available on [GitHub](https://github.com/truecharts/clustertool-public/releases). Please extract the archive and copy the executable into your `configuration folder`.

### Initialisation

Expand Down Expand Up @@ -68,17 +68,21 @@ Thanks to our use of TalHelper, a streamlined Talos configuration tool, there ar

### ClusterEnv

This file that contains the most important settings, its content also gets saved on the cluster for (future) use with FluxCD and its settings get referenced in multiple places.
This file that contains the most important settings, its content also gets saved on the cluster for use with FluxCD and its settings get referenced in multiple places.
You're free to add settings as you please, or as you need them. Feel free to adapt them if needed!

Primary settings that **need** to be adapted:

- `MASTER1IP`: The static-DHCP IP that was set during the TalosOS network configuration
- `VIP`: Contains the shared IP for all master-nodes
- `METALLB_RANGE`: Contains the range MetalLB will allow IPs to be distributed in *(cannot overlap with any nodeIP or VIP, nor should it overlap with local dhcp range)*
- `KUBEAPPS_IP`: The IP, within the MetalLB range, KubeApps will be made available on *(should be a free ip adres on your network, not overlapping with dhcp adresses)*
- `DASHBOARD_IP`: The IP, within the MetalLB range, that the kubernetes monitoring/management dashboard will be made available on *(should be a free ip adres on your network, not overlapping with dhcp adresses)*

#### (optional) Enabling FluxCD Bootstrapping

If you want to setup FluxCD during bootstrap, be sure to enter a `GITHUB_REPOSITORY` in `ClusterEnv.yaml`.
It should start with `ssh://`, so be sure to pick the SSH repository url option when copying your repository url from GitHub

### TalConfig

This file contains purely the structure of the Talos Cluster and its nodes themselves. As such, it also contains a number of `${VARIABLE}` references to `talenv.yaml`. These should **not** be removed.
Expand All @@ -89,6 +93,35 @@ We would advise to adapt the nodes so they fit your cluster design. By default w

For more information on talconfig.yaml and talhelper, please see [here](https://budimanjojo.github.io/talhelper/latest/)

## (optional) Setting Up Github SSH access for FluxCD

If you want to use FluxCD, you need to add the SSH public key defined in `./ssh-public-key.txt`, to your Github Account.

For More info, see:
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account

## Generating ClusterConfig and updating files from Config

:::caution[Compatibility]

While our genconfig *can* generate a clusterconfig, that can get applied 'out of the box' through TalosCTL. By default, our `talconfig.yaml` is completely designed around our ClusterTool expected defaults.

Hence these cannot be expected to work directly through TalosCTL.

:::

Clusterconfig are the files Talos itself sends to the nodes and uses to connect to the nodes. To create these files, which are not saved to git by default, from the config you created earlier, please run:

In a terminal, run:

`ClusterTool genconfig`

or, on Windows:

`ClusterTool.exe genconfig`

This also will update a number of files we (pre)generate for FluxCD and/or prepare to be uploaded to the cluster. This includes things like the CNI (Cilium and MetalLB).

### Saving your config

To save your config, it's important to first ensure none of your secrets leak out, by encrypting all confidential settings.
Expand Down Expand Up @@ -129,41 +162,6 @@ To send the data to git run:
- `git commit -a -m "some description"`
- `git push`

## (optional) Setting Up Github SSH access for FluxCD

If you want to use FluxCD, you need to add the SSH public key defined in `./ssh-public-key.txt`, to your Github Account.

For More info, see:
https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account


## (optional) Enabling FluxCD Bootstrapping

If you want to setup FluxCD during bootstrap, be sure to enter a `GITHUB_REPOSITORY` in `ClusterEnv.yaml`.
It should start with `ssh://`, so be sure to pick the SSH repository url option when copying your repository url from GitHub

## Generating ClusterConfig and updating files from Config

:::caution[Compatibility]

While our genconfig *can* generate a clusterconfig, that can get applied 'out of the box' through TalosCTL. By default, our `talconfig.yaml` and `talconfig.yaml` are completely designed around our ClusterTool expected defaults.

Hence these cannot be expected to work directly through TalosCTL.

:::

Clusterconfig are the files Talos itself sends to the nodes and uses to connect to the nodes. To create these files, which are not saved to git by default, from the config you created earlier, please run:

In a terminal, run:

`ClusterTool genconfig`

or, on Windows:

`ClusterTool.exe genconfig`

This also will update a number of files we (pre)generate for FluxCD and/or prepare to be uploaded to the cluster. This includes things like the CNI (Cilium, MetalLB and KubeApps).

## Bootstrapping your first node

To ensure stability, we will first apply the configuration to the first ControlPlane node in the list and bootstrap this node.
Expand Down

0 comments on commit 84ffbdc

Please sign in to comment.