zoukankan      html  css  js  c++  java
  • 在Global Azure上用Azure CLI创建ARM的VM和面向公网的负载均衡

    在Global的Azure上,新的Portal和ARM已经正式发布。将来传统的portal和ASM将逐渐淡出。

    China Azure将在今年下半年推出新的Portal管理界面和ARM功能(即IaaS v2)。本文将通过Azure CLI命令行的方式在ARM模式下,创建VM和负载均衡。

    在ASM模式下,我们经常使用Endpoint和负载均衡SLB的功能。同样在ARM模式下,SLB也是一个非常重要的功能。但在ARM下和ASM的最重要的不同是:LoadBalancer不再是关联到VM上的属性了。就是说,VM可以没有公网IP,可以没有负载均衡对外提供服务。

    这种部署模式更加符合企业应用的部署模式。在企业应用中,只有前端的展现层才会有与外部网络的连接,而其他应用层、数据库层等都不允许与外界沟通。

    通过ARM部署的VM,就具有这种特性。

    如图中所示:

    负载均衡把Web请求分发到加入了负载均衡的VM上。

    下面将一步一步的创建负载均衡的各个组件和VM。

    1.创建Resource Group:

    azure group create hwlb eastasia

    2.在Resource Group中创建存储账户

    azure storage account create -g hwlb -l eastasia --type LRS hweastasia

    3.在Resource Group中创建Vnet

    azure network vnet create hwlb hwlbvnet eastasia -a 10.0.0.0/16

    4.在Vnet中创建Subnet

    azure network vnet subnet create hwlb hwlbvnet hwlbsubnet-1 -a 10.0.0.0/24

    5.创建Public-IP

    azure network public-ip create -g hwlb -n hwlbpip -l eastasia -d hwlbpip -a static -i 4

    6.创建LoadBalancer

    azure network lb create hwlb hwlb eastasia

    7.定义LoadBalancer的前端IP和刚刚定义的Public-IP绑定

    azure network lb frontend-ip create hwlb hwlb hwlbfndip -i hwlbpip

    8.创建后端IP地址池(此时没有VM加入)

    azure network lb address-pool create hwlb hwlb hwlbbndip

    9.定义这个LoadBalancer的NAT规则

    azure network lb inbound-nat-rule create -g hwlb -l hwlb -n ssh1 -p tcp -f 22122 -b 22
    
    azure network lb inbound-nat-rule create -g hwlb -l hwlb -n ssh2 -p tcp -f 22322 -b 22

    10.创建LoadBalancer的负载均衡规则

    azure network lb rule create hwlb hwlb lbrule -p tcp -f 80 -b 80 -t hwlbfndip -o hwlbbndip

    11.创建LoadBalancer的健康检查规则

    azure network lb probe create -g hwlb -l hwlb -n healthprobe -p "tcp" -o 80 -i 15 -c 4

    12.检查创建的负载均衡

    azure network lb show hwlb hwlb

    至此,负载均衡已经创建完毕。下面将创建VM。

    13.创建两个NIC,将NAT规则应用到两个网卡上

    azure network nic create -g hwlb -n hwlbnic1-be --subnet-name hwlbsubnet-1 --subnet-vnet-name hwlbvnet -d "/subscriptions/xxxx/resourceGroups/hwlb/providers/Microsoft.Network/loadBalancers/hwlb/backendAddressPools/hwlbbndip" -e "/subscriptions/xxxx/resourceGroups/hwlb/providers/Microsoft.Network/loadBalancers/hwlb/inboundNatRules/ssh1" eastasia    
    
    azure network nic create -g hwlb -n hwlbnic2-be --subnet-name hwlbsubnet-1 --subnet-vnet-name hwlbvnet -d "/subscriptions/xxxx/resourceGroups/hwlb/providers/Microsoft.Network/loadBalancers/hwlb/backendAddressPools/hwlbbndip" -e "/subscriptions/xxxx/resourceGroups/hwlb/providers/Microsoft.Network/loadBalancers/hwlb/inboundNatRules/ssh2" eastasia

    14.创建两台VM

    azure vm create --resource-group hwlb --name hwlbweb1 --location eastasia --vnet-name hwlbvnet --vnet-subnet-name hwlbsubnet-1 --nic-name hwlbnic1-be --availset-name hwlb-avset --storage-account-name hweastasia -u hengwei -p xxxx -z Standard_A1 --os-type Linux --image-urn openlogic:CentOS:6.5:6.5.20150904
    
    azure vm create --resource-group hwlb --name hwlbweb2 --location eastasia --vnet-name hwlbvnet --vnet-subnet-name hwlbsubnet-1 --nic-name hwlbnic2-be --availset-name hwlb-avset --storage-account-name hweastasia -u hengwei -p xxxx -z Standard_A1 --os-type Linux --image-urn openlogic:CentOS:6.5:6.5.20150904

    15.定义LoadBalancer的Distribution模式

    在ASM中的SLB有3中Distribution Mode,分别是Default(5-tuple)、sourceIP(2-tuple)、sourceIP Protocol(3-tuple)。为实现Session Sticky,我们会选择sourceIP的分布模式。具体命令如下:

    azure network lb rule set -d sourceIP hwlb hwlb lbrule

    此命令需要最新版的Azure CLI-0.9.15。如果版本不够,请升级。

    在ARM的环境下,LoadBalancer的实现方式与ASM的有类似,但要比ASM好。

  • 相关阅读:
    装箱、拆箱操作发生在
    @Data的注解使用以及在IDEA上安装
    Mysql中 BLOB字段转String的方法
    不属于java语言鲁棒性特点的是
    java object默认的基本方法
    哪个类可用于处理 Unicode?
    类和接口的继承
    抽象类的叙述:
    Hashtable 和 HashMap 的区别是:
    编程之美初赛第一场--焦距
  • 原文地址:https://www.cnblogs.com/hengwei/p/5204984.html
Copyright © 2011-2022 走看看