【问题标题】:Is there an imperative command to create daemonsets in kubernetes?是否有在 kubernetes 中创建守护进程的命令式命令?
【发布时间】:2020-02-21 16:01:35
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: kubernetes daemonset


    【解决方案1】:

    没有用于创建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 -
      

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

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

    这就是我们为daemonset 获得yaml 的方式。

    【讨论】:

    • 我们也必须删除statusstrategy,对吧?
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2015-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-06
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多