kubernetes resourcesの設定値について Kubernetes
command: ['sleep', '3600']
とかで起動したpodにexecで入って yes
コマンド等で負荷をかけても、yes
のプロセスがkillされるだけでpodはevictされなかった。
ドキュメント読む限りpodがevictされるのかと思ったがそうじゃない?
起動時のコマンドのプロセスがlimitsに達したとき、podがkillされる(想定通り)
killされた理由がどこかに出力されているのかはわからなかった。 describe pod すると負荷かけたコンテナのほうにOOMKilledが出ているのはわかった
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-deployment
spec:
replicas: 1
selector:
matchLabels:
app: test-app
template:
metadata:
labels:
app: test-app
spec:
containers:
- name: busybox # こちらはkillされない
image: busybox:latest
command: ['sh', '-c', 'echo "Hello, Kubernetes!" && sleep 3600']
resources:
requests:
cpu: "100m"
memory: "64M"
limits:
cpu: "200m"
memory: "128M"
- name: stress # killされる
image: polinux/stress:latest
command: ['stress']
args: ["--vm", "1", "--vm-bytes", "256M", "--vm-hang", "1"]
resources:
requests:
cpu: "100m"
memory: "64M"
limits:
cpu: "200m"
memory: "128M"