0

我正在玩 k8s 部署,更改服务、容器和入口的端口。我很想知道部署是如何工作的。

我的场景:部署一个托管 2 个端点的休息服务应用程序。

情况1:

containerPort: 8081 - # 容器端口

port: 8081 #服务的端口targetPort: 8081

Host1 端口 : 8081 #入口的端口 Host2 端口 :8081

结果:按预期使用竹管道成功部署。

案例 2: containerPort: 8080 - # 容器端口

port: 8080 #服务的端口targetPort: 8081

Host1 port : 8081 #port of the ingress Host2 port :8081 结果 : 部署在竹子中失败,但运行状况检查和所有端点工作正常。

案例3:

containerPort: 8080 - # 容器端口

port: 8080 #服务的端口targetPort: 808

Host1 端口 : 8080 #入口的端口 Host2 端口 :8080

结果:在竹子中部署不成功,这也是预期的,因为另一台主机也在同一集群的 8080 中运行。

我真的不确定为什么案例 2 失败了。有人能帮我吗?

4

1 回答 1

0

案例二:

containerPort: 8080 - # 容器端口

port: 8080 #服务的端口targetPort: 8081

Host1 端口 : 8081 #入口的端口 Host2 端口 :8081

结果:在竹子中部署失败,但运行状况检查和所有端点工作正常。

我真的不确定为什么案例 2 失败了。有人能帮我吗?

如果您targetPortServiceto中设置8081并且您的容器公开的端口(您的 pod 正在侦听的端口)是8080. 这两个值一定很多。请参考k8s官方文档中的这篇文章。

于 2019-11-26T15:32:54.463 回答