-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
集群dns 无法解析 如何解决? #545
Comments
问题已经解决 是双网卡的问题 |
你好,请问你的双网卡问题是如何解决的?求帮助 |
解决问题如下
今天我正好碰到这个问题。 这个主要是你网关落在外网卡的问题。 kubectl describe svc kubernetes
,是不是endpoint里apiserver都是外网地址,而实际apiserver是listen在内网地址的。导致集群内部pod(包括coredns)访问不了
10.68.0.1:443。 原因是apisever启动时会通过识别gateway来识别地址。
解决办法:把admin节点的网关设成内网网关,重启kube-apiserver即可。
完美解决 @AEGQ ,感谢!
参数说明:--advertise-address # 对集群中成员提供API服务地址
比如我的
[root@k8s-master ~]# cat /etc/systemd/system/kube-apiserver.service
[Unit]
Description=Kubernetes API Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
After=network.target
[Service]
ExecStart=/opt/kube/bin/kube-apiserver \
......
--bind-address=10.2.2.120 \
--advertise-address=10.2.2.120 \
修改所有的master的这个文件后 重启master
lizhenwei <notifications@github.com> 于2019年8月21日周三 上午10:11写道:
… 你好,请问你的双网卡问题是如何解决的?求帮助
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#545?email_source=notifications&email_token=AMAFSQXXA526PVDIEGHXRPLQFSP4FA5CNFSM4HLFZGEKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4YGNCQ#issuecomment-523265674>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AMAFSQROUQDMIHGAN2Q675TQFSP4FANCNFSM4HLFZGEA>
.
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
安装了k8s.1-14-1.tar.gz
[root@120 ~]# cat /etc/ansible/hosts
集群部署节点:一般为运行ansible 脚本的节点
变量 NTP_ENABLED (=yes/no) 设置集群是否安装 chrony 时间同步
[deploy]
192.168.0.71 NTP_ENABLED=yes
etcd集群请提供如下NODE_NAME,注意etcd集群必须是1,3,5,7...奇数个节点
[etcd]
192.168.0.72 NODE_NAME=etcd1
192.168.0.73 NODE_NAME=etcd2
192.168.0.74 NODE_NAME=etcd3
[kube-master]
192.168.0.72
192.168.0.73
192.168.0.74
[kube-node]
192.168.0.75
192.168.0.76
192.168.0.77
参数 NEW_INSTALL:yes表示新建,no表示使用已有harbor服务器
如果不使用域名,可以设置 HARBOR_DOMAIN=""
[harbor]
#192.168.1.8 HARBOR_DOMAIN="harbor.yourdomain.com" NEW_INSTALL=no
负载均衡(目前已支持多于2节点,一般2节点就够了) 安装 haproxy+keepalived
[lb]
192.168.0.72 LB_ROLE=backup
192.168.0.73 LB_ROLE=master
#【可选】外部负载均衡,用于自有环境负载转发 NodePort 暴露的服务等
[ex-lb]
#192.168.1.6 LB_ROLE=backup EX_VIP=192.168.1.250
#192.168.1.7 LB_ROLE=master EX_VIP=192.168.1.250
[all:vars]
ansible_ssh_port=2222
---------集群主要参数---------------
#集群部署模式:allinone, single-master, multi-master
DEPLOY_MODE=multi-master
集群 MASTER IP即 LB节点VIP地址,为区别与默认apiserver端口,设置VIP监听的服务端口8443
公有云上请使用云负载均衡内网地址和监听端口
MASTER_IP="192.168.0.1"
KUBE_APISERVER="https://{{ MASTER_IP }}:8443"
集群网络插件,目前支持calico, flannel, kube-router, cilium
CLUSTER_NETWORK="flannel"
服务网段 (Service CIDR),注意不要与内网已有网段冲突
SERVICE_CIDR="10.68.0.0/16"
POD 网段 (Cluster CIDR),注意不要与内网已有网段冲突
CLUSTER_CIDR="172.20.0.0/16"
服务端口范围 (NodePort Range)
NODE_PORT_RANGE="20000-40000"
kubernetes 服务 IP (预分配,一般是 SERVICE_CIDR 中第一个IP)
CLUSTER_KUBERNETES_SVC_IP="10.68.0.1"
集群 DNS 服务 IP (从 SERVICE_CIDR 中预分配)
CLUSTER_DNS_SVC_IP="10.68.0.2"
集群 DNS 域名
CLUSTER_DNS_DOMAIN="cluster.local."
---------附加参数--------------------
#默认二进制文件目录
bin_dir="/opt/kube/bin"
#证书目录
ca_dir="/etc/kubernetes/ssl"
#部署目录,即 ansible 工作目录,建议不要修改
base_dir="/etc/ansible"
安装后
[root@ns2 ~]# kubectl get pod --all-namespaces -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
default mysql-5f4fc97546-ncpfj 1/1 Running 0 3h56m 172.20.5.4 192.168.0.76
default nginx-755464dd6c-c5t55 1/1 Running 0 3h4m 172.20.4.3 192.168.0.77
default wordpress-9ccc96787-trpbq 1/1 Running 0 3h34m 172.20.3.4 192.168.0.75
kube-system coredns-55f46dd959-dsn7k 0/1 Running 0 27h 172.20.3.2 192.168.0.75
kube-system coredns-55f46dd959-gl9zh 0/1 Running 0 27h 172.20.5.2 192.168.0.76
kube-system heapster-fdb7596d6-td7vp 1/1 Running 0 27h 172.20.4.2 192.168.0.77
kube-system kube-flannel-ds-amd64-2j5m4 0/1 Init:RunContainerError 0 27h 192.168.0.75 192.168.0.75
kube-system kube-flannel-ds-amd64-5wf2f 1/1 Running 0 27h 192.168.0.77 192.168.0.77
kube-system kube-flannel-ds-amd64-7w7xm 1/1 Running 12 27h 192.168.0.73 192.168.0.73
kube-system kube-flannel-ds-amd64-d5x2g 1/1 Running 0 27h 192.168.0.76 192.168.0.76
kube-system kube-flannel-ds-amd64-khblr 1/1 Running 16 27h 192.168.0.74 192.168.0.74
kube-system kube-flannel-ds-amd64-wxv9r 1/1 Running 11 27h 192.168.0.72 192.168.0.72
kube-system kubernetes-dashboard-68ddcc97fc-clfn7 0/1 CrashLoopBackOff 328 27h 172.20.3.3 192.168.0.75
kube-system metrics-server-6c898b5b8b-qhgfw 0/1 CrashLoopBackOff 326 27h 172.20.5.3 192.168.0.76
[root@ns2 ~]# kubectl get svc|grep nginx
nginx ClusterIP 10.68.51.195 80/TCP 3h6m
[root@ns2 ~]# kubectl run test --rm -it --image=alpine /bin/sh
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
If you don't see a command prompt, try pressing enter.
/ # cat /etc/resolv.conf
nameserver 10.68.0.2
search default.svc.cluster.local. svc.cluster.local. cluster.local.
options ndots:5
/ # ping 10.68.51.195
PING 10.68.51.195 (10.68.51.195): 56 data bytes
64 bytes from 10.68.51.195: seq=0 ttl=64 time=0.310 ms
64 bytes from 10.68.51.195: seq=1 ttl=64 time=0.061 ms
^C
--- 10.68.51.195 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 0.061/0.185/0.310 ms
/ # nslookup nginx.default.svc.cluster.local
nslookup: can't resolve '(null)': Name does not resolve
nslookup: can't resolve 'nginx.default.svc.cluster.local': Try again
这是什么原因导致的
The text was updated successfully, but these errors were encountered: