kubernetes: Change node.status.addresses to "atomic" (Dual-stack; log errors for multiple InternalIP items in Node objects)
What happened:
When upgrading from v1.20.x->v1.20.y or -> v1.21.0 with multiple InternalIP items for dual-stack as;
# kubectl get node vm-001 -o json | jq .status.addresses
[
{
"address": "192.168.1.1",
"type": "InternalIP"
},
{
"address": "1000::1:c0a8:101",
"type": "InternalIP"
},
{
"address": "vm-001",
"type": "Hostname"
}
]
these entries shows up in the kube-apiserver logs;
E0412 12:58:28.787842 3558 fieldmanager.go:186] [SHOULD NOT HAPPEN] failed to update managedFields for /, Kind=: failed to convert new object (/v1, Kind=Node) to smd typed: .status.addresses: duplicate entries for key [type="InternalIP"]
The upgrade seems to be succesful beside the error log items.
What you expected to happen:
There shall be no SHOULD NOT HAPPEN log entries.
How to reproduce it (as minimally and precisely as possible):
- Start kubelet with multiple node-ip’s
--node-ip=192.168.1.1,1000::1:192.168.1.1. - Upgrade from v1.20.x (perhaps other versions. I have only tested from v1.20.x and v1.21.0->master)
Anything else we need to know?:
Unsure what sig but I set; /sig/network
Environment:
- Kubernetes version (use
kubectl version): v1.20.x - Cloud provider or hardware configuration: No Cloud provider.
- OS (e.g:
cat /etc/os-release): own setup - Kernel (e.g.
uname -a): linux-5.11.1 - Install tools: from scratch
- Network plugin and version (if this is a network-related bug): bridge
- Others:
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Reactions: 2
- Comments: 25 (22 by maintainers)
Yes - I am confused now on all the tags. If I wanted to switch
Ports []ServicePortfrom merge to atomic, is that a “safe” change?On Fri, Apr 16, 2021 at 9:29 AM Antoine Pelisse @.***> wrote:
To be clear, we don’t have any corruption here. The “not sufficiently unique” throws SSA off and prevents it from doing its job.