1.Azure Repos Git/Git和專案上傳
把原生的Net Core專案上傳至Azure Repos Git/Git
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: demo
strategy: # 更新策略
rollingUpdate: # 捲動更新,以下設定保證不停機更新
maxSurge: 30% # 最大額外可以存在的副本數,可以為百分比,也可以為整數
maxUnavailable: 30% # 示在更新過程中能夠進入不可用狀態的 Pod 的最大值,可以為百分比,也可以為整數
type: RollingUpdate # 捲動更新策略
template: # 部署模版
metadata: # 資源的後設資料/屬性
labels: # 設定資源的標籤
app: demo
spec: # 資源規範/規格欄位
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核心 = 1000m
memory: 500Mi # 記憶體,1G = 1024Mi
requests: # 最低使用資源需求
cpu: 100m
memory: 100Mi
ports:
- containerPort: 80 # 容器開發對外的埠
apiVersion: v1 # 指定api版本
kind: Service # 指定建立資源的型別
metadata: # 資源的後設資料/屬性
name: demo # 資源的名字,可與上面的保持一直
namespace: default # 部署在哪個名稱空間
spec: # 資源規範/規格欄位
type: ClusterIP # ClusterIP (自動分配IP,僅在叢集中存取) 、NodePort、 LoadBalance
ports:
- port: 80 # service 埠
selector: # 選擇器
app: demo
1.Other Git
2.Azure Repos Git/Git Hub
3.Docker container
4.Build an Image設定
5.Push an Image設定
1.選擇artifact為對應Pipelines
2.Add Azure Repos Git 選擇對應倉庫及詳細資訊
3.Stage選擇Deploy to a Kubernetes cluster
4.修改Job為Deploy to Kubernetes
5.設定 deploy
生命不息、戰鬥不止!
歡迎大家掃描下方二維條碼,和我一起共同學習進步!