发布于 2013-12-04
作者 Eduard Koller

这次为我们使用Linux 的朋友带来了更多关于部署云上虚拟机的消息。今天,微软开放技术有限公司 (MS Open Tech),想与大家分享针对 Mac 和 Linux 的更新版 Node SDK 和命令行工具。这次更新为虚拟网络、终结点及其他设备提供了支持。这个工具帮助开发者和 IT 管理员组在 Windows Azure 上部署和管理 Linux (和 Windows)虚拟机。

自去年微软开放技术团队发布了该项目以来,我们已经收到了许多关于针对
Mac 和 Linux 的 Windows Azure 命令行工具
的反馈。所以,我们在更新工具中添加了一些普遍要求的功能,包括:

  • 虚拟网络配置
  • 改进了对已停止的虚拟机的帐单管理
  • 终结点管理
  • 负载平衡的终结点更新

下面是这些新功能的概述。像往常一样,如果您想参加我们这些工具的更新,可以向我们发送
pull 请求,或者如果您对我们有些反馈,可以留下您的评论/电子邮件。

1. 虚拟网络

因为 Windows Azure REST API 中已经添加了虚拟网络,我们在针对
Node.js 的 Azure SDK 和针对 Mac and Linux 的命令行工具中都添加了对这一功能的支持:

为了支持虚拟网络,我们在针对 Node.JS 的 Windows Azure SDK创建了一个能够配置虚拟网络新
API。这个 API 可以独立应用于配置 VNETs 的 Node.JS 应用程序。

例如,下列 node.js 代码示例演示了如何使用服务管理 API 配置 VNET。

var service= azure.createServiceManagementService(      subscriptionId, auth,     
{ serializetype: 'XML'});

var vnetObject= {

VirtualNetworkConfiguration: {

VirtualNetworkSites: [

{

Name: 'test',

AffinityGroup: 'test-ag',

AddressSpace: ['10.0.0.0/20'],

Subnets: [

{

Name: 'sub1',

AddressPrefix: '10.0.0.0/23'

}

]

}

]

}

};

service.setNetworkConfig(vnetObject,function (err, response) {

// handle errors / process the result

});

您可以在 GitHub 查阅我们的全部文档以了解“VirtualNetworkConfiguration”对象模型的全部细节

本 SDK 还提供了命令行工具的基本部分。它使管理员组能够通过我们的命令行工具使用相同的功能。以下实例演示了如何使用默认设置在您的订阅中创建虚拟网络。

$ azure network vnet create vnet1 --location "West US" -vinfo: Executing command network vnet createinfo:
Using default address space start IP: 10.0.0.0

info: Using default address space cidr: 8

info: Using default subnet start IP: 10.0.0.0

info: Using default subnet cidr: 11

verbose: Address Space [Starting IP/CIDR (Max VM Count)]: 10.0.0.0/8 (16777216)

verbose: Subnet [Starting IP/CIDR (Max VM Count)]: 10.0.0.0/11 (2097152)

verbose: Fetching Network Configuration

verbose: Fetching or creating affinity group

verbose: Fetching Affinity Groups

verbose: Fetching Locations

verbose: Creating new affinity group AG1

info: Using affinity group AG1

verbose: Updating Network Configuration

info: network vnet create command OK

想了解更多信息,请到我们的wiki 网页查阅如何管理 Windows
Azure 虚拟网络的完整命令列表。

2.虚拟机停止账单功能

第一版的 Windows Azure 的基础结构服务中,Windows Azure 为每个停止的虚拟机在计算群集中保留一个部署点,并继续向用户提供虚拟机计算资源并计费直到用户明确地删除了这个部署。这种情况已变更。现在 Windows Azure 不再对任何停止的虚拟机向用户按计算时间收费。但是,它仍然保留部署状态和配置。

微软开放技术更新了 基于Node.js的Windows Azure SDK 和 Windows Azure 命令行工具以支持这个方案。因此,当使用 azure vm shutdown命令停止虚拟机时,账户就不再被计费。注意处于StoppedDeallocated状态(如已停止且未计费的)的虚拟机 IP 地址将会被释放,并且无法保证重新启动虚拟机后会分配同样的 IP地址。

如果您想让您的虚拟机保持分配状态并保留 IP 地址,我们提供针对 azure vm shutdown命令提供了 –stay-provisioned开关。但是,请注意,在这种情况下,您的账户将继续按计算时间收费。

3.终结点更新

我们添加了新的命令,使用户可以改变负载平衡器端口、虚拟机端口以及与已有的终结点相关联的端点名称和协议。用法和选项已列在下面。想了解更多信息,请阅读
Windows Azure 文档中的文章虚拟机负载平衡。

$ azure vm endpoint update --helphelp: Update a VM endpointhelp:

help: Usage: vm endpoint update [options] <vm-name> <endpoint-name>

help:

help: Options:

help: -h, --help output usage information

help: -v, --verbose use verbose output

help: --json use json output

help: -d, --dns-name <name> only consider VM for this DNS name

help: -n, --endpoint-name <name> the new endpoint name

help: -t, --lb-port <port> the new load balancer port

help: -t, --vm-port <port> the new local port port

help: -o, --endpoint-protocol <protocol> the new transport layer protocol for port (tcp or udp)

help: -s, --subscription <id> the subscription id

4.负载平衡的终结点更新

Windows Azure 的一个很酷的新功能是更新负载平衡设置

我们假设您在同样的云服务“我的服务”中创建了两个虚拟机“vm-1”和”vm-2”,并在两个虚拟机中都添加了负载平衡端点“lbset1”。这个新的 Windows Azure API 使用户可以更新负载平衡集“lbset1”(例如改变探测协议)使其将已定义的负载平衡集终结点应用于所有的虚拟机角色。

为支持这个 Azure 的新功能,我们已经在基于 Node.JS 的 Windows Azure SDK 中添加了新的 API updateLoadBalancedEndpointSet。且不久之后,我们也会添加对命令行工具支持。(此wiki包含关于所有已建议的负载均衡集命令的列表)

5.其他改进

最后,我们还对vm create 命令做了些更新,例如在创建 Windows 虚拟机时(过去只能用“Administrator”),添加了可以使用任何用户名的功能,以及使用--community选项时,显示图像复制进度功能。此外,这次更新还包括了后台方面的变化,例如,对常见问题的早期报错和包含更多的信息性错误报告。这些功能让该工具在许多情况中使用起来更加容易。

获取针对 Windows Azure 的 Node.js SDK

Node.js SDK 和 CLI 能使您轻松地通过自己的应用程序或者命令行使用 Windows Azure。如果您已经有 node.js 工具,您需要做的就是运行npm update azure-cli –g。如果您对这个工具比较陌生,那么您需要遵循几个简单的安装步骤,这些步骤都完整地记录在VM
Depot help
网站。既然我们提到了VM Depot,那就有必要提醒您,VM Depot 有 500 多个预配置的虚拟机映像,供您在
Windows Azure 上使用 CLI 进行部署。

本文转载自:

http://cn.msopentech.com/blog/2013/12/04/%e5%be%ae%e8%bd%af%e5%bc%80%e6%94%be%e7%a7%91%e6%8a%80%e5%8f%91%e5%b8%83%e4%b8%93%e4%be%9bmac%e4%b8%8elinux%e4%bd%bf%e7%94%a8%e7%9a%84-azure-node-js-sdk-%e7%9a%84%e6%9b%b4%e6%96%b0%e7%89%88%e6%9c%ac/


微软开放技术发布针对 Mac 和 Linux 的更新版 Azure Node.JS SDK 和命令行工具的更多相关文章

  1. 微软开放技术发布开源 Jenkins 插件以将 Windows Azure Blob 服务用的开作存储库

     发布于 2014-02-10 作者 陈 忠岳 持续集成 (CI) 的历史源远流长, 其宗旨在于软件团队在敏捷环境中不断将他们的工作整合为持续构建.管理 CI 进程的工具已存在一段时间.过去几年中 ...

  2. 微软开放技术发布开源的微软云服务器底盘管理器 (Chasis Manager) 软件

     发布于 2014-07-14 作者 陈 忠岳 今天,微软公司加入开放计算项目(OCP),贡献出硬件和软件规范,管理 API 和协议,机械 CAD 模型,以及电路板文件和 Gerbers(描述印刷 ...

  3. 微软开放技术(中国)携 CKAN 和 OData 技术引入基于 Azure 的开放数据平台

    今天,微软开放技术(中国)通过微软公有云Azure引入一个全新的开放数据平台,该平台基于开源数据门户解决方案 CKAN,以及由微软开放技术(中国)特别针对中国市场优化的ODATA插件来增强其国际化和本 ...

  4. 微软开放技术开发了适用于 Windows Azure 移动服务的开源 Android SDK

     发布于 2014-02-10 作者 陈 忠岳 为进一步实现连接微软与非微软技术的目标,微软开放技术有限公司开发了适用于 Windows Azure 移动服务的 Android SDK,由Scot ...

  5. Winjs – 微软开源技术发布的 JavaScript 组件集

    Winjs 是由微软开源技术的开发者推出的一组 JavaScript 组件,包括 ListView.ListView.Tooltip.DatePicker.Ratings 等等,帮助 Web 开发人员 ...

  6. 监控Linux性能的18个命令行工具

    监控 Linux 性能的 18 个命令行工具 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保 ...

  7. Linux 性能监控的18个命令行工具

    对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐 认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我 ...

  8. 监控 Linux 性能的 18 个命令行工具

    http://www.oschina.net/translate/command-line-tools-to-monitor-linux-performance 1.Top-Linux进程监控 Lin ...

  9. [转载]监控 Linux 性能的 18 个命令行工具

    转自:http://www.kuqin.com/shuoit/20140219/338066.html 对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一 ...

随机推荐

  1. ORACLE 11g R2数据库安装硬件环境要求

    物理内存要求:最小1G,在windows7,windows8,windows8.1上最小2G. 虚拟内存(或分页空间)容量要求: Available RAM Swap Space Required B ...

  2. OpenCV(2)-Mat数据结构及访问Mat中像素

    Mat数据结构 一开始OpenCV是基于C语言的,在比较早的教材例如<学习OpenCV>中,讲解的存储图像的数据结构还是IplImage,这样需要手动管理内存.现在存储图像的基本数据结构是 ...

  3. .net开发人员等级

    .net 开发人员的瓶颈和职业发展 现在社会比前几年浮躁了,越来越多的人抱怨薪水低,高薪工作不好找; 诚然这有CPI的压力,可是也有很多人没有认清自己的职业发展. 很多.net程序员个各种纠结,想拿高 ...

  4. VS建立可供外部调用的MFC类DLL,C#调用MFC调用

    建立MFC DLL工程.一般选共享MFC库 关键是在你生成的CPP中,添加外部调用的接口 如下,意思是将这个函数对外公开. 如果你希望对外提供类,就把这个方法做成工厂. 如果你希望对外提供MFC的窗体 ...

  5. CentOS 6.5-默认没开启网络连接:开启网络连接

    vi  /etc/sysconfig/network-scripts/ifcfg-eth0 修改网络, 禁止IP6开启,禁止自启动服务chkconfig

  6. php练习2——乘法表,变量的使用

    目标:输出九九乘法表 程序: 结果: 目标: 程序variable01.html和variable01.php 结果:

  7. art.dialog 与 ajax 异步请求

    上周写了一些代码,涉及到jquery异步请求,这里归纳总结下,希望对刚接触编程的同学有帮助. 主要习惯使用 art.dialog 框架,非常好用,在异步请求上,它提供了很多简便的方法. 加载使用art ...

  8. C语言学习总结(二) 运算流程

    第三章.基本运算 (运算符.算数运算符.关系运算符.逻辑运算符.三目运算符.ASXLL码) 一.什么是运算符? 概念:是编译程序执行特定的算术或逻辑操作的符号: 分类:算术运算符. 关系运算符.逻辑运 ...

  9. pyes-elasticsearch的python客户端使用笔记

    elasticsearch入门:  http://www.qwolf.com/?p=1387 一.重要的概念 http://834945712.iteye.com/blog/1915432 这篇文章很 ...

  10. 《Linux命令行大全》系列(一、shell是什么)

    学习 Linux, 从命令开始 图形界面只是让简单事情,更简单 图形化界面能快速处理简单的事情,如打开/关闭文件 然后,随着事务复杂度的提升,图形化界面的操作也就繁琐起来 例如,word中插入一个图片 ...