Sau khi tao IAM Role xong, chúng ta sẽ thêm role đã tạo vào aws-auth ConfigMap cho EKS cluster. Sau khi ConfigMap đã được thiết lập cho role mới, kubectl trong CodeBuild stage của pipeline sẽ có thể tương tác với EKS cluster thông qua IAM Role.
ROLE=" - rolearn: arn:aws:iam::${ACCOUNT_ID}:role/EksWorkshopCodeBuildKubectlRole\n username: build\n groups:\n - system:masters"
kubectl get -n kube-system configmap/aws-auth -o yaml | awk "/mapRoles: \|/{print;print \"$ROLE\";next}1" > /tmp/aws-auth-patch.yml
kubectl patch configmap/aws-auth -n kube-system --patch "$(cat /tmp/aws-auth-patch.yml)"
Nếu bạn muốn chỉnh sửa aws-auth ConfigMap bằng tay , bạn có thể sử dụng câu lệnh : kubectl edit -n kube-system configmap/aws-auth
kubectl describe configmap -n kube-system aws-auth
Name: aws-auth
Namespace: kube-system
Labels: <none>
Annotations: <none>
Data
====
mapRoles:
----
- rolearn: arn:aws:iam:: :role/EksWorkshopCodeBuildKubectlRole
username: build
groups:
- system:masters