The following are possible combination of symptoms that would require this KB:
# kubectl logs kube-scheduler-photon -n kube-system"/logs" partition within the TCA appliance is full or is filling up fast/logs/retained-logs/kubelet.service folder ends up consuming almost all the space.# df -h# kubectl logs kube-apiserver-photon -n kube-system
"Unable to authenticate the request" err="[x509: certificate has expired or is not yet valid: current time ...
# kubectl get pods -A | grep platform-mgr-tmp-cleanup-cronjob# kubectl get jobs -A | grep platform-mgr-tmp-cleanup-cronjob
TCA: 3.0.x, 3.1.x, 3.2.x, 3.3.0.1
TCP: 3.1, 4.0, 4.0.1, 5.0, 5.0.2
# kubeadm certs check-expirationWorkaround :
If the certificates are renewed correctly, then follow the resolution below:
# su# kubeadm certs check-expiration# openssl x509 -in /var/lib/kubelet/pki/kubelet-client-current.pem -noout -enddate# tcaNamespace=$(kubectl get namespace tca-mgr >/dev/null 2>&1 && echo "tca-mgr" || echo "tca-cp-cn")kubectl get job -n $tcaNamespace |grep platform-mgr-tmp-cleanup-cronjob | awk '{print $1}' | xargs -I {} kubectl -n $tcaNamespace delete job {}find /logs -type f \( -size +40M -o -iname "*.tar.gz" \) -delete# mkdir -p /home/admin/manifests-bk/
# mv /etc/kubernetes/manifests/* /home/admin/manifests-bk/
Note: Wait for max of 30s till kubelet removes the control plane pod containers. Check for kubectl get pods -A command to fail with connection refused
# mv /home/admin/manifests-bk/* /etc/kubernetes/manifests/
Note: Wait for control plane pod containers to come up max wait timeout 20 seconds you can check the same with the below command if up it should give output "ok"
# kubectl get --raw=/readyz --kubeconfig=/home/admin/.kube/config
KUBECONFIG_B64=$(base64 -w 0 /etc/kubernetes/admin.conf)kubectl apply --kubeconfig /etc/kubernetes/admin.conf -f - <<EOFapiVersion: v1kind: Secretmetadata: name: kubeconfig-secret namespace: ${tcaNamespace}type: Opaquedata: kubeconfig: ${KUBECONFIG_B64}EOF