visual-studio - 使用 Docker Desktop 和 Helm 中启用的 Kubernetes 时在 Web 应用程序项目中使用 Web api
问题描述
我已经设法使用本教程将一个简单的 ASP.NET MVC 应用程序部署到 Kubernetes(在 Docker Desktop 中启用了 Kubernetes):https ://medium.com/@bterkaly/running-asp-net-applications-in-kubernetes-a-详细的一步一步的方法-96c98f273d1a。我的清单如下所示:
environment: development
apphost: k8s
label:
name: aspnet3core
container:
name: aspnet3
pullPolicy: IfNotPresent
image: aspnet3k8s
tag: v1
port: 80
replicas: 3
service:
port: 8888
type: ClusterIP
我还设法使用本教程将一个简单的 Web API 项目部署到 Kubernetes:https ://dev.to/wolnikmarcin/run-asp-net-core-3-on-kubernetes-with-helm-1o01 。我的清单如下所示:
//myDeploy.yaml
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: dotnetlinux
spec:
replicas: 2
template:
metadata:
labels:
app: dotnetlinux
spec:
containers:
- image: "brunoterkaly/dotnetlinux"
imagePullPolicy: Always
name: dotnetlinux
ports:
- containerPort: 80
//myService.yaml
apiVersion: v1
kind: Service
metadata:
name: dotnetlinux
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: dotnetlinux
我现在正在尝试锻炼如何从 MVC 项目中调用 web api。我无法在网上找到如何做到这一点的解释。我希望在 GitHub 上有一个示例项目,但我找不到。
我正在使用启用了 Kubernetes 和 Visual Studio 2019 (Kubernetes/Helm) 的 Docker Desktop。
解决方案
只是发布我的评论作为答案:
要访问您的 POD,您需要在端口:80 上调用您的服务“dotnetlinux”,例如dotnetlinux:80/yourAPI
.
您还可以运行kubectl get services
以获取服务的 IP,然后使用它。但这不是一个好方法,因为每次重新启动服务时服务的 IP 都会改变。
在此文档页面中,有很多关于服务的详细信息,并且会话动机和服务资源解释了为什么需要服务,以及它们如何在您的情况下为您提供帮助。
推荐阅读
- wordpress - Wordpress 自定义帖子类型前端时间戳
- api - 是否可以将 GitHub 个人访问令牌限制为特定存储库?
- c# - 为什么不执行索引较低的迭代?
- indexing - 有没有办法将 Couchbase 索引添加到版本控制中?
- r - R中的异常处理-下载正确的数据时返回
- php - 我无法将 data_type 从 TINYTEXT 更改为 DATE&/DATETIME
- reactjs - 如何使用钩子将对象数组推入状态
- react-native - 在 Parent 中传递两个函数
- mysql - MySQL - 选择具有字段值 > 10 且不按此字段排序的第一行的查询
- python - 如何使用蓝牙将数据从 Android/iOS 应用程序发送到在树莓派上运行的 python 脚本?