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

相关推荐
IT技术分享社区2 小时前
科技资讯:微软确认广泛推送Windows 11新版开始菜单,并解释再次“重新设计”的原因
windows·科技·microsoft
晚霞的不甘3 小时前
Flutter for OpenHarmony 豪华抽奖应用:从粒子背景到彩带动画的全栈实现
前端·学习·flutter·microsoft·前端框架
云和数据.ChenGuang3 小时前
python 面向对象基础入门
开发语言·前端·python·django·flask
方安乐3 小时前
杂记:com surrogate
microsoft
山岚的运维笔记17 小时前
SQL Server笔记 -- 第15章:INSERT INTO
java·数据库·笔记·sql·microsoft·sqlserver
山岚的运维笔记1 天前
SQL Server笔记 -- 第16章:MERGE
java·笔记·sql·microsoft·sqlserver
Leinwin1 天前
Moltbot 部署至 Azure Web App 完整指南:从本地到云端的安全高效跃迁
后端·python·flask
2401_841495641 天前
【Web开发】基于Flask搭建简单的应用网站
后端·python·flask·视图函数·应用实例·路由装饰器·调试模式
FreeBuf_1 天前
微软将默认禁用NTLM协议,推动更安全的身份验证体系
安全·microsoft
编码者卢布1 天前
【Azure 环境】获取Azure上资源的创建时间createdTime信息(ARM REST API版本)
microsoft·azure