Я использую Дженкинса и Кубернетеса для выполнения этих действий.
Так как мой loadBalancer нуждается в здоровом модуле, мне пришлось добавить livenessProbe в мой модуль.
Моя конфигурация для модуля:
apiVersion: v1
kind: Pod
metadata:
labels:
component: ci
spec:
# Use service account that can deploy to all namespaces
serviceAccountName: default
# Use the persisnte volume
containers:
- name: gcloud
image: gcr.io/cloud-builders/gcloud
command:
- cat
tty: true
- name: kubectl
image: gcr.io/cloud-builders/kubectl
command:
- cat
tty: true
- 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
Проблема, которая возникает, заключается в том, что когда я хочу развернуть код (CD поверх Jenkins), он становится понятным
/ TMP / здорова;
команда и время истекло.
Ответ об ошибке выглядит следующим образом:
java.io.IOException: Failed to execute shell script inside container [kubectl] of pod [wobbl-mobile-label-qcd6x-13mtj]. Timed out waiting for the container to become ready!
Когда я набираю kubectl get events
Я получаю следующий ответ:
Liveness probe failed: cat: can't open '/tmp/healthy': No such file or directory
Есть какие-нибудь советы, как решить эту проблему?
Я прочитал эту документацию для живости, и я взял оттуда конфиг для нее.