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 # 镜像

相关推荐
鱼宵9 小时前
Spring AI 初体验:配好 yml 就能聊,ChatClient 四步链式调用
人工智能·spring·microsoft·大模型·springai·chatclient
Experience-摆渡13 小时前
微软开源 NVX:Agent 微虚拟机沙盒的硬件级隔离拆解
microsoft
雷焰财经14 小时前
量子计算进入“工程化窗口”:当微软让DARPA直接测试量子系统,下一场计算革命正在从实验室走向产业
microsoft·量子计算
Sand(ContextGate)1 天前
Python Agent 测试实战:测试与评估,让 Agent 像传统软件一样可交付
前端·javascript·python·microsoft·ai
女神下凡1 天前
Win10/WIN11自动更新怎么永久关闭?有效的Win10/WIN11强制更新关闭方法.
microsoft
Omics Pro3 天前
微软:多模态生物世界模型
数据库·人工智能·算法·microsoft·机器学习·自然语言处理
小杍随笔3 天前
Trae CN迁移后插件失效修复方案
microsoft
昔我往昔3 天前
Blueprint和route的区别
flask
海盗12343 天前
微软技术日报 2026-10-04:26H2 三个已知问题确认,Blazor 补上智能体 UI
人工智能·microsoft·ui·机器人·aigc
专业程序开发源4 天前
flask动漫推荐系统32319-计算机课程设计、毕业设计
java·spring boot·后端·django·flask·php·课程设计