KUBERNETES(1)(kubernetes)

πŸ“¦
version 1.37.2 Β· 4 versions
, in arch rolling, fedora 43, fedora 44, nixpkgs unstable

πŸ’« KUBERNETES(1)(kubernetes) β€” the kubeadm join phase etcd-join page, but make it make sense

okay bestie, so this is a page from the kubernetes manual (yes, that manual, the big one, section 1, user commands) and honestly? it's lowkey niche but highkey important. sit down, grab a strawberry πŸ“, and let's get into it.


✨ NAME ✨

kubeadm join phase etcd-join β€” Join etcd for control plane nodes

like... that's it. that's the whole vibe. you're joining etcd, and you're doing it for control plane nodes. πŸ’…


🌸 SYNOPSIS 🌸

kubeadm join phase etcd-join [OPTIONS]

short. sweet. iconic. [OPTIONS] means the flags are optional, so you can just vibe, but also you probably have thoughts and feelings about how this should go. we'll get to those.


πŸ¦‹ DESCRIPTION πŸ¦‹

Join etcd for control plane nodes

fr fr that is the entire description. no notes. it does the thing it says it does. ✨


πŸŽ€ OPTIONS πŸŽ€

here's where the tea is β˜• every single one, no skips, no cuts, we ate:

  • --apiserver-advertise-address="" β€” if this node is gonna host a brand new control plane instance, this is the IP address the API Server will advertise that it's listening on. don't set it? then the default network interface gets used instead. default behavior is the fallback, periodt.
  • --config="" β€” the path to a kubeadm configuration file. that's the whole thing, that's the flag.
  • --control-plane=false β€” create a new control plane instance on this node. defaults to false, so you gotta opt in, bestie.
  • --dry-run=false β€” don't apply any changes; just output what would be done. love a preview moment πŸ‘‘ defaults to false.
  • --node-name="" β€” specify the node name. empty by default.
  • --patches="" β€” path to a directory that contains files named "target[suffix][+patchtype].extension". okay so for example, "kube-apiserver0+merge.yaml" or just "etcd.json". let me break this naming situation down because it's giving ✨homework✨:
    • "target" can be one of "kube-apiserver", "kube-controller-manager", "kube-scheduler", "etcd", "kubeletconfiguration", "corednsdeployment", "kubeproxydaemonset".
    • "patchtype" can be one of "strategic", "merge" or "json" and they match the patch formats supported by kubectl. the default "patchtype" is "strategic".
    • "extension" must be either "json" or "yaml".
    • "suffix" is an optional string that can be used to determine which patches are applied first alpha-numerically.

so basically the filename is doing a LOT of the talking and you gotta spell it correctly or it's over. 😭


πŸ’œ OPTIONS INHERITED FROM PARENT COMMANDS πŸ’œ

these came from the parent command, they're not this command's own, but they're still here and still matter:

  • --rootfs="" β€” the path to the 'real' host root filesystem. this will cause kubeadm to chroot into the provided path. that's a real thing it does, not a metaphor 🫢
  • --version=false β€” --version, --version=raw prints version information and quits; --version=vX.Y.Z... sets the reported version. so you can ask, or you can impose. your call.

🌈 EXAMPLE 🌈

  # Joins etcd for a control plane instance
  kubeadm join phase control-plane-join-etcd all

look at her go. main character energy, no cap. πŸ”₯


⭐ SEE ALSO ⭐

go read that one next, iykyk.


πŸ’€ HISTORY πŸ’€

January 2015, Originally compiled by Eric Paris (eparis at redhat dot com) based on the kubernetes source material, but hopefully they have been automatically generated since!

ngl the "hopefully they have been automatically generated since!" is such a mood and honestly? relatable. πŸ™ˆ


and that's the whole page, bestie! this came out of the Manuals / User corner of the KUBERNETES(1)(kubernetes) manual, dated way back in Jan 2015 (the header said so, and the history section backs it up). slay, go join your etcd, and remember: keep every flag exactly as written πŸ’–πŸŽ€βœ¨

πŸ“¦ where this page comes from