diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a1079e9 --- /dev/null +++ b/.gitignore @@ -0,0 +1,26 @@ +# Terraform state files +*.tfstate +*.tfstate.* + +# Crash log files +crash.log + +# Terraform variables files +*.tfvars +*.tfvars.json + +# Override files +override.tf +override.tf.json +*_override.tf +*_override.tf.json + +# Provider override directory +.terraform + +# Provider configuration directory +.terraformrc +terraform.rc + +# Lock files +*.lock.hcl diff --git a/autoscaling/values.yaml b/autoscaling/values.yaml new file mode 100644 index 0000000..a57bea2 --- /dev/null +++ b/autoscaling/values.yaml @@ -0,0 +1,41 @@ +catalog: + mysql: + secret: + create: true + name: catalog-db + username: catalog + persistentVolume: + enabled: true + accessMode: + - ReadWriteOnce + size: 30Gi + storageClass: eks-auto-ebs-csi-sc + +ui: + endpoints: + catalog: http://retail-store-app-catalog:80 + carts: http://retail-store-app-carts:80 + checkout: http://retail-store-app-checkout:80 + orders: http://retail-store-app-orders:80 + assets: http://retail-store-app-assets:80 + autoscaling: + enabled: true + minReplicas: 5 + maxReplicas: 10 + targetCPUUtilizationPercentage: 80 + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: topology.kubernetes.io/zone + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app: ui + - maxSkew: 1 + topologyKey: kubernetes.io/hostname + whenUnsatisfiable: ScheduleAnyway + labelSelector: + matchLabels: + app: ui + ingress: + enabled: true + className: eks-auto-alb diff --git a/nginx/kubectl.txt b/nginx/kubectl.txt index 9ebeceb..1bf5d05 100644 --- a/nginx/kubectl.txt +++ b/nginx/kubectl.txt @@ -1,15 +1,21 @@ +EKS cluster created +1. Update IAM role with oidc provider +2. aws eks --region us-east-1 update-kubeconfig --name eks-1 +3. kubectl apply -f service_account.yaml + helm repo add eks https://aws.github.io/eks-charts helm repo update eks helm install aws-load-balancer-controller eks/aws-load-balancer-controller \ -n kube-system \ - --set clusterName=test \ + --set clusterName=eks-1 \ --set serviceAccount.create=false \ --set region=us-east-1 \ - --set vpcId=vpc-0a39e03c2cec4d6f4 \ - --set serviceAccount.name=aws-load-balancer-controller2 + --set vpcId=vpc-04fb289af99df2610 \ + --set serviceAccount.name=aws-load-balancer-controller kubectl get deployment -n kube-system aws-load-balancer-controller + helm uninstall aws-load-balancer-controller -n kube-system kubectl get events --sort-by='.metadata.creationTimestamp' | tail -n 10 @@ -37,3 +43,9 @@ kubectl run -i \ --restart=Never \ -- /bin/sh -c "while sleep 0.01; do wget -q -O- http://k8s-game2048-ingress2-2d00d5bb4b-1483018925.us-east-1.elb.amazonaws.com/; done" + + +autoscaling +aws ecr-public get-login-password --region us-east-1 | helm registry login --username AWS --password-stdin public.ecr.aws + +helm install -f values.yaml retail-store-app oci://public.ecr.aws/aws-containers/retail-store-sample-chart --version 0.8.3 diff --git a/terraform/eks_nodegroup/eks.tf b/terraform/eks_nodegroup/eks.tf index 8e120ff..276401e 100644 --- a/terraform/eks_nodegroup/eks.tf +++ b/terraform/eks_nodegroup/eks.tf @@ -2,7 +2,7 @@ module "eks" { source = "terraform-aws-modules/eks/aws" version = "~> 20.0" - cluster_name = "eks" + cluster_name = "eks-1" cluster_version = "1.31" bootstrap_self_managed_addons = true cluster_upgrade_policy = { diff --git a/terraform/eks_nodegroup/providers.tf b/terraform/eks_nodegroup/providers.tf index dd0c12d..bf994dd 100644 --- a/terraform/eks_nodegroup/providers.tf +++ b/terraform/eks_nodegroup/providers.tf @@ -5,6 +5,6 @@ terraform { backend "s3" { region = "us-east-1" bucket = "devops4solutions-terraform" - key = "eks_cluster.tfstate" + key = "eks_cluster_1.tfstate" } } \ No newline at end of file diff --git a/terraform/eks_nodegroup/vpc.tf b/terraform/eks_nodegroup/vpc.tf index 301cbfc..2f39af1 100644 --- a/terraform/eks_nodegroup/vpc.tf +++ b/terraform/eks_nodegroup/vpc.tf @@ -1,6 +1,6 @@ module "vpc" { source = "terraform-aws-modules/vpc/aws" - name = "eks-vpc" + name = "eks-vpc1" cidr = "11.0.0.0/16" azs = ["us-east-1a", "us-east-1b", "us-east-1c"]