准备就绪,但仅在开始时

时间:2019-03-07 15:01:16

标签: kubernetes

在K8S中,我们充满生气和准备就绪。两者都贯穿整个应用程序生命周期。但这对我来说还不够。我想运行一些运行状况检查,但仅在启动时运行,或者将就绪状态配置为仅在启动时运行。有可能吗?

1 个答案:

答案 0 :(得分:1)

看看handler lifecycle events,这取决于您正在执行的运行状况检查探针的类型,处理程序事件也会有所不同。我在一个简单的“ hello-world”播客上尝试了此操作。在您的postStart事件中设置一个命令,该命令仅在构建并运行容器时运行一次。我的示例yaml文件如下所示:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: hello-world
  labels:
    app: hello-world
spec:
  replicas: 1
  selector:
    matchLabels:
      app: hello-world
  template:
    metadata:
      labels:
        app: hello-world
    spec:
      containers:
      - image: paulbouwer/hello-kubernetes:1.5
        lifecycle:
          postStart:
            exec:
              command: ["/bin/sh", "-c", "echo Hello from the postStart handler > /usr/share/message"]
        name: hello-world
        ports:
        - containerPort: 8080
          name: http