Skip to content

Commit 8847957

Browse files
committed
Improved demos
1 parent e7cf8f1 commit 8847957

File tree

2 files changed

+56
-12
lines changed

2 files changed

+56
-12
lines changed

120_kubernetes/rbac/service_account.md

+19-5
Original file line numberDiff line numberDiff line change
@@ -22,28 +22,42 @@ Service account `default` does not have any (Cluster)Role
2222

2323
No need to access Kubernetes API?
2424

25-
Disable token mounting in `Pod`:
25+
Disable token mounting in the `pod`:
2626

27-
```yaml [2,7]
27+
```yaml [2,6]
2828
apiVersion: v1
2929
kind: Pod
3030
metadata:
3131
name: foo
3232
spec:
33-
serviceAccountName: foo
3433
automountServiceAccountToken: false
3534
#...
3635
```
3736

37+
---
38+
39+
## Prevent token mounting 2/
40+
41+
Disable token mounting in the service account:
42+
43+
```yaml [2,5]
44+
apiVersion: v1
45+
kind: ServiceAccount
46+
metadata:
47+
name: foo-noautomount
48+
automountServiceAccountToken: false
49+
#...
50+
```
51+
3852
### DEMO [<i class="fa fa-comment-code"></i>](https://github.com/nicholasdille/container-slides/blob/master/120_kubernetes/rbac/service_account_automount.runme.md "service_account_automount.runme.md")
3953

4054
---
4155

42-
## Prevent token mounting 2/2
56+
## Prevent token mounting 3/3
4357

4458
Can be overridden in the pod spec:
4559

46-
```yaml [2,6]
60+
```yaml [2,6-7]
4761
apiVersion: v1
4862
kind: Pod
4963
metadata:

120_kubernetes/rbac/service_account_automount.runme.md

+37-7
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,19 @@ Show kubernetes service
88
kubectl get service kubernetes
99
```
1010

11-
Create sa
11+
Create sa and deny automounting
1212

1313
```sh
14-
kubectl create sa foo
14+
cat <<EOF | kubectl apply -f -
15+
apiVersion: v1
16+
kind: ServiceAccount
17+
metadata:
18+
name: foo-noautomount
19+
automountServiceAccountToken: false
20+
EOF
1521
```
1622

17-
Create pod with service account
23+
Create pod with the service account
1824

1925
```sh
2026
cat <<EOF | kubectl apply -f -
@@ -23,7 +29,30 @@ kind: Pod
2329
metadata:
2430
name: foo-automount
2531
spec:
26-
serviceAccountName: foo
32+
serviceAccountName: foo-noautomount
33+
containers:
34+
- name: nginx
35+
image: nginx:stable
36+
EOF
37+
```
38+
39+
Check that the service account is not mounted
40+
41+
```sh
42+
kubectl exec -it foo-automount -- mount | grep secrets || true
43+
kubectl exec -it foo-automount -- ls -l /run/secrets/kubernetes.io/serviceaccount || true
44+
```
45+
46+
Enforce automounting the service account
47+
48+
```sh
49+
cat <<EOF | kubectl apply -f -
50+
apiVersion: v1
51+
kind: Pod
52+
metadata:
53+
name: foo-enforce
54+
spec:
55+
serviceAccountName: foo-noautomount
2756
automountServiceAccountToken: true
2857
containers:
2958
- name: nginx
@@ -34,13 +63,14 @@ EOF
3463
Check automounted service account
3564

3665
```sh
37-
kubectl exec -it foo-automount -- mount | grep secrets
38-
kubectl exec -it foo-automount -- ls -l /run/secrets/kubernetes.io/serviceaccount
66+
kubectl exec -it foo-enforce -- mount | grep secrets || true
67+
kubectl exec -it foo-enforce -- ls -l /run/secrets/kubernetes.io/serviceaccount || true
3968
```
4069

4170
Create pod without service account
4271

4372
```sh
73+
kubectl create sa foo
4474
cat <<EOF | kubectl apply -f -
4575
apiVersion: v1
4676
kind: Pod
@@ -58,5 +88,5 @@ EOF
5888
Check for service account
5989

6090
```sh
61-
kubectl exec -it foo-noautomount -- mount | grep secrets
91+
kubectl exec -it foo-noautomount -- mount | grep secrets || true
6292
```

0 commit comments

Comments
 (0)