2

我想知道除了 yaml 文件之外,是否有更简单的方法可以在 k8s 中创建守护程序集。例如,对于 pod,我们有kubectl run --generator=run-pod/v1命令。我想知道DS是否有类似的东西。

提前致谢。

4

2 回答 2

5

没有这样的快速kubectl create类型命令来创建daemonsets. 但你可以通过其他方式做到这一点。

  • 一种方法是:
    $ kubectl create deploy nginx --image=nginx --dry-run -o yaml | \
        sed '/null\|{}\|replicas/d;/status/,$d;s/Deployment/DaemonSet/g' > nginx-ds.yaml
    $ kubectl apply -f nginx-ds.yaml
    
  • 如果您不想将yaml数据保存到任何文件中,可以按以下方法执行此操作:
    $ kubectl create deploy nginx --image=nginx --dry-run -o yaml | \
        sed '/null\|{}\|replicas/d;/status/,$d;s/Deployment/DaemonSet/g' | \
        kubectl apply -f -
    

你现在有了你的守护进程。

我们在这里所做的是:首先我们正在创建一个部署yaml,然后替换kind: Deploymentkind: DaemonSetreplicas: 1从部署中删除yaml

这就是我们得到yaml的方式daemonset

于 2019-10-25T10:31:06.543 回答
0

您可以访问DaemonSets 的 Kubernetes 文档。您可以使用该链接并获取 DaemonSet yaml 文件的示例。但是,您无法通过命令式方式创建守护程序集。您可以创建部署规范并将部署规范更改为 DaemonSet 规范。您需要将种类更改为Daemonset,删除策略、副本和状态字段。这样就可以了。

于 2021-05-19T08:05:52.960 回答