关于购物网站建设的论文,网站域名维护,1688官网app下载,自媒体平台注册账号下载前两篇讲到了terraform#xff0c;作为跨平台的IAC工具绝对是没话说的#xff0c;很非常好用#xff0c;今天再讲回Azure原生的ARM Template#xff0c;ARM Template好处就是作为微软的亲儿子#xff0c;兼容性啥的绝对没话说#xff0c;但是JSON对于非开发者来说实在用着…前两篇讲到了terraform作为跨平台的IAC工具绝对是没话说的很非常好用今天再讲回Azure原生的ARM TemplateARM Template好处就是作为微软的亲儿子兼容性啥的绝对没话说但是JSON对于非开发者来说实在用着别扭繁琐的{}[]这些能搞懵不少人。两者之间各有优劣用哪种方式都不奇怪所以今天也来谈一谈ARM Template里的一些小技巧首先来谈下ARM Template和Key Valut的结合在部署Azure资源时经常会涉及到一些机密信息的问题比如在创建VM时候要指定password或者key值在创建数据库的时候也要指定账号密码如果作为明文输入的话肯定是不行的但是指定为securestring又显得比较麻烦每次都要手动输入因为这东西不接受默认值所以两者都不方便比较理想的方式其实是结合Azure Key Vault来做Key Vault是Azure中专门用来管理一些机密信息的服务像一些加密的字符串证书之类的都可以用key vault来管理相当于就是个保险柜一样可以把敏感的东西锁在里边需要的时候再取出来详细的介绍可以参考官方的文档下边来演示下具体怎么来用以一个例子为背景我们在创建Windows VM的时候需要指定password而这个password就可以首先先存储在key vault中然后在ARM Template里引用这个值这样既保护了密码的安全又不需要手动指定下边看下具体怎么实现首先从创建key vault开始这一步没啥特殊的指定好key vault的名称和位置即可下一步一定要注意这里必须勾选用于模板部署的Azure资源管理器接下来创建一个secret作为密码输入这个secret的名称以及对应的值这样这个password就在key vault里存在了接下来就可以在ARM Template里引用了首先我们可以把password定义成一个parameter这样这个值就是一个可变得值了如果需要不同的password的话也可以在部署的时候重新进行赋值adminPasswordOrKey: {type: securestring,metadata: {description: SSH Key or password for the Virtual Machine. SSH key is recommended.}}接下来可以编辑parameter file在这里设置一个default值来引用刚才创建的secretparameters: {adminPasswordOrKey: {reference: {keyVault: {id: /subscriptions//resourceGroups/mykeyvaultdeploymentrg/providers/Microsoft.KeyVault/vaults/},secretName: password}其他ARM Template里的内容和正常部署VM都是一样的部署时指定parameterfile和templatefile即可New-AzResourceGroupDeployment -ResourceGroupName garrickmeng -TemplateFile D:\Tech\Cloud\Azure\ARM Template\VM\101-vm-simple-linux - key valut integration\azuredeploy.json -TemplateParameterFile D:\Tech\Cloud\Azure\ARM Template\VM\101-vm-simple-linux - key valut integration\azuredeploy.parameters.json使用paasword也可以正常进行SSH连接