当前位置: 首页 > news >正文

北京专业网站建设公司哪家好网站及备案

北京专业网站建设公司哪家好,网站及备案,东八区网站建设,wordpress建站侵权本文属于【Azure 架构师学习笔记】系列。 前言 在实际的企业环境中,很少甚至可以说禁止手动创建资源,因为很容易出错,并且大规模部署时会非常低效。因此大部分企业都会使用工具或者某些服务来实现这种可控,可复用,具有…

本文属于【Azure 架构师学习笔记】系列。

前言

在实际的企业环境中,很少甚至可以说禁止手动创建资源,因为很容易出错,并且大规模部署时会非常低效。因此大部分企业都会使用工具或者某些服务来实现这种可控,可复用,具有伸缩性的部署方式。本文把工具选定为Terraform。

由于后续学习需要不停创建、删除Azure 资源,所以这里演示一下在本机(windows 10)上安装Terraform,并且创建一个Azure Storage Account.

环境搭建

本文把具体环境定格在Win 10 和Azure 上,大概搭建的步骤为:

  1. 安装必要工具
  2. 配置Azure 认证
  3. 创建Terraform配置文件
  4. 部署资源
  5. 验证资源(可选)
  6. 销毁资源(可选)

一、安装必要工具

必要工具包含Terraform,Azure CLI

Terraform

  1. 下载Terraform:Terraform官网,下载对应版本。
    在这里插入图片描述

  2. 解压到特定文件,比如本文的D:\Program Files\terraform_1.10.5_windows_386。

  3. 配置环境变量:
    在这里插入图片描述

  4. 按照步骤把刚才的路径贴进去
    在这里插入图片描述

  5. 验证安装结果:在cmd或者powershell中运行均可。
    在这里插入图片描述

Azure CLI

官网下载安装包并安装。同理验证安装结果
在这里插入图片描述

二、配置 Azure 认证

注意接下来的步骤基本上都使用powershell完成。

  1. 登录 Azure
    ​通过 Azure CLI 登录:az login
    浏览器会自动打开,然后选择你的 Azure 账号登录。
    在这里插入图片描述
    在这里插入图片描述
  2. 创建服务主体(Service Principal)​
    Terraform 需要通过SP 对操作 Azure 资源, 另外这个SP 需要在订阅中有contributor 或以上的角色,才能进行资源的操作。
az ad sp create-for-rbac --name "terraform-sp" --role contributor --scopes /subscriptions/<你的订阅ID>

执行后会生成以下结果, 记得要保存好信息,后续需要使用

在这里插入图片描述
3. 设置环境变量
可以在powershell或者cmd中执行:
Powershell:

$env:ARM_CLIENT_ID = "<appId>"
$env:ARM_CLIENT_SECRET = "<password>"
$env:ARM_TENANT_ID = "<tenant>"
$env:ARM_SUBSCRIPTION_ID = "<订阅ID>"

CMD:

set ARM_CLIENT_ID="<appId>"
set ARM_CLIENT_SECRET="<password>"
set ARM_TENANT_ID="<tenant>"
set ARM_SUBSCRIPTION_ID="<订阅ID>"

三、创建 Terraform 配置文件

  1. 新建项目目录: 比如D:\terraform-azure
  2. 创建以下文件:
    providers.tf :用于配置 Azure Provider
terraform {required_providers {azurerm = {source  = "hashicorp/azurerm"version = "~> 3.90.0"  # 使用最新稳定版本}}
}provider "azurerm" {features {}
}

main.tf :用于定义资源

# 创建资源组
resource "azurerm_resource_group" "example" {name     = "terraform-rg"location = "East US"
}# 创建存储账户
resource "azurerm_storage_account" "example" {name                     = "tfstorageaccount123"  # 必须全局唯一resource_group_name      = azurerm_resource_group.example.namelocation                 = azurerm_resource_group.example.locationaccount_tier             = "Standard"account_replication_type = "LRS"
}

outputs.tf :用于输出关键信息

output "storage_account_name" {value = azurerm_storage_account.example.name
}

四、部署资源

完成上面准备之后即可开始尝试创建,本人通过把下面内容放入main.tf 并运行,从而创建了一个Azure Storage Account。

terraform {required_providers {azurerm = {source  = "hashicorp/azurerm"version = "=3.0.0"}}
}# Configure the Microsoft Azure Provider
provider "azurerm" {features {}
}# 引用现有的资源组 "Architect"
data "azurerm_resource_group" "architect" {name = "Architect"  # 确保资源组已存在
}# 创建支持分层命名空间的存储账户
resource "azurerm_storage_account" "medallionadls01" {name                     = "medallionadls01"  # 必须全局唯一resource_group_name      = data.azurerm_resource_group.architect.namelocation                 = data.azurerm_resource_group.architect.locationaccount_tier             = "Standard"         # 存储层级account_replication_type = "LRS"              # 冗余类型account_kind             = "StorageV2"        # 必须为 StorageV2is_hns_enabled           = true               # 启用分层命名空间tags = {Environment = "DEV"Purpose     = "Data Lake Storage"}
}

在Powershell中按顺序执行下面命令

  1. terraform init
  2. terraform plan
  3. terraform apply --回复yes即可。

下面是一些过程截图:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述在这里插入图片描述

在这里插入图片描述

五、验证资源

可以登录portal。或者通过PS 命令: az storage account list --resource-group 具体的资源组名
在这里插入图片描述

六、销毁资源

需要在Terraform的配置目录下执行,一开始本人在D 盘直接执行,不抱错但是没有效果,后来定位到本人的D:\terraform-azure即可执行:

terraform destroy -target=资源类型.资源名

本例中为: terraform destroy -target=azurerm_storage_account.medallionadls01

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

七、常见问题解决

​1. 错误:权限不足
​现象:Error: authorization.RoleAssignmentsClient#Create: Failure responding to request
​解决:确保服务主体在订阅中有 ​Contributor​ 角色。
​2. 错误:名称冲突
​现象:Storage account name ‘tfstorageaccount123’ is already taken
​解决:修改存储账户名称(如 tfstorageaccount001)。
​3. 错误:版本不兼容
​现象:Provider registry.terraform.io/hashicorp/azurerm does not have a version matching ~> 3.0
​解决:更新 providers.tf 中的版本号(如 version = “~> 3.90.0”)。

小结

至此用Terraform创建单个Azure资源已经完成。

http://www.dtcms.com/a/398189.html

相关文章:

  • RabbitMQ-保证消息不丢失的机制、避免消息的重复消费
  • 分布式之RabbitMQ的使用(1)
  • 基于Java后端与Vue前端的MES生产管理系统,涵盖生产调度、资源管控及数据分析,提供全流程可视化支持,包含完整可运行源码,助力企业提升生产效率与管理水平
  • 阿里云ACP云计算和大模型考哪个?
  • RabbitMQ C API 实现 RPC 通信实例
  • Ingress原理:七层流量的路由管家
  • 代理网站推荐做网站公司是干什么的
  • 个人建设门户网站 如何备案网址域名注册信息查询
  • React 19 vs React 18全面对比,掌握最新前端技术趋势
  • 链改2.0倡导者朱幼平:内地RWA代币化是违规的,但RWA数资化是可信可行的!
  • iOS 混淆后崩溃分析与符号化实战,映射表管理、自动化符号化与应急排查流程
  • 【JavaSE】【网络原理】网络层、数据链路层简单介绍
  • PyTorch 神经网络工具箱核心内容
  • Git高效开发:企业级实战指南
  • 外贸营销型网站策划中seo层面包括影楼网站推广
  • ZooKeeper详解
  • RabbitMQ如何构建集群?
  • 【星海随笔】RabbitMQ开发篇
  • 深入理解 RabbitMQ:消息处理全流程与核心能力解析
  • docker安装canal-server(v.1.1.8)【mysql->rabbitMQ】
  • 学习嵌入式的第四十天——ARM
  • 佛山营销网站建设公司益阳市城乡和住房建设部网站
  • Linux磁盘数据挂载以及迁移
  • 【图像算法 - 28】基于YOLO与PyQt5的多路智能目标检测系统设计与实现
  • Android音视频编解码全流程之Muxer
  • 一家做土产网站呼和浩特网站建设信息
  • Android Studio - Android Studio 检查特定资源被引用的情况
  • 借助Aspose.HTML控件,使用 Python 编程创建 HTML 页面
  • 营销型网站建设运营网站建设yuanmus
  • Day67 基本情报技术者 单词表02 编程基础