Reputation: 2044
I was wondering if there is an easier way to create daemonsets in k8s other than yaml files.
For eg, for pods we have kubectl run --generator=run-pod/v1
command. I was wondering if there is something similar for DS.
Thanks in advance.
Upvotes: 5
Views: 4789
Reputation: 41
kubectl create deployment $NAME \
--image=$IMAGE \
-n $NAMESPACE \
--dry-run=client \
-o yaml | \
sed "s/Deployment/DaemonSet/" | \
sed '/replicas/d' | \
sed '/strategy/d' | \
kubectl apply -f -
Upvotes: 3
Reputation: 1693
There is no such quick kubectl create
type command for creating daemonsets
. But you can do it in some other way.
$ kubectl create deploy nginx --image=nginx --dry-run=client -o yaml | \
sed '/null\|{}\|replicas/d;/status/,$d;s/Deployment/DaemonSet/g' > nginx-ds.yaml
$ kubectl apply -f nginx-ds.yaml
yaml
data to any file, here's how you can do this:
$ kubectl create deploy nginx --image=nginx --dry-run=client -o yaml | \
sed '/null\|{}\|replicas/d;/status/,$d;s/Deployment/DaemonSet/g' | \
kubectl apply -f -
You have your daemonset now.
What we are doing here is: at first we're creating a deployment yaml
and then replacing kind: Deployment
with kind: DaemonSet
and remove replicas: 1
from the deployment yaml
.
Thats's how we get yaml
for daemonset
.
Upvotes: 9
Reputation: 458
You can access Kubernetes Documentation for DaemonSets. You could use the link and get examples of DaemonSet yaml files. However there is no way you could create a Daemonset by imperative way. You could create a deployment specification and change the deployment specification to DaemonSet specification. You need to change the kind to Daemonset, remove strategy, replicas and status fields. That would do.
Upvotes: 0