.net Kubernetes服务没有';不暴露外部端口

.net Kubernetes服务没有';不暴露外部端口,.net,kubernetes,kubectl,.net,Kubernetes,Kubectl,我正试图在Kubernetes上本地托管我的第一个dotnet核心应用程序 一切正常但当我尝试使用z_service.yml文件创建服务时,它没有公开端口8099以便在浏览器中从外部访问它 $> kubectl apply -f .\z_service.yml service/amazing-app-service created 但是,如果我运行$>kubectl port forward惊人的应用程序8099:80命令,它就会工作,我可以使用 这就是服务仪表板的外观 以及服务状况

我正试图在Kubernetes上本地托管我的第一个dotnet核心应用程序

一切正常但当我尝试使用z_service.yml文件创建服务时,它没有公开端口8099以便在浏览器中从外部访问它

$> kubectl apply -f .\z_service.yml
service/amazing-app-service created
但是,如果我运行
$>kubectl port forward惊人的应用程序8099:80
命令,它就会工作,我可以使用

这就是服务仪表板的外观

以及服务状况


我是否缺少任何配置?

在Kubernetes中,服务是一个抽象层,通过本地网络绑定POD。
如果您需要对应用程序进行外部访问,最好的方法之一是在Kubernetes中使用。

,服务是一个抽象层,通过本地网络绑定POD。
如果您需要外部访问您的应用程序,最好的方法之一是使用。

我看到它是
节点端口
,用于您的服务
惊人的应用程序服务
。当您要将服务公开到Internet时。您应该为服务使用
负载平衡器
类型。就像:

type: LoadBalancer

正如我所看到的,这是为您的服务提供的
NodePort
令人惊叹的应用服务
。当您要将服务公开到Internet时。您应该为服务使用
负载平衡器
类型。就像:

type: LoadBalancer

您可以在问题中包括
z_service.yml
的内容吗?您可以尝试使用
LoadBalancer
类型进行服务。@CharlesXu,如何使用它?你想在Minikube中运行它吗?将服务更改为使用值设置
类型
LoadBalancer`然后它看起来像
类型:LoadBalancer
。你能在你的问题中包括
z_service.yml
的内容吗?你可以尝试使用
LoadBalancer
类型进行服务。@charlessu,如何使用它?您正在尝试在Minikube中运行它吗?将服务更改为使用值设置
类型
LoadBalancer`然后它看起来像
type:LoadBalancer
。我有一个愚蠢的问题:从中,我发现有多种方式允许外部访问该服务。我能理解为什么负载均衡器或入口可以工作,但为什么他现有的NodePort ip不能工作?需要注意的是,外部ip是,这是正确的行为吗?@Kundan,在你的情况下,外部ip是可以的。像Google Kubernetes Engine或Amazon Web Services这样的云提供商使用外部IP创建Kubernetes群集。@嗯,我不确定我是否正确理解了这个问题,但NodePort仅适用于本地网络(对于k8s)。LoadBalancer和Ingress使本地网络k8s可用于外部网络我有一个愚蠢的问题:从中,我发现有多种方式允许外部访问服务。我能理解为什么负载均衡器或入口可以工作,但为什么他现有的NodePort ip不能工作?需要注意的是,外部ip是,这是正确的行为吗?@Kundan,在你的情况下,外部ip是可以的。像Google Kubernetes Engine或Amazon Web Services这样的云提供商使用外部IP创建Kubernetes群集。@嗯,我不确定我是否正确理解了这个问题,但NodePort仅适用于本地网络(对于k8s)。LoadBalancer和Ingress使本地网络k8s可用于外部网络