devlog 2022.04.10
Install AWS Load Balancer Controller on EKS cluster
AWSLoadBalancerControllerIAMPolicy is already created.
IAM role “AmazonEKSLoadBalancerControllerRole” already exists.
$ helm repo add eks https://aws.github.io/eks-charts
$ helm repo update
$ helm install aws-load-balancer-controller eks/aws-load-balancer-controller \
-n kube-system \
--set clusterName=nabecluster \
--set serviceAccount.create=false \
--set serviceAccount.name=aws-load-balancer-controller \
--set region=us-east-1 \
--set vpcId=vpc-*****************
NAME: aws-load-balancer-controller
LAST DEPLOYED: Sun Apr 10 12:19:20 2022
NAMESPACE: kube-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
AWS Load Balancer controller installed!
Pod creation failed.
$ kubectl get events --sort-by='.metadata.creationTimestamp' -n kube-system
LAST SEEN TYPE REASON OBJECT MESSAGE
56s Warning FailedCreate replicaset/aws-load-balancer-controller-********** Error creating: pods "aws-load-balancer-controller-687c464494-" is forbidden: error looking up service account kube-system/aws-load-balancer-controller: serviceaccount "aws-load-balancer-controller" not found
Cannot get IAM service account.
$ eksctl get iamserviceaccount --cluster nabecluster
2022-04-10 16:44:20 [ℹ] eksctl version 0.87.0
2022-04-10 16:44:20 [ℹ] using region us-east-1
Error: getting iamserviceaccounts: no output "Role1" in stack "eksctl-nabecluster-addon-iamserviceaccount-kube-system-aws-load-balancer-controller"
Delete existing service account.
$ eksctl delete iamserviceaccount --cluster=nabecluster --namespace=kube-system --name=aws-load-balancer-controller
Successfully created.
$ eksctl get iamserviceaccount --cluster nabecluster
2022-04-10 16:48:19 [ℹ] eksctl version 0.87.0
2022-04-10 16:48:19 [ℹ] using region us-east-1
NAMESPACE NAME ROLE ARN
kube-system aws-load-balancer-controller arn:aws:iam::************:role/AmazonEKSLoadBalancerControllerRole
Install MongoDB Community Kubernetes Operator on EKS
Create persistent volumes and claims for MongoDB data and logs volumes.
Install the Operator in default namespace.
$ cd /var/work/mongodb-kubernetes-operator
$ kubectl apply -f config/crd/bases/mongodbcommunity.mongodb.com_mongodbcommunity.yaml
$ kubectl apply -k config/rbac/
$ kubectl create -f config/manager/manager.yaml
$ kubectl get secret mongodb-admin-admin-user -o json | jq -r ‘.data | with_entries(.value | = @base64d)’ |