Skip to main content

Kubernetes

Installation

Test

Upgrade

KM-1

CURRENT_VERSION=`apt-cache policy kubectl | grep Installed | cut -d ':' -f 2 | cut -d ' ' -f 2`
CURRENT_MAJOR_VERSION=`echo ${CURRENT_VERSION} | cut -d '.' -f 1`.`echo ${CURRENT_VERSION} | cut -d '.' -f 2`
CURRENT_MINOR_VERSION=`echo ${CURRENT_VERSION} | cut -d '.' -f 3 | cut -d '-' -f 1`
CURRENT_PACKAGE_VERSION=`echo ${CURRENT_VERSION} | cut -d '-' -f 2`

NEXT_MAJOR_VERSION=1.32
NEXT_MINOR_VERSION=2
NEXT_PACKAGE_VERSION=1.1
NEXT_VERSION=${NEXT_MAJOR_VERSION}.${NEXT_MINOR_VERSION}-${NEXT_PACKAGE_VERSION}

# echo ${CURRENT_MAJOR_VERSION}
# echo ${NEXT_MAJOR_VERSION}

# echo deb [signed-by=/etc/apt/keyrings/kubernetes.asc] https://pkgs.k8s.io/core:/stable:/v${NEXT_MAJOR_VERSION}/deb/ / > /etc/apt/sources.list.d/kubernetes.list

echo ${CURRENT_VERSION}
echo ${NEXT_VERSION}

apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=${NEXT_VERSION} && \
apt-mark hold kubeadm

kubeadm version

kubeadm upgrade plan

kubeadm upgrade apply v${NEXT_MAJOR_VERSION}.${NEXT_MINOR_VERSION}

kubectl drain km-1 --ignore-daemonsets

apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=${NEXT_VERSION} kubectl=${NEXT_VERSION} && \
apt-mark hold kubelet kubectl

sudo systemctl daemon-reload
sudo systemctl restart kubelet

kubectl uncordon km-1

kubectl get nodes

KW-1

CURRENT_VERSION=`apt-cache policy kubectl | grep Installed | cut -d ':' -f 2 | cut -d ' ' -f 2`
CURRENT_MAJOR_VERSION=`echo ${CURRENT_VERSION} | cut -d '.' -f 1`.`echo ${CURRENT_VERSION} | cut -d '.' -f 2`
CURRENT_MINOR_VERSION=`echo ${CURRENT_VERSION} | cut -d '.' -f 3 | cut -d '-' -f 1`
CURRENT_PACKAGE_VERSION=`echo ${CURRENT_VERSION} | cut -d '-' -f 2`

NEXT_MAJOR_VERSION=1.32
NEXT_MINOR_VERSION=2
NEXT_PACKAGE_VERSION=1.1
NEXT_VERSION=${NEXT_MAJOR_VERSION}.${NEXT_MINOR_VERSION}-${NEXT_PACKAGE_VERSION}
NODE=kw-1

# echo ${CURRENT_MAJOR_VERSION}
# echo ${NEXT_MAJOR_VERSION}

# echo deb [signed-by=/etc/apt/keyrings/kubernetes.asc] https://pkgs.k8s.io/core:/stable:/v${NEXT_MAJOR_VERSION}/deb/ / > /etc/apt/sources.list.d/kubernetes.list

echo ${CURRENT_VERSION}
echo ${NEXT_VERSION}

apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=${NEXT_VERSION} && \
apt-mark hold kubeadm

kubeadm upgrade node

kubectl drain ${NODE} --ignore-daemonsets --delete-emptydir-data

apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=${NEXT_VERSION} kubectl=${NEXT_VERSION} && \
apt-mark hold kubelet kubectl

systemctl daemon-reload
systemctl restart kubelet

kubectl uncordon ${NODE}

kubectl get nodes

KW-2

CURRENT_VERSION=`apt-cache policy kubectl | grep Installed | cut -d ':' -f 2 | cut -d ' ' -f 2`
CURRENT_MAJOR_VERSION=`echo ${CURRENT_VERSION} | cut -d '.' -f 1`.`echo ${CURRENT_VERSION} | cut -d '.' -f 2`
CURRENT_MINOR_VERSION=`echo ${CURRENT_VERSION} | cut -d '.' -f 3 | cut -d '-' -f 1`
CURRENT_PACKAGE_VERSION=`echo ${CURRENT_VERSION} | cut -d '-' -f 2`

NEXT_MAJOR_VERSION=1.32
NEXT_MINOR_VERSION=2
NEXT_PACKAGE_VERSION=1.1
NEXT_VERSION=${NEXT_MAJOR_VERSION}.${NEXT_MINOR_VERSION}-${NEXT_PACKAGE_VERSION}
NODE=kw-2

# echo ${CURRENT_MAJOR_VERSION}
# echo ${NEXT_MAJOR_VERSION}

# echo deb [signed-by=/etc/apt/keyrings/kubernetes.asc] https://pkgs.k8s.io/core:/stable:/v${NEXT_MAJOR_VERSION}/deb/ / > /etc/apt/sources.list.d/kubernetes.list

echo ${CURRENT_VERSION}
echo ${NEXT_VERSION}

apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=${NEXT_VERSION} && \
apt-mark hold kubeadm

kubeadm upgrade node

kubectl drain ${NODE} --ignore-daemonsets --delete-emptydir-data

apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=${NEXT_VERSION} kubectl=${NEXT_VERSION} && \
apt-mark hold kubelet kubectl

systemctl daemon-reload
systemctl restart kubelet

kubectl uncordon ${NODE}

kubectl get nodes

KW-3

CURRENT_VERSION=`apt-cache policy kubectl | grep Installed | cut -d ':' -f 2 | cut -d ' ' -f 2`
CURRENT_MAJOR_VERSION=`echo ${CURRENT_VERSION} | cut -d '.' -f 1`.`echo ${CURRENT_VERSION} | cut -d '.' -f 2`
CURRENT_MINOR_VERSION=`echo ${CURRENT_VERSION} | cut -d '.' -f 3 | cut -d '-' -f 1`
CURRENT_PACKAGE_VERSION=`echo ${CURRENT_VERSION} | cut -d '-' -f 2`

NEXT_MAJOR_VERSION=1.32
NEXT_MINOR_VERSION=2
NEXT_PACKAGE_VERSION=1.1
NEXT_VERSION=${NEXT_MAJOR_VERSION}.${NEXT_MINOR_VERSION}-${NEXT_PACKAGE_VERSION}
NODE=kw-3

# echo ${CURRENT_MAJOR_VERSION}
# echo ${NEXT_MAJOR_VERSION}

# echo deb [signed-by=/etc/apt/keyrings/kubernetes.asc] https://pkgs.k8s.io/core:/stable:/v${NEXT_MAJOR_VERSION}/deb/ / > /etc/apt/sources.list.d/kubernetes.list

echo ${CURRENT_VERSION}
echo ${NEXT_VERSION}

apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=${NEXT_VERSION} && \
apt-mark hold kubeadm

kubeadm upgrade node

kubectl drain ${NODE} --ignore-daemonsets --delete-emptydir-data

apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=${NEXT_VERSION} kubectl=${NEXT_VERSION} && \
apt-mark hold kubelet kubectl

systemctl daemon-reload
systemctl restart kubelet

kubectl uncordon ${NODE}

kubectl get nodes