Powered by Terraform/OpenTofu, delivering a daily dose of tech-inspired laughter.
- deploy the local cluster
bash local_cluster.sh deploy
- destroy local cluster
bash local_cluster.sh destroy
- Deploy ArgoCD on the cluster
kubectl create namespace argocd kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
- check pods in the ns
kubectl get pods -n argocd
- Before getting to accessing the argocd UI, let's copy the password. User name is
admin
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d && echo
- port forward the argocd service to a
8443
host port. Note: you can use NodePort, or Ingress as well to access the UI aswell.Configure you application or you can use a manifest as well -kubectl port-forward -n argocd service/argocd-server 8443:443
apply -apiVersion: v1 kind: Namespace metadata: name: jokes --- apiVersion: argoproj.io/v1alpha1 kind: Application metadata: name: jokes spec: destination: name: '' namespace: jokes server: https://kubernetes.default.svc source: path: infrastructure/manifests repoURL: https://github.com/ashraf-minhaj/Tofu-EKS-Jokes targetRevision: HEAD sources: [] project: default
kubectl create -f joke_application.yaml
on going work.
-
Create a cluster (Control Plane)
- VPC
- subnets
- security group
- IAM assume role
-
Create a NodeGroup (worker Nodes)
- IAM role
- IAM policy
- Launch Template
-
Deploy Pods
- deployment manifest
- service manifest (type: load balancer)
- Create backend with
- states bucket
- ECR registry
- [ ]