Azure部署程序


文章目录

  • 项目地址
  • 一、程序部署微服务
    • [1.1 App Services](#1.1 App Services)
    • [1.2 Azure Container Registry](#1.2 Azure Container Registry)
      • [1. 创建Registry](#1. 创建Registry)
      • [2. 上传image](#2. 上传image)
    • [1.3 K8s](#1.3 K8s)
  • 二、程序部署
    • [2.1 概念](#2.1 概念)
      • [1. Namespace](#1. Namespace)
      • [2. pod](#2. pod)
      • [3. 创建Deployment](#3. 创建Deployment)

项目地址

  • 教程作者:
  • 教程地址:
复制代码
  • 代码仓库地址:
复制代码
  • 所用到的框架和插件:

    dbt
    airflow

一、程序部署微服务

  1. App Services(单体架构可自动伸缩)
  2. Container Apps
  3. Kubernetes services

1.1 App Services

1.2 Azure Container Registry

1. 创建Registry

2. 上传image

  1. 查看当前registry的所有images

    az acr list --output table

  2. 登录ACR

    az acr login --name harshacontainerregistry

  3. 创建docker image 指定docker file的路径,并创建到当前目录

    docker build -t demowebapp:latest -f ./DemoWebaaplication/Dockerfile .

  4. 给image添加tag

    docker tag demowebapp:latest harshacontinerregistry.azurecr.io/demowebapp:latest

  5. 由于已经登录过了ACR所以直接push image

    dokcer push harshacontainerregistry.azurecr.io/demowebapp:latest

  6. 上传成功可以看到

1.3 K8s

  • 流程

1.创建k8s

  1. 创建resource group
  2. 创建k8s所需的服务
  3. 创建aks
  4. 获取crendentials用于本地登录
  5. 绑定container registry到k8s项目,这样他就会自动拉去images

2. 常用命令

  1. 获取当前所有的node
cs 复制代码
kubectl get nodes
  1. 获取namespace
cs 复制代码
kubectl get namespaces

二、程序部署

2.1 概念

1. Namespace

  • 同一个集群重的资源划分为项目隔离的组,同一命名空间的资源名称要唯一,它用来隔离资源而不是网络
  • 初始化会生成默认的4个namespace:①default;②kube-node-lease;③kube-public;③kube-system
  1. 使用yaml文件创建namespace,创建一个my-namespace.yaml文件

    apiVersion: V1
    king: Namespace
    metadata:
    name: test-namespace

  2. 运行

    kubectl apply -f my-namespace.yaml

2. pod

  • pod是k8s的最小单元,一个podl里可以有多个container或者一个,一个node下可以有多个pod
  • 同一个Pod内container共享同一个ip地址和端口,他们之间可以直接通过localhost通讯,也可以直接访问共享的volumes

3. 创建Deployment

  • 用于管理应用程序副本,主要功能有:自动修复/滚动升级

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    # 部署名字
    name: test-k8s
    spec:
    replicas: 2
    # 用来查找关联的 Pod,所有标签都匹配才行
    selector:
    matchLabels:
    app: test-k8s
    # 定义 Pod 相关数据
    template:
    metadata:
    labels:
    app: test-k8s
    spec:
    # 定义容器,可以多个
    containers:
    - name: test-k8s # 容器名字
    image: ccr.ccs.tencentyun.com/k8s-tutorial/test-k8s:v1 # 镜像

相关推荐
circuitsosk13 小时前
AI输出的“质检员”:构建智能体质量评估、异常检测与人工兜底的三层防线
人工智能·python·microsoft·正则表达式·langchain
TunerT_TQ15 小时前
Microsoft 微软 Fluent UI 源码静态评测:从工程结构、测试线索到交付治理的完整解读
microsoft·开源·github
TunerT_TQ16 小时前
Microsoft 微软 AI-For-Beginners 静态评测:一套 AI 入门课程,为什么不能只按代码仓库来评价?
microsoft·开源·github
行业研究员17 小时前
腾讯云ADP:智能体平台封神榜
人工智能·microsoft·腾讯云·智能体·智能体平台·腾讯云adp
张宇Joaquin1 天前
高性能计算之MPI——集合通信漫谈
服务器·microsoft·asp.net
树码小子2 天前
Python 超轻量 Web 框架 Flask 快速入门教程
前端·python·flask
qq_22589174663 天前
基于Flask的城市地铁客流量数据预测系统设计与实现
后端·python·flask
梦想的旅途23 天前
企业微信 API 二次开发:AI 智能体与外部群业务流闭环
人工智能·microsoft·企业微信
zhiSiBuYu05174 天前
Flask Session 与 Cookie 新手实战指南
后端·python·flask