File tree 5 files changed +26
-21
lines changed
5 files changed +26
-21
lines changed Original file line number Diff line number Diff line change @@ -81,17 +81,16 @@ Check environment variables for Kubernetes API endpoint
81
81
kubectl exec -it foo-test -- printenv | grep KUBERNETES_ | sort
82
82
```
83
83
84
- Check service account from pod
84
+ Configure and test kubectl
85
85
86
86
``` sh
87
- kubectl exec -it foo-test -- sh
88
- ```
89
-
90
- And then configure kubectl
91
-
92
- ``` sh
93
- apk udpate
94
- apk add kubectl --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing
95
- TOKEN=" $( cat /run/secrets/kubernetes.io/serviceaccount/token) "
96
- kubectl --server=https://${KUBERNETES_SERVICE_HOST} :${KUBERNETES_SERVICE_PORT_HTTPS} --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt --token=" ${TOKEN} " version
87
+ kubectl exec -i foo-test -- apk update
88
+ kubectl exec -i foo-test -- apk add kubectl --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing
89
+ clear
90
+ kubectl exec -i foo-test -- sh << "EOF "
91
+ kubectl version \
92
+ --server=https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT_HTTPS} \
93
+ --certificate-authority=/run/secrets/kubernetes.io/serviceaccount/ca.crt \
94
+ --token="$(cat /run/secrets/kubernetes.io/serviceaccount/token)"
95
+ EOF
97
96
```
Original file line number Diff line number Diff line change @@ -17,7 +17,7 @@ kubectl create sa foo
17
17
Create pod with service account
18
18
19
19
``` sh
20
- cat << EOF
20
+ cat << EOF | kubectl apply -f -
21
21
apiVersion: v1
22
22
kind: Pod
23
23
metadata:
34
34
Check automounted service account
35
35
36
36
``` sh
37
- kubectl exec -it foo -- mount | grep secrets
38
- kubectl exec -it foo -- ls -l /run/secrets/kubernetes.io/serviceaccount
37
+ kubectl exec -it foo-automount -- mount | grep secrets
38
+ kubectl exec -it foo-automount -- ls -l /run/secrets/kubernetes.io/serviceaccount
39
39
```
40
40
41
41
Create pod without service account
58
58
Check for service account
59
59
60
60
``` sh
61
- kubectl exec -it foo -- mount | grep secrets
61
+ kubectl exec -it foo-noautomount -- mount | grep secrets
62
62
```
Original file line number Diff line number Diff line change 2
2
3
3
Make sure to prepare your environment according to ` prepare.sh ` .
4
4
5
- Avoid service accounts using env vars
5
+ Avoid service accounts by using env vars
6
6
7
7
``` sh
8
8
cat << EOF | kubectl apply -f -
@@ -28,10 +28,11 @@ spec:
28
28
fieldRef:
29
29
fieldPath: metadata.namespace
30
30
EOF
31
+ sleep 5
31
32
kubectl exec -it foo -- printenv | grep MY_
32
33
```
33
34
34
- Avoid service accounts using files
35
+ Avoid service accounts by using files
35
36
36
37
``` sh
37
38
cat << EOF | kubectl apply -f -
58
59
fieldRef:
59
60
fieldPath: metadata.labels
60
61
EOF
62
+ sleep 5
61
63
kubectl exec -it bar -- cat /etc/podinfo/labels
62
64
```
Original file line number Diff line number Diff line change @@ -34,13 +34,13 @@ spec:
34
34
EOF
35
35
```
36
36
37
- Check pod description
37
+ Check pod description for default service account
38
38
39
39
``` sh
40
40
kubectl get pod default-test -o yaml
41
41
```
42
42
43
- Check for credentials
43
+ Check pod for credentials
44
44
45
45
``` sh
46
46
kubectl exec -it default-test -- mount | grep secrets
Original file line number Diff line number Diff line change @@ -5,13 +5,17 @@ Make sure to prepare your environment according to `prepare.sh`.
5
5
Image pull secrets in service accounts
6
6
7
7
``` sh
8
- kubectl create secret docker-registry registry.company.com --docker-server=registry.company.com --docker-username=ssrv_reg_user --docker-password=" Secr3t!"
8
+ kubectl create secret docker-registry registry.company.com \
9
+ --docker-server=registry.company.com \
10
+ --docker-username=ssrv_reg_user \
11
+ --docker-password=" Secr3t!"
9
12
```
10
13
11
14
Add image pull secret to service account
12
15
13
16
``` sh
14
- kubectl patch serviceaccount default --patch ' {"imagePullSecrets": [{"name": "registry.company.com"}]}'
17
+ kubectl patch serviceaccount default \
18
+ --patch ' {"imagePullSecrets": [{"name": "registry.company.com"}]}'
15
19
```
16
20
17
21
Display service account
You can’t perform that action at this time.
0 commit comments