This message was deleted.
# k3s
a
This message was deleted.
c
There is no fixed syntax for the config.yaml. The keys/values are just translated directly to CLI flags and then passed into the flag parser.
I think you’re confused about the different flags though.
--disable=foo
take a list of disables for packaged components - one or more of the manifests such as coredns, traefik, metrics-server.
--disable-etcd=true
is a flag that disables a built-in controller, such as etcd, kube-apiserver, cloud-controller-manager, and so on. Each component has its own separate flag.
1
They are not ambiguous, they do different things, even though they might be similarly named.
You cannot use --disable=etcd to accomplish the same thing as --disable-etcd=true. etcd is an embedded controller, not a packaged component
m
Thanks for clarification.
Might be good to have clearer parameter naming ^^; e.g.
--disable-manifest
and
--disable-internal
@creamy-pencil-82913 If I use
--datastore-endpoint
for connecting to external etcd, should I pass
--disable-etcd=true
? What happens if I do/don’t disable embedded etcd?
c
--disable-etcd has no meaning if you’re not using embedded etcd elsewhere in the cluster
m
@creamy-pencil-82913 I have one node cluster and etcd running in separate process to which I connect by passing --datastore-endpoint. Maybe I don’t quite understand the architecture, but if I try to disable the embedded etcd, k3s fails to boot. I would have assumed embedded etcd is not needed if using external one. Or maybe I have some misconfiguration… 🤔
c
Embedded etcd is not the default. It is only used if you start the server with --cluster-init to initialize a new etcd cluster, or use --server to point it at an existing cluster to join. If you want to use an external datastore, just do so. You don't have to disable anything.