2024-07-13 15:34:14 +02:00
2024-05-14 19:33:28 +02:00
2024-07-13 13:55:12 +02:00
2023-12-10 17:46:48 +01:00
2024-07-13 15:34:14 +02:00
2023-11-03 23:13:43 +01:00
2023-11-04 19:19:09 +01:00
2024-05-14 19:33:28 +02:00
2024-07-13 13:55:39 +02:00
2024-07-13 13:55:39 +02:00
2023-11-01 19:50:01 +01:00
2024-05-14 19:33:28 +02:00
2024-05-14 19:33:28 +02:00
2023-12-06 19:07:35 +01:00
2024-05-14 19:33:28 +02:00
2024-05-14 19:33:28 +02:00
2024-07-13 13:52:27 +02:00
2024-05-14 19:33:28 +02:00
2024-05-13 22:16:50 +02:00
2023-11-08 19:23:44 +01:00
2023-11-01 19:50:01 +01:00
2024-05-14 19:33:28 +02:00
2023-11-08 19:23:44 +01:00
2024-05-14 19:33:28 +02:00
2024-05-14 19:33:28 +02:00
2024-07-13 15:34:14 +02:00
2024-07-13 15:34:14 +02:00
2024-07-13 15:34:14 +02:00

Talos cluster on Proxmox

This repository contains a Terraform configuration to create a Talos Kubernetes cluster on servers running Proxmox VE. It includes a basic Kubernetes configuration to run services on the cluster, which includes Cilium as CNI, Talos CCM and Argo CD to deploy services in a GitOps way.

Requirements

  • Proxmox server(s)
  • terraform
  • kubectl
  • go
  • nmap

Usage

  • Make sure all tools are installed and are set in your PATH;
  • Run task init to initialize the Terraform providers;
  • Download the correct Talos release image and place it in a folder which Proxmox can access;
  • Change the mac-to-ip_scan_subnets variable to match to subnets on which Proxmox creates the VMs by default;
  • Optionally run terraform plan to see what will be created;
  • Run task create to create the VMs, boot the Talos cluster and run some basic Kubernetes services.

How it works

  • Terraform creates VMs in Proxmox using a Talos release image;
  • Terraform creates Talos configs and applies it to the VMs running Talos;
  • A Talos control plane is bootstrapped and a Talos cluster is formed;
  • Terraform generates the inline manifests (containing Cilium and Talos CCM) which Talos installs;
  • Terraform waits for the nodes to be ready and installs Argo CD;
  • Argo CD installs all specified services and applications;
  • Argo CD keeps the services and applications in sync with the manifests in this repository.

If everything works as expected, Argo CD should automatically install metrics-server on the recently created Kubernetes cluster.

License

Copyright © 2023-2024 Roel Schut. All rights reserved.

This project is governed by a BSD-style license that can be found in the LICENSE file.

Description
No description provided
Readme BSD-3-Clause 551 KiB
Languages
HCL 38.7%
Smarty 30.2%
Shell 22.5%
Go 8.6%