我正在尝试在Kubernetes上本地托管我的第一个dotnet核心应用程序。
一切正常,但是当我尝试使用z_service.yml文件创建服务时,它不会公开端口8099以便在浏览器中进行外部访问。
$> kubectl apply -f .\z_service.yml
service/amazing-app-service created
但是,如果我运行$> kubectl port-forward amazing-app 8099:80
命令,它将起作用,并且我可以使用http://localhost:8099/在浏览器中访问Web应用程序
这是服务仪表板的外观
和服务状态
我在这里缺少任何配置吗?
答案 0 :(得分:2)
我认为您的服务NodePort
是amazing-app-service
。当您要将服务公开给Internet时。您应该对服务使用LoadBalancer
类型。就像:
type: LoadBalancer
答案 1 :(得分:0)
在Kubernetes中,服务是一个抽象层,它通过本地网络绑定Pod。 如果您需要外部访问应用程序,最好的方法之一就是使用ingress object。
答案 2 :(得分:0)
为什么您的容器在监听80时为什么有9999。请更正service.yaml,然后在浏览器中http://localhost:30446尝试