点击上方蓝字关注“汪宇杰博客”
导语
程序员和测试工程师经常需要自己搭环境用于开发和测试目的,这些机器可能只会使用很短一段时间。通常我们会在本机使用 Hyper-V、VMWare 之类的虚拟机产品,或者使用企业IT管理员分配的虚拟机去完成这项工作。然而安装配置以及管理这些VM都很麻烦,好在目前许多厂家都有造福IT管理员的解决方案,微软Azure也给我们提供了一个DevTest Lab,假装帮助我们分分钟配环境,拒绝996,远离ICU。
Azure Lab Services
“
通过 Azure 实验室服务,可以快速在云中设置团队环境(例如,开发环境、测试环境、教室实验室环境)。 实验室所有者创建实验室、预配 Windows 或 Linux 虚拟机、安装必要的软件和工具,并将其提供给实验室用户使用。 实验室用户在实验室中连接到虚拟机 (VM),以便进行日常工作、短期项目或实验室练习。 用户开始利用实验室中的资源后,实验室管理员可分析多个实验室的成本和使用情况,并设置总体策略以优化组织或团队成本。
”该服务目前包含两个独立的子服务:
教室实验室 (Classroom Labs)
开发测试实验室 (DevTest Labs)
我们今天要讲的是其中的 DevTest Labs,官网概述如下:
可使用 Azure 开发测试实验室来实现许多关键方案,但其中一个主要方案涉及使用开发测试实验室为开发人员托管开发计算机。 在此方案中,开发测试实验室具有以下优势:
开发人员可快速按需预配其开发计算机。
通过使用可重用模板和项目,预配 Windows 和 Linux 环境。
开发人员可在任何需要的时候轻松自定义其开发计算机。
管理员可以通过确保开发者无法获得超过开发所需的 VM,以及在未使用 VM 时将其关闭来控制成本。
创建 DevTest Lab
在 Azure Portal 里点击 Create a resource,搜索 DevTest,即可打开创建向导。
输入 Lab name,选择订阅、资源组、位置、是否自动关机、是否为公有环境(互联网访问)。
其中的 Resource group 要注意,它指的是该实验室本身的资源组,而不是实验室里的VM所使用的资源组。
创建完成后,点击 Add 添加第一台虚拟机。
搜索并选择你需要的操作系统镜像,这个列表里也包括了许多预配置的镜像,如SQL Server、AKS、各种Linux等等,甚至还可以找到 Windows 10 + Office 365。你也可以制作自己的镜像用于创建后续VM。
输入虚拟机名称,管理员账号、密码,选择虚拟机大小以及磁盘配置。如果你用过普通的 Azure VM服务,会发现这个向导就是个极简版的Azure VM,省去了网卡、NSG、IP等众多高级配置。
Artifact 的意思是预装的软件,比如我需要 7-zip 以及 Chrome,就可以在这个列表里找到,并勾选。当然,这个列表肯定不包含你自己或企业的专业软件,别担心,微软允许从三方库添加这些artifact(可以自行查阅方法,本文暂不讨论)
在VM的高级设置中,除了传统的虚拟网络、子网、IP等信息,还多了过期时间、Claim 这两个选项。过期时间很好理解,管理员可以设置一个VM的使用期限,而 Claim 的含义是“认领”,即使用之前用户需要认领这台机器,才能开机使用。用完之后要取消认领,还给企业。
等待虚拟机创建完成后,可以在 Labs Overview 里看见这台机器。
和使用普通 Azure VM 非常类似,点击 Connect 即可使用 RDP 或 SSH 连接到虚拟机,然后你想怎么玩就怎么玩。
如果你不喜欢默认分配的 DNS 名称也没关系,这个其实是可以改的!这台 VM 从普通的 Azure Virtual Machine 界面也能进去,进去以后就可以点击 DNS name 分配一个新域名。
配置定时自动开关机
Azure 的意思顾名思义是 A zone user rich enough,富人的玩具,我们苦逼程序员还是得省钱进ICU里花。因此我们可以设置定时开关机,让虚拟机只有 996 的工作时间才可用,回家睡觉时关机,这样 VM 就不会计费了。
进入 Configuration and policies
在 Auto-start 里设置自动开机时间,选择中国时间早上9点,记得勾选星期六,以收取福报。
同样,Auto-shutdown 里配置为晚上9点。当然,也可以配置成半夜12点,这样可以养生。
现在,回到 VM 的设置里,就可以完成996定时设置了!云福报!
分配用户
如果你的需求非常简单,用户不多,完全可以只靠RDP+管理员账号密码来分配使用权限。但是在正规的组织机构中,通常同步了 Azure AD,我们可以通过 Azure AD 来分配不同用户和角色使用或管理 Labs 里的机器。
由于我的Azure AD是个人使用,不方便模拟公司环境,此处摘录微软官网文档:
将用户添加到实验室用户角色
在左侧菜单中,选择“配置和策略”。
从菜单中选择“访问控制(IAM)”,并在工具栏中选择“+ 添加角色分配”。
在“添加权限”页上,执行以下操作:
在“角色”中,选择“开发测试实验室用户”。
选择要添加的“用户”。
选择“保存”。
参考资料
https://docs.microsoft.com/en-us/azure/lab-services/lab-services-overview