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

相关推荐
喜欢的名字被抢了7 小时前
FastAPI 取代 Flask 的底层逻辑:一场类型驱动的 API 架构革命
架构·flask·fastapi
小鹿软件办公15 小时前
微软确认 Windows 11 26H2 将调整系统默认备份机制
microsoft·windows 11 26h2
kyle~19 小时前
Schema---数据结构的形式化规则描述
数据结构·windows·microsoft
XUHUOJUN20 小时前
Storage Spaces on Shared SAS JBOD 在 Azure Local 解耦架构中的重新定位
microsoft·架构·azure·s2d
编码者卢布20 小时前
【Azure Container App】Key Vault的Secret修改导致Container App重启,是否有办法规避呢?
microsoft·flask·azure
147API1 天前
Claude 的 Microsoft 365 connector 能写入了,技术接入别跳过权限验收
人工智能·microsoft·claude
娇气的红酒1 天前
微软对PHP支持的改进,及其它一些胡言乱语
开发语言·microsoft·php
影寂ldy1 天前
C# 泛型协变与逆变
windows·microsoft·c#
神经智研社2 天前
ros2 -9章 机器人的控制多节点启动文件Launch
人工智能·microsoft·机器人环境搭建·win11 ros2 开发环境·ros2 jazzy
小鹿软件办公2 天前
单文件狂吞 503 GB!微软确认 Windows 11 存储漏洞
microsoft·c盘存储漏洞·c盘占用太大如何清理