kubectl logs
does not take into account container log rotation (kubelet
config containerLogMaxSize
and containerLogMaxFiles
). You can still find the latest rotated logs in /var/log/pods/<namespace>_<pod-name>_<pod-uid>/
though.
Don’t assume --since=0s
will have all logs since the container started because it won't look into previous log files. Don't assume a long-running --follow
will always give you latest logs, because it will not switch over to the new log after current is rotated.
See: kubernetes/kubernetes#59902
Problem: KUBECONFIG
was created for a specific version of a "credential plugin".
The user configured for the context has user.exec.apiVersion = client.authentication.k8s.io/v1beta1
but its user.exec.command
returns a client.authentication.k8s.io/v1alpha1
document.
The client-go
has no machanism to know how to build a v1beta1
from a v1alpha1
.
This probably happens when KUBECONFIG
is generated in one system but used in another, like when two completely different containers generate and use it.
Example:
Error: [VERB URL]: getting credentials: exec plugin is configured to use API version client.authentication.k8s.io/v1beta1, plugin returned version client.authentication.k8s.io/v1alpha1