Skip to content

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

License

Notifications You must be signed in to change notification settings

ashraf-minhaj/Tofu-EKS-Jokes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 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 manifest as well -
    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
    
    apply - kubectl create -f joke_application.yaml

on going work.

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
    • Launch Template
  • Deploy Pods

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

Infrastructure As Code

backend (chicken or the egg)

  • Create backend with
    • states bucket
    • ECR registry

Others

  • [ ]

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published