当我在容器的laucher文件中提供“ exec / usr / sbin / init”并使用docker systemd服务创建容器时,我有一个来自os centos / systemd的映像。 但是当我在kubernetes中使用相同的映像创建具有相同启动器文件的容器时,systemd服务无法解决。如何在kubernetes中运行/ usr / sbin / init,以便在容器创建期间出现systemd服务
答案 0 :(得分: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初始化容器doc:https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-initialization/