kubeadm

kubeadm pre actions

# list
$ kubeadm config images list
# or
$ kubeadm config images list --config=kubeadm-config.yml

# pull
$ kubeadm config images pull
# or
$ kubeadm config images pull --config=kubeadm-config.yml

[!TIP] kubeadm saves the configuration passed to kubeadm init in a ConfigMap named kubeadm-config under kube-system namespace.

This will ensure that kubeadm actions executed in future (e.g `kubeadm upgrade`) will be able to determine the actual/current cluster state and make new decisions based on that data.

; Please note that: - Before saving the `ClusterConfiguration`, sensitive information like the token is stripped from the configuration - Upload of control plane node configuration can be invoked individually with the [`kubeadm init phase upload-config`](https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-init-phase/#cmd-phase-upload-config) command - [**get current `kubeadm-cfg.yml`**](https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/#kubeconfig-additional-users) ```bash $ kubectl get cm kubeadm-config -n kube-system -o yaml # or: $ kubectl get cm kubeadm-config -n kube-system -o=jsonpath="{.data.ClusterConfiguration}" ``` - references: - [kubeadm kubeconfig](https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-kubeconfig/)

show default kubeadm-conf

  • for v1.12.3

sample kubeadm-config

  • stacked etcd

  • extenal etcd

  • full kubeadm from kubespray ( extenal etcd )

kubeadm init

how kubeadm init

environment

[!TIP|label:see also]

basic environment

[!TIP|label:see also]

  • pre-install

  • swap

  • selinux

  • sysctl

  • modules

  • firewall

container runtime

kubernetes packages

[!NOTE|label:more versions:]

init first control plane

kubeadm join

[!TIP|label:reference:]

join as control plane

[!NOTE|label:join command:] sync certs if init without --upload-certs

join as worker node

get join command

  • token ca hash

  • bootstrap token

  • final command

  • function

upgrade kubeadm

upgrade cluster

upgrade kubelet and kubectl

[!NOTE|label:references:]

  • recommanded commands: KUBECONFIG=/etc/kubernetes/admin.conf KUBE_EDITOR=nano kubectl edit <parameters>

  • components-name:

    • apiServer

    • controllerManager

    • scheduler

    • etcd

[!NOTE|label:see also:]

  • yum with versionlock

troubleshooting

verify

  • cluster

  • nginx deployment

references

[!NOTE|label:references:]

Last updated

Was this helpful?