更新
找到this,但这是正确的方法吗?
我可以看到我可以移植到e节点,例如:
kubectl port-forward hello-nginx 8080:80
但我想玩并尝试扩展和访问服务。 我已经开始服务了:
kubectl expose deployment hello-nginx --type=NodePort
service “hello-nginx” exposed
然后:
kubectl get services
rolling-sponge-hello-world ClusterIP 10.104.12.39 <none> 80/TCP 3d
那么你如何代理kubernetes服务呢?
注意:运行Docker for Mac(Edge)。
答案 0 :(得分:1)
如您所述,最好的方法是使用Ingress。这样,您就可以向本地计算机IP发送请求,而Ingress控制器会将流量发送到右侧Pods
。
为此你需要:
Pods
。这些规则可以根据请求中的路径或主机将流量重定向到特定的Pods
。This blog post专门讨论了Docker for mac和Ingress。
答案 1 :(得分:0)
看起来kubectl get services
的输出与您创建的服务不匹配。输出说&#34; ClusterIP&#34;当你创建一个&#34; NodePort&#34;服务。 NodePort类型允许通过其节点端口代理服务,该端口在每个节点的IP上打开。
您也可以使用kubectl describe service hello-nginx