Skip to content

K0s install controller

k0s install controller#

Install k0s controller on a brand-new system. Must be run as root (or with sudo)

k0s install controller [flags]

Examples#

All default values of controller command will be passed to the service stub unless overridden.

With the controller subcommand you can setup a single node cluster by running:

    k0s install controller --single

Options#

      --api-server string                              HACK: api-server for the windows worker node
      --cidr-range string                              HACK: cidr range for the windows worker node (default "10.96.0.0/12")
      --cluster-dns string                             HACK: cluster dns for the windows worker node (default "10.96.0.10")
  -c, --config string                                  config file, use '-' to read the config from stdin (default "/etc/k0s/k0s.yaml")
      --cri-socket string                              container runtime socket to use, default to internal containerd. Format: [remote|docker]:[path-to-socket]
      --disable-components strings                     disable components (valid items: konnectivity-server,kube-scheduler,kube-controller-manager,control-api,csr-approver,kube-proxy,coredns,network-provider,helm,metrics-server,kubelet-config,system-rbac,endpoint-reconciler)
      --enable-cloud-provider                          Whether or not to enable cloud provider support in kubelet
      --enable-dynamic-config                          enable cluster-wide dynamic config based on custom resource
      --enable-k0s-cloud-provider                      enables the k0s-cloud-provider (default false)
      --enable-metrics-scraper                         enable scraping metrics from the controller components (kube-scheduler, kube-controller-manager)
      --enable-worker                                  enable worker (default false)
  -h, --help                                           help for controller
      --iptables-mode string                           iptables mode (valid values: nft, legacy, auto). default: auto
      --k0s-cloud-provider-port int                    the port that k0s-cloud-provider binds on (default 10258)
      --k0s-cloud-provider-update-frequency duration   the frequency of k0s-cloud-provider node updates (default 2m0s)
      --kube-controller-manager-extra-args string      extra args for kube-controller-manager
      --kubelet-extra-args string                      extra args for kubelet
      --labels strings                                 Node labels, list of key=value pairs
  -l, --logging stringToString                         Logging Levels for the different components (default [kube-apiserver=1,kube-controller-manager=1,kube-scheduler=1,kubelet=1,kube-proxy=1,etcd=info,containerd=info,konnectivity-server=1])
      --no-taints                                      disable default taints for controller node
      --profile string                                 worker profile to use on the node (default "default")
      --single                                         enable single node (implies --enable-worker, default false)
      --taints strings                                 Node taints, list of key=value:effect strings
      --token-file string                              Path to the file containing join-token.

Options inherited from parent commands#

      --data-dir string        Data Directory for k0s (default: /var/lib/k0s). DO NOT CHANGE for an existing setup, things will break!
  -d, --debug                  Debug logging (default: false)
      --debugListenOn string   Http listenOn for Debug pprof handler (default ":6060")
  -e, --env stringArray        set environment variable
      --force                  force init script creation
      --status-socket string   Full file path to the socket file. (default "/var/lib/k0s/run/status.sock")
  -v, --verbose                Verbose logging (default: false)

SEE ALSO#

  • k0s install - Install k0s on a brand-new system. Must be run as root (or with sudo)