Sebastian Mark
f293d83ea0
- Add new rule for `k3s-io/k3s`, `argo-cd` and `argocd-apps` packages
- add note in PR body for manual intervention required for these updates
🤖
|
||
---|---|---|
_templates | ||
bin | ||
k8s-manifests | ||
.gitignore | ||
.renovaterc.json | ||
argocd-init.yml | ||
logo.png | ||
pb_install.yml | ||
README.md |
Kubernetes Baseline
- ArgoCD
- NGINX Ingress Controller
- cert-manager
- selfsigned issuer
- LetsEncrypt issuers (Prod and Staging)
- prometheus and grafana
- zabbix-proxy
- loki
- keel
- reloader
Installation (k3s + baseline)
ansible-playbook -i <host|ip>, pb_install.yml
Installation (baseline only)
make sure kubectl is configure to reach the destination cluster, then:
kubectl apply -f argocd-init.yml
Notes
ArgoCD
As the ArgoCD server is not deployed, the dashboard can only be accessed via
argocdm admin dashboard
(It may be required switch the namespace to argocd
beforehand)
Linode
PROXY protocol needs to be enabled for ingress-nginx to see the clients IP in ingress log.
Add the PROXY protocol annotation to the ingress-nginx service:
annotations:
service.beta.kubernetes.io/linode-loadbalancer-proxy-protocol: v2
Update the ingress-nginx ConfigMap to make nginx expect PROXY protocol data:
data:
use-proxy-protocol: "true"
cert-manager
However, when you have the PROXY protocol enabled, the external load balancer does modify the traffic, prepending the PROXY line before each TCP connection. If you connect directly to the web server internally, bypassing the external load balancer, then it will receive traffic without the PROXY line.
This is particularly a problem when using cert-manager for provisioning SSL certificates.
After enabling the PROXY protocol cert-manager is unable to perform a self check ("propagation check failed", "failed to perform self check GET request").
hairpin-proxy adds PROXY protocol support for internal-to-LoadBalancer traffic for Kubernetes Ingress users, specifically for cert-manager self-checks (no further configuration needed).