#docker #kubernetes #systemd
#docker #kubernetes #systemd
Вопрос:
У меня есть образ из базовой ОС centos / systemd.когда я даю «exec / usr /sbin / init» в файле laucher контейнера и создаю контейнер с помощью docker, службы systemd запускаются. Но когда я создаю контейнер, используя тот же образ в kubernetes с тем же файлом запуска, службы systemd не подключаются.Как запустить /usr/sbin/init в kubernetes, чтобы службы systemd появлялись во время создания контейнера
Ответ №1:
Для решения этой проблемы вы можете использовать контейнер инициализации kubernetes, который запускается первым перед созданием основного контейнера и запускает необходимые службы.
apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
labels:
app: myapp
spec:
initContainers:
- name: check-system-ready
image: busybox
command: ['sh', '-c', 'Your sysntax for systemd']
containers:
- your container spec
Делюсь здесь официальным документом контейнера инициализации kubernetes:https://kubernetes.io/docs/concepts/workloads/pods/init-containers /
https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-initialization/
Комментарии:
1. Пожалуйста, не публикуйте устаревший синтаксис initContainers!
2. это в официальном документе, он не обновляется, поэтому, и я думаю, это также зависит от используемой ими версии kubernetes.