我的k8s与kubespray总是在以下错误"Too many nameservers. You can relax this check by set docker_dns_servers_strict=no and we will only use the first 3
纾困
在我的cluster.yml中,我在- hosts
- docker_dns_servers_strict: no
下有这个,但我仍然得到错误。我错过了什么?
作为explained here,检查您的yaml文件的格式。
这是一个例子:
- hosts: k8s-cluster:etcd:calico-rr
any_errors_fatal: "{{ any_errors_fatal | default(true) }}"
vars:
- docker_dns_servers_strict: no
roles:
- { role: kubespray-defaults}
- { role: kernel-upgrade, tags: kernel-upgrade, when: kernel_upgrade is defined and kernel_upgrade }
- { role: kubernetes/preinstall, tags: preinstall }
- { role: docker, tags: docker }
- role: rkt
tags: rkt
when: "'rkt' in [etcd_deployment_type, kubelet_deployment_type, vault_deployment_type]"
如this issue中所述:
如果在运行kubespray角色之前在服务器上配置一组dns服务器,通常会发生这种情况。
在我的情况下,我在all.yaml文件中添加了docker_dns_servers_strict: false
。它解决了我的问题。