kubernetes - 通过 ClusterIP 访问 pod

标签 kubernetes kubectl amazon-eks

我想在 AWS EKS 中创建一个 RESTful Web API 集群,并能够通过单个 IP 访问它们(允许 Kubernetes 对每个 API 的请求进行负载平衡)。我已按照此 link 解释的程序进行操作并设置了一个示例 nginx 部署,如下图所示:

enter image description here

问题是,当我通过 172.31.22.183 访问示例 nginx 部署时,它工作得很好,但是当我尝试使用集群 IP 10.100 时.145.181 它不会以似乎无法访问的方式产生任何响应。

那么该集群 IP 的用途是什么?我如何使用它来实现我的需要?

最佳答案

What's the purpose of that cluster ip then and how can I use it to achieve what I need?

ClusterIP是集群内部使用的本地IP,您可以使用它来访问应用程序。

虽然我认为您获得的端点 IP 可能是外部的,您可以访问外部的应用程序。

AWS EKS and be able to access them through a single IP (allowing kubernetes to load balance requests to each)

最佳实践是使用入口、API 网关或服务网格。

入口是单点,您的所有请求都将传入其中,它将在集群内部进行负载平衡和转发流量。

将入口视为进入集群内部的负载均衡器单点。

入口:https://kubernetes.io/docs/concepts/services-networking/ingress/

AWS 示例:https://aws.amazon.com/blogs/opensource/network-load-balancer-nginx-ingress-controller-eks/

关于kubernetes - 通过 ClusterIP 访问 pod,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72725459/

相关文章:

kubernetes - kubectl - 如何重新启动部署(或所有部署)

Kubernetes:在 rbac 检查期间,集群中创建的 ClusterRole 不可见

kubernetes - 我想使用kubectl的LabelSelector输出 "kubectl get pod"不包括key的结果

azure - Kubectl 不允许我删除任何内容 - 如何删除所有当前部署?

amazon-web-services - 如何使用 Terraform 在 EKS 上创建 Kubernetes 集群

kubernetes - Istio从1.4升级到1.5

bash - 每次输入 kubectl --all-namespaces 的快捷方式

docker-compose - 地形: Deploying a Docker Compose app on EKS/ECS

Kubernetes : Cluster-Autoscaler: How to verify autoscaling is working

azure - 新镜像未部署到 AKS