首页 > 编程语言 >将Asp.net Core 微服务容器部署到 Kubernetes

将Asp.net Core 微服务容器部署到 Kubernetes

时间:2024-03-12 15:49:01浏览次数:37  
标签:Core Asp Kubernetes 容器 app ms k8s tenant

将微服务容器部署到 Kubernetes

Kubernetes会为你运行容器,需要通过 YAML 文件描述希望 Kubernetes 执行的操作,在 Kubernetes 上部署和运行后端服务简单操作如下步骤

安装 Kubernetes 工具和实现

我们需要同时安装 kubectl 工具和 Kubernetes 实现
按照参考:
https://www.cnblogs.com/heyangyi/p/18061223
[Window10使用Docker-Desktop自带k8s和dashboard配置本地k8s开发环境]

为后端服务创建部署文件

可以使用 YAML 文件创建一个到 Kubernetes 的文件管理容器部署。 我们将创建一个文件来部署后端服务

---
apiVersion: apps/v1
kind: Deployment
metadata:
    name: k8s-ms-tenant-app
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: k8s-ms-tenant-app
    spec:
      containers:
      - name: k8s-ms-tenant-app
        image: k8s.ms.tenant.webapi:latest
        imagePullPolicy: Never
        ports:
        - containerPort: 80
        env:
        - name: ASPNETCORE_URLS
          value: http://*:80
        - name: ASPNETCORE_ENVIRONMENT
          value: Development
  selector:
    matchLabels:
      app: k8s-ms-tenant-app
---
apiVersion: v1
kind: Service
metadata:
  name: k8s-ms-tenant-app
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 80
    nodePort: 32001
  selector:
    app: k8s-ms-tenant-app

第一部分定义了要部署到 Kubernetes 中的容器的部署规范。 它指定了一个副本、在哪里找到容器映像、在容器上打开哪些端口,并设置了一些环境变量。 第一部分还定义了可以引用容器和规范的标签和名称。

然后,第二部分定义容器作为 Kubernetes NodePort 服务运行。 对于本模块,你无需了解 NodePorts 的所有细节,但你应该知道,此类型的服务会公开一个外部 IP 地址,以便我们可以从群集外部测试服务。

Kubernetes仪表盘部署并运行后端微服务

进入到dev命名空间,使用上面的资源清单文件部署并运行后端微服务
image
访问:
image

标签:Core,Asp,Kubernetes,容器,app,ms,k8s,tenant
From: https://www.cnblogs.com/heyangyi/p/18068443

相关文章

  • .Net Core中使用DiagnosticSource进行日志记录
    System.Diagnostics.DiagnosticSource可以丰富地记录程序中地日志,包括不可序列化的类型(例如HttpResponseMessage或HttpContext)。System.Diagnostics.DiagnosticSource通过订阅发布模式运行,我们可以根据自己地需要发现数据源并订阅感兴趣的数据源。 DiagnosticSource与......
  • 在不受支持的 Mac 上安装 macOS Sonoma (OpenCore Legacy Patcher v1.4)
    在不受支持的Mac上安装macOSSonoma(OpenCoreLegacyPatcherv1.4)InstallmacOSonunsupportedMacs请访问原文链接:https://sysin.org/blog/install-macos-on-unsupported-mac/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgOpenCoreLegacyPatcher1.4.2ch......
  • kubernetes-服务器重启后集群检查
    kubernetes-服务器重启后集群检查搭建k8s集群的服务器因机房断电原因挂掉。以下是恢复后的常规检查检查k8s的master组件服务systemctlstatuskube-apiserver.servicekube-controller-manager.servicekube-scheduler.service检查k8s的node组件服务systemctlstatuskubel......
  • 使用 .NET Core 构建实时数据处理应用程序
    第一部分:了解实时数据处理实时数据处理是指立即处理数据输入的过程,这对于需要快速响应的应用程序至关重要。在.NETCore环境中,我们可以利用其高性能、跨平台的特性来构建高效的实时数据处理应用程序。理论事件驱动架构:这是一种软件架构模式,通过事件来触发和通信,从而实现高度......
  • Asp .Net Web Forms 系列:配置图片防盗链的几种方法
    通过URLRewriteModule组件URLRewriteModule是一个用于在ASP.NETWebForms或其他基于IIS的Web应用程序中重写URL的强大工具。这个模块允许你将复杂的、不易于记忆或不利于搜索引擎优化的URL转换为更简洁、更友好的格式。通过URL重写,你可以提高网站的用户体验,......
  • Kubernetes与Docker Swarm的区别如何
    1)安装和部署:k8s安装很复杂;但是一旦安装完毕,集群就非常强大,DockerSwarm安装非常简单;但是集群不是很强大;2)图形用户界面:k8s有,DockerSwarm无;3)可伸缩性:k8s支持,DockerSwarm比k8s快5倍;4)自动伸缩:k8s有,DockerSwarm无;5)负载均衡:k8s在不同的Pods中的不同容器之间平衡负载流量,需要手......
  • Kubernetes 网络
    简述Kubernetes网络模型Kubernetes网络模型中每个Pod都拥有一个独立的IP地址,不管它们是否运行在同一个Node(宿主机)中,都要求它们可以直接通过对方的IP进行访问;同时为每个Pod都设置一个IP地址的模型使得同一个Pod内的不同容器会共享同一个网络命名空间,也就是同一个Linux网络协议栈......
  • Kubernetes PodSecurityPolicy
    简述KubernetesPodSecurityPolicy机制KubernetesPodSecurityPolicy是为了更精细地控制Pod对资源的使用方式以及提升安全策略。在开启PodSecurityPolicy准入控制器后,Kubernetes默认不允许创建任何Pod,需要创建PodSecurityPolicy策略和相应的RBAC授权策略(AuthorizingPolicies),Pod......
  • 简述Kubernetes各模块如何与API Server通信
    K8sAPIServer作为集群的核心,负责集群各功能模块之间的通信。集群内的各个功能模块通过APIServer将信息存入etcd,当需要获取和操作这些数据时,则通过APIServer提供的REST接口(用GET、LIST或WATCH方法)来实现,从而实现各模块之间的信息交互。1)kubelet进程与APIServer的交互:每个Nod......
  • 简述Kubernetes准入机制
    在对集群进行请求时,每个准入控制代码都按照一定顺序执行。如果有一个准入控制拒绝了此次请求,那么整个请求的结果将会立即返回,并提示用户相应的error信息,准入控制(AdmissionControl)准入控制本质上为一段准入代码,在对kubernetesapi的请求过程中,顺序为:先经过认证&授权,然后执行准入......