如何在 kubernetes pod 中初始化 systemd 服务?

How to initialize systemd services in kubernetes pod?

我有一个来自基础 os centos/systemd 的图像。当我在容器的 laucher 文件中提供 "exec /usr/sbin/init" 并使用 docker systemd 服务创建容器时向上。 但是,当我在 kubernetes 中使用具有相同启动器文件的相同图像创建容器时,systemd 服务不会将 up.How 更改为 运行,kubernetes 中的 /usr/sbin/init 因此 systemd 服务会在容器创建

要解决此问题,您可以使用 kubernetes init container 运行 首先在主容器创建之前启动必要的服务。

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 init 容器文档:https://kubernetes.io/docs/concepts/workloads/pods/init-containers/

https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-initialization/