gpt4 book ai didi

azure - 从外部访问服务

转载 作者:行者123 更新时间:2023-12-03 05:36:06 26 4
gpt4 key购买 nike

我正在尝试使用 minikube 在 azure VM 上运行并可从外部访问 hello-node 服务。

minikube start --driver=virtualbox

已创建部署

kubectl create deployment hello-node --image=k8s.gcr.io/echoserver

公开部署

kubectl expose deployment hello-node --type=LoadBalancer --port=8080

假设 kubectl get services 说:

hello-node LoadBalancer 1.1.1.1 8080:31382/TCP

azure VM的公共(public)IP是2.2.2.2,私有(private)IP是10.10.10.10,virtualbox IP是192.168.99.1/24

如何从集群网络外部的浏览器访问该服务?

最佳答案

在您的情况下,您需要使用 --type=NodePort 来创建公开部署的服务对象。 type=LoadBalancer 服务由外部云提供商支持。

kubectl expose deployment hello-node --type=NodePort --name=hello-node-service

显示有关服务的信息:

kubectl describe services hello-node-service

输出应与此类似:

Name:                   example-service
Namespace: default
Labels: run=load-balancer-example
Annotations: <none>
Selector: run=load-balancer-example
Type: NodePort
IP: 10.32.0.16
Port: <unset> 8080/TCP
TargetPort: 8080/TCP
NodePort: <unset> 31496/TCP
Endpoints: 10.200.1.4:8080,10.200.2.5:8080
Session Affinity: None
Events: <none>

记下服务的 NodePort 值。例如,在上面的输出中,NodePort 值为 31496。

获取虚拟机的公共(public) IP 地址。然后你可以使用这个 URL:

http://<public-vm-ip>:<node-port>

不要忘记在防火墙规则中打开此端口。

关于azure - 从外部访问服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62409171/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com