Как вызвать сбой модуля kubernetes с Java? - PullRequest
0 голосов
/ 25 февраля 2019

Я пытался сделать это, используя этот код, но он не работает:

@ResponseBody
@GetMapping(FAIL)
public Response triggerError(){
    i = i+1;
    if(i==3){
        i=0;
        return Response.serverError().entity("Triggered 500").build();
    }
    return Response.ok().entity("I am fine").build();
}

Как я могу вызвать нездоровый статус для стручка кубернетеса?

1 Ответ

0 голосов
/ 26 февраля 2019

В соответствии с документацией , если модуль не работает, контейнер в модуле будет перезапущен (или нет), в соответствии с политикой перезапуска .

По умолчанию модуль считается нездоровым, если один из контейнеров модуля выходит с состоянием ошибки.

Если модуль постоянно перезапускается, его состояние отображается как CrashLoopBackOff.
Если контейнер в модуле выходит с 0, он получает статус Completed и перезапусков не происходит.

Вы можете настроить проверку работоспособности Pod, используя живость синтаксис зонда:

apiVersion: v1
kind: Pod
metadata:
  labels:
    test: liveness
  name: liveness-exec
spec:
  containers:
  - name: liveness
    image: k8s.gcr.io/busybox
    args:
    - /bin/sh
    - -c
    - touch /tmp/healthy; sleep 30; rm -rf /tmp/healthy; sleep 600
    livenessProbe:
      exec:
        command:
        - cat
        - /tmp/healthy
      initialDelaySeconds: 5
      periodSeconds: 5

Объяснение:

В течение первых 30 секунд Контейнеражизнь, есть файл / tmp / healthy.Поэтому в течение первых 30 секунд команда cat / tmp / healthy возвращает код успеха.Через 30 секунд cat / tmp / healthy возвращает код ошибки.

Надеюсь, это будет полезно.

...