kubernetes - 是否可以创建一个服务以将其同时显示为群集IP和NodePort?

标签 kubernetes

我有2个在minikube上运行的 pod 。 Pod A必须将Pod B expose 2 portsinside the k8 cluster都编码为outside k8 cluster 8081和9092,以便Pod B可以到达它们,并且消费者也可以在群集之外访问它们。所以我的问题是should我为每个端口都创建了2 services吗?
一种公开为群集ip,另一种公开为节点端口?还是有一种方法可以创建一个服务来将其作为群集IP和NodePort公开?

另外,如果我必须将节点端口公开为特定端口,则指定nodePort是否会与群集ip混淆?

最佳答案

当您选择NodePort服务类型时,除了具有群集IP外,kubernetes还将在群集每个节点上的端口(每个节点上的相同端口)上公开该服务。因此,选择NodePort可以同时获得:ClusterIP和每个节点上的端口。
in the docs

Note that this Service will be visible as both :spec.ports[].nodePort and spec.clusterIP:spec.ports[].port.

关于kubernetes - 是否可以创建一个服务以将其同时显示为群集IP和NodePort?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48751810/

相关文章:

node.js - Openshift平台上的Node.js Oracle Db连接

docker - Kubernetes - 在 namspaces 和服务之间进行通信

networking - 通过外部网络架构在裸机集群上公开 Kubernetes 服务

docker - GKE docker容器内缺少NET I/O统计值

go - 使用 operator-framework 负载平衡 K8s Pod

kubernetes - 从 Kubernetes 容器收集应用程序级指标

kubernetes - 来自错误抓取作业的 Prometheus + Kubernetes 指标

kubernetes - 使用aws-load-balancer重定向到301-还是我需要一个入口 Controller

kubernetes - 在GCP上为负载均衡器应用注释,以获取GKE上的源IP防火墙规则

ruby-on-rails - 在 Minikube 中调试 rails 应用程序