Skip to content

Commit 5031d64

Browse files
committed
updates per gatekeppers
1 parent afe5ee7 commit 5031d64

9 files changed

+59
-45
lines changed

articles/azure-arc/kubernetes/TOC.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@
88
items:
99
- name: Cluster operations
1010
items:
11-
- name: Connect a cluster
12-
href: connect-a-cluster.md
11+
- name: Connect cluster
12+
href: connect-cluster.md
1313
- name: Use GitOps for connected clusters
14-
href: use-gitops-in-connected-cluster.md
14+
href: use-gitops-connected-cluster.md
1515
- name: Use GitOps with Helm
1616
href: use-gitops-with-helm.md
1717
- name: Azure Monitor for containers
@@ -20,5 +20,7 @@
2020
href: use-azure-policy.md
2121
- name: Deploy IoT workloads
2222
href: deploy-azure-iot-edge-workloads.md
23+
- name: Onboarding service principal
24+
href: create-onboarding-service-principal.md
2325
- name: Troubleshooting
2426
href: Troubleshooting.md

articles/azure-arc/kubernetes/connect-a-cluster.md renamed to articles/azure-arc/kubernetes/connect-cluster.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
---
2-
title: "Connect a Kubernetes cluster (Preview)"
2+
title: "Connect an Azure Arc-enabled Kubernetes cluster (Preview)"
33
services: azure-arc
44
ms.service: azure-arc
55
#ms.subservice: azure-arc-kubernetes coming soon
66
ms.date: 05/19/2020
77
ms.topic: article
88
author: mlearned
99
ms.author: mlearned
10-
description: "Connect a Kubernetes cluster with Azure Arc"
10+
description: "Connect an Azure Arc-enabled Kubernetes cluster with Azure Arc"
1111
keywords: "Kubernetes, Arc, Azure, K8s, containers"
1212
---
1313

14-
# Connect a Kubernetes cluster (Preview)
14+
# Connect an Azure Arc-enabled Kubernetes cluster (Preview)
1515

1616
Connect a Kubernetes cluster to Azure Arc.
1717

@@ -42,7 +42,7 @@ Azure Arc agents require the following protocols/ports/outbound URLs to function
4242
| 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 |
4343
| 3. | https://docker.io | Required to pull container images |
4444
| 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 |
4646
| 6. | https://azurearcfork8s.azurecr.io | Required to pull container images for Azure Arc agents |
4747

4848
## Register the two providers for Azure Arc enabled Kubernetes:
@@ -150,7 +150,7 @@ Helm release deployment succeeded
150150
List your connected clusters:
151151

152152
```console
153-
az connectedk8s list -g AzureArcTest -c AzureArcTest1 --cluster-type connectedClusters -o table
153+
az connectedk8s list -g AzureArcTest
154154
```
155155

156156
**Output:**
@@ -193,7 +193,7 @@ You can delete a `Microsoft.Kubernetes/connectedcluster` resource using the CLI
193193

194194
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.
195195

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.
197197

198198
To remove the agents in the cluster you need to run `az connectedk8s delete` or `helm uninstall azurearcfork8s`.
199199

articles/azure-arc/kubernetes/create-onboarding-spn.md renamed to articles/azure-arc/kubernetes/create-onboarding-service-principal.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
---
2-
title: "Create an onboarding Service Principal (Preview)"
2+
title: "Create an Azure Arc-enabled onboarding Service Principal (Preview)"
33
services: azure-arc
44
ms.service: azure-arc
55
#ms.subservice: azure-arc-kubernetes coming soon
66
ms.date: 05/19/2020
77
ms.topic: article
88
author: mlearned
99
ms.author: mlearned
10-
description: "Create an onboarding Service Principal "
10+
description: "Create an Azure Arc-enabled onboarding Service Principal "
1111
keywords: "Kubernetes, Arc, Azure, containers"
1212
---
1313

14-
# Create an onboarding Service Principal (Preview)
14+
# Create an Azure Arc-enabled onboarding Service Principal (Preview)
1515

1616
## Overview
1717

1818
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:
1919

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
2222

2323
Instead, let's create the Service Principal out of band, and then pass the principal to the CLI extension.
2424

articles/azure-arc/kubernetes/deploy-azure-iot-edge-workloads.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ Azure Arc and Azure IoT Edge complement each other's capabilities quite well. Az
2222

2323
## Pre-requisites
2424

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.
2626

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.
2828

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:
3030

3131
```
3232
$ kubectl create ns iotedge

articles/azure-arc/kubernetes/deploy-azure-monitor-for-containers.md

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ Onboard [Azure Monitor enabled containers](https://docs.microsoft.com/azure/azur
1717

1818
## Before you begin
1919

20-
- Kubernetes versions: https://docs.microsoft.com/azure/aks/supported-kubernetes-versions
21-
- 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)
20+
* Kubernetes versions: https://docs.microsoft.com/azure/aks/supported-kubernetes-versions
21+
* 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)
2828
- *.ods.opinsights.azure.com 443
2929
- *.oms.opinsights.azure.com 443
3030
- *.blob.core.windows.net 443
@@ -37,32 +37,37 @@ Onboard [Azure Monitor enabled containers](https://docs.microsoft.com/azure/azur
3737
### Option 1: Using PowerShell script
3838

3939
1. Download the Onboarding script
40+
4041
```console
4142
curl -LO https://raw.githubusercontent.com/microsoft/OMS-docker/ci_feature/docs/haiku/onboarding_azuremonitor_for_containers.ps1
4243
```
44+
4345
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.
4446

4547
3. Login to Azure
48+
4649
```console
4750
az login --use-device-code
4851
```
4952

5053
4. Execute below script with your cluster Azure Arc K8s Cluster ResourceId and context of the kubernetes cluster
54+
5155
```console
5256
.\onboarding_azuremonitor_for_containers.ps1 -azureArcClusterResourceId <resourcedIdOfAzureArcCluster> -kubeContext <kube-context>
5357

5458
For Example ..
5559
.\onboarding_azuremonitor_for_containers.ps1 -azureArcClusterResourceId /subscriptions/57ac26cf-a9f0-4908-b300-9a4e9a0fb205/resourceGroups/AzureArcTest/providers/Microsoft.Kubernetes/connectedClusters/AzureArcTest1 -kubeContext MyK8sTestCluster
56-
5760
```
61+
5862
### Option 2: Using Bash Script
5963

60-
> **Hint:** The script uses bash 4 features, so make sure your bash is up to date. You can check your current version with `bash --version`.
64+
> **Tip:** The script uses bash 4 features, so make sure your bash is up to date. You can check your current version with `bash --version`.
6165
6266
1. Download the Onboarding script
6367
```console
6468
curl -LO https://raw.githubusercontent.com/microsoft/OMS-docker/ci_feature/docs/haiku/onboarding_azuremonitor_for_containers.sh
6569
```
70+
6671
2. Execute below script with your cluster Azure Arc K8s Cluster ResourceId and context of the kubernetes cluster
6772
```console
6873
bash onboarding_azuremonitor_for_containers.sh <resourcedIdOfAzureArcCluster> <kube-context>
@@ -73,18 +78,22 @@ bash onboarding_azuremonitor_for_containers.sh /subscriptions/57ac26cf-a9f0-4908
7378
```
7479

7580
## Configure agent data collection
81+
7682
By default, the agent doesn't collect stdout and stderr logs of containers in kube-system namespace.
7783
Refer to https://docs.microsoft.com/azure/azure-monitor/insights/container-insights-agent-config to configure agent with desired data collection settings.
7884

7985
## Configure scraping of Prometheus metrics
86+
8087
Azure Monitor for containers scrapes the Prometheus metrics and ingest to the Azure Monitor backend.
8188
Refer to https://docs.microsoft.com/azure/azure-monitor/insights/container-insights-prometheus-integration for the instructions on how to configure Prometheus scraping.
8289

8390
## User interface
91+
8492
Navigate to https://aka.ms/azmon-containers-azurearc to view the Onboarded Cluster
8593

8694
## 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
8897

8998
```console
9099
helm del azmon-containers-release-1

articles/azure-arc/kubernetes/index.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ landingContent:
2929
url: ./overview.md
3030
- linkListType: how-to-guide
3131
links:
32-
- text: Connect a cluster
33-
url: ./connect-a-cluster.md
32+
- text: Connect cluster
33+
url: ./connect-cluster.md
3434
- text: Use GitOps in a connected cluster
35-
url: ./use-gitops-in-connected-cluster.md
35+
url: ./use-gitops-connected-cluster.md
3636
- text: Use GitOps with Helm
3737
url: ./use-gitops-with-helm.md
3838
- text: Use Azure monitor for containers
@@ -41,5 +41,7 @@ landingContent:
4141
url: ./use-azure-policy.md
4242
- text: Deploy Azure IoT edge workloads
4343
url: ./deploy-azure-iot-edge-workloads.md
44+
- text: Onboarding service principal
45+
url: ./create-onboarding-service-principal.md
4446

4547

articles/azure-arc/kubernetes/overview.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: "Overview"
2+
title: "Azure Arc-enabled Kubernetes overview"
33
services: azure-arc
44
ms.service: azure-arc
55
#ms.subservice: azure-arc-kubernetes coming soon
@@ -11,9 +11,9 @@ description: ""
1111
keywords: "Kubernetes, Arc, Azure, containers"
1212
---
1313

14-
# What is Azure Arc enabled Kubernetes (Preview)
14+
# What is Azure Arc-enabled Kubernetes (Preview)
1515

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.
1717

1818

1919
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.

articles/azure-arc/kubernetes/use-gitops-in-connected-cluster.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
---
2-
title: "Use GitOps for cluster configuration (Preview)"
2+
title: "Use GitOps for an Azure Arc-enabled cluster configuration (Preview)"
33
services: azure-arc
44
ms.service: azure-arc
55
#ms.subservice: azure-arc-kubernetes coming soon
66
ms.date: 05/19/2020
77
ms.topic: article
88
author: mlearned
99
ms.author: mlearned
10-
description: ""
10+
description: "Use GitOps for an Azure Arc-enabled cluster configuration (Preview)"
1111
keywords: "GitOps, Kubernetes, K8s, Azure, Arc, Azure Kubernetes Service, containers"
1212
---
1313

14-
# Use GitOps for cluster configuration (Preview)
14+
# Use GitOps for an Azure Arc-enabled configuration (Preview)
1515

1616
## Overview
1717

1818
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.
1919

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.
2121

2222
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.
2323

@@ -140,9 +140,10 @@ Options supported in --operator-params
140140
| 8. | --git-user | Username for git commit. |
141141
| 9. | --git-email | Email to use for git commit. |
142142

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:
144146

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:
146147
```console
147148
{"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"}
148149
```
@@ -187,7 +188,7 @@ Command group 'k8sconfiguration' is in preview. It may be changed/removed in a f
187188

188189
When the `sourceControlConfiguration` is created, a few things happen under the hood:
189190

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`)
191192
1. `config-agent` notices the new `Pending` configuration
192193
1. `config-agent` reads the configuration properties and prepares to deploy a managed instance of `flux`
193194
1. `config-agent` creates the destination namespace
@@ -206,7 +207,7 @@ While the provisioning process happens, the `sourceControlConfiguration` will mo
206207

207208
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.
208209

209-
**Get the public key using az cli**
210+
**Get the public key using Azure CLI**
210211

211212
```console
212213
$ az k8sconfiguration show --resource-group <resource group name> --cluster-name <connected cluster name> --name <configuration name> --query 'repositoryPublicKey'

0 commit comments

Comments
 (0)