Kubernetes 正在准备运行作业的工作节点吗?

Kubernetes 正在准备运行作业的工作节点吗?

我想sysctl在运行 OpenSearch 的节点上设置一个设置。

我想到了以下initContainer解决方案。

apiVersion: v1
kind: Pod
metadata:
  name: os-init-sysctl
  labels:
    app.kubernetes.io/name: os-init-sysctl
spec:
  containers:
  - name: os-container
    image: busybox:1.28
    command: ['sh', '-c', 'echo The app is running! && sleep 3600']
  initContainers:
  - name: init-sysctl
    image: busybox
    command:
    - sysctl
    - -w
    - vm.max_map_count=262144
    imagePullPolicy: IfNotPresent
    securityContext:
      privileged: true

遗憾的是,它仅在一个节点上运行,并且在 os-container 处于休眠状态时继续运行。

如何更好地在所有工作节点上执行此操作而不消耗资源? 我可以有一个只带有 initContainer 而没有 os-container 的 pod 吗?到目前为止还没有让它工作?

DaemonSet 我阅读了有关 dameonset 的文章,但也得出结论,它们必须持续运行。是这样吗?

工作 那作业呢?我可以在每个节点上运行作业吗?

相关内容