Updated docs
This commit is contained in:
26
README.md
26
README.md
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user