Azure DevOps Pipelines部署.Net Core 应用到Kubernetes

一、    先决条件1.Azure Repos Git/Git和项目上传
把本地的Net Core项目上传至Azure Repos Git/Git

Azure DevOps Pipelines部署.Net Core 应用到Kubernetes

文章插图

2.Docker Registry Service Connection/Azure subscription和Azure Container Registry以及Kubernetes Service Connection在Project setting配置好对应的Docker Connection和Kubernetes Connection
3.Kubernetes deployment yaml文件
本地配置好yaml文件,与项目一起上传至Git 。
apiVersion: apps/v1# 指定api版本kind: Deployment# 创建资源的类型metadata:# 资源的元数据/属性name: demo# 资源的名称,在同一个namespace中必须唯一namespace: default # 部署在哪个命名空间中spec: # 资源规范/规格字段replicas: 1 # 声明Pod副本数目revisionHistoryLimit: 3 # 保留历史版本selector: # 选择器matchLabels: # 匹配标签app: demostrategy: # 更新策略rollingUpdate: # 滚动更新,以下配置保证不停机更新maxSurge: 30% # 最大额外可以存在的副本数,可以为百分比,也可以为整数maxUnavailable: 30% # 示在更新过程中能够进入不可用状态的 Pod 的最大值,可以为百分比,也可以为整数type: RollingUpdate # 滚动更新策略template: # 部署模版metadata: # 资源的元数据/属性labels: # 设定资源的标签app: demospec: # 资源规范/规格字段nodeSelector: #节点筛选器 。节点筛选器与指定调度器一起使用 。agentpool: demonodepool #指定节点池schedulerName: default-scheduler #指定调度器nodeName: demonode1 #指定节点,如果指定节点池可去除当前行命令containers:- name: demo # 容器的名字image: demo:v1 # 镜像地址imagePullPolicy: IfNotPresent # 每次Pod启动拉取镜像策略,三个选择 Always(总是拉取镜像)、Never(从不拉取镜像,仅使用本地镜像)、IfNotPresent(本地无镜像是拉取)resources: # 资源管理limits: # 最大可使用资源限制cpu: 300m # CPU,1核心 = 1000mmemory: 500Mi # 内存,1G = 1024Mirequests:# 最低使用资源需求cpu: 100mmemory: 100Miports:- containerPort: 80 # 容器开发对外的端口apiVersion: v1 # 指定api版本kind: Service # 指定创建资源的类型metadata: # 资源的元数据/属性name: demo # 资源的名字,可与上面的保持一直namespace: default # 部署在哪个命名空间spec: # 资源规范/规格字段type: ClusterIP # ClusterIP (自动分配IP,仅在集群中访问) 、NodePort、 LoadBalanceports:- port: 80 # service 端口selector: # 选择器app: demo
二、    创建Pipelines1.Other Git
Azure DevOps Pipelines部署.Net Core 应用到Kubernetes

文章插图
2.Azure Repos Git/Git Hub
Azure DevOps Pipelines部署.Net Core 应用到Kubernetes

文章插图
3.Docker container
Azure DevOps Pipelines部署.Net Core 应用到Kubernetes

文章插图
4.Build an Image配置
5.Push an Image配置
Azure DevOps Pipelines部署.Net Core 应用到Kubernetes

文章插图
三、    创建Releases Pipelines1.选择artifact为对应Pipelines
Azure DevOps Pipelines部署.Net Core 应用到Kubernetes

文章插图

2.Add Azure Repos Git 选择对应仓库及详细信息
Azure DevOps Pipelines部署.Net Core 应用到Kubernetes

文章插图

3.Stage选择Deploy to a Kubernetes cluster
Azure DevOps Pipelines部署.Net Core 应用到Kubernetes

文章插图

4.修改Job为Deploy to Kubernetes
Azure DevOps Pipelines部署.Net Core 应用到Kubernetes

文章插图
5.配置 deploy
   
Azure DevOps Pipelines部署.Net Core 应用到Kubernetes

文章插图
四、    发布应用
  1. Pipelines运行
  2. 选择对应Releases、点击Create release

    经验总结扩展阅读