首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >库伯奈特吊舱不能(通过服务)连接到自己,只能连接到其他吊舱容器。

库伯奈特吊舱不能(通过服务)连接到自己,只能连接到其他吊舱容器。
EN

Stack Overflow用户
提问于 2016-01-11 22:51:38
回答 3查看 6.4K关注 0票数 9

我有一个kubernetes单节点设置(参见https://coreos.com/kubernetes/docs/latest/kubernetes-on-vagrant-single.html )

我有一个服务和一个创建荚的复制控制器。这些荚需要连接到同一服务中的其他荚(注意:这最终是为了让mongo运行w/复制集(非本地主机),但这个简单的示例演示了mongo的问题)。

当我从任何节点连接到服务时,它将像预期的那样被分发到一个豆荚中。这将起作用,直到它将余额加载到自己(我所在的容器)。然后它就无法连接。

抱歉,我要附上我所有的文件,这样你就可以在这个小例子中看到我在做什么。

Dockerfile:

代码语言:javascript
复制
FROM ubuntu
MAINTAINER Eric H
RUN apt-get update; apt-get install netcat
EXPOSE 8080
COPY ./entry.sh /
ENTRYPOINT ["/entry.sh"]

这是入口点

代码语言:javascript
复制
#!/bin/bash
# wait for a connection, then tell them who we are 
while : ; do 
    echo "hello, the date=`date`; my host=`hostname`" | nc -l 8080 
    sleep .5
done

构建dockerfile

docker build -t echoserver .

标记并上载到我的k8s集群的注册表

代码语言:javascript
复制
docker tag -f echoserver:latest 127.0.0.1:5000/echoserver:latest
docker push 127.0.0.1:5000/echoserver:latest

这是我的复制控制器

代码语言:javascript
复制
apiVersion: v1
kind: ReplicationController
metadata:
  labels:
    role: echo-server
    app: echo
  name: echo-server-1
spec:
  replicas: 3
  template:
    metadata:
      labels:
        entity: echo-server-1
        role: echo-server
        app: echo
    spec:
      containers:
      - 
        image: 127.0.0.1:5000/echoserver:latest
        name: echo-server-1

        ports:
          - containerPort: 8080

最后,这是我的服务

代码语言:javascript
复制
kind: Service
metadata:
  labels:
    app: echo
    role: echo-server
    name: echo-server-1
  name: echo-server-1
spec:
  selector:
    entity: echo-server-1
    role: echo-server
  ports:
    - port: 8080
      targetPort: 8080

创建我的服务kubectl create -f echo.service.yaml

创建我的rc kubectl create -f echo.controller.yaml

把我的吊舱拿来

代码语言:javascript
复制
kubectl get po
NAME                  READY     STATUS    RESTARTS   AGE
echo-server-1-jp0aj   1/1       Running   0          39m
echo-server-1-shoz0   1/1       Running   0          39m
echo-server-1-y9bv2   1/1       Running   0          39m

获取服务IP

代码语言:javascript
复制
kubectl get svc
NAME            CLUSTER_IP   EXTERNAL_IP   PORT(S)    SELECTOR                                AGE
echo-server-1   10.3.0.246   <none>        8080/TCP   entity=echo-server-1,role=echo-server   39m

执行到一个豆荚kubectl exec -t -i echo-server-1-jp0aj /bin/bash

现在多次连接到服务..。它会给我的应用信息,所有的豆荚,除了当它得到自己,因此它挂起。

代码语言:javascript
复制
root@echo-server-1-jp0aj:/# nc 10.3.0.246 8080
hello, the date=Mon Jan 11 22:02:38 UTC 2016; my host=echo-server-1-y9bv2
root@echo-server-1-jp0aj:/# nc 10.3.0.246 8080
^C
root@echo-server-1-jp0aj:/# nc 10.3.0.246 8080
hello, the date=Mon Jan 11 22:02:43 UTC 2016; my host=echo-server-1-shoz0
root@echo-server-1-jp0aj:/# nc 10.3.0.246 8080
^C
root@echo-server-1-jp0aj:/# nc 10.3.0.246 8080
hello, the date=Mon Jan 11 22:31:19 UTC 2016; my host=echo-server-1-y9bv2
root@echo-server-1-jp0aj:/# nc 10.3.0.246 8080
hello, the date=Mon Jan 11 22:31:23 UTC 2016; my host=echo-server-1-shoz0
root@echo-server-1-jp0aj:/# nc 10.3.0.246 8080
hello, the date=Mon Jan 11 22:31:26 UTC 2016; my host=echo-server-1-y9bv2
root@echo-server-1-jp0aj:/# nc 10.3.0.246 8080
hello, the date=Mon Jan 11 22:31:27 UTC 2016; my host=echo-server-1-shoz0
root@echo-server-1-jp0aj:/# nc 10.3.0.246 8080

如何配置服务的所有成员才能连接到所有其他成员,包括服务本身?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-03-18 12:06:38

感谢所有在GitHub上提供帮助的人。

解决办法如下:

tanen01于2月4日在k8s v1.1.7稳定版上看到了同样的问题 问题发生在:

代码语言:javascript
复制
kube-proxy --proxy-mode=iptables 

一旦我把它改成:

代码语言:javascript
复制
           --proxy-mode=userspace 

(也是默认的),然后它再次工作。

因此,如果您正在经历这种情况,请在启动--proxy-mode时尝试关闭kube-proxy

票数 4
EN

Stack Overflow用户

发布于 2016-02-02 06:48:09

我已经看到至少有一个其他用户报告了这一点。我提交了一个问题:https://github.com/kubernetes/kubernetes/issues/20475

我想您使用了那个链接中的Kubernetes版本-- 1.1.2。

票数 1
EN

Stack Overflow用户

发布于 2016-02-02 06:50:51

这应该是可行的-我们已经在kubernetes v1.1中对iptables代理进行了广泛的测试(不是默认的,但将在V1.2中进行)。你能多说说你的环境吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34732597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档