From fa3dfe9fdd654cd49761ad32dd78ce79b4f78749 Mon Sep 17 00:00:00 2001 From: Ganga Mahesh Siddem Date: Mon, 25 Jan 2021 15:54:42 -0800 Subject: [PATCH 1/6] arm templates for arc k8s extension --- .../existingClusterOnboarding.json | 118 ++++++++++++++++++ .../existingClusterParam.json | 21 ++++ 2 files changed, 139 insertions(+) create mode 100644 scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json create mode 100644 scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json diff --git a/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json b/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json new file mode 100644 index 000000000..ce25533c7 --- /dev/null +++ b/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json @@ -0,0 +1,118 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "clusterResourceId": { + "type": "string", + "metadata": { + "description": "Resource Id of the Azure Arc Connected Cluster" + } + }, + "clusterRegion": { + "type": "string", + "metadata": { + "description": "Location of the Azure Arc Connected Cluster Resource e.g. \"eastus\"" + } + }, + "workspaceResourceId": { + "type": "string", + "metadata": { + "description": "Azure Monitor Log Analytics Resource ID" + } + }, + "workspaceRegion": { + "type": "string", + "metadata": { + "description": "Azure Monitor Log Analytics Workspace region e.g. \"eastus\"" + } + }, + "workspaceDomain": { + "type": "string", + "metadata": { + "description": "Azure Monitor Log Analytics Workspace Domain e.g. opinsights.azure.com" + } + } + }, + "resources": [ + { + "type": "Microsoft.Resources/deployments", + "name": "[Concat('ContainerInsights', '-', uniqueString(parameters('workspaceResourceId')))]", + "apiVersion": "2017-05-10", + "subscriptionId": "[split(parameters('workspaceResourceId'),'/')[2]]", + "resourceGroup": "[split(parameters('workspaceResourceId'),'/')[4]]", + "properties": { + "mode": "Incremental", + "template": { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": {}, + "variables": {}, + "resources": [ + { + "apiVersion": "2015-11-01-preview", + "type": "Microsoft.OperationsManagement/solutions", + "location": "[parameters('workspaceRegion')]", + "name": "[Concat('ContainerInsights', '(', split(parameters('workspaceResourceId'),'/')[8], ')')]", + "properties": { + "workspaceResourceId": "[parameters('workspaceResourceId')]" + }, + "plan": { + "name": "[Concat('ContainerInsights', '(', split(parameters('workspaceResourceId'),'/')[8], ')')]", + "product": "[Concat('OMSGallery/', 'ContainerInsights')]", + "promotionCode": "", + "publisher": "Microsoft" + } + } + ] + }, + "parameters": {} + } + }, + { + "type": "Microsoft.Resources/deployments", + "name": "[Concat('arc-k8s-ci-extension', '-', uniqueString(parameters('clusterResourceId')))]", + "apiVersion": "2019-05-01", + "subscriptionId": "[split(parameters('clusterResourceId'),'/')[2]]", + "resourceGroup": "[split(parameters('clusterResourceId'),'/')[4]]", + "dependsOn": [ + "[Concat('ContainerInsights', '-', uniqueString(parameters('workspaceResourceId')))]" + ], + "properties": { + "mode": "Incremental", + "template": { + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": {}, + "variables": {}, + "resources": [ + { + "type": "Microsoft.KubernetesConfiguration/extensions", + "apiVersion": "2020-07-01-preview", + "name": "azuremonitor-containers", + "location": "[parameters('clusterRegion')]", + "properties": { + "extensionType": "azuremonitor-containers", + "configurationSettings": { + "logAnalyticsWorkspaceResourceID": "[parameters('workspaceResourceId')]", + "omsagent.domain": "[parameters('workspaceDomain')]" + }, + "configurationProtectedSettings": { + "omsagent.secret.wsid": "[reference(parameters('workspaceResourceId'), '2015-03-20').customerId]", + "omsagent.secret.key": "[listKeys(parameters('workspaceResourceId'), '2015-03-20').primarySharedKey]" + }, + "autoUpgradeMinorVersion": true, + "releaseTrain": "Stable", + "scope": { + "Cluster": { + "releaseNamespace": "azuremonitor-containers" + } + } + }, + "scope": "[concat('Microsoft.Kubernetes/connectedClusters/', split(parameters('clusterResourceId'),'/')[8])]" + } + ] + } + } + } + ] +} \ No newline at end of file diff --git a/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json b/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json new file mode 100644 index 000000000..4bb5fdc80 --- /dev/null +++ b/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "clusterResourceId": { + "value": "/subscriptions//resourceGroups//providers/Microsoft.Kubernetes/connectedClusters/" + }, + "clusterRegion": { + "value": "" + }, + "workspaceResourceId": { + "value": "/subscriptions//resourcegroups//providers/microsoft.operationalinsights/workspaces/" + }, + "workspaceRegion": { + "value": "" + }, + "workspaceDomain": { + "value": "" + } + } +} \ No newline at end of file From 7df2b5eae303ce5b2474fb12ff7a59a3519dcab3 Mon Sep 17 00:00:00 2001 From: Ganga Mahesh Siddem Date: Mon, 25 Jan 2021 16:18:27 -0800 Subject: [PATCH 2/6] update to use official extension type name --- .../templates/arc-k8s-extension/existingClusterOnboarding.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json b/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json index ce25533c7..2766c7c28 100644 --- a/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json +++ b/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json @@ -91,7 +91,7 @@ "name": "azuremonitor-containers", "location": "[parameters('clusterRegion')]", "properties": { - "extensionType": "azuremonitor-containers", + "extensionType": "Microsoft.AzureMonitor.Containers", "configurationSettings": { "logAnalyticsWorkspaceResourceID": "[parameters('workspaceResourceId')]", "omsagent.domain": "[parameters('workspaceDomain')]" From 2ad3092ba98e09af9b376f3eab51949aca3107f6 Mon Sep 17 00:00:00 2001 From: Ganga Mahesh Siddem Date: Mon, 25 Jan 2021 16:21:11 -0800 Subject: [PATCH 3/6] update --- .../templates/arc-k8s-extension/existingClusterOnboarding.json | 2 +- .../templates/arc-k8s-extension/existingClusterParam.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json b/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json index 2766c7c28..341defd1a 100644 --- a/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json +++ b/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json @@ -115,4 +115,4 @@ } } ] -} \ No newline at end of file +} diff --git a/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json b/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json index 4bb5fdc80..6829d3d05 100644 --- a/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json +++ b/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json @@ -18,4 +18,4 @@ "value": "" } } -} \ No newline at end of file +} From 14b08fb98a28a80c700bee2ead51b18bc64a1ac1 Mon Sep 17 00:00:00 2001 From: Ganga Mahesh Siddem Date: Tue, 26 Jan 2021 08:12:21 -0800 Subject: [PATCH 4/6] add identity property --- .../templates/arc-k8s-extension/existingClusterOnboarding.json | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json b/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json index 341defd1a..0aafde9f9 100644 --- a/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json +++ b/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json @@ -90,6 +90,7 @@ "apiVersion": "2020-07-01-preview", "name": "azuremonitor-containers", "location": "[parameters('clusterRegion')]", + "identity": {"type": "systemassigned"}, "properties": { "extensionType": "Microsoft.AzureMonitor.Containers", "configurationSettings": { From 7af3c7d119f8cd9941d6ac2b3c581a1af1f998fa Mon Sep 17 00:00:00 2001 From: Ganga Mahesh Siddem Date: Wed, 27 Jan 2021 09:15:24 -0800 Subject: [PATCH 5/6] add proxyendpointurl parameter --- .../existingClusterOnboarding.json | 13 +++++++++++-- .../arc-k8s-extension/existingClusterParam.json | 3 +++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json b/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json index 0aafde9f9..d2e069a94 100644 --- a/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json +++ b/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json @@ -14,6 +14,13 @@ "description": "Location of the Azure Arc Connected Cluster Resource e.g. \"eastus\"" } }, + "proxyEndpointUrl": { + "type": "string", + "defaultValue": "", + "metadata": { + "description": "If the cluster behind forward proxy, then Proxy Endpoint URL should be specified in this format http(s)://:@:" + } + }, "workspaceResourceId": { "type": "string", "metadata": { @@ -27,7 +34,8 @@ } }, "workspaceDomain": { - "type": "string", + "type": "string", + "defaultValue": "opinsights.azure.com", "metadata": { "description": "Azure Monitor Log Analytics Workspace Domain e.g. opinsights.azure.com" } @@ -99,7 +107,8 @@ }, "configurationProtectedSettings": { "omsagent.secret.wsid": "[reference(parameters('workspaceResourceId'), '2015-03-20').customerId]", - "omsagent.secret.key": "[listKeys(parameters('workspaceResourceId'), '2015-03-20').primarySharedKey]" + "omsagent.secret.key": "[listKeys(parameters('workspaceResourceId'), '2015-03-20').primarySharedKey]", + "omsagent.proxy": "[parameters('proxyEndPointUrl')]" }, "autoUpgradeMinorVersion": true, "releaseTrain": "Stable", diff --git a/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json b/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json index 6829d3d05..a0211fcdb 100644 --- a/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json +++ b/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json @@ -8,6 +8,9 @@ "clusterRegion": { "value": "" }, + "proxyEndpointUrl": { + "value": "" + }, "workspaceResourceId": { "value": "/subscriptions//resourcegroups//providers/microsoft.operationalinsights/workspaces/" }, From 236afddd532b4716573b5a39910b774e60d1cf00 Mon Sep 17 00:00:00 2001 From: Ganga Mahesh Siddem Date: Wed, 27 Jan 2021 11:34:54 -0800 Subject: [PATCH 6/6] add default values --- .../existingClusterOnboarding.json | 17 ++++++++++++----- .../arc-k8s-extension/existingClusterParam.json | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json b/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json index d2e069a94..8ebef232a 100644 --- a/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json +++ b/scripts/onboarding/templates/arc-k8s-extension/existingClusterOnboarding.json @@ -15,10 +15,10 @@ } }, "proxyEndpointUrl": { - "type": "string", + "type": "string", "defaultValue": "", "metadata": { - "description": "If the cluster behind forward proxy, then Proxy Endpoint URL should be specified in this format http(s)://:@:" + "description": "If the cluster behind forward proxy, then specify Proxy Endpoint URL in this format: http(s)://:@:" } }, "workspaceResourceId": { @@ -34,7 +34,14 @@ } }, "workspaceDomain": { - "type": "string", + "type": "string", + "allowedValues": [ + "opinsights.azure.com", + "opinsights.azure.cn", + "opinsights.azure.us", + "opinsights.azure.eaglex.ic.gov", + "opinsights.azure.microsoft.scloud" + ], "defaultValue": "opinsights.azure.com", "metadata": { "description": "Azure Monitor Log Analytics Workspace Domain e.g. opinsights.azure.com" @@ -107,8 +114,8 @@ }, "configurationProtectedSettings": { "omsagent.secret.wsid": "[reference(parameters('workspaceResourceId'), '2015-03-20').customerId]", - "omsagent.secret.key": "[listKeys(parameters('workspaceResourceId'), '2015-03-20').primarySharedKey]", - "omsagent.proxy": "[parameters('proxyEndPointUrl')]" + "omsagent.secret.key": "[listKeys(parameters('workspaceResourceId'), '2015-03-20').primarySharedKey]" , + "omsagent.proxy": "[if(equals(parameters('proxyEndpointUrl'), ''), '', parameters('proxyEndpointUrl'))]" }, "autoUpgradeMinorVersion": true, "releaseTrain": "Stable", diff --git a/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json b/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json index a0211fcdb..b74b5ac95 100644 --- a/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json +++ b/scripts/onboarding/templates/arc-k8s-extension/existingClusterParam.json @@ -9,7 +9,7 @@ "value": "" }, "proxyEndpointUrl": { - "value": "" + "value": "" }, "workspaceResourceId": { "value": "/subscriptions//resourcegroups//providers/microsoft.operationalinsights/workspaces/"