/TKS-Deploy_Kubernetes_Apps

A collection of my Kubernetes Manifests. Deployable using Kustomize & Ansible.

Primary LanguageHTMLGNU General Public License v3.0GPL-3.0

TKS - Deploy Kubernetes Apps

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.


Summary

Deploy Kubernetes Apps is a collection of Kubernetes manifests, Kustomizations, and Ansible roles used to deploy applications to Kubernetes.


Requirements

This project assumes you have a working Kubernetes cluster.


Instructions

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