kubeone local subcommand helps initializing a local (i.e. on a local
machine), cluster. Container runtime, control-plane and kubelet with some basics
like CNI will be installed, together with removed taints to unblock the single
Node for a regular workloads. We call this “all-in-one cluster”.
kubeone local will do changes to your operating system, don’t run it on a
working machine.
A all-in-one setup could be useful for cases such as:
Local user that run the kubeone local ether has to have passwordless sudo or
be a root user.
Edit the /etc/sudoers file with:
sudo visudo
Add a line:
<your_username> ALL=(ALL:ALL) NOPASSWD:ALL
Replacing <your_username> with your login (i.e. the value of shell $USER).
For kubeone local the manifest is optional! You only need a config, if you
really want to customize something. By default manifest will be generated in
memory.
The Kubernetes api endpoint would be autodetect to the default gateway
interface. It can also be specified using --apiendpoint flag.
You can provide optional KubeOne Cluster manifest. Some parts of it will be forcefully rewritten. Such fields include:
name: will always be localcontrolPlane: will always be equal to local node, with Public and Private IP
set to detected default IP, with empty Taints.cloudProvider will always be set to NonemachineController.deploy will always be set to falseoperatingSystemManager.deploy will be always set to falseversions.kubernetes default to 1.24.2, but can be set using flag
--kubernetes-versionRest of configuration is up to you. Config will be defaulted as usual (i.e. you can omit specifying CNI or containerRuntime).