What do you someone breaks something? I post the solution here...

Kubernetes (K8s/K3d) / Terraform / Ansible / Linux / AWS / Docker / Bash / Python / ELK / CI/CD / Java / Traefik / Nginx / CentOs / Ubuntu


Provisioning Linux Virtual Machine With Sample Post Configuration






Provisioning Linux Virtual Machine With Sample Post Configuration


In Last Post We Provisioned Windows Server , Today we are going to create Linux Virtual machine using existing Resource Group, Virtual Network , Network Security Group, Public IP and NIC Card

Here is the Code:



# First Step is to login using Login-AzureRmAccount
Login-AzureRmAccount

# Variables declaration Area Now lets See the Resource Group Present
$Rg="Osgroup"
$Vnet="OsgroupVnet"
$VmName="osgroup"
$Location="South Central US"
$Cred=Get-Credential
$Nsg="sylesh-nsg"
$Nic="osgroupNIC"
$Pip="PIPOSGRP"
$LinuxPublisher="Canonical"
$LinuxOffer="UbuntuServer"
$Skus="16.04-LTS"
$VmSize="Standard_D1_v2"
# Getting the Vnet/Nsg and Nic Information existing in my account
$VirtualNetwork=Get-AzureRmVirtualNetwork -ResourceGroupName $Rg -Name $Vnet
$VirtualNetwork
$NetworkSecurityGroup=Get-AzureRmNetworkSecurityGroup -ResourceGroupName $Rg -Name $Nsg
$NetworkSecurityGroup
$NetwokInterfaceCard=Get-AzureRmNetworkInterface -ResourceGroupName $Rg -Name $Nic
$NetwokInterfaceCard
$PublicIp=Get-AzureRmPublicIpAddress -ResourceGroupName $Rg -Name $Pip
$PublicIp
Get-AzureRmVMSize -Location $Location
# First Lets See the Publisher Name
Get-AzureRmVMImagePublisher -Location $Location | select PublisherName
#Lets See the Offer for that publisher at that location
Get-AzureRMVMImageOffer -Location $Location -PublisherName $LinuxPublisher
#Now Lets Check $SKU for that offer
Get-AzureRmVMImageSku -PublisherName $LinuxPublisher -Location $Location -Offer $LinuxOffer
#Now lets Configure VMConfig using
$VmConfig=New-AzureRmVMConfig -VMName $VmName -VMSize $VmSize |`
Set-AzureRmVMOperatingSystem -Linux -ComputerName $VmName -Credential $Cred | `
Set-AzureRmVMSourceImage -PublisherName $LinuxPublisher -Offer $LinuxOffer -Skus $Skus -Version latest | `
Add-AzureRmVMNetworkInterface -Id $NetwokInterfaceCard.id
# Creating New Virtual Machine
New-AzureRmVM -ResourceGroupName $Rg -Location $Location -VM $VmConfig
# ExtensionScript
$PublicSettings = '{"commandToExecute":"useradd ramu"}'
# Executing Extension Script
Set-AzureRmVMExtension -Name "USERADD" -Publisher "Microsoft.Azure.Extensions" -ExtensionType "CustomScript" -TypeHandlerVersion 2.0 `
-VMName $VmName -SettingString $PublicSettings -Location $Location -ResourceGroupName $Rg
# Getting Public Ip address to Connect to the VM $PublicIp=Get-AzureRmPublicIpAddress -ResourceGroupName $Rg -Name $Pip
#Getting VM status
Get-AzureRmVM -Status
# Getting Detailed Information
Get-AzureRmVM -Name osgroup -ResourceGroupName Osgroup -DisplayHint Expand -Status
# Stopping Virtual Machine
Stop-AzureRmVM -Name $VmName -ResourceGroupName $Rg -Confirm -Force




Description:
 We login to Azure portal using Login-AzureRmAccount,we are prompted for the credentials
 We Define Variables We also Set $Cred to Store the Credentials for VM


 Now Getting the Existing VNETS/NSG/NIC/PUBLICIP


$VirtualNetwork=Get-AzureRmVirtualNetwork -ResourceGroupName $Rg -Name $Vnet
$VirtualNetwork
$NetworkSecurityGroup=Get-AzureRmNetworkSecurityGroup -ResourceGroupName $Rg -Name $Nsg
$NetworkSecurityGroup
$NetwokInterfaceCard=Get-AzureRmNetworkInterface -ResourceGroupName $Rg -Name $Nic
$NetwokInterfaceCard
$PublicIp=Get-AzureRmPublicIpAddress -ResourceGroupName $Rg -Name $Pip
$PublicIp



NSG:


NIC:

Public IP

We Setup the Variables Depending upon the Output we get 


Get-AzureRmVMSize -Location $Location




Get-AzureRmVMImagePublisher -Location $Location | select PublisherName




Get-AzureRMVMImageOffer -Location $Location -PublisherName $LinuxPublisher





Get-AzureRmVMImageSku -PublisherName $LinuxPublisher -Location $Location -Offer $LinuxOffer


And then Finally We See the Status of VM



Get-AzureRmVM -Status


Connect to VM and Check if User has been created mentioned in Vm Extension


   THANK YOU !!! PLEASE DROP FEEDBACK/QUESTION I WILL BE MORE THAN HAPPY LOOK INTO QUESTION AND TRY MY BEST TO GET THE SOLUTION




No comments:

Powered by Blogger.