Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update template parameters file name in ArcBox deployment documentation #345

Merged
merged 3 commits into from
Jul 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions docs/azure_jumpstart_arcbox/DataOps/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

## Overview

ArcBox for DataOps is a special "flavor" of ArcBox that is intended for users who want to experience Azure Arc-enabled SQL Managed Instance capabilities in a sandbox environment.

Check failure on line 11 in docs/azure_jumpstart_arcbox/DataOps/_index.md

View workflow job for this annotation

GitHub Actions / lint

[vale] reported by reviewdog 🐶 [Microsoft.Contractions] Use 'that's' instead of 'that is'. Raw Output: {"message": "[Microsoft.Contractions] Use 'that's' instead of 'that is'.", "location": {"path": "docs/azure_jumpstart_arcbox/DataOps/_index.md", "range": {"start": {"line": 11, "column": 52}}}, "severity": "ERROR"}

![Screenshot showing ArcBox architecture diagram](./arch_dataops.png)

Expand All @@ -27,9 +27,9 @@

ArcBox for DataOps deploys three Kubernetes clusters to give you multiple options for exploring Azure Arc-enabled Kubernetes capabilities and potential integrations.

- _**ArcBox-CAPI-Data-xxxx**_ - A single-node Rancher K3s cluster which is then transformed to a [Cluster API](https://cluster-api.sigs.k8s.io/user/concepts.html) management cluster using the Cluster API Provider for Azure (CAPZ), and a workload cluster (_ArcBox-CAPI-Data_) is deployed onto the management cluster. The workload cluster is onboarded as an Azure Arc-enabled Kubernetes resource. ArcBox automatically deploys an Azure Arc Data Controller, an Active Directory connector and an Azure Arc-enabled SQL Managed Instance on top of the connected cluster.

Check failure on line 30 in docs/azure_jumpstart_arcbox/DataOps/_index.md

View workflow job for this annotation

GitHub Actions / lint

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'onboarded'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'onboarded'?", "location": {"path": "docs/azure_jumpstart_arcbox/DataOps/_index.md", "range": {"start": {"line": 30, "column": 341}}}, "severity": "ERROR"}
- _**ArcBox-AKS-Data-xxxx**_ - An AKS cluster that is connected to Azure as an Azure Arc-enabled Kubernetes resource. ArcBox automatically deploys an Azure Arc Data Controller, an Active Directory connector and an Azure Arc-enabled SQL Managed Instance on top of the connected cluster.

Check failure on line 31 in docs/azure_jumpstart_arcbox/DataOps/_index.md

View workflow job for this annotation

GitHub Actions / lint

[vale] reported by reviewdog 🐶 [Microsoft.Contractions] Use 'that's' instead of 'that is'. Raw Output: {"message": "[Microsoft.Contractions] Use 'that's' instead of 'that is'.", "location": {"path": "docs/azure_jumpstart_arcbox/DataOps/_index.md", "range": {"start": {"line": 31, "column": 47}}}, "severity": "ERROR"}
- _**ArcBox-AKS-DR-Data-xxxx**_ - An AKS cluster that is deployed in a separate virtual network, designating a disaster recovery site. This cluster is then connected to Azure as an Azure Arc-enabled Kubernetes resource. ArcBox automatically deploys an Azure Arc Data Controller, an Active Directory connector and an Azure Arc-enabled SQL Managed Instance on top of the connected cluster. This cluster is then configured with _ArcBox-CAPI-Data-xxxx_ to be part of a distributed availability group for disaster recovery.

Check failure on line 32 in docs/azure_jumpstart_arcbox/DataOps/_index.md

View workflow job for this annotation

GitHub Actions / lint

[vale] reported by reviewdog 🐶 [Microsoft.Contractions] Use 'that's' instead of 'that is'. Raw Output: {"message": "[Microsoft.Contractions] Use 'that's' instead of 'that is'.", "location": {"path": "docs/azure_jumpstart_arcbox/DataOps/_index.md", "range": {"start": {"line": 32, "column": 50}}}, "severity": "ERROR"}

### Sample applications

Expand All @@ -37,13 +37,13 @@

The sample applications included in ArcBox are:

- **The Bookstore Application** - An MVC web application. ArcBox will deploy **one Kubernetes pod replica** of the _Bookstore_ application in the _arc_ namespace onto the _ArcBox-CAPI-Data-xxxx_ and the _ArcBox-AKS-DR-Data-xxxx_ clusters.

Check failure on line 40 in docs/azure_jumpstart_arcbox/DataOps/_index.md

View workflow job for this annotation

GitHub Actions / lint

[vale] reported by reviewdog 🐶 [Vale.Terms] Use 'Arc' instead of 'arc'. Raw Output: {"message": "[Vale.Terms] Use 'Arc' instead of 'arc'.", "location": {"path": "docs/azure_jumpstart_arcbox/DataOps/_index.md", "range": {"start": {"line": 40, "column": 148}}}, "severity": "ERROR"}

Check failure on line 40 in docs/azure_jumpstart_arcbox/DataOps/_index.md

View workflow job for this annotation

GitHub Actions / lint

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'namespace'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'namespace'?", "location": {"path": "docs/azure_jumpstart_arcbox/DataOps/_index.md", "range": {"start": {"line": 40, "column": 153}}}, "severity": "ERROR"}

- **DB Connection Application** - An MVC application. ArcBox will deploy **one Kubernetes pod replica** as part of the DB connection app and an Ingress controller to demonstrate the active connections to the different Azure Arc-enabled SQL Managed Instances replicas.

### Azure Monitor integration

ArcBox deploys metrics and logs upload to Azure Monitor for the deployed data services, in addition to the out-of-the-box Grafana and Kibana dashboards that get deployed as part of Arc-enabled Data services.

Check failure on line 46 in docs/azure_jumpstart_arcbox/DataOps/_index.md

View workflow job for this annotation

GitHub Actions / lint

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'Kibana'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'Kibana'?", "location": {"path": "docs/azure_jumpstart_arcbox/DataOps/_index.md", "range": {"start": {"line": 46, "column": 135}}}, "severity": "ERROR"}

### Hybrid Unified Operations

Expand All @@ -66,7 +66,7 @@
ArcBox uses an advanced automation flow to deploy and configure all necessary resources with minimal user interaction. The previous diagrams provide an overview of the deployment flow. A high-level summary of the deployment is:

- User deploys the primary ARM template (_azuredeploy.json_) or Bicep file (_main.bicep_). These objects contain several nested objects that will run simultaneously.
- Client virtual machine ARM template/plan - deploys a domain-joined Client Windows VM. This is a Windows Server VM that comes preconfigured with kubeconfig files to work with the three Kubernetes clusters, as well multiple tools such as VSCode, Azure Data Studio and SQL Server Management Studio to make working with ArcBox simple and easy.

Check failure on line 69 in docs/azure_jumpstart_arcbox/DataOps/_index.md

View workflow job for this annotation

GitHub Actions / lint

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'preconfigured'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'preconfigured'?", "location": {"path": "docs/azure_jumpstart_arcbox/DataOps/_index.md", "range": {"start": {"line": 69, "column": 130}}}, "severity": "ERROR"}

Check failure on line 69 in docs/azure_jumpstart_arcbox/DataOps/_index.md

View workflow job for this annotation

GitHub Actions / lint

[vale] reported by reviewdog 🐶 [Vale.Spelling] Did you really mean 'VSCode'? Raw Output: {"message": "[Vale.Spelling] Did you really mean 'VSCode'?", "location": {"path": "docs/azure_jumpstart_arcbox/DataOps/_index.md", "range": {"start": {"line": 69, "column": 241}}}, "severity": "ERROR"}
- Storage account template/plan - used for staging files in automation scripts.
- Management artifacts template/plan - deploys Azure Log Analytics workspace, its required Solutions, a domain controller and two virtual networks.
- User remotes into the Client Windows VM using domain credentials, which automatically kicks off multiple scripts that:
Expand Down Expand Up @@ -124,7 +124,7 @@
![Screenshot showing az vm list-skus with no restrictions](./list_skus_unrestricted.png)

![Screenshot showing az vm list-skus with restrictions](./list_skus.png)

- Register necessary Azure resource providers by running the following commands.

```shell
Expand Down Expand Up @@ -163,7 +163,7 @@
"tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
```

- (Option 2) Create service principal using PowerShell. If necessary, follow [this documentation](https://learn.microsoft.com/powershell/azure/install-az-ps?view=azps-8.3.0) to install Azure PowerShell modules.

```powershell
Expand Down Expand Up @@ -215,7 +215,7 @@
![Screenshot showing Azure portal deployment of ArcBox](./portal_deploy02.png)

![Screenshot showing Azure portal deployment of ArcBox](./portal_deploy03.png)

> **Note:** The deployment can take up to 45 minutes. If it keeps running for more than that, please check the [troubleshooting guide](#basic-troubleshooting).

## Deployment Option 2: ARM template with Azure CLI
Expand Down Expand Up @@ -246,13 +246,13 @@
az deployment group create \
--resource-group <Name of the Azure resource group> \
--template-file azuredeploy.json \
--parameters azuredeploy.parameters.json
--parameters azuredeploy.parameters.json
```

![Screenshot showing az group create](./az_group_create.png)

![Screenshot showing az deployment group create](./az_deploy.png)

> **Note:** The deployment can take up to 45 minutes. If it keeps running for more than that, please check the [troubleshooting guide](#basic-troubleshooting).

## Deployment Option 3: Azure Bicep deployment via Azure CLI
Expand All @@ -269,7 +269,7 @@
az bicep upgrade
```

- Edit the [main.parameters.json](https://github.com/microsoft/azure_arc/blob/main/azure_jumpstart_arcbox/bicep/main.parameters.json) template parameters file and supply some values for your environment.
- Edit the [main.bicepparam](https://github.com/microsoft/azure_arc/blob/main/azure_jumpstart_arcbox/bicep/main.bicepparam) template parameters file and supply some values for your environment.
- _`sshRSAPublicKey`_ - Your SSH public key
- _`spnClientId`_ - Your Azure service principal id
- _`spnClientSecret`_ - Your Azure service principal secret
Expand All @@ -287,7 +287,7 @@
```shell
az login
az group create --name "<resource-group-name>" --location "<preferred-location>"
az deployment group create -g "<resource-group-name>" -f "main.bicep" -p "main.parameters.json"
az deployment group create -g "<resource-group-name>" -f "main.bicep" -p "main.bicepparam" --parameters customLocationRPOID='xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
```

> **Note:** The deployment can take up to 45 minutes. If it keeps running for more than that, please check the [troubleshooting guide](#basic-troubleshooting).
Expand Down Expand Up @@ -344,7 +344,7 @@
![Screenshot showing connecting to the VM using RDP](./rdp_connect.png)

![Screenshot showing connecting to the VM using JIT](./jit_connect_rdp.png)

#### Client VM credentials

After configuring access to the Client VM, you have to connect using the UPN format whether you are connecting using RDP or Azure Bastion.
Expand Down Expand Up @@ -482,9 +482,9 @@
$pod=kubectl --namespace arc get pods --selector=app=dbconnecttest --output="jsonpath={.items..metadata.name}"
kubectl --namespace arc logs $pod -f
```

![Screenshot showing DB Connection App logs 01](./capi_bookstore10.png)

![Screenshot showing DB Connection App logs 02](./capi_bookstore11.png)

- To test failover between the replicas, we will simulate a "crash" that will trigger an HA event and will force one of the secondary replicas to get promoted to a primary replica. Open two side-by-side PowerShell sessions. On the left side session review the deployed pods. The right-side session will be used to follow the DB Connection App logs. Delete the Primary replica by running below commands.
Expand Down
Loading
Loading