Kubernetes - Tools

Last Updated: 2022-10-08
  • kubectl
  • kubeadm: it cares only about bootstrapping, not about provisioning machines. Likewise, installing various nice-to-have addons, like the Kubernetes Dashboard, monitoring solutions, and cloud-specific addons, is not in scope.
    • kubeadm init to bootstrap a Kubernetes control-plane node
    • kubeadm join to bootstrap a Kubernetes worker node and join it to the cluster
    • kubeadm upgrade to upgrade a Kubernetes cluster to a newer version; Perform the upgrade of etcd by default.
  • kops
  • k3s: not a full k8s, a stripped down / recompiled version
  • kube-ps1: change bash prompt export '$(kube-ps1)'$PS1
  • kubens: work with namespaces
  • k9s: https://k9scli.io/
  • krew: a plugin manager, Extend kubectl with plugins.

Provision Tools

  • Metal3: to provision bare metal hosts. Metals -> OpenStack Ironic -> PXE
    • The Metal3 baremetal operator watches for BareMetalHost (CRD) objects
    • PXE (Preboot Execution Environment) boot: to install a fresh OS on new or malfunctioning computers. On the client side it requires only a PXE-capable network interface controller (NIC), for operating system booting, installation and deployment in data centers.

Local / Test clusters

  • minikube: run a local k8s cluster.
  • kind (Kubernetes in Docker): primarily designed for testing Kubernetes itself; kind uses Weave for CNI.

minikube vs kind

  • minikube: spawning a VM that is essentially a single node K8s cluster.
  • kind: cluster into Docker containers, faster startup speed compared to spawning VM. Can load local images directly into the cluster instead of setting up a registry.