使用 PowerShell 创建 Linux 虚拟机
Azure PowerShell 模块用于从 PowerShell 命令行或脚本创建和管理 Azure 资源。 本指南详细介绍了如何使用 Azure PowerShell 模块部署运行 Ubuntu 服务器的虚拟机。 服务器部署以后,将创建 SSH 连接,并且安装 NGINX webserver。
如果没有 Azure 订阅,可在开始前创建一个试用帐户。
本快速入门需要 Azure PowerShell 模块 3.6 或更高版本。 运行 Get-Module -ListAvailable AzureRM
即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure PowerShell 模块。
最后,需要在 Windows 用户配置文件的 .ssh 目录中存储名为 id_rsa.pub 的公共 SSH 密钥。 有关创建适用于 Azure 的 SSH 密钥的详细信息,请参阅创建适用于 Azure 的 SSH 密钥。
登录 Azure
使用 Login-AzureRmAccount -EnvironmentName AzureChinaCloud
命令登录到 Azure 订阅,并按照屏幕上的说明进行操作。
Login-AzureRmAccount -EnvironmentName AzureChinaCloud
创建资源组
使用 New-AzureRmResourceGroup 创建 Azure 资源组。 资源组是在其中部署和管理 Azure 资源的逻辑容器。
New-AzureRmResourceGroup -Name myResourceGroup -Location chinaeast
创建网络资源
创建虚拟网络、子网和公共 IP 地址。 这些资源用来与虚拟机建立网络连接,以及连接到 Internet。
# Create a subnet configuration
$subnetConfig = New-AzureRmVirtualNetworkSubnetConfig -Name mySubnet -AddressPrefix 192.168.1.0/24 # Create a virtual network $vnet = New-AzureRmVirtualNetwork -ResourceGroupName myResourceGroup -Location chinaeast ` -Name MYvNET -AddressPrefix 192.168.0.0/16 -Subnet $subnetConfig # Create a public IP address and specify a DNS name $pip = New-AzureRmPublicIpAddress -ResourceGroupName myResourceGroup -Location chinaeast ` -AllocationMethod Static -IdleTimeoutInMinutes 4 -Name "mypublicdns$(Get-Random)"
创建网络安全组和网络安全组规则。 网络安全组使用入站和出站规则保护虚拟机。 在本例中,为端口 22 创建一个入站规则,该规则允许传入的 SSH 连接。 我们还需要为端口 80 创建入站规则,以允许传入的 Web 流量。
# Create an inbound network security group rule for port 22
$nsgRuleSSH = New-AzureRmNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleSSH -Protocol Tcp ` -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * ` -DestinationPortRange 22 -Access Allow # Create an inbound network security group rule for port 80 $nsgRuleWeb = New-AzureRmNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleWWW -Protocol Tcp ` -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * ` -DestinationPortRange 80 -Access Allow # Create a network security group $nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName myResourceGroup -Location chinaeast ` -Name myNetworkSecurityGroup -SecurityRules $nsgRuleSSH,$nsgRuleWeb
使用 New-AzureRmNetworkInterface 为虚拟机创建网卡。 网卡将虚拟机连接到子网、网络安全组和公共 IP 地址。
# Create a virtual network card and associate with public IP address and NSG
$nic = New-AzureRmNetworkInterface -Name myNic -ResourceGroupName myResourceGroup -Location chinaeast ` -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id
创建虚拟机
创建虚拟机配置。 此配置包括部署虚拟机时使用的设置,例如虚拟机映像、大小和身份验证配置。
# Define a credential object
$securePassword = ConvertTo-SecureString ' ' -AsPlainText -Force $cred = New-Object System.Management.Automation.PSCredential ("azureuser", $securePassword) # Create a virtual machine configuration $vmConfig = New-AzureRmVMConfig -VMName myVM -VMSize Standard_D1 | ` Set-AzureRmVMOperatingSystem -Linux -ComputerName myVM -Credential $cred -DisablePasswordAuthentication | ` Set-AzureRmVMSourceImage -PublisherName Canonical -Offer UbuntuServer -Skus 16.04-LTS -Version latest | ` Add-AzureRmVMNetworkInterface -Id $nic.Id # Configure SSH Keys $sshPublicKey = Get-Content "$env:USERPROFILE\.ssh\id_rsa.pub" Add-AzureRmVMSshPublicKey -VM $vmconfig -KeyData $sshPublicKey -Path "/home/azureuser/.ssh/authorized_keys"
使用 New-AzureRmVM 创建虚拟机。
New-AzureRmVM -ResourceGroupName myResourceGroup -Location chinaeast -VM $vmConfig
连接到虚拟机
完成部署后,请与虚拟机建立 SSH 连接。
使用 Get-AzureRmPublicIpAddress 命令返回虚拟机的公共 IP 地址。
Get-AzureRmPublicIpAddress -ResourceGroupName myResourceGroup | Select IpAddress
在装有 SSH 的系统中,使用以下命令连接到虚拟机。 如果在 Windows 上操作,可以使用 Putty 来创建连接。
ssh <Public IP Address>
出现提示时,请输入登录用户名 azureuser。 如果在创建 SSH 密钥时输入了密码,还需要输入此密码。
安装 NGINX
使用以下命令更新包源并安装最新的 NGINX 包。
# update package source
sudo apt-get -y update# install NGINX
sudo apt-get -y install nginx
查看 NGIX 欢迎页
NGINX 已安装,并且现在已从 Internet 打开 VM 上的端口 80 - 可以使用所选的 Web 浏览器查看默认的 NGINX 欢迎页。 请务必使用前面记录的公共 IP 地址访问默认页面。
清理资源
如果不再需要资源组、VM 和所有相关的资源,可以使用 Remove-AzureRmResourceGroup 命令将其删除。
Remove-AzureRmResourceGroup -Name myResourceGroup
后续步骤
在本快速入门中,部署了一个简单的虚拟机、一条网络安全组规则,并安装了一个 Web 服务器。 若要详细了解 Azure 虚拟机,请继续学习 Linux VM 的教程。
Azure Linux 虚拟机教程
立即访问http://market.azure.cn
使用 PowerShell 创建 Linux 虚拟机相关推荐
- 使用Hyper-V Server创建Linux虚拟机
通过 Hyper-V 及 Windows Azure 供应 Linux,这是微软改善对开源软件支持情况的一大举措.作为该倡议的一部分,微软的 Linux 集成服务(LIS)团队持续开发着先进的 Lin ...
- 史上最详细的Vmware安装教程(一)-创建Linux虚拟机
本文将演示如何使用Vwmare workstation软件创建Linux虚拟机,通过学习,我们将可以按照自己下需求,来创建一个安装Linux操作系统(Centos)的虚拟机,虚拟机的CPU.硬盘.网卡 ...
- 创建Linux虚拟机及安装Linux镜像教程(手把手教程)
创建Linux虚拟机及安装Linux镜像教程(手把手教程) 1.创建Linux虚拟机的准备工作 软件:VMware Workstation Pro(演示以VMware14为例) 镜像:rhel-ser ...
- 【转存】WIN10自带虚拟机Hyper-v的使用与创建Linux虚拟机
开启win10自带的Hyper-v 1.查看是否已经开启了Hyper-V,步骤:开始 > 管理工具 > Hyper-V管理器. 这个一般都不会开启,所以不显示,需要我们手动设置出来. 2. ...
- 全网最全谷粒商城记录_06、环境-使用vagrant快速创建linux虚拟机——1、VirtualBox下载安装
目录 一.VirtualBox下载安装 1.VirtualBox下载 2.CPU 开启虚拟化 3.VirtualBox安装 [快速创建 linux 虚拟机,详细介绍] 我们先要安装一个 Linux 虚 ...
- 使用模板创建linux虚拟机网卡eth0无效解决方法
问题描述: 在使用linux虚拟机模板部署完系统后使用ifconfig –a ,没发现eth0,发现eth1,在/etc/sysconfig/network/下有一个ifcfg-eth0的文件,但是没 ...
- 使用Vagrant快速创建linux虚拟机
1 安装 linux虚拟机 下载&安装 VirtualBox https://www.virtualbox.org/ 下载windows版 安装VirtualBox前要开启 CPU 虚拟化,先 ...
- 利用VMWare创建linux虚拟机
不论是为了搭建各种练习集群,还是搭建linux自己练手,现在window上弄个linux是非常简单的事情,依然记得大学那会儿给笔记本装双系统,一个linux,一个windows, 装完之后就是装B. ...
- qemu创建linux虚拟机(亲测有效,virt-manger方式)
1,网桥的搭建 Bridge方式原理 Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信.可以使虚拟机成为网络中具有独立IP的主机. 桥接网络(也叫物理设备共享)被用作把一 ...
最新文章
- 2019计蒜之道 B:个性化评测系统
- 跨链Cosmos(11) 消息结构
- 华为HCIA-Transmission H31-311练习题
- 杭州电子科技大学保研计算机,杭州电子科技大学计算机学院软件工程(专业学位)保研条件...
- eclipse2019-03设置代码编辑区背景为图片
- MySQL官方备份_Mysqlbackup 备份详解(mysql官方备份工具)
- 趁618买iPhone 11还是等iPhone 12?李楠有话要说
- Windows 系统下安装anaconda教程 ,小白教程!!!
- ip冲突 scan windows_如何检测IP有冲突 - 卡饭网
- 好的技术文章应该让读者更自信而不是更自卑
- 中小企业对Spring Cloud微服务架构实践经验总结的一些思考!
- 速达3000怎么找不到服务器,速达软件服务器无法启动怎么办?
- 2023长江大学计算机考研信息汇总
- android 热修复阿里,Android热修复(阿里热修复)
- 算法的时间复杂度表示
- tensorflow量化感知训练_TensorFlow 8 bit模型量化
- 计算机研究生论文怎怎么写,计算机硕士研究生论文大纲格式 计算机硕士研究生论文大纲怎样写...
- MacBook Pro连接移动硬盘未找到怎么办
- 差分数组分析详解+例题
- 微信提醒事项功能怎么设置
热门文章
- 刘道成mysql视频教程_燕十八刘道成Mysql 系列视频教程 Mysql视频教程打包下载
- php 接口的定义与实现,PHP接口定义与用法示例
- 服务器更改文件夹权限,云服务器如何修改文件权限
- 杭电oj2035c语言答案,杭电oj 2035
- 如何判断车与路边线距离_6家快递公司共享分拣线配送车,效果如何?
- FPGA之道(50)复位的设计
- 【 Vivado 】Performing System-Level Design Entry(总览)
- 通信与信号处理杂文目录
- LeetCode算法题-Convert a Number to Hexadecimal(Java实现)
- Oracle加入Eclipse MicroProfile项目