KubeOne(1)

πŸ“¦ version 1.12.3, in arch rolling

πŸ’… KubeOne(1) β€” bestie's guide to kubeone apply

okay so this is the KubeOne(1) manual, and specifically the glow-up edition of kubeone-apply. she's the main character of cluster management ngl πŸŽ€


✨ NAME ✨

kubeone-apply β€” reconcile the cluster. like, make reality match the vibe check βœ…


πŸ¦‹ SYNOPSIS πŸ¦‹

kubeone apply [flags]

🌸 DESCRIPTION 🌸

Reconcile (Install/Upgrade/Repair/Restore) a Kubernetes cluster on machines you already have. it's giving "make it match the manifest," and honestly? iconic. πŸ’–

so about MachineDeployments β€” they get initialized, but by default they will not get modified. literally hands off. if you do want them touched, go look at --upgrade-machine-deployments (iykyk πŸ‘€).

this command takes the KubeOne manifest, which contains the info about hosts and how the cluster should be provisioned. and β€” plot twist β€” you can also source the host info straight from Terraform output using the --tfjson flag. no cap, that's a whole vibe. ✨


πŸ’… OPTIONS πŸ’…

  • -y, --auto-approve[=false] β€” auto approve the plan. no "yes I'm sure" moment, she just goes. 🫢
  • -b, --backup="" β€” path to where the PKI backup .tar.gz file should be placed. default: the location of the cluster config file. πŸŽ€
  • --create-machine-deployments[=true] β€” create MachineDeployments objects.
  • --force-install[=false] β€” use force to install new binary versions. ok so this is (!dangerous!) β€” the manpage literally put an exclamation mark, respect it. 😭
  • --force-upgrade[=false] β€” force start the upgrade process.
  • -h, --help[=false] β€” help for apply. the classic.
  • --no-init[=false] β€” don't initialize the cluster (only install binaries). just the binaries, nothing else, periodt.
  • --prune-images[=false] β€” delete unused container images on control plane and static worker nodes. spring cleaning energy 🧹✨
  • --rotate-encryption-key[=false] β€” rotate the Encryption Provider encryption key. πŸ”
  • --upgrade-machine-deployments[=false] β€” upgrade MachineDeployments objects. the one from earlier? yeah, this is her.

πŸ‘‘ OPTIONS INHERITED FROM PARENT COMMANDS πŸ‘‘

these come from the parent, so you didn't have to ask β€” they're just there, like a good friend holding your iced coffee. πŸ“

  • -c, --credentials="" β€” file to source credentials and secrets from.
  • -d, --debug[=false] β€” debug output with stacktrace. for when you need to see everything. πŸ’€
  • -l, --log-format="text" β€” format for logging.
  • -m, --manifest="./kubeone.yaml" β€” path to the KubeOne config. the blueprint fr fr.
  • -t, --tfjson="" β€” source for terraform output in JSON. to read from stdin. if the path is a file, its contents will be used. if the path is a dictionary, terraform output -json is executed in this path. yes, three whole behaviours, she contains multitudes. 🌈
  • -v, --verbose[=false] β€” verbose output. talk to me bestie πŸ—£οΈ

🌟 EXAMPLE 🌟

kubeone apply -m mycluster.yaml -t terraformoutput.json

look at that. manifest plus terraform output. chef's kiss. πŸ‘‘


πŸ”₯ SEE ALSO πŸ”₯

  • kubeone(1) β€” the parent, the origin story, the blueprint πŸ’œ

πŸŽ€ HISTORY πŸŽ€

8-Feb-2026 β€” Auto generated by spf13/cobra. not me being auto generated 😭 she's literally built different.


ok that's the whole thing β€” every flag, every default, every path, all of it. go forth and reconcile responsibly, and maybe don't touch --force-install unless you mean it πŸ’…

auto generated by spf13/cobra Β· Feb 2026 Β· KubeOne(1) β€” mwah, that's a wrap, ily, go slay your cluster πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from