Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cloud Native ingress controller for AKS and EKS #46

Open
chaitu6022 opened this issue Jun 16, 2021 · 3 comments
Open

Cloud Native ingress controller for AKS and EKS #46

chaitu6022 opened this issue Jun 16, 2021 · 3 comments
Labels
zh:Icebox Issues in the ZenHub pipeline 'Icebox'

Comments

@chaitu6022
Copy link
Contributor

chaitu6022 commented Jun 16, 2021

Use cloud native ingress controllers

  1. for AKS application gateway
  2. for EKS application load balancer

┆Issue is synchronized with this Jiraserver Bug by Unito
┆Issue Number: K8SSAND-604
┆Priority: Medium

@chaitu6022
Copy link
Contributor Author

image
Can not able to make role attachments on the Azure. @bradfordcp can you please take a look at them. I was trying to create application gateway with terraform.

@chaitu6022
Copy link
Contributor Author

Classic load balancer only serves single ingress, we need to go for Application gateway, we need to make these role assignments to the application gateway. @bradfordcp update for me.

@chaitu6022
Copy link
Contributor Author

chaitu6022 commented Jun 24, 2021

Set up AWS ingress controller

step1 :- enable oidc provider
eg:-
eksctl utils associate-iam-oidc-provider --region us-east-1 --cluster infra-k8ssandra-eks-cluster --approve

step2 :- create IAM policy
eg:- aws iam create-policy --policy-name AWSLoadBalancerControllerIAMPolicy --policy-document file://iam_policy.json

step3 :- create a service account user the policy arn create above.
eg:-
eksctl create iamserviceaccount --cluster=infra-k8ssandra-eks-cluster --region=us-east-1 --namespace=kube-system --name=aws-load-balancer-controller --attach-policy-arn=arn:aws:iam::xxxxxxxxxxxxxx:policy/AWSLoadBalancerControllerIAMPolicy --override-existing-serviceaccounts --approve

Step4 :- check for the controller
kubectl get deployment -n kube-system alb-ingress-controller

Step 5 :- Install the AWS Load Balancer Controller using Helm V3 or later
kubectl apply -k "github.com/aws/eks-charts/stable/aws-load-balancer-controller//crds?ref=master"

step 6 :- Add helm repo
helm repo add eks https://aws.github.io/eks-charts

step 7 :- update helm repo's
helm repo update

step 8:- Install the AWS Load Balancer Controller.

helm upgrade -i aws-load-balancer-controller eks/aws-load-balancer-controller --set clusterName=infra-k8ssandra-eks-cluster -n kube-system --set serviceAccount.create=false --set serviceAccount.name=aws-load-balancer-controller

step 9:- kubectl get deployment -n kube-system aws-load-balancer-controller

Check the deployment status you should see the following output.

Output:-
NAME READY UP-TO-DATE AVAILABLE AGE
aws-load-balancer-controller 2/2 2 2 84s

step 10:- check the logs
kubectl logs -n kube-system deployment.apps/aws-load-balancer-controller


Time to deploy your application.
Step 11:-
helm install test k8ssandra/k8ssandra --set cassandra.cassandraLibDirVolume.storageClass=gp2

kubectl get pods
to check the status, wait untill all the pods and services avilable.

Create Nodeport service:-
kubectl create -f nodeport.yam

Create ingress service :-
kubectl create -f ingress.yml

Step 12 :- wait for the load balencers to come avilable.

kubectl get ingress

Output:
NAME CLASS HOSTS ADDRESS PORTS AGE
ingress * k8s-default-ingress-7cb30059ab-318290427.us-east-1.elb.amazonaws.com 80 38m

use the Address to access your web site.

@adejanovski adejanovski added the zh:Icebox Issues in the ZenHub pipeline 'Icebox' label Jun 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
zh:Icebox Issues in the ZenHub pipeline 'Icebox'
Projects
None yet
Development

No branches or pull requests

2 participants