Kubernetes 名称或服务未知[tcp://redis-slave:6379]

Kubernetes 名称或服务未知[tcp://redis-slave:6379],kubernetes,skydns,Kubernetes,Skydns,使用Kube Sky附加组件运行留言簿Kubernetes应用程序。在留言簿应用程序页面上,我在JavaScript控制台中发现以下错误: Fatal error: Uncaught exception 'Predis\Connection\ConnectionException' with message 'php_network_getaddresses: getaddrinfo failed: Name or service not known [tcp://redis-slave:63

使用Kube Sky附加组件运行留言簿Kubernetes应用程序。在留言簿应用程序页面上,我在JavaScript控制台中发现以下错误:

Fatal error:  Uncaught exception 'Predis\Connection\ConnectionException' with message 'php_network_getaddresses: getaddrinfo failed: Name or service not known [tcp://redis-slave:6379]' in /vendor/predis/predis/lib/Predis/Connection/AbstractConnection.php:141
以下是我可以在设置中找到的与DNS相关的所有更改(相对于提供的模板):

diff -r sample-configs/unmodified/cloud-init/node.yaml sample-configs/defaults/cloud-init/node.yaml
88a91,92
>         --cluster_dns=10.100.88.88 \
>         --cluster_domain=cluster.local \

diff -r sample-configs/unmodified/skydns-controller.yaml sample-configs/defaults/skydns-controller.yaml
11c11
<   replicas: {{ pillar['dns_replicas'] }}
---
>   replicas: 3
50c50,51
<         - -domain={{ pillar['dns_domain'] }}
---
>         - -domain=cluster.local
>         - -kube_master_url=http://$(KUBERNETES_MASTER_IPV4):8080
62c63
<         - -domain={{ pillar['dns_domain'] }}.
---
>         - -domain=cluster.local.
91c92
<         - -cmd=nslookup kubernetes.default.svc.{{ pillar['dns_domain'] }} 127.0.0.1 >/dev/null
---
>         - -cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1 >/dev/null
diff -r sample-configs/unmodified/skydns-service.yaml sample-configs/defaults/skydns-service.yaml
13c13,14
<   clusterIP:  {{ pillar['dns_server'] }}
---
>   clusterIP:  10.100.88.88
>   type: NodePort
17a19
>     nodePort: 
20a23
>     nodePort: 
\ No newline at end of file

./sample-configs/unmodified/cloud-init/master.yaml:        --service-cluster-ip-range=10.100.0.0/16 \

NAMESPACE     NAME                 READY     STATUS    RESTARTS   AGE       NODE
default       frontend-jw0ud       1/1       Running   0          48m       $publicip.23
default       frontend-mwu18       1/1       Running   0          48m       $publicip.23
default       frontend-o33ei       1/1       Running   0          48m       $publicip.26
default       redis-master-ubpga   1/1       Running   0          46m       $publicip.23
default       redis-slave-7aqp9    1/1       Running   0          46m       $publicip.97
default       redis-slave-w6rn3    1/1       Running   0          46m       $publicip.26
default       redis-slave-wny9v    1/1       Running   0          46m       $publicip.26
kube-system   kube-dns-v9-jek26    4/4       Running   0          50m       $publicip.23
kube-system   kube-dns-v9-ua150    4/4       Running   0          50m       $publicip.26
kube-system   kube-dns-v9-ycloq    4/4       Running   0          50m       $publicip.97
NAMESPACE     NAME           CLUSTER_IP       EXTERNAL_IP   PORT(S)         SELECTOR            AGE
default       frontend       10.100.221.197   nodes         80/TCP          name=frontend       46m
default       kubernetes     10.100.0.1       <none>        443/TCP         <none>              1h
default       redis-master   10.100.151.114   <none>        6379/TCP        name=redis-master   46m
default       redis-slave    10.100.223.227   nodes         6379/TCP        name=redis-slave    46m
kube-system   kube-dns       10.100.88.88     nodes         53/UDP,53/TCP   k8s-app=kube-dns    46m
NAMESPACE     CONTROLLER     CONTAINER(S)   IMAGE(S)                                             SELECTOR            REPLICAS   AGE
default       frontend       php-redis      kubernetes/example-guestbook-php-redis:v2            name=frontend       3          48m
default       redis-master   master         redis                                                name=redis-master   1          46m
default       redis-slave    worker         kubernetes/redis-slave:v2                            name=redis-slave    3          46m
kube-system   kube-dns-v9    etcd           gcr.io/google_containers/etcd:2.0.9                  k8s-app=kube-dns    3          50m
                             kube2sky       gcr.io/google_containers/kube2sky:1.11                                   
                             skydns         gcr.io/google_containers/skydns:2015-10-13-8c72f8c                       
                             healthz        gcr.io/google_containers/exechealthz:1.0  


$ rkubectl  exec busybox -- nslookup kubernetes
Server:    10.100.88.88
Address 1: 10.100.88.88

nslookup: can't resolve 'kubernetes'
error: error executing remote command: Error executing command in container: Error executing in Docker Container: 1
$ rkubectl  exec busybox -- ping -w 1 10.100.88.88
PING 10.100.88.88 (10.100.88.88): 56 data bytes

--- 10.100.88.88 ping statistics ---
1 packets transmitted, 0 packets received, 100% packet loss
error: error executing remote command: Error executing command in container: Error executing in Docker Container: 1

$ rkubectl  exec busybox -- route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.17.42.1     0.0.0.0         UG    0      0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0

$ rkubectl  exec busybox -- ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:AC:11:00:1A  
          inet addr:172.17.0.26  Bcast:0.0.0.0  Mask:255.255.0.0

$ rkubectl  exec busybox -- cat /etc/resolv.conf
nameserver 10.100.88.88
nameserver 8.8.8.8
nameserver 8.8.4.4
search default.svc.cluster.local svc.cluster.local cluster.local
options ndots:5
diff-r sample configs/unmodified/cloud init/node.yaml sample configs/defaults/cloud init/node.yaml
88a91,92
>--集群_dns=10.100.88.88\
>--cluster\u domain=cluster.local\
diff-r示例配置/未修改/skydns-controller.yaml示例配置/默认值/skydns-controller.yaml
11c11
副本:3份
50c50,51
<--domain={{posal['dns_domain']}
---
>--domain=cluster.local
>--kube_master_url=http://$(KUBERNETES_master_IPV4):8080
62c63
<--domain={{posal['dns_domain']}。
---
>--domain=cluster.local。
91c92
<--cmd=nslookup kubernetes.default.svc.{posal['dns_domain']}127.0.0.1>/dev/null
---
>--cmd=nslookup kubernetes.default.svc.cluster.local 127.0.0.1>/dev/null
diff-r示例配置/unmodified/skydns-service.yaml示例配置/defaults/skydns-service.yaml
13c13,14
集群:10.100.88.88
>类型:节点端口
17a19
>节点端口:
20a23
>节点端口:
\文件末尾没有换行符
./sample configs/unmodified/cloud init/master.yaml:--服务集群ip范围=10.100.0.0/16\
名称空间名称就绪状态重新启动年龄节点
默认前端-jw0ud 1/1运行4800万美元publicip.23
默认前端-mwu18 1/1运行4800万美元publicip.23
默认前端-o33ei 1/1运行4800万美元publicip.26
默认redis master ubpga 1/1运行0.46亿美元publicip.23
默认redis-slave-7aqp9 1/1运行0.46亿美元publicip.97
默认redis-slave-w6rn3 1/1运行0.46亿美元publicip.26
默认redis-slave-wny9v 1/1运行0.46亿美元publicip.26
kube系统kube-dns-v9-jek26 4/4运行5000万美元publicip.23
kube系统kube-dns-v9-ua150 4/4运行5000万美元publicip.26
kube系统kube-dns-v9-ycloq 4/4运行5000万美元publicip.97
命名空间名称群集\u IP外部\u IP端口选择器年龄
默认前端10.100.221.197节点80/TCP名称=前端46m
默认kubernetes 10.100.0.1 443/TCP 1h
默认redis主机10.100.151.114 6379/TCP名称=redis主机46m
默认redis slave 10.100.223.227节点6379/TCP名称=redis slave 46m
kube系统kube dns 10.100.88.88节点53/UDP、53/TCP k8s app=kube dns 46m
命名空间控制器容器映像选择器副本
默认前端php redis kubernetes/示例留言簿php redis:v2 name=frontend 3 48m
默认redis master redis name=redis master 1 46m
默认的redis从机工作者kubernetes/redis从机:v2 name=redis从机3 46m
kube系统kube-dns-v9 etcd gcr.io/google_容器/etcd:2.0.9 k8s app=kube dns 3 50m
kube2sky gcr.io/google_containers/kube2sky:1.11
skydns gcr.io/google_容器/skydns:2015-10-13-8c72f8c
healthz gcr.io/google_containers/exechealthz:1.0
$rkubectl exec busybox--nslookup kubernetes
服务器:10.100.88.88
地址1:10.100.88.88
nslookup:无法解析“kubernetes”
错误:执行远程命令时出错:在容器中执行命令时出错:在Docker容器中执行时出错:1
$rkubectl exec busybox--ping-w 1 10.100.88.88
PING 10.100.88.88(10.100.88.88):56个数据字节
---10.100.88.88平统计---
发送1个数据包,接收0个数据包,100%数据包丢失
错误:执行远程命令时出错:在容器中执行命令时出错:在Docker容器中执行时出错:1
$rkubectl exec busybox--路由-n
内核IP路由表
目标网关Genmask标志度量参考使用Iface
0.0.0.0 172.17.42.1 0.0.0.0 UG 0 0 eth0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
$rkubectl exec busybox--ifconfig
eth0链路封装:以太网HWaddr 02:42:AC:11:00:1A
inet地址:172.17.0.26 Bcast:0.0.0掩码:255.255.0.0
$rkubectl exec busybox--cat/etc/resolv.conf
名称服务器10.100.88.88
名称服务器8.8.8.8
名称服务器8.8.4.4
搜索default.svc.cluster.local svc.cluster.local cluster.local
备选方案:5

rkubectl exec busybox——nslookup redis slave正在工作。但只有在运行kube dns pod的同一台服务器(即VM)上。如果busybox实例位于不同的VM(同一主机)上,则无法正常工作。如果busybox pod在不同数据中心的不同主机上的VM上运行,也不例外。因此,coreos服务器网络/iptable规则中可能有一些内容。有什么建议吗?你在用法兰绒吗?我猜那里的设置有问题。您能在不同虚拟机上的POD之间通信吗?flannel使用udp进行协调。我需要跨不同数据中心的虚拟机的东西。也许吧,印花布?