Kubernetes 使用相同的列表清单部署两个不同的守护程序

Kubernetes 使用相同的列表清单部署两个不同的守护程序,kubernetes,yaml,containers,daemonset,Kubernetes,Yaml,Containers,Daemonset,我有一个场景,我需要在集群中的每个节点上部署一个pod,以便它可以观察某些行为(例如,pod是否被创建、是否正确终止)。因为,我已经在集群中运行了一个守护程序,所以我想使用列表资源的可用配置再添加一个守护程序 apiVersion: v1 kind: List metadata: name: Daemonset-deploy namespace: test-ns items: - kind: DaemonSet apiVersion: apps/v1 metadata

我有一个场景,我需要在集群中的每个节点上部署一个pod,以便它可以观察某些行为(例如,pod是否被创建、是否正确终止)。因为,我已经在集群中运行了一个守护程序,所以我想使用列表资源的可用配置再添加一个守护程序

apiVersion: v1
kind: List
metadata:
  name: Daemonset-deploy
  namespace: test-ns
items:
  - kind: DaemonSet
    apiVersion: apps/v1
    metadata:
      name: DaemonSet1
      namespace: test-ns
    spec:
    <add the spec here>
  - kind: DaemonSet
    apiVersion: apps/v1
    metadata:
      name: DaemonSet2
      namespace: test-ns
    spec:
    <add the spec for second daemonset>
apiVersion:v1 种类:列表 元数据: 名称:守护程序部署 名称空间:testns 项目: -种类:守护进程 apiVersion:apps/v1 元数据: 名称:守护进程1 名称空间:testns 规格: -种类:守护进程 apiVersion:apps/v1 元数据: 名称:守护进程2 名称空间:testns 规格:
我想了解这是否是部署两个守护程序的正确方法。因为,当我尝试部署同一配置时,第一个守护程序启动并运行,但第二个守护程序根本没有出现。

您不需要使用list来部署2个守护程序。您只需分别创建两个不同的守护程序。 如果您需要在特定节点中创建守护程序的pod,您可以使用
模板的spec
中的
spec.template.spec.nodeSelector
来创建它们

下面是如何创建两个不同守护程序的示例

---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: DaemonSet1
  namespace: test-ns
spec:
    <add the spec here>
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: DaemonSet2
  namespace: test-ns
spec:
    <add the spec for second daemonset>
---
---
apiVersion:apps/v1
种类:守护进程
元数据:
名称:守护进程1
名称空间:testns
规格:
---
apiVersion:apps/v1
种类:守护进程
元数据:
名称:守护进程2
名称空间:testns
规格:
---

您可以完全独立地部署守护程序。它们不需要通过列表应用。每个都可以有自己的清单。此外,您可以考虑查看KubNeNes事件来检查PODS活动。另外,在这个模式上使用“列表”有什么缺点吗?在k8s中,总是建议单独创建对象。