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


     


    一、    先决条件

      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
    复制代码

     

      

    二、    创建Pipelines

    1.Other Git

        

     

    2.Azure Repos Git/Git Hub

        

     

    3.Docker container

        

    4.Build an Image配置

    5.Push an Image配置

        

     

     

    三、    创建Releases Pipelines

      1.选择artifact为对应Pipelines

          

      

      2.Add Azure Repos Git 选择对应仓库及详细信息

          

      

      3.Stage选择Deploy to a Kubernetes cluster

          

      

      4.修改Job为Deploy to Kubernetes

          

     

      5.配置 deploy 

             

    四、    发布应用

    1. Pipelines运行
    2. 选择对应Releases、点击Create release
    3. 选择对应Stage
    4. 选择deploy发布

    生命不息、战斗不止!

    欢迎大家扫描下方二维码,和我一起共同学习进步!

      

  • 相关阅读:
    Android 14 权限
    印尼封锁TikTok Shop后,数字商业将何去何从?
    设计模式学习
    一站式采购!麒麟信安CentOS安全加固套件上架华为云云商店
    Web3社交资料池
    学生选课系统基础版
    计算机毕业设计Java家用饰品在线销售系统(源码+系统+mysql数据库+lw文档)
    你需要知道的 12 个常用的 JavaScript 函数
    一个 SAP 开发工程师在 SAP 德国总部出差的见闻系列 1:出差 ≠ 公费旅游
    【Linux从0-1 】之 - 什么是Linux?Linux与Unix有什么区别?Linux的几个主流发行版本
  • 原文地址:https://www.cnblogs.com/hulizhong/p/16794317.html