Virtual Machine running Ubuntu 22.04 or newer
sudo apt update
sudo apt upgrade
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
The easiest ways to create the Kubernetes secret is by using the kubectl command and --from-literal flag. For example to understand Kubernetes secret creation we need three things.
kubectl create secret generic test-secret --from-literal=username=test-user --from-literal=password=testP@ssword
Customize your terminal using iTerm2, oh-my-zsh and powerlevel10k works on both Macbook Intel and Macbook M1.
The Missing Package Manager for macOS
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
iTerm2 has better color fidelity than the built in Terminal, so your themes will look better.
By default, Argo CD polls the Git repositories every 3 minutes to detect the changes made on the repo. If you want to remove the delay, you can configure a webhook event to send a notification to the API server.
Login to your Github repository and navigate to settings > webhooks and click add webhook
The payload URL is your ArgoCD Server + /api/webhook
For example.
https://argocd.example.com/api/webhook
Argo CD is a declarative continuous delivery tool for Kubernetes applications. It uses the GitOps style to create and manage Kubernetes clusters. When any changes are made to the application configuration in Git, Argo CD will compare it with the configurations of the running application and notify users to bring the desired and live state into sync.
Argo CD has been developed under the Cloud Native Computing Foundation’s (CNCF) Argo Project- a project, especially for Kubernetes application lifecycle management. The project also includes Argo Workflow, Argo Rollouts, and Argo Events.. Each solves a particular set of problems in the agile development process and make the Kubernetes application delivery scalable and secure.
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Grafana and Prometheus are a powerful monitoring solutions that allow you to visualize, query, and alert metrics no matter where they are stored.
You will need
Pi-Hole is a great Self-Hosted DNS Service. It keeps ads from loading, and will run as a Docker container or virtual machine you'd like. You can also completely bypass 3rd party DNS servers like 8.8.8.8, 1.1.1.1, 208.67. 222.222, or the ones ran by your ISP.
Linux VM (in this tutorial we are using Debian 11)
Install Pi-Hole
sudo curl -sSL https://install.pi-hole.net | bash
Using Traefik, cert-manager, Cloudflare, and Let’s Encrypt to secure your services with certificates in Kubernetes.
*You can find all of the resources for this tutorial here
git clone https://github.com/dmancloud/traefik-cert-manager.git
Additional Information - https://helm.sh/docs/intro/install/
kube-vip provides Kubernetes clusters with a virtual IP and load balancer for both the control plane (for building a highly-available cluster) and Kubernetes Services of type LoadBalancer without relying on any external hardware or software.
Documentation - https://kube-vip.io/docs/
curl -sfL https://raw.githubusercontent.com/kube-vip/kube-vip-cloud-provider/main/manifest/kube-vip-cloud-controller.yaml > /var/lib/rancher/rke2/server/manifests/kube-vip-cloud-controller.yaml
sudo apt-get update && sudo apt upgrade -y
sudo apt-get -y install gnupg2 ca-certificates curl apt-transport-https iptables