Я создаю контроллер репликации с одним контейнером-init. Однако контейнер инициализации не запускается и состояние контейнера является:kubernetes init container CrashLoopBackOff
NAME READY STATUS RESTARTS AGE
testcontainer 0/1 CrashLoopBackOff 12 37m
Я не уверен, что часть не удается точно, и журналы не помогают. Моя версия kubectl сервер 1.4 (отличается от версии клиента), поэтому я использую:
annotations:
pod.beta.kubernetes.io/init-containers:
Вот репликация контроллера YAML файл я использую. Я использую «привет-мир» изображение (вместо Nginx, чтобы сделать это быстрее)
apiVersion: v1
kind: ReplicationController
metadata:
name: testcontainer
spec:
replicas: 1
selector:
app: nginx
template:
metadata:
labels:
app: nginx
annotations:
pod.beta.kubernetes.io/init-containers: '[
{
"name": "install",
"image": "hello-world"
}
]'
spec:
containers:
- name: nginx
image: hello-world
dnsPolicy: Default
nodeName: x.x.x.x
журналы из kubectl описывают стручок:
Warning FailedSync Error syncing pod, skipping: failed to "StartContainer" for "nginx" with CrashLoopBackOff: "Back-off 5m0s restarting failed container=nginx pod=testcontainer()"
32m 16s 145 {kubelet x.x.x.x} spec.containers{nginx} Warning BackOff Back-off restarting failed docker container
когда я проверяю журналы обоих контейнеров (nginx и testcontainer), он показывает результат запуска изображения hello-world, поэтому я думаю, что изображение загружается и запускается успешно. Я не уверен, что сработает после этого (я даже попытался создать один контейнер, используя пример, приведенный на https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-initialization/#creating-a-pod-that-has-an-init-container, но все еще не удается)
Спасибо!
Привет svenwltr Я думал инициализации cotainer (установки) будет работать, и в случае успеха запускается контейнер приложения (nginx). если контейнер init успешно, зачем он перезапускается? (не должна ли политика «всегда» перезапуска применяться только в случае ее отказа?) Ive также попытался использовать этот пример, а контейнер инициализации все еще не выполнен: https://kubernetes.io/docs/tasks/configure-pod-container/configure -pod-initialization/# create-a-pod-that-has-an-init-container Я вижу «PodInitializig», но он никогда не завершается. – greg
Другими словами, как я могу создать контейнер init для контроллера репликации (не задания), работающего с изображением hello-world? – greg
Ваш контейнер инициализации работает нормально, но после контейнера init запускается контейнер с именем 'nginx'. Этот контейнер также использует изображение hello-world. Вы заменяете это изображение. – svenwltr