Server Config & Orchestration
Currently, our servers are configured manually and without any form of central configuration management.
Nonetheless, for the future we have an ansible repository at viva-con-agua/ansible which we sometimes use for new configuration. How the ansible repository can be used to author and deploy changes is documented in the repository itself.
Kubernetes Configuration
The configuration and deployment of Kubernetes itself is done via kubespray which is configured from the aforementioned ansible repository. See that repository for exact details but generally, we use one control plane node and two workers, calico for networking and cri-o as container runtime.
Installed Cluster Apps
In addition to the bare kubernetes cluster we also have some applications deployed on it which make development and operations a lot easier. The following applications are currently deployed:
App | Description | Access Link | deploy-repo | |
---|---|---|---|---|
Ingress Nginx | Kubernetes Ingress implementation (basically a reverse proxy server for other in-cluster services) | n/a | k8s-ingress-deploy | |
cert-manager | Automated TLS Certificate management (think certbot but kubernetes) | n/a | cert-manager-deploy | |
Local Path Provisioner | Dynamic provisioning of persistent local node storage to kubernetes workloads via PersistentVolumeClaims | n/a | k8s-local-path-provisioner-deploy | |
ArgoCD | Continuous Delivery engine which allows us to do git-ops style deployment of our other apps. See specific documentation page. | click | argocd-deploy |