kubectl 端口转发和 NodePort 服务之间的区别

Rad*_*ad4 16 portforwarding kubernetes microservices kubernetes-nodeport

kubectl port-forwarding(将端口从本地主机转发到集群中的 pod 以获取对集群资源的访问权限)和 NodePort 服务类型之间有什么区别?

Mar*_*ney 14

您正在比较两个完全不同的事物。您应该比较ClusterIP、NodePort、LoadBalancer 和 Ingress。

第一个也是最重要的区别是 NodePort 公开是持久的,而通过使用端口转发来实现它,您始终必须运行kubectl port-forward ...并保持其活动状态。

kubectl port-forward 用于测试、实验室、故障排除,而不是长期解决方案。它将在您的机器和 kubernetes 之间创建一条隧道,因此该解决方案将满足您的机器的需求。

NodePort 可以为您提供长期解决方案,并且可以满足节点所在网络内任何地方的需求。


Fau*_*zan 6

如果您使用端口转发,kubectl port forward svc/{your_service} -n {service_namespace}您只需要一个 clusterIP,kubectl 将为您处理流量。Kubectl 将成为您流量的代理

如果您使用nodeport来访问您的服务意味着您需要在工作节点上打开端口。