Without the workaround I couldn't do kubectl exec, because it hangs trying to connect to incorrect node IP address:
ubuntu@jumphost:~$ kubectl exec -it -n kube-system openstack-cloud-controller-manager-rg2l8 cat /etc/config/cloud.conf
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
Error from server: error dialing backend: dial tcp 192.168.190.31:10250: i/o timeout
Also from what read in Openstack Cloud Controller Manager docs [1] and [2], a few other options are worth checking: public-network-name and internal-network-name. Currently they're not exposed as charm configuration options, and not propagated to openstack cloud controller manager as it has been mentioned in the previous comments.
We know from the initial description of this bug that the problem is in multiple internal IPs assigned to nodes, and based on [3] internal-network-name option directly affects which IP address is selected as the internal node IP. So internal-network-name seems to be the fix for the issue if we need nodes to be accessible via their Internal IPs, not their names.
Thanks George, I checked that and the suggested workaround helped:
ubuntu@jumphost:~$ kubectl exec -it -n kube-system openstack- cloud-controlle r-manager- rg2l8 cat /etc/config/ cloud.conf /keystone. pc1.canonical. com:5000/ v3 endpoint- ca.cert
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
[Global]
auth-url = https:/
region = PartnerCloud1
username = sriov-in-k8s-user
password = quodAjAs2
tenant-name = sriov-in-k8s
domain-name = admin_domain
tenant-domain-name = admin_domain
ca-file = /etc/config/
[LoadBalancer]
use-octavia = true
lb-method = ROUND_ROBIN
Without the workaround I couldn't do kubectl exec, because it hangs trying to connect to incorrect node IP address:
ubuntu@jumphost:~$ kubectl exec -it -n kube-system openstack- cloud-controlle r-manager- rg2l8 cat /etc/config/ cloud.conf 190.31: 10250: i/o timeout
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl exec [POD] -- [COMMAND] instead.
Error from server: error dialing backend: dial tcp 192.168.
Also from what read in Openstack Cloud Controller Manager docs [1] and [2], a few other options are worth checking: public-network-name and internal- network- name. Currently they're not exposed as charm configuration options, and not propagated to openstack cloud controller manager as it has been mentioned in the previous comments.
We know from the initial description of this bug that the problem is in multiple internal IPs assigned to nodes, and based on [3] internal- network- name option directly affects which IP address is selected as the internal node IP. So internal- network- name seems to be the fix for the issue if we need nodes to be accessible via their Internal IPs, not their names.
[1] https:/ /github. com/kubernetes/ cloud-provider- openstack/ blob/master/ docs/openstack- cloud-controlle r-manager/ using-openstack -cloud- controller- manager. md#networking /github. com/charmed- kubernetes/ cdk-addons/ blob/main/ get-addon- templates# L86 /github. com/kubernetes/ cloud-provider- openstack/ blob/master/ pkg/openstack/ instances. go#L551
[2] https:/
[3] https:/