是否有在 kubernetes 中创建 daemonsets 的命令式命令?

Is there an imperative command to create daemonsets in kubernetes?

我想知道是否有比 yaml 文件更简单的方法在 k8s 中创建 daemonsets。 例如,对于 pods 我们有 kubectl run --generator=run-pod/v1 命令。我想知道 DS 是否有类似的东西。

提前致谢。

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

  • 一种方法是:
    $ 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 -
    

你现在有你的 daemonset。

我们在这里做的是:首先我们创建一个部署 yaml 然后用 kind: DaemonSet 替换 kind: Deployment 并从部署中删除 replicas: 1 yaml.

这就是 daemonsetyaml 的方式。

您可以访问Kubernetes Documentation for DaemonSets。您可以使用 link 并获取 DaemonSet yaml 文件的示例。但是,您无法通过命令方式创建 Daemonset。您可以创建部署规范并将部署规范更改为 DaemonSet 规范。您需要将 kind 更改为 Daemonset,移除 strategy、replicas 和 status 字段。这样就可以了。