NodePort无法与AWS EKS服务器终端节点一起使用

Rat*_*tul 6 amazon-web-services kubernetes kubernetes-service amazon-eks

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
Run Code Online (Sandbox Code Playgroud)

当我浏览xxxxxxxxxxx.xxx.eks.amazonaws.com:30002时返回的时间太长而无法响应。安全组具有入站规则中的所有流量。

BMW*_*BMW 1

用于临时解决方案

您需要运行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
Run Code Online (Sandbox Code Playgroud)

通过负载均衡器访问

如果您需要永久访问它,您需要将服务类型更改为LoadBalancer,然后通过其负载均衡器 url 访问此服务,或者您可以定义另一个route53 DNS 来重定向到此负载均衡器。