【发布时间】:2020-02-21 16:01:35
【问题描述】:
我想知道除了 yaml 文件之外,是否有更简单的方法在 k8s 中创建守护程序集。
例如,对于 pod,我们有 kubectl run --generator=run-pod/v1 命令。我想知道 DS 是否有类似的东西。
提前致谢。
【问题讨论】:
标签: kubernetes daemonset
我想知道除了 yaml 文件之外,是否有更简单的方法在 k8s 中创建守护程序集。
例如,对于 pod,我们有 kubectl run --generator=run-pod/v1 命令。我想知道 DS 是否有类似的东西。
提前致谢。
【问题讨论】:
标签: kubernetes daemonset
没有用于创建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 的方式。
【讨论】:
status和strategy,对吧?
您可以访问Kubernetes Documentation for DaemonSets。您可以使用该链接并获取 DaemonSet yaml 文件的示例。但是,您无法通过命令式方式创建守护程序集。您可以创建部署规范并将部署规范更改为 DaemonSet 规范。您需要将 kind 更改为 Daemonset,删除 strategy、replicas 和 status 字段。这样就可以了。
【讨论】: