Skip to content

Commit f2ba908

Browse files
authored
Merge pull request #203062 from MicrosoftDocs/release-arc-data
Publish test version release for July release
2 parents 09cecb6 + b231f05 commit f2ba908

File tree

6 files changed

+240
-139
lines changed

6 files changed

+240
-139
lines changed

articles/azure-arc/data/create-data-controller-using-kubernetes-native-tools.md

Lines changed: 40 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: Create a Data Controller using Kubernetes tools
3-
description: Create a Data Controller using Kubernetes tools
2+
title: Create a data controller using Kubernetes tools
3+
description: Create a data controller using Kubernetes tools
44
services: azure-arc
55
ms.service: azure-arc
66
ms.subservice: azure-arc-data
@@ -11,27 +11,28 @@ ms.date: 11/03/2021
1111
ms.topic: how-to
1212
---
1313

14-
# Create Azure Arc data controller using Kubernetes tools
14+
# Create Azure Arc-enabled data controller using Kubernetes tools
1515

16+
A data controller manages Azure Arc-enabled data services for a Kubernetes cluster. This article describes how to use Kubernetes tools to create a data controller.
1617

1718
## Prerequisites
1819

1920
Review the topic [Plan an Azure Arc-enabled data services deployment](plan-azure-arc-data-services.md) for overview information.
2021

21-
To create the Azure Arc data controller using Kubernetes tools you will need to have the Kubernetes tools installed. The examples in this article will use `kubectl`, but similar approaches could be used with other Kubernetes tools such as the Kubernetes dashboard, `oc`, or `helm` if you are familiar with those tools and Kubernetes yaml/json.
22+
To create the data controller using Kubernetes tools you will need to have the Kubernetes tools installed. The examples in this article will use `kubectl`, but similar approaches could be used with other Kubernetes tools such as the Kubernetes dashboard, `oc`, or `helm` if you are familiar with those tools and Kubernetes yaml/json.
2223

2324
[Install the kubectl tool](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
2425

2526
> [!NOTE]
26-
> Some of the steps to create the Azure Arc data controller that are indicated below require Kubernetes cluster administrator permissions. If you are not a Kubernetes cluster administrator, you will need to have the Kubernetes cluster administrator perform these steps on your behalf.
27+
> Some of the steps to create the data controller that are indicated below require Kubernetes cluster administrator permissions. If you are not a Kubernetes cluster administrator, you will need to have the Kubernetes cluster administrator perform these steps on your behalf.
2728
2829
### Cleanup from past installations
2930

30-
If you installed the Azure Arc data controller in the past on the same cluster and deleted the Azure Arc data controller, there may be some cluster level objects that would still need to be deleted.
31+
If you installed the data controller in the past on the same cluster and deleted the data controller, there may be some cluster level objects that would still need to be deleted.
3132

3233
For some of the tasks, you'll need to replace `{namespace}` with the value for your namespace. Substitute the name of the namespace the data controller was deployed in into `{namespace}`. If unsure, get the name of the `mutatingwebhookconfiguration` using `kubectl get clusterrolebinding`.
3334

34-
Run the following commands to delete the Azure Arc data controller cluster level objects:
35+
Run the following commands to delete the data controller cluster level objects:
3536

3637
```console
3738
# Cleanup azure arc data service artifacts
@@ -83,30 +84,15 @@ kubectl delete mutatingwebhookconfiguration arcdata.microsoft.com-webhook-{names
8384

8485
## Overview
8586

86-
Creating the Azure Arc data controller has the following high level steps:
87+
Creating the data controller has the following high level steps:
8788

88-
> [!IMPORTANT]
89-
> Some of the steps below require Kubernetes cluster administrator permissions.
90-
91-
1. Create the custom resource definitions for the Arc data controller, Azure SQL managed instance, and PostgreSQL Hyperscale.
92-
1. Create a namespace in which the data controller will be created.
89+
1. Create a namespace in which the data controller will be created.
90+
1. Create the deployer service account.
9391
1. Create the bootstrapper service including the replica set, service account, role, and role binding.
9492
1. Create a secret for the data controller administrator username and password.
95-
1. Create the webhook deployment job, cluster role and cluster role binding.
9693
1. Create the data controller.
9794

9895

99-
## Create the custom resource definitions
100-
101-
Run the following command to create the custom resource definitions.
102-
103-
> [!IMPORTANT]
104-
> Requires Kubernetes cluster administrator permissions.
105-
106-
```console
107-
kubectl create -f https://raw.githubusercontent.com/microsoft/azure_arc/main/arc_data_services/deploy/yaml/custom-resource-definitions.yaml
108-
```
109-
11096
## Create a namespace in which the data controller will be created
11197

11298
Run a command similar to the following to create a new, dedicated namespace in which the data controller will be created. In this example and the remainder of the examples in this article, a namespace name of `arc` will be used. If you choose to use a different name, then use the same name throughout.
@@ -121,45 +107,46 @@ openshift.io/sa.scc.supplemental-groups: 1000700001/10000
121107
openshift.io/sa.scc.uid-range: 1000700001/10000
122108
```
123109

124-
If other people will be using this namespace that are not cluster administrators, we recommend creating a namespace admin role and granting that role to those users through a role binding. The namespace admin should have full permissions on the namespace. More granular roles and example role bindings can be found on the [Azure Arc GitHub repository](https://github.com/microsoft/azure_arc/tree/main/arc_data_services/deploy/yaml/rbac).
110+
If other people who are not cluster administrators will be using this namespace, create a namespace admin role and grant that role to those users through a role binding. The namespace admin should have full permissions on the namespace. More granular roles and example role bindings can be found on the [Azure Arc GitHub repository](https://github.com/microsoft/azure_arc/tree/main/arc_data_services/deploy/yaml/rbac).
111+
112+
113+
## Create the deployer service account
114+
115+
> [!IMPORTANT]
116+
> Requires Kubernetes permissions for creating service account, role binding, cluster role, cluster role binding, and all the RBAC permissions being granted to the service account.
117+
118+
Save a copy of [arcdata-deployer.yaml](https://raw.githubusercontent.com/microsoft/azure_arc/release-arc-data/arc_data_services/arcdata-deployer.yaml), and replace the placeholder `{{NAMESPACE}}` in the file with the namespace created in the previous step, for example: `arc`. Run the following command to create the deployer service account with the edited file.
119+
120+
```console
121+
kubectl apply --namespace arc -f arcdata-deployer.yaml
122+
```
123+
125124

126125
## Create the bootstrapper service
127126

128-
The bootstrapper service handles incoming requests for creating, editing, and deleting custom resources such as a data controller, SQL managed instances, or PostgreSQL Hyperscale server groups.
127+
The bootstrapper service handles incoming requests for creating, editing, and deleting custom resources such as a data controller.
129128

130-
Run the following command to create a bootstrapper service, a service account for the bootstrapper service, and a role and role binding for the bootstrapper service account.
129+
Run the following command to create a "bootstrap" job to install the bootstrapper along with related cluster-scope and namespaced objects, such as custom resource definitions (CRDs), the service account and bootstrapper role.
131130

132131
```console
133-
kubectl create --namespace arc -f https://raw.githubusercontent.com/microsoft/azure_arc/main/arc_data_services/deploy/yaml/bootstrapper.yaml
132+
kubectl apply --namespace arc -f https://raw.githubusercontent.com/microsoft/azure_arc/release-arc-data/arc_data_services/deploy/yaml/bootstrap.yaml
134133
```
135134

136-
Verify that the bootstrapper pod is running using the following command. You may need to run it a few times until the status changes to `Running`.
135+
The [uninstall.yaml](https://raw.githubusercontent.com/microsoft/azure_arc/release-arc-data/arc_data_services/deploy/yaml/uninstall.yaml) is for uninstalling the bootstrapper and related Kubernetes objects, except the CRDs.
136+
137+
Verify that the bootstrapper pod is running using the following command.
137138

138139
```console
139-
kubectl get pod --namespace arc
140+
kubectl get pod --namespace arc -l app=bootstrapper
140141
```
141142

142-
The bootstrapper.yaml template file defaults to pulling the bootstrapper container image from the Microsoft Container Registry (MCR). If your environment does not have access directly to the Microsoft Container Registry, you can do the following:
143+
If the status is not _Running_, run the command a few times until the status is _Running_.
144+
145+
The bootstrap.yaml template file defaults to pulling the bootstrapper container image from the Microsoft Container Registry (MCR). If your environment can't directly access the Microsoft Container Registry, you can do the following:
143146
- Follow the steps to [pull the container images from the Microsoft Container Registry and push them to a private container registry](offline-deployment.md).
144-
- [Create an image pull secret](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-secret-by-providing-credentials-on-the-command-lin) for your private container registry.
145-
- Add an image pull secret to the bootstrapper container. See example below.
146-
- Change the image location for the bootstrapper image. See example below.
147-
148-
The example below assumes that you created a image pull secret name `arc-private-registry`.
149-
150-
```yaml
151-
#Just showing only the relevant part of the bootstrapper.yaml template file here
152-
spec:
153-
serviceAccountName: sa-bootstrapper
154-
nodeSelector:
155-
kubernetes.io/os: linux
156-
imagePullSecrets:
157-
- name: arc-private-registry #Create this image pull secret if you are using a private container registry
158-
containers:
159-
- name: bootstrapper
160-
image: mcr.microsoft.com/arcdata/arc-bootstrapper:v1.1.0_2021-11-02 #Change this registry location if you are using a private container registry.
161-
imagePullPolicy: Always
162-
```
147+
- [Create an image pull secret](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/#create-a-secret-by-providing-credentials-on-the-command-line) named `arc-private-registry` for your private container registry.
148+
- Change the image URL for the bootstrapper image in the bootstrap.yaml file.
149+
- Replace `arc-private-registry` in the bootstrap.yaml file if a different name was used for the image pull secret.
163150

164151
## Create secrets for the metrics and logs dashboards
165152

@@ -203,27 +190,12 @@ kubectl create --namespace arc -f C:\arc-data-services\controller-login-secret.y
203190

204191
Optionally, you can create SSL/TLS certificates for the logs and metrics dashboards. Follow the instructions at [Specify during Kubernetes native tools deployment](monitor-certificates.md).
205192

206-
## Create the webhook deployment job, cluster role and cluster role binding
207-
208-
First, create a copy of the [template file](https://raw.githubusercontent.com/microsoft/azure_arc/main/arc_data_services/deploy/yaml/web-hook.yaml) locally on your computer so that you can modify some of the settings.
209-
210-
Edit the file and replace `{{namespace}}` in all places with the name of the namespace you created in the previous step. **Save the file.**
211-
212-
Run the following command to create the cluster role and cluster role bindings.
213-
214-
> [!IMPORTANT]
215-
> Requires Kubernetes cluster administrator permissions.
216-
217-
```console
218-
kubectl create -n arc -f <path to the edited template file on your computer>
219-
```
220-
221193

222194
## Create the data controller
223195

224196
Now you are ready to create the data controller itself.
225197

226-
First, create a copy of the [template file](https://raw.githubusercontent.com/microsoft/azure_arc/main/arc_data_services/deploy/yaml/data-controller.yaml) locally on your computer so that you can modify some of the settings.
198+
First, create a copy of the [template file](https://raw.githubusercontent.com/microsoft/azure_arc/release-arc-data/arc_data_services/deploy/yaml/data-controller.yaml) locally on your computer so that you can modify some of the settings.
227199

228200
Edit the following as needed:
229201

@@ -248,7 +220,7 @@ Edit the following as needed:
248220
- **name**: The default name of the data controller is `arc`, but you can change it if you want.
249221
- **displayName**: Set this to the same value as the name attribute at the top of the file.
250222
- **registry**: The Microsoft Container Registry is the default. If you are pulling the images from the Microsoft Container Registry and [pushing them to a private container registry](offline-deployment.md), enter the IP address or DNS name of your registry here.
251-
- **dockerRegistry**: The image pull secret to use to pull the images from a private container registry if required.
223+
- **dockerRegistry**: The secret to use to pull the images from a private container registry if required.
252224
- **repository**: The default repository on the Microsoft Container Registry is `arcdata`. If you are using a private container registry, enter the path the folder/repository containing the Azure Arc-enabled data services container images.
253225
- **imageTag**: The current latest version tag is defaulted in the template, but you can change it if you want to use an older version.
254226
- **logsui-certificate-secret**: The name of the secret created on the Kubernetes cluster for the logs UI certificate.
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
author: MikeRayMSFT
3+
ms.service: azure-arc
4+
ms.topic: include
5+
ms.date: 06/28/2022
6+
ms.author: mikeray
7+
---
8+
9+
The current preview released on June 28, 2022.
10+
11+
This preview is a test release.
12+
13+
|Component|Value|
14+
|-----------|-----------|
15+
|Container images registry/repository |`mcr.microsoft.com/arcdata/test`|
16+
|Container images tag |`v1.9.0_2022-07-12`|
17+
|CRD names and version|`datacontrollers.arcdata.microsoft.com`: v1beta1, v1 through v6<br/>`exporttasks.tasks.arcdata.microsoft.com`: v1beta1, v1, v2<br/>`kafkas.arcdata.microsoft.com`: v1beta1<br/>`monitors.arcdata.microsoft.com`: v1beta1, v1, v2<br/>`sqlmanagedinstances.sql.arcdata.microsoft.com`: v1beta1, v1 through v6<br/>`postgresqls.arcdata.microsoft.com`: v1beta1, v1beta2<br/>`sqlmanagedinstancerestoretasks.tasks.sql.arcdata.microsoft.com`: v1beta1, v1<br/>`failovergroups.sql.arcdata.microsoft.com`: v1beta1, v1beta2, v1<br/>`activedirectoryconnectors.arcdata.microsoft.com`: v1beta1, v1beta2<br/>|
18+
|Azure Resource Manager (ARM) API version|2022-03-01-preview (No change)|
19+
|`arcdata` Azure CLI extension version|1.4.3 ([Download](https://aka.ms/az-cli-arcdata-ext))|
20+
|Arc enabled Kubernetes helm chart extension version|1.2.20031002|
21+
|Arc Data extension for Azure Data Studio|1.3.1 ([Download](https://aka.ms/ads-arcdata-ext))|
22+
23+
New for this release:
24+
25+
- Miscellaneous
26+
- Extended the disk metrics reported in monitoring dashboards to include more queue length stats and more counters for IOPS. All disks are in scope for data collection that start with `vd` or `sd` now.
27+
28+
- Arc-enabled SQL Managed Instance
29+
- Added buffer cache hit ratio to collectd and surface it in monitoring dashboards.
30+
- Improvements to the formatting of the legends on some dashboards.
31+
- Added process level CPU and memory metrics to the monitoring dashboards for the SQL managed instance process.
32+
- syncSecondaryToCommit property is now available to be viewed and edited in Azure portal and Azure Data Studio.
33+
- Added ability to set the DNS name for the readableSecondaries service in Azure CLI and Azure portal.
34+
35+
- Data controller
36+
- Permissions required to deploy the Arc data controller have been reduced to a least-privilege level.
37+
- When deployed via the Azure CLI, the Arc data controller is now installed via a K8s job that uses a helm chart to do the installation. There's no change to the user experience.
38+

articles/azure-arc/data/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ Currently, the following Azure Arc-enabled data services are available:
2424

2525
For an introduction to how Azure Arc-enabled data services supports your hybrid work environment, see this introductory video:
2626

27-
> [!VIDEO https://docs.microsoft.com/Shows//Inside-Azure-for-IT/Choose-the-right-data-solution-for-your-hybrid-environment/player?format=ny]
27+
> [!VIDEO https://docs.microsoft.com/Shows/Inside-Azure-for-IT/Choose-the-right-data-solution-for-your-hybrid-environment/player?format=ny]
2828
2929
## Always current
3030

0 commit comments

Comments
 (0)