Adi*_*tov 6 kubernetes kubectl daemonset
我参加了CKA考试,因此需要在Daemonsets中工作一段时间。由于使用kubectl进行所有操作要快得多,而不是为k8s资源创建yaml清单,因此我想知道是否可以使用创建Daemonset资源kubectl
。
我知道kubectl create daemonset
至少目前无法使用常规创建它。并且在文档中没有对此的描述。但是也许有一种方法可以以不同的方式做到这一点?
我现在能做的最好的事情就是先创建Deployment,kubectl create deployment
然后编辑它的输出清单。这里有什么选择吗?
小智 6
最快的创建方式
kubectl create deploy nginx --image=nginx --dry-run -o yaml > nginx-ds.yaml
Run Code Online (Sandbox Code Playgroud)
现在将 nginx-ds.yaml 中的 kind: Deployment 行替换为 kind: DaemonSet 并删除replicas : 1行、strategy {}和status {}行。否则,它会显示某些必填字段的错误,如下所示
error: error validating "nginx-ds.yaml": error validating data: [ValidationError(DaemonSet.spec): unknown field "strategy" in io.k8s.api.apps.v1.DaemonSetSpec, ValidationError(DaemonSet.status): missing required field "currentNumberScheduled" in io.k8s.api.apps.v1.DaemonSetStatus,ValidationError(DaemonSet.status): missing required field "numberMisscheduled" in io.k8s.api.apps.v1.DaemonSetStatus, ValidationError(DaemonSet.status): missing required field "desiredNumberScheduled" in io.k8s.api.apps.v1.DaemonSetStatus, ValidationError(DaemonSet.status): missing required field "numberReady" in io.k8s.api.apps.v1.DaemonSetStatus]; if you choose to ignore these errors, turn validation off with --validate=false
Run Code Online (Sandbox Code Playgroud)
最快的破解方法是使用以下命令创建部署文件
kubectl create deploy nginx --image=nginx --dry-run -o yaml > nginx-ds.yaml
Run Code Online (Sandbox Code Playgroud)
现在更换线kind: Deployment
与kind: DaemonSet
在nginx的-ds.yaml和删除行replicas: 1
但是,考虑到“ apps / v1”是集群中用于DaemonSet的api,以下命令将提供干净的daemonset清单
kubectl create deploy nginx --image=nginx --dry-run -o yaml | \
sed '/null\|{}\|replicas/d;/status/,$d;s/Deployment/DaemonSet/g' > nginx-ds.yaml
Run Code Online (Sandbox Code Playgroud)
您有您的nginx DaemonSet。
归档时间: |
|
查看次数: |
2108 次 |
最近记录: |