InfoScale™ 9.0 Cluster Server Bundled Agents Reference Guide - Windows
- Introducing VCS bundled agents
- Storage agents
- Network agents
- FileShare agents
- Services and applications agents
- VCS infrastructure and support agents
- VCS hardware replication agent for NetApp
- Troubleshooting bundled agents
AzureIP agent
The AzureIP agent manages the following networking resources in an Azure environment:
Private IP - A private IP is a private numerical address that networked devices use to communicate with one another. It is used for communication between an Azure virtual network (VNet) and an on-premises network. To extend an on-premises network to Azure, you use a VPN gateway or an ExpressRoute circuit.
Public IP - A public IP is a numerical address that is used for communication over the internet, including Azure public-facing services.
Overlay IP - An overlay IP provides IP failover functionality for the nodes that are spread across subnets. It lets you redirect IP address traffic to another cluster node belonging to different subnet within the same VNet. An overlay IP must be defined outside the VNet Classless Inter-Domain Routing (CIDR) block.
Note:
An overlay IP cannot be used to provide failover across Regions if VNet-to-VNet tunneling is used.
The AzureIP agent performs the following activities:
Gets the NIC details, creates the IP configuration, and associates and disassociates the private IP address.
Associates and disassociates the Public IP address with the Private IP address.
Manages the route table entries of the Overlay IP for failover across subnets.
The AzureIP agent uses Azure Python APIs to associate IP resources with an Azure VM.
An InfoScale deployment in Azure does not support IPv6 because of the following limitations:
Existing virtual machines (VMs) that are configured with IPv4 addresses cannot use IPv6 addresses; you must deploy new VMs and configure them with IPv6 addresses.
Public IPv6 addresses cannot be assigned to a VM.
VMs with IPv6 addresses cannot be members of an Azure cloud service. However, they can communicate with each other over their respective IPv4 addresses.
Configure the AzureAuth agent.
See AzureAuth agent.
Configure an authentication method for authenticating Azure subscription:
To use the AzureAuth agent for a service principal-based authentication, configure the AzureAuth agent.
See AzureAuth agent.
To use an Azure managed identity-based authentication, configure a user-assigned managed identity in the cluster.
To configure a public IP, create a static public IP resource in the Azure portal.
To configure an overlay IP, create a route table, and associate the subnets where the overlay IP fails over with the route table.
Note:
The subnets can be associated with a single route table.
The AzureIP resources depend on the AzureAuth resources.
If an Azure managed identity is configured for authenticating Azure subscription, the AzureIP resources do not depend on the AzureAuth resource.
If the AzureAuth agent is configured for a service principal-based authentication, the AzureIP resources depend on the AzureAuth resources.
Online |
|
|
|
Monitor |
|
ONLINE |
|
OFFLINE |
|
UNKNOWN | One of the following might be true:
|
FAULTED | Indicates that the IP resources cannot be brought online or abruptly stopped outside of VCS control. |
Table: Required attributes
Attribute | Description |
---|---|
PrivateIP | Secondary private IP address of the Azure VM. This value is mandatory if OverlayIP is not provided. Type and dimension: string-scalar |
MACAddress | The physical address of the network interface to which the virtual IP address to be monitored is assigned. Note that this attribute is always local, that is, it is different for each system. Use the ipconfig -all command to retrieve the physical address of a NIC. Example: 00-60-08-08-BA-C4 Type and Dimension: string-scalar |
OverlayIP | Overlay IP provides IP failover functionality for the nodes that are spread across subnets. Overlay IP must be outside of the VNet CIDR block in which the nodes are present. This value is mandatory if PrivateIP is not provided. Type and dimension: string-scalar |
RouteTableResourceIds | Describes all route tables. You can add one or more route table IDs separated by a space. This attribute is required if the OverlayIP attribute is configured for the resource. Type and dimension: string-vector |
AzureAuthResName | Name of the authentication agent resource that handles Azure related authentication. This attribute is required only if the AzureAuth agent is configured for using a service principal-based authentication for Azure subscription. This attribute is not required if using managed identities for Azure authentication. Note: If both AzureAuth agent and user-assigned managed identity are configured in the cluster, the AzureAuth agent configuration takes precedence. The cluster defaults to using the AzureAuth service principal-based Azure authentication. Type and dimension: string-scalar |
ManagedIdentityClientID | ID of the user-assigned managed identity that is obtained from the Azure portal. This attribute is required only if using managed identity-based authentication for Azure subscription. This attribute is not required if the AzureAuth agent is configured for using a service principal for Azure authentication. Note: If both AzureAuth agent and user-assigned managed identity are configured in the cluster, the AzureAuth agent configuration takes precedence. The cluster defaults to using the AzureAuth service principal-based Azure authentication. Type and dimension: string-scalar |
Table: Optional attributes
Attribute | Description |
---|---|
PublicIP | Static public IP created from the Azure Portal. This IP is used in IP configuration to map the Public IP address to a secondary private IP address. Type and dimension: string-scalar |
AzureVMName | Name of the VM in Azure on which agent is running. Type and dimension: string-scalar |
VMResourceGroup | Azure resource group where the Azure VM resides. Type and dimension: string-scalar |
type AzureIP ( static i18nstr ArgList[] = { tempVMName, PrivateIP, MACAddress, PublicIP, tempPublicIPResourceId, AzureVMName, VMResourceGroup, OverlayIP, RouteTableResourceIds, "AzureAuthResName:SubscriptionId", "AzureAuthResName:ClientId", "AzureAuthResName:SecretKey", "AzureAuthResName:TenantId", tempVMResourceGroupName } str PrivateIP str MACAddress str PublicIP temp str tempPublicIPResourceId str AzureVMName str VMResourceGroup str OverlayIP str RouteTableResourceIds[] str AzureAuthResName temp str tempVMName temp str tempVMResourceGroupName )
type AzureIP ( static int FaultOnMonitorTimeouts = 0 static i18str ArgList[] = { tempVMName, PrivateIP, MACAddress, PublicIP, tempPublicIPResourceId, AzureVMName, VMResourceGroup, OverlayIP, RouteTableResourceIds, "AzureAuthResName:SubscriptionId", "AzureAuthResName:ClientId", "AzureAuthResName:SecretKey", "AzureAuthResName:TenantId", tempVMResourceGroupName, ManagedIdentityClientID, tempSubscriptionId } str PrivateIP str MACAddress str PublicIP temp str tempPublicIPResourceId str AzureVMName str VMResourceGroup str OverlayIP str RouteTableResourceIds[] str AzureAuthResName temp str tempVMName temp str tempVMResourceGroupName str ManagedIdentityClientID temp str tempSubscriptionId )
Sample configuration with Private IP:
AzureIP azure-ip-res ( PrivateIP = "10.1.5.42" MACAddress @cloudvm1 = 00-0D-3A-91-09-87 MACAddress @cloudvm2 = 12-0D-3B-87-19-67 AzureAuthResName = Auth_Res )
Sample configuration with Public IP:
AzureIP azure-ip-res ( PrivateIP = "10.1.5.52" MACAddress @cloudvm1 = 00-0D-3A-91-09-87 MACAddress @cloudvm2 = 12-0D-3B-87-19-67 PublicIP = "52.173.243.126" AzureAuthResName = Auth_Res )
Sample configuration with Overlay IP:
AzureIP overlay-ip-res ( MACAddress @cloudvm1 = 00-0D-3A-91-09-87 MACAddress @cloudvm2 = 12-0D-3B-87-19-67 OverlayIP = "192.168.3.88" RouteTableResourceIds = { "/subscriptions/6940a326-abc6-40dd-b616-d3f9bbdf1d63/ resourceGroups/azureRG/providers/Microsoft.Network/ routeTables/azureroute1", "/subscriptions/6940a326-abc6-40dd-b616-d3f9bbdf1d63/ resourceGroups/azureRG/providers/Microsoft.Network/ routeTables/azureroute2"} AzureAuthResName = Auth_Res )
Sample configuration with Private IP:
AzureIP azure-ip-res ( PrivateIP = "10.1.5.42" MACAddress @cloudvm1 = 00-0D-3A-91-09-87 MACAddress @cloudvm2 = 12-0D-3B-87-19-67 ManagedIdentityClientID = 1da89bd2-9735-4266-b920-27c23b98f022 )
Sample configuration with Public IP:
AzureIP azure-ip-res ( PrivateIP = "10.1.5.52" MACAddress @cloudvm1 = 00-0D-3A-91-09-87 MACAddress @cloudvm2 = 12-0D-3B-87-19-67 PublicIP = "52.173.243.126" ManagedIdentityClientID = 1da89bd2-9735-4266-b920-27c23b98f022 )
Sample configuration with Overlay IP:
AzureIP overlay-ip-res ( MACAddress @cloudvm1 = 00-0D-3A-91-09-87 MACAddress @cloudvm2 = 12-0D-3B-87-19-67 OverlayIP = "192.168.3.88" RouteTableResourceIds = {"/subscriptions/6940a326-abc6-40dd-b616- d3f9bbdf1d63/resourceGroups/azureRG/providers/Microsoft.Network/ routeTables/azureroute1", "/subscriptions/6940a326-abc6-40dd-b616-d3f9bbdf1d63/resourceGroups /azureRG/providers/Microsoft.Network/routeTables/azureroute2"} ManagedIdentityClientID = 1da89bd2-9735-4266-b920-27c23b98f022 )
The AzureIP agent uses the DBG_1 and the DBG_2 debug log levels.