You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a kubelet is not in standalone mode, and attempts to start a static pod with host networking, and the kubelet is unable to contact an API server, it is unable to get the host IP from the node information. Essentially, in Kubelet.GetNode it will return kl.initialNodeStatus if the kubelet is in standalone mode, if not it attempts to get that information from the CachedNodeInfo, which it appears is filled via API server watches. If the kubelet cannot contact the API server, that cache is never filled, so the kubelet cannot return node info, meaning podStatus.IP is never properly filled out.
The text was updated successfully, but these errors were encountered:
Add initial node information to nodeInfo cache when registering with the
apiserver. This allows the kubelet to obtain node information in the
future, even if it is unable to contact the API server.
Fixeskubernetes#26590
derekparker
pushed a commit
to derekparker/kubernetes
that referenced
this issue
May 31, 2016
Add initial node information to nodeInfo cache when registering with the
apiserver. This allows the kubelet to obtain node information in the
future, even if it is unable to contact the API server.
Fixeskubernetes#26590
Automatic merge from submit-queue
Kubelet can retrieve host IP even when apiserver has not been contacted
fixes#26590, fixes#6558
Right now the kubelet expects to get the hostIP from the kubelet's local nodeInfo cache. However, this will be empty if there is no api-server (or the apiServer has not yet been contacted).
In the case of static pods, this change means the downward api can now be used to populate hostIP.
When a kubelet is not in standalone mode, and attempts to start a static pod with host networking, and the kubelet is unable to contact an API server, it is unable to get the host IP from the node information. Essentially, in
Kubelet.GetNode
it will returnkl.initialNodeStatus
if the kubelet is in standalone mode, if not it attempts to get that information from theCachedNodeInfo
, which it appears is filled via API server watches. If the kubelet cannot contact the API server, that cache is never filled, so the kubelet cannot return node info, meaningpodStatus.IP
is never properly filled out.The text was updated successfully, but these errors were encountered: