Kubernetes 名称或服务未知[tcp://redis-slave:6379]
使用Kube Sky附加组件运行留言簿Kubernetes应用程序。在留言簿应用程序页面上,我在JavaScript控制台中发现以下错误: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
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进行协调。我需要跨不同数据中心的虚拟机的东西。也许吧,印花布?