You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# Connect an Azure Arc-enabled Kubernetes cluster (Preview)
15
15
16
16
Connect a Kubernetes cluster to Azure Arc.
17
17
@@ -42,7 +42,7 @@ Azure Arc agents require the following protocols/ports/outbound URLs to function
42
42
| 2. |https://eastus.dp.kubernetesconfiguration.azure.com, https://westeurope.dp.kubernetesconfiguration.azure.com| Data plane endpoint for the agent to push status and fetch configuration information |
43
43
| 3. |https://docker.io| Required to pull container images |
44
44
| 4. |https://github.com, git://github.com | Example GitOps repos are hosted on GitHub. Configuration agent requires connectivity to whichever git endpoint you specify. |
45
-
| 5. |https://login.microsoftonline.com| Required to fetch and update ARM tokens |
45
+
| 5. |https://login.microsoftonline.com| Required to fetch and update Azure Resource Manager tokens |
46
46
| 6. |https://azurearcfork8s.azurecr.io| Required to pull container images for Azure Arc agents |
47
47
48
48
## Register the two providers for Azure Arc enabled Kubernetes:
az connectedk8s list -g AzureArcTest -c AzureArcTest1 --cluster-type connectedClusters -o table
153
+
az connectedk8s list -g AzureArcTest
154
154
```
155
155
156
156
**Output:**
@@ -193,7 +193,7 @@ You can delete a `Microsoft.Kubernetes/connectedcluster` resource using the CLI
193
193
194
194
The Azure CLI command `az connectedk8s delete` removes the `Microsoft.Kubernetes/connectedCluster` resource in Azure. The Azure CLI deletes any associated `sourcecontrolconfiguration` resources in Azure. The Azure CLI uses helm uninstall to remove the agents in the cluster.
195
195
196
-
The Azure Portal deletes the `Microsoft.Kubernetes/connectedcluster` resource in Azure, and deletes any associated `sourcecontrolconfiguration` resources in Azure.
196
+
The Azure portal deletes the `Microsoft.Kubernetes/connectedcluster` resource in Azure, and deletes any associated `sourcecontrolconfiguration` resources in Azure.
197
197
198
198
To remove the agents in the cluster you need to run `az connectedk8s delete` or `helm uninstall azurearcfork8s`.
Copy file name to clipboardExpand all lines: articles/azure-arc/kubernetes/create-onboarding-service-principal.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,24 +1,24 @@
1
1
---
2
-
title: "Create an onboarding Service Principal (Preview)"
2
+
title: "Create an Azure Arc-enabled onboarding Service Principal (Preview)"
3
3
services: azure-arc
4
4
ms.service: azure-arc
5
5
#ms.subservice: azure-arc-kubernetes coming soon
6
6
ms.date: 05/19/2020
7
7
ms.topic: article
8
8
author: mlearned
9
9
ms.author: mlearned
10
-
description: "Create an onboarding Service Principal "
10
+
description: "Create an Azure Arc-enabled onboarding Service Principal "
11
11
keywords: "Kubernetes, Arc, Azure, containers"
12
12
---
13
13
14
-
# Create an onboarding Service Principal (Preview)
14
+
# Create an Azure Arc-enabled onboarding Service Principal (Preview)
15
15
16
16
## Overview
17
17
18
18
When a cluster is onboarded to Azure, the agents running in your cluster must authenticate to Azure Resource Manager as part of registration. The `connectedk8s` CLI extension has automated Service Principal creation. However, there may be a few scenarios where the CLI automation does not work:
19
19
20
-
1. Your organization generally restricts the creation of Service Principals
21
-
1. The user onboarding the cluster does not have sufficient permissions to create Service Principals
20
+
* Your organization generally restricts the creation of Service Principals
21
+
* The user onboarding the cluster does not have sufficient permissions to create Service Principals
22
22
23
23
Instead, let's create the Service Principal out of band, and then pass the principal to the CLI extension.
Copy file name to clipboardExpand all lines: articles/azure-arc/kubernetes/deploy-azure-iot-edge-workloads.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,11 +22,11 @@ Azure Arc and Azure IoT Edge complement each other's capabilities quite well. Az
22
22
23
23
## Pre-requisites
24
24
25
-
1.[Register an IoT Edge device](https://docs.microsoft.com/azure/iot-edge/quickstart-linux#register-an-iot-edge-device) and [deploy the simulated temperature sensor module](https://docs.microsoft.com/azure/iot-edge/quickstart-linux#deploy-a-module). Be sure to note the device's connection string.
25
+
*[Register an IoT Edge device](https://docs.microsoft.com/azure/iot-edge/quickstart-linux#register-an-iot-edge-device) and [deploy the simulated temperature sensor module](https://docs.microsoft.com/azure/iot-edge/quickstart-linux#deploy-a-module). Be sure to note the device's connection string.
26
26
27
-
1. We'll leverage[IoT Edge's support for Kubernetes](https://aka.ms/edgek8sdoc) to deploy it via Azure Arc's Flux operator.
27
+
* Use[IoT Edge's support for Kubernetes](https://aka.ms/edgek8sdoc) to deploy it via Azure Arc's Flux operator.
28
28
29
-
1. Download the [**values.yaml**](https://github.com/Azure/iotedge/blob/master/kubernetes/charts/edge-kubernetes/values.yaml) file for IoT Edge Helm chart and replace the **deviceConnectionString** placeholder at the end of the file with the one noted in Step 1. You can set any other supported chart installation options as required. Create a namespace for the IoT Edge workload and create add a secret in it:
29
+
* Download the [**values.yaml**](https://github.com/Azure/iotedge/blob/master/kubernetes/charts/edge-kubernetes/values.yaml) file for IoT Edge Helm chart and replace the **deviceConnectionString** placeholder at the end of the file with the one noted in Step 1. You can set any other supported chart installation options as required. Create a namespace for the IoT Edge workload and create add a secret in it:
- Linux distros for the cluster (master & worker) nodes – Ubuntu (18.04 LTS and 16.04 LTS)
22
-
- Minimum Contributor RBAC role permission on the Azure subscription of the Azure Arc enabled Kubernetes cluster
23
-
- Fully Qualified Azure Resource Id of the Azure Arc enabled Kubernetes cluster
24
-
- Kubeconfig context of the Kubernetes cluster
25
-
- Monitoring agent requires cAdvisor on the Kubelet is running on either secure port: 10250 or unsecure port: 10255 on the all nodes to pull the perf metrics
26
-
> Note: Recommended to configure the Kubelet cAdvisor port to secure port:10250 if its not configured already.
27
-
- Monitoring Agent requires the following outbound ports and domains to send the monitoring data to the Azure Monitor backend (If blocked by proxy/firewall)
* Linux distros for the cluster (master & worker) nodes – Ubuntu (18.04 LTS and 16.04 LTS)
22
+
* Minimum Contributor RBAC role permission on the Azure subscription of the Azure Arc enabled Kubernetes cluster
23
+
* Fully Qualified Azure Resource ID of the Azure Arc enabled Kubernetes cluster
24
+
* Kubeconfig context of the Kubernetes cluster
25
+
* Monitoring agent requires cAdvisor on the Kubelet is running on either secure port: 10250 or unsecure port: 10255 on the all nodes to pull the perf metrics
26
+
* It is Recommended to configure the Kubelet cAdvisor port to secure port:10250.
27
+
* Monitoring Agent requires the following outbound ports and domains to send the monitoring data to the Azure Monitor backend (If blocked by proxy/firewall)
2. Install [PowerShell core](https://docs.microsoft.com/PowerShell/scripting/install/installing-PowerShell?view=PowerShell-6) on your dev machine to execute the PowerShell onboarding script.
44
46
45
47
3. Login to Azure
48
+
46
49
```console
47
50
az login --use-device-code
48
51
```
49
52
50
53
4. Execute below script with your cluster Azure Arc K8s Cluster ResourceId and context of the kubernetes cluster
By default, the agent doesn't collect stdout and stderr logs of containers in kube-system namespace.
77
83
Refer to https://docs.microsoft.com/azure/azure-monitor/insights/container-insights-agent-config to configure agent with desired data collection settings.
78
84
79
85
## Configure scraping of Prometheus metrics
86
+
80
87
Azure Monitor for containers scrapes the Prometheus metrics and ingest to the Azure Monitor backend.
81
88
Refer to https://docs.microsoft.com/azure/azure-monitor/insights/container-insights-prometheus-integration for the instructions on how to configure Prometheus scraping.
82
89
83
90
## User interface
91
+
84
92
Navigate to https://aka.ms/azmon-containers-azurearc to view the Onboarded Cluster
85
93
86
94
## Disable Monitoring
87
-
If you would like to disable monitoring due to some reason, you can just simply delete the azure monitor for containers HELM chart to stop collecting and ingesting monitoring data to Azure Monitor for containers backend
95
+
96
+
If you would like to disable monitoring due to some reason, you can just simply delete the Azure Monitor for containers HELM chart to stop collecting and ingesting monitoring data to Azure Monitor for containers backend
Copy file name to clipboardExpand all lines: articles/azure-arc/kubernetes/overview.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: "Overview"
2
+
title: "Azure Arc-enabled Kubernetes overview"
3
3
services: azure-arc
4
4
ms.service: azure-arc
5
5
#ms.subservice: azure-arc-kubernetes coming soon
@@ -11,9 +11,9 @@ description: ""
11
11
keywords: "Kubernetes, Arc, Azure, containers"
12
12
---
13
13
14
-
# What is Azure Arcenabled Kubernetes (Preview)
14
+
# What is Azure Arc-enabled Kubernetes (Preview)
15
15
16
-
You can attach and configure Kubernetes clusters inside or outside of Azure with Azure Arc enabled Kubernetes (Preview). When a Kubernetes cluster is attached to Azure Arc, it will appear in the Azure Portal, have an Azure Resource Manager Id, and a Managed Identity. Clusters are attached to standard Azure subscriptions, live in a resource group, and can receive tags just like any other Azure resource.
16
+
You can attach and configure Kubernetes clusters inside or outside of Azure with Azure Arc enabled Kubernetes (Preview). When a Kubernetes cluster is attached to Azure Arc, it will appear in the Azure Portal, have an Azure Resource Manager ID, and a Managed Identity. Clusters are attached to standard Azure subscriptions, live in a resource group, and can receive tags just like any other Azure resource.
17
17
18
18
19
19
Connecting a Kubernetes cluster to Azure requires a cluster administrator to deploy agents. These agents run in a Kubernetes namespace named `azure-arc` and are standard Kubernetes deployments. The agents are responsible for connectivity to Azure, collecting Azure Arc logs and metrics, and watching for configuration requests.
# Use GitOps for an Azure Arc-enabled configuration (Preview)
15
15
16
16
## Overview
17
17
18
18
This architecture uses a GitOps workflow to configure the cluster and deploy applications. The configuration is described declaratively in .yaml files and stored in Git. An agent watches the Git repo for changes and applies them. The same agent also periodically assures that the cluster state matches the state declared in the Git repo and returns the cluster to the desired state if any unmanaged changes have occurred.
19
19
20
-
The connection between your cluster and one or more Git repositories is tracked in Azure Resource Manager (ARM) as a `sourceControlConfiguration` extension resource. The `sourceControlConfiguration` resource properties represent where and how Kubernetes resources should flow from Git to your cluster. The `sourceControlConfiguration` data is stored encrypted at rest in a CosmosDb database to ensure data confidentiality.
20
+
The connection between your cluster and one or more Git repositories is tracked in Azure Resource Manager as a `sourceControlConfiguration` extension resource. The `sourceControlConfiguration` resource properties represent where and how Kubernetes resources should flow from Git to your cluster. The `sourceControlConfiguration` data is stored encrypted at rest in a CosmosDb database to ensure data confidentiality.
21
21
22
22
The Azure Arc enabled Kubernetes `config-agent` running in your cluster is responsible for watching for new or updated `sourceControlConfiguration` resources and orchestrates adding, updating, or removing the Git repo links automatically.
23
23
@@ -140,9 +140,10 @@ Options supported in --operator-params
140
140
| 8. | --git-user | Username for git commit. |
141
141
| 9. | --git-email | Email to use for git commit. |
142
142
143
-
Note: If '--git-user' or '--git-email' are not set (which means that you don't want Flux to write to the repo), then --git-readonly will automatically be set (if you have not already set it).
143
+
* If '--git-user' or '--git-email' are not set (which means that you don't want Flux to write to the repo), then --git-readonly will automatically be set (if you have not already set it).
144
+
145
+
* If enableHelmOperator is true, then operatorInstanceName + operatorNamespace strings cannot exceed 47 characters combined. If you fail to adhere to this limit then you will get this error:
144
146
145
-
Note: If enableHelmOperator is true, then operatorInstanceName + operatorNamespace strings cannot exceed 47 characters combined. If you fail to adhere to this limit then you will get this error:
146
147
```console
147
148
{"OperatorMessage":"Error: {failed to install chart from path [helm-operator] for release [<operatorInstanceName>-helm-<operatorNamespace>]: err [release name \"<operatorInstanceName>-helm-<operatorNamespace>\" exceeds max length of 53]} occurred while doing the operation : {Installing the operator} on the config","ClusterState":"Installing the operator"}
148
149
```
@@ -187,7 +188,7 @@ Command group 'k8sconfiguration' is in preview. It may be changed/removed in a f
187
188
188
189
When the `sourceControlConfiguration` is created, a few things happen under the hood:
189
190
190
-
1. The Azure Arc `config-agent` monitors Azure Resource Manager (ARM) for new or updated configurations (`Microsoft.KubernetesConfiguration/sourceControlConfiguration`)
191
+
1. The Azure Arc `config-agent` monitors Azure Resource Manager for new or updated configurations (`Microsoft.KubernetesConfiguration/sourceControlConfiguration`)
191
192
1.`config-agent` notices the new `Pending` configuration
192
193
1.`config-agent` reads the configuration properties and prepares to deploy a managed instance of `flux`
193
194
1.`config-agent` creates the destination namespace
@@ -206,7 +207,7 @@ While the provisioning process happens, the `sourceControlConfiguration` will mo
206
207
207
208
If you are using a private git repo, then you need to perform one more task to close the loop: you need to add the public key that was generated by `flux` as a **Deploy key** in the repo.
208
209
209
-
**Get the public key using az cli**
210
+
**Get the public key using Azure CLI**
210
211
211
212
```console
212
213
$ az k8sconfiguration show --resource-group <resource group name> --cluster-name <connected cluster name> --name <configuration name> --query 'repositoryPublicKey'
0 commit comments