|
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