Kubernetes Pod访问而无需提及容器端口

时间:2018-08-22 06:07:57

标签: kubernetes

我制作了一个客户Pod(包括在端口8080上运行的带有Spring Boot应用程序的映像)。

**在yaml文件上,我没有明确写出容器端口号,例如spec:containers:port:8080。

kind: Pod  
apiVersion: v1
metadata:
name: customer-pod
spec:
  containers:
    - name: customer-pod
      image: docker.temp.com/customer-service:8

我可以使用“ $ kubectl get pods命令-o宽”进行检查

=========================================

NAME READY STATUS重新启动AGE IP NODE

customer-pod 1/1默认运行0 43m 10.43.1.17

=========================================

之后,

$ curl 10.43.1.17:8080
{“时间戳”:“ 2018-08-22T05:58:58.938 + 0000”,“状态”:404,“错误”:“未找到”,“消息”:“无消息”,“路径”:“ / “}

我想知道如何在不打开端口的情况下访问客户端口(8080)。
对于Docker,我知道我应该在run命令中显式编写一个端口以进行连接。
在Kubernetes中,端口会自动打开吗?

1 个答案:

答案 0 :(得分:2)

您没有在kubernetes中打开端口。默认情况下,所有Pod可以相互通信,在大多数设置中,也将允许节点到端口。提到Docker时,您的意思是端口映射-p选项,它也不是端口开放(如果您使用容器IP,即使未映射为暴露在容器外部也可以访问Docker容器端口)。

如果您想限制跨Pod联网,则需要使用Network Policies和能够实施跨Pod的联网解决方案。

相关问题