【问题标题】:How to initialize systemd services in kubernetes pod?如何在 kubernetes pod 中初始化 systemd 服务?
【发布时间】:2019-04-24 05:40:03
【问题描述】:

我有一个来自基本操作系统 centos/systemd 的图像。当我在容器的 laucher 文件中提供“exec /usr/sbin/init”并使用 docker systemd 服务创建容器时。 但是,当我在 kubernetes 中使用相同的映像和相同的启动器文件创建容器时,systemd 服务没有启动。如何在 kubernetes 中运行 /usr/sbin/init 以便在容器创建期间启动 systemd 服务

【问题讨论】:

    标签: docker kubernetes systemd


    【解决方案1】:

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

    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/

    【讨论】:

    • 请不要发布已弃用的 initContainers 语法!
    • 这是在官方文档中没有更新所以我认为这也取决于他们使用的kubernetes版本。
    猜你喜欢
    • 2018-05-05
    • 1970-01-01
    • 2022-08-19
    • 2019-11-17
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多