36 lines
1.5 KiB
Bash
Executable File
36 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
# Query AKS private DNS zone and then link it to custom DNS VNet.
|
|
set -e
|
|
|
|
wait-for-node-resource-group() {
|
|
NODE_RESOURCE_GROUP=$(az aks show -g ${AKS_RESOURCE_GROUP} -n ${AKS_CLUSTER_NAME} -o json 2>/dev/null | jq -r '.nodeResourceGroup')
|
|
while [ "${NODE_RESOURCE_GROUP}" == "" ]; do
|
|
echo "Waiting for node resource group..."
|
|
sleep 5
|
|
NODE_RESOURCE_GROUP=$(az aks show -g ${AKS_RESOURCE_GROUP} -n ${AKS_CLUSTER_NAME} -o json 2>/dev/null | jq -r '.nodeResourceGroup')
|
|
done
|
|
}
|
|
|
|
wait-for-private-dns-zone() {
|
|
length=$(az network private-dns zone list -g ${NODE_RESOURCE_GROUP} -o json 2>/dev/null | jq '. | length')
|
|
while [[ $length -eq 0 ]]; do
|
|
echo "Waiting for private DNS zone..."
|
|
sleep 5
|
|
length=$(az network private-dns zone list -g ${NODE_RESOURCE_GROUP} -o json 2>/dev/null | jq '. | length')
|
|
done
|
|
}
|
|
|
|
wait-for-node-resource-group
|
|
NODE_RESOURCE_GROUP=$(az aks show -g ${AKS_RESOURCE_GROUP} -n ${AKS_CLUSTER_NAME} -o json 2>/dev/null | jq -r '.nodeResourceGroup')
|
|
wait-for-private-dns-zone
|
|
ZONE_NAME=$(az network private-dns zone list -g ${NODE_RESOURCE_GROUP} -o json | jq -r '.[0].name')
|
|
echo "Get the private DNS Zone ${ZONE_NAME}"
|
|
az network private-dns link vnet create -o json \
|
|
-g ${NODE_RESOURCE_GROUP} \
|
|
-n private-dns-link \
|
|
--registration-enabled false \
|
|
--zone-name ${ZONE_NAME} \
|
|
--virtual-network ${DNS_VNET}
|
|
|
|
echo "Private DNS Zone ${ZONE_NAME} has been linked to VNet ${DNS_VNET}."
|