【问题标题】:Kubernetes system container "pause" doesn't get proper port mappingsKubernetes 系统容器“暂停”没有得到正确的端口映射
【发布时间】:2016-06-04 02:15:05
【问题描述】:

我正在测试 kubernetes 1.1.7 设置(在 AWS 上)。这是按照标准程序 (http://kubernetes.io/v1.1/docs/getting-started-guides/aws.html) 安装的,一切正常。

我尝试使用两个容器启动最简单的 pod 复制控制器(因为我想玩多容器 pod,这不是常态,但仍然可以做)。这是 RC:

apiVersion: v1
kind: Pod
metadata:
  name: test
  labels:
    app: web
spec:
  containers:
    - name: "80"
      image: "jonlangemak/docker:web_container_80"
      ports:
        - containerPort: 80
    - name: "8080"
      image: "jonlangemak/docker:web_container_8080"
      ports:
        - containerPort: 8080

我希望这会生成 2 个应用程序容器以及一个系统容器“暂停”,它将保存两个端口映射(80 和 8080)。

但是,如果我在登陆主机上执行 docker ps,这就是我所看到的:

CONTAINER ID        IMAGE                                                 COMMAND                CREATED             STATUS              PORTS               NAMES
2a15f633fff9        jonlangemak/docker:web_container_8080                 "/usr/bin/supervisor   23 seconds ago      Up 22 seconds                           k8s_8080.cf4f64ab_test_default_1dc9f591-d976-11e5-88b3-06da266e4957_6e389304                                                                                
0ff0b6cdd4ae        jonlangemak/docker:web_container_80                   "/usr/bin/supervisor   23 seconds ago      Up 23 seconds                           k8s_80.b7c46373_test_default_1dc9f591-d976-11e5-88b3-06da266e4957_90173279                                                                                  
84e3d7ea12c9        gcr.io/google_containers/pause:0.8.0                  "/pause"               23 seconds ago      Up 23 seconds                           k8s_POD.c16231a_test_default_1dc9f591-d976-11e5-88b3-06da266e4957_78c2a5e9            

有趣的是,一切正常,我可以卷曲端口 80 和端口 8080 的 pod IP,我得到了我期望得到的结果,但事实上我没有在“暂停”容器上看到正确的端口映射让我有点“呃?为什么?”。

想法?

谢谢。

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    除非您在相应的port 上设置 HostPort 属性,否则不会有任何端口映射。

    您应该使用服务来公开您的应用程序,而不是这样做。这种抽象将为您的应用程序提供单个 IP 地址并充当集群中的本地负载均衡器。

    您可以在官方Kubernetes user documentation 中阅读更多关于 Kubernetes service 资源的信息

    【讨论】:

    • 感谢@Antoine 我(有点)熟悉service 的概念,并且我也可以使用它(我只是错过了在映射中明确设置时显示端口映射yaml)。我已经添加了hostPort 值,现在它出现了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    相关资源
    最近更新 更多