This repository can be used on its own but it is intended to be used as a submodule of TKS. TKS enables enthusiasts and administrators alike to easily provision highly available and production-ready Kubernetes clusters and other modern infrastructure on Proxmox VE.
Deploy Kubernetes Apps
is a collection of Kubernetes manifests, Kustomizations, and Ansible roles used to deploy applications to Kubernetes.
This project assumes you have a working Kubernetes cluster.
When possible, an application is expressed with Kustomize and contains an example overlay from my environment. Simply create a new overlay from this example and deploy it.
kubectl apply -k APP/overlays/example
Sometimes it is necessary to use the Kustomize binary instead of kubectl -k
to build manifests. In a situation where kubectl -k
throws an error, try instead:
kustomize build APP/overlays/example | kubectl apply -f-
In some cases, an application requires more than just Kustomize to be deployed. For example, OpenEBS requires that you install an iSCSI driver on your worker nodes. In these cases, an Ansible role and additional instructions are provided.
In all cases, a supplemental README is provided with further details about configuring & deploying the application. Consult the table below for links and more information.
Application | Deployment Method | Details |
---|---|---|
Bitwarden_rs | Kustomize | |
Calibre & Calibre Web | Kustomize | |
Confluence | Kustomize | |
Dashboard | Ansible / Kustomize | Ansible is used to generate certificates. Kustomize is used to deploy the application. |
Deluge | Kustomize | |
Federated Monitoring (Grafana) | Kustomize | |
Grafana | Ansible | This project has been retired in favor of Federated Monitoring (Grafana). |
Grocy | Kustomize | |
iDRAC Exporter | Kustomize | |
Istio | Ansible | Ansible is used to download and deploy the requested version of Istio using istioctl . |
Jira | Kustomize | |
MetalLB | Kustomize | |
Nextcloud | Kustomize | Some environment variables are not correctly interpolated. |
NFS Provisioner | Ansible / Kustomize | Ansible is used to install nfs-common on the worker nodes. Kustomize is used to deploy the application. |
OpenEBS | Ansible / Kustomize | Ansible is used to install iscsid and configure the worker nodes. Kustomize is used to deploy the application. |
OpenVPN-as | Ansible | Out of Date -- Needs to be ported to Kustomize. |
Personal Website | Kustomize | |
Pi-Hole Exporter | Kustomize | |
Piwigo | Ansible | Out of Date -- Needs to be ported to Kustomize. |
Plex Media Server | Kustomize | |
Radarr | Kustomize | |
ruTorrent | Kustomize | |
rTorrent-Exporter | Kustomize | |
Sonarr | Kustomize | |
StreetMerchant | Kustomize | |
Tautulli | Kustomize | |
Toodo | Kustomize | |
Unifi-Controller | Ansible | Out of Date -- Needs to be ported to Kustomize. |
Unifi-Poller | Kustomize | |
Varken | Kustomize |