kubernetes 中的虚假活跃度/就绪度探测

use*_*669 2 kubernetes

是否有可能伪造容器在 kubernetes 中始终处于就绪状态/活动状态,以便 kubernetes 认为容器是活动的并且不会尝试杀死/重新创建容器?我正在寻找一个快速和 hacky 的解决方案,最好。

Edu*_*llo 7

k8s 控制器不需要Liveness 和 Readiness 探针,您可以简单地删除它们,您的容器将始终处于活动状态/就绪状态。

如果您无论如何都想要 hacky 方法,请使用exec探针(而不是httpGet)和一些总是0作为退出代码返回的虚拟对象。例如:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
        livenessProbe:
          exec:
            command:
            - touch
            - /tmp/healthy
        readinessProbe:
          exec:
            command:
            - touch
            - /tmp/healthy
Run Code Online (Sandbox Code Playgroud)