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
  3. 選擇對應Stage
  4. 選擇deploy發布
【Azure DevOps Pipelines部署.Net Core 應用到Kubernetes】

    推薦閱讀