Explicitly defines the --kubelet-preferred-address-types parameter

to the API server configuration.

This solves the problem where if you have non-resolvable node names,
and try to scale the server by adding new nodes, kubectl commands
start to fail for newly added nodes, giving a TCP timeout error when
trying to resolve the node hostname against a public DNS.
This commit is contained in:
Ayaz Ahmed Khan 2017-07-12 12:51:12 +05:00 committed by Antoine Legrand
parent dada98143c
commit 89847d5684
2 changed files with 4 additions and 0 deletions

View file

@ -78,6 +78,9 @@ kube_oidc_auth: false
## Variables for custom flags ## Variables for custom flags
apiserver_custom_flags: [] apiserver_custom_flags: []
# List of the preferred NodeAddressTypes to use for kubelet connections.
kubelet_preferred_address_types: 'InternalDNS,InternalIP,Hostname,ExternalDNS,ExternalIP'
controller_mgr_custom_flags: [] controller_mgr_custom_flags: []
scheduler_custom_flags: [] scheduler_custom_flags: []

View file

@ -51,6 +51,7 @@ spec:
- --kubelet-client-certificate={{ kube_cert_dir }}/node-{{ inventory_hostname }}.pem - --kubelet-client-certificate={{ kube_cert_dir }}/node-{{ inventory_hostname }}.pem
- --kubelet-client-key={{ kube_cert_dir }}/node-{{ inventory_hostname }}-key.pem - --kubelet-client-key={{ kube_cert_dir }}/node-{{ inventory_hostname }}-key.pem
- --service-account-lookup=true - --service-account-lookup=true
- --kubelet-preferred-address-types={{ kubelet_preferred_address_types }}
{% if kube_basic_auth|default(true) %} {% if kube_basic_auth|default(true) %}
- --basic-auth-file={{ kube_users_dir }}/known_users.csv - --basic-auth-file={{ kube_users_dir }}/known_users.csv
{% endif %} {% endif %}