CKSコースで、コンテナをイミュータブルにするための強制方法の一つとして、starupProbeを使ってbashを取り除く方法が紹介されていたのでメモ。
そもそもstartupProbeを知らなかったが、1.18でベータ、1.20でGAしている。livenessProbe、readinessProbeに続く3つめのプローブ機能。
例えば以下のようにマニフェストを書いてあげればよい。削除しなくても実行権限を取り除くだけでもよさそう。
apiVersion: v1 kind: Pod metadata: creationTimestamp: null labels: run: pod1 name: pod1 spec: containers: - image: httpd name: pod1 resources: {} startupProbe: exec: command: - rm - /bin/bash initialDelaySeconds: 1 periodSeconds: 5 dnsPolicy: ClusterFirst restartPolicy: Always status: {}
ただし、実行ユーザーがrootでないとrmできなそうなので、実際にはこのままは使えないかも知れない。