eks服务器端点为 xxxxxxxxxxx.xxx.eks.amazonaws.com ,并且我已经创建了带有部署和服务对象的yml文件。
[ec2-user@ip-]$ kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
fakeserver NodePort 10.100.235.246 <none> 6311:30002/TCP 1h
kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1d
当我浏览 xxxxxxxxxxx.xxx.eks.amazonaws.com:30002 时,返回的时间太长而无法响应。安全组具有入站规则中的所有流量。
答案 0 :(得分:1)
您应该使用工作节点的IP(如果有多个,则为节点之一),而不是EKS服务器端点。 EKS服务器端点是主平面,用于处理与创建/删除Pod等有关的请求。
您还需要确保您节点的安全组将允许流量。
有了这个,您应该能够向NodePort服务发出请求。 例如:
答案 1 :(得分:0)
您需要运行kubectl port-forward
将其重定向到本地并使用https://localhost:30002
记住:
kubectl port-forward
命令仅绑定地址127.0.0.1
,这意味着您无法从服务器外部访问转发端口。所以你必须在本地运行
$ kubectl port-forward $(kubectl get pod -l "app=fakeserver" -o jsonpath={.items[0].metadata.name}) 30002
如果您需要永久访问它,则需要将服务类型更改为LoadBalancer
,然后通过其负载均衡器URL访问该服务,或者可以定义另一个route53 DNS来重定向到该负载均衡器。
答案 2 :(得分:0)
您创建的服务的类型为“节点端口”。您是否尝试过:30002
如果它还返回相同的错误,则说明您的部署存在问题。 检查容器上暴露的端口和目标端口。应该一样。