kubernetes存活性探针使用

2023-04-29 10:31:21 浏览数 (1)

在Kubernetes中使用存活性探针非常简单。只需在容器规格中添加livenessProbe字段,然后指定探针的类型、检查频率、超时时间等参数即可。以下是一个使用HTTP存活性探针的示例:

代码语言:javascript复制
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
    - name: my-container
      image: my-image
      livenessProbe:
        httpGet:
          path: /healthz
          port: 8080
        initialDelaySeconds: 5
        periodSeconds: 10

在上面的示例中,我们在容器规格中添加了一个名为my-container的容器,并指定了一个HTTP存活性探针。探针将每10秒钟发送一个HTTP GET请求到容器的端口8080,并期望获得响应代码200。如果探针未能获得响应或者响应代码不是200,则Kubernetes将在5秒钟后重新启动该容器。

除了HTTP存活性探针外,我们还可以使用TCP存活性探针和Exec存活性探针。以下是一个使用TCP存活性探针的示例:

代码语言:javascript复制
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
    - name: my-container
      image: my-image
      livenessProbe:
        tcpSocket:
          port: 8080
        initialDelaySeconds: 5
        periodSeconds: 10

在上面的示例中,我们将TCP存活性探针添加到了my-container容器中。探针将每10秒钟检查容器中的TCP套接字是否处于活动状态。如果套接字不活动或容器无法接受传入连接请求,则Kubernetes将在5秒钟后重新启动该容器。

最后,以下是一个使用Exec存活性探针的示例:

代码语言:javascript复制
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
    - name: my-container
      image: my-image
      livenessProbe:
        exec:
          command:
            - /bin/sh
            - -c
            - ps aux | grep my-process
        initialDelaySeconds: 5
        periodSeconds: 10

在上面的示例中,我们使用Exec存活性探针来检查容器中是否正在运行my-process进程。探针将每10秒钟运行一次命令ps aux | grep my-process,并检查退出代码是否为0。如果进程未运行或命令返回非零退出代码,则Kubernetes将在5秒钟后重新启动该容器。

0 人点赞