|
5 | 5 |
|
6 | 6 | source ../scripts/check-available-commands.sh
|
7 | 7 |
|
8 |
| -checkCommandsAvailable aws cat docker eksctl grep helm jq kubectl sed terraform vault |
| 8 | +checkCommandsAvailable kubectl |
9 | 9 |
|
10 |
| -if test -n "${AWS_REGION-}"; then |
11 |
| - echo "AWS_REGION is set to <$AWS_REGION>" |
12 |
| -else |
13 |
| - AWS_REGION=eu-west-1 |
14 |
| - echo "AWS_REGION is not set or empty, defaulting to ${AWS_REGION}" |
15 |
| -fi |
16 |
| - |
17 |
| -if test -n "${CLUSTERNAME-}"; then |
18 |
| - echo "CLUSTERNAME is set to <$CLUSTERNAME>" |
19 |
| -else |
20 |
| - CLUSTERNAME=wrongsecrets-exercise-cluster |
21 |
| - echo "CLUSTERNAME is not set or empty, defaulting to ${CLUSTERNAME}" |
22 |
| -fi |
23 |
| - |
24 |
| -ACCOUNT_ID=$(aws sts get-caller-identity | jq '.Account' -r) |
25 |
| -echo "ACCOUNT_ID=${ACCOUNT_ID}" |
26 |
| - |
27 |
| -LBC_VERSION="v2.13.4" |
28 |
| -echo "LBC_VERSION=$LBC_VERSION" |
29 |
| - |
30 |
| -# echo "executing eksctl utils associate-iam-oidc-provider" |
31 |
| -# eksctl utils associate-iam-oidc-provider \ |
32 |
| -# --region ${AWS_REGION} \ |
33 |
| -# --cluster ${CLUSTERNAME} \ |
34 |
| -# --approve |
35 |
| - |
36 |
| -echo "creating iam policy" |
37 |
| -curl -o iam_policy.json https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/"${LBC_VERSION}"/docs/install/iam_policy.json |
38 |
| -aws iam create-policy \ |
39 |
| - --policy-name AWSLoadBalancerControllerIAMPolicy \ |
40 |
| - --policy-document file://iam_policy.json |
41 |
| - |
42 |
| -echo "creating iam service account for cluster ${CLUSTERNAME}" |
43 |
| -eksctl create iamserviceaccount \ |
44 |
| - --cluster $CLUSTERNAME \ |
45 |
| - --namespace kube-system \ |
46 |
| - --name aws-load-balancer-controller \ |
47 |
| - --attach-policy-arn arn:aws:iam::${ACCOUNT_ID}:policy/AWSLoadBalancerControllerIAMPolicy \ |
48 |
| - --override-existing-serviceaccounts \ |
49 |
| - --region $AWS_REGION \ |
50 |
| - --approve |
51 |
| - |
52 |
| -echo "setting up kubectl" |
53 |
| - |
54 |
| -aws eks update-kubeconfig --region $AWS_REGION --name $CLUSTERNAME --kubeconfig ~/.kube/wrongsecrets |
55 |
| - |
56 |
| -export KUBECONFIG=~/.kube/wrongsecrets |
57 |
| - |
58 |
| -echo "applying aws-lbc with kubectl" |
59 |
| - |
60 |
| -kubectl apply -k "github.com/aws/eks-charts/stable/aws-load-balancer-controller/crds?ref=master" |
61 |
| - |
62 |
| -kubectl get crd |
63 |
| - |
64 |
| -echo "do helm eks application" |
65 |
| -helm repo add eks https://aws.github.io/eks-charts |
66 |
| -helm repo update eks |
67 |
| - |
68 |
| -echo "upgrade alb controller with helm" |
69 |
| -helm upgrade -i aws-load-balancer-controller \ |
70 |
| - eks/aws-load-balancer-controller \ |
71 |
| - -n kube-system \ |
72 |
| - --set clusterName=${CLUSTERNAME} \ |
73 |
| - --set serviceAccount.create=false \ |
74 |
| - --set serviceAccount.name=aws-load-balancer-controller \ |
75 |
| - --set image.tag="${LBC_VERSION}" \ |
76 |
| - --set region=${AWS_REGION} \ |
77 |
| - --set image.repository=602401143452.dkr.ecr.${AWS_REGION}.amazonaws.com/amazon/aws-load-balancer-controller |
78 |
| -# You may need to modify the account ID above if you're operating in af-south-1, ap-east-1, ap-southeast-3, cn-north and cn-northwest, eu-south-1, me-south-1, or the govcloud. |
79 |
| -# See the full list of accounts per regions here: https://docs.aws.amazon.com/eks/latest/userguide/add-ons-images.html |
80 |
| - |
81 |
| -echo "wait with rollout for 10 s" |
82 |
| -sleep 10 |
83 |
| - |
84 |
| -echo "rollout status deployment" |
85 |
| -kubectl -n kube-system rollout status deployment aws-load-balancer-controller |
86 |
| - |
87 |
| -echo "wait after rollout for 10 s" |
88 |
| -sleep 10 |
89 |
| - |
90 |
| -EKS_CLUSTER_VERSION=$(aws eks describe-cluster --name $CLUSTERNAME --region $AWS_REGION --query cluster.version --output text) |
| 10 | +echo "set up ingress class" |
| 11 | +kubectl apply -f ./k8s/ingress-class-params.yaml |
| 12 | +kubectl apply -f ./k8s/ingress-class.yaml |
91 | 13 |
|
92 | 14 | echo "apply -f k8s/secret-challenge-vault-service.yml in 10 s"
|
93 | 15 | sleep 10
|
|
0 commit comments