Skip to content

ashraf-minhaj/Tofu-EKS-Jokes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tofu-EKS-Jokes

Powered by Terraform/OpenTofu, delivering a daily dose of tech-inspired laughter.

         

Deploy on Local cluster

1. Cluster management

  • deploy the local cluster
    bash local_cluster.sh deploy
    
  • destroy local cluster
    bash local_cluster.sh destroy
    

2. Configure ArgoCD

  • 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.
    kubectl port-forward -n argocd service/argocd-server 8443:443
    
    Configure you application or you can use a yaml manifest as well. You have to be on the argo namespace -
    sudo kubectl config set-context --current --namespace=argocd
    
    apply - kubectl create -f joke_application.yaml

Steps to deploy to EKS Cluster

  • Create a cluster (Control Plane)

    • VPC
    • subnets
    • security group
    • IAM assume role
  • Create a NodeGroup (worker Nodes)

    • IAM role
    • IAM policy
  • Deploy Pods

    • deployment manifest
    • service manifest (type: load balancer)

Infrastructure As Code

backend (chicken or the egg)

  • Create backend with
    • states bucket
    • ECR registry

About

Terraform, ArgoCD, k8s, EKS, Docker, Python.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published