Updated docs

This commit is contained in:
Max Pfeiffer
2025-09-18 19:21:44 +02:00
parent 6db6a6b960
commit 2d31e02b47

View File

@@ -1,5 +1,5 @@
# proxmox-talos-opentofu # proxmox-talos-opentofu
Proof of concept project using [OpenTofu](https://opentofu.org/) to install a Kubernetes cluster on a Proxmox Proof of concept project using [OpenTofu](https://opentofu.org/) to install a Kubernetes cluster on a Proxmox VE
hypervisor using [Talos Linux](https://www.talos.dev/). hypervisor using [Talos Linux](https://www.talos.dev/).
## Requirements ## Requirements
@@ -12,28 +12,44 @@ The project is grouped in two modules:
* proxmox: provisioning of virtual machines, operating systems and Kubernetes cluster * proxmox: provisioning of virtual machines, operating systems and Kubernetes cluster
* kubernetes: provisioning of Kubernetes cluster resources * kubernetes: provisioning of Kubernetes cluster resources
So you want first to provision the Proxmox part: create a `credentials.auto.tfvars` file based on the example. ### Proxmox VE
So you want first to provision the Proxmox part: create a `configuration.auto.tfvars` file based on the example and
edit it so it suits your needs:
```shell ```shell
cd proxmox cd proxmox
cope configuration.auto.tfvars.example configuration.auto.tfvars
vim configuration.auto.tfvars
```
Then apply the configuration using OpenTofu:
```shell
tofu init tofu init
tofu plan tofu plan
tofu apply tofu apply
``` ```
You can then grab and move the kube config file for Kubernetes provisioning like so: You can then grab and move the kube config file for Kubernetes provisioning like so:
```shell ```shell
tofu output kubeconfig -raw > ~/.kube/config tofu output kubeconfig -raw > ~/.kube/config
chmod 600 ~/.kube/config chmod 600 ~/.kube/config
``` ```
Test if your cluster access works by listing the nodes: Test if your cluster access works by listing the nodes:
```shell ```shell
kubectl get nodes kubectl get nodes
``` ```
You might need to wait a bit until the cluster comes up. Proceed with the next step when all nodes are in the `ready`
state.
Secondly, you can provision the Resources inside the Kubernetes cluster: ### Kubernetes
Secondly, you can provision the Resources inside the Kubernetes cluster. Currently, this project just installs
ArgoCD in the `argocd` namespace in the cluster. You can then add on top of this by adding your own resources
using the GitOps approach.
You need to create a `configuration.auto.tfvars` file as well first:
```shell ```shell
cd kubernetes cd kubernetes
cope configuration.auto.tfvars.example configuration.auto.tfvars
vim configuration.auto.tfvars
```
Then do the provisiong with OpenTofu:
```shell
tofu init tofu init
tofu plan tofu plan
tofu apply tofu apply