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

Dd all in one avm #140

Closed
wants to merge 45 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
a4ac75b
Initial all-in-one bicep template
Aug 20, 2024
2673c08
Updated application deployment instructions
Aug 20, 2024
521ec7a
Added additional formatting and cleaned up workload deployment steps
Aug 21, 2024
d8db153
Update
Aug 27, 2024
ee3800a
Updates
Aug 27, 2024
07cfa58
Added DependsOn
Aug 27, 2024
5dd44f7
Custom UI - first
Aug 27, 2024
686b818
updates
Aug 27, 2024
f42b0b0
Basic UI complete
Aug 27, 2024
133ba6c
updates
Aug 27, 2024
b9729e3
ui update
Aug 27, 2024
7bcbbbc
updates
Aug 27, 2024
0479e02
Corrections
Aug 27, 2024
8266b3e
updates
Aug 27, 2024
8941f32
again
Aug 27, 2024
06f4a09
corrections
Aug 27, 2024
166f776
updates
Aug 27, 2024
a33a3ab
removed supporting name changes
Aug 27, 2024
fc4da83
updates
Aug 27, 2024
56969a6
Corrections
Aug 28, 2024
782c856
updates
Aug 28, 2024
bb6e45e
Default parameter value update
Aug 28, 2024
9b5015e
updates
Aug 28, 2024
c230f7f
testing
Aug 28, 2024
79f8f56
updates
Aug 28, 2024
59e291e
Hard coded ACR KV resource ID
Aug 28, 2024
a9ef32d
Added parameter for cluster name
Aug 30, 2024
f67f0a3
Spelling correction
Aug 30, 2024
d25a891
Clearer message on GUID field
Aug 30, 2024
f7b83b4
Added parameters for hub subnets
Sep 2, 2024
3274bcf
Added output parameters for hub subnets
Sep 2, 2024
ea5a47a
Moved firewallIP to hub tab
Sep 2, 2024
751760b
Form defaults corrected
Sep 2, 2024
02848c6
Typo fix
Sep 2, 2024
6e8d999
Re-enabled APPGW
Sep 2, 2024
eadfc80
Removed nondeterministic names
Sep 2, 2024
7486102
Removed unrequired DNS Servers
Sep 2, 2024
d3c2d19
Json update
Sep 2, 2024
ae5c7b1
Removed connected DNS zone.
Sep 2, 2024
f1bf93f
Updated Json
Sep 2, 2024
55f5b6a
Added APPGW config for store front
Sep 2, 2024
9c1c280
Added NGINX ingress rule for store-front
Sep 2, 2024
762720a
Testing instructions update
Sep 2, 2024
3a95f80
Instructions update
Sep 2, 2024
0f67d08
Private zone updates
Sep 2, 2024
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Deploy to Azure with an All in One Bicep Template

## Introduction
The individual markdown files in the [Bicep](../Bicep/) folder are a great way to learn the process of deploying a baseline private AKS cluster using Azure Verified Modules, especially if you want to deploy each of them manually from the command line.

However if you need to deploy multiple clusters, manual deployment can become rather tedious. A better option is to use the [Deploy to Azure](https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/deploy-to-azure-button) button which fully automates the process.

[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#view/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FAKS-Landing-Zone-Accelerator%2Fdd-all-in-one-avm%2FScenarios%2FAKS-Secure-Baseline-Private-AVM%2FAll-in-One-Bicep%2Fmain.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FAKS-Landing-Zone-Accelerator%2Fdd-all-in-one-avm%2FScenarios%2FAKS-Secure-Baseline-Private-AVM%2FAll-in-One-Bicep%2Fmain.portal.ui.json)

This button links to a single all-in-one template which is located in this same folder as the page you are reading.

> At time of writing, the Azure Portal cannot directly work with Bicep files which have been linked with the **Deploy to Azure** button. Therefore after every change to the file, a developer must run `bicep build main.bicep --outfile main.json` to transpile this into a traditional ARM json template. It is this latter file which the Azure Portal downloads and deploys.

Check warning on line 12 in Scenarios/AKS-Secure-Baseline-Private-AVM/All-in-One-Bicep/README.md

View workflow job for this annotation

GitHub Actions / MustPass

Unknown word (outfile)

## Running the deployment

### Step 1 - Create security group for the AKS Admins.

In [Prerequisites and Microsoft Entra ID](../Bicep/02-eid.md) there are two AAD Groups (Entra Groups) which are created using the Azure CLI. The GUIDs of these are then used during the AKS cluster creation to control admin access to the cluster.

> Despite creating two groups, only one is actually used during cluster creation.

A security group to control AKS access must be manually created before running the "Deploy to Azure" template. Choose either of the following two methods:

* [Create a new AAD security group](https://learn.microsoft.com/en-us/entra/fundamentals/how-to-manage-groups) called **AKS Admins** using the Azure Portal.

or

* From an Azure CLI command line, run `az ad group create --display-name "AKSAdmins" --mail-nickname "AKSAdmins"`.

In either case, make a note of the GUID associated with this new group as you will need to provide it whilst deploying the template.

> Don't forget to add your own user account as a member of the new group.

There is only a few steps required to deploy the template:

### Step 2 - Launch the template to create the infrastructure.

[![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#view/Microsoft_Azure_CreateUIDef/CustomDeploymentBlade/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FAKS-Landing-Zone-Accelerator%2Fdd-all-in-one-avm%2FScenarios%2FAKS-Secure-Baseline-Private-AVM%2FAll-in-One-Bicep%2Fmain.json/uiFormDefinitionUri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FAKS-Landing-Zone-Accelerator%2Fdd-all-in-one-avm%2FScenarios%2FAKS-Secure-Baseline-Private-AVM%2FAll-in-One-Bicep%2Fmain.portal.ui.json)

Right-click the blue button above and choose *Open link in new tab* to open the Azure Portal. This will download the template from GitHub and open a custom form from where you can edit several of the key default parameter values built into the template.

On the **AKS Cluster creation settings** tab, locate the empty field **AKS Admin Group GUID** and enter the GUID which you generated in step 1.

Now press the **Review + Create** button, followed by **Create** to start the deployment.

> You may use the button below to run the template with an auto-generated UI. This provides access to ALL the configurable settings in the template.
>
> [![Deploy to Azure](https://aka.ms/deploytoazurebutton)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2FAKS-Landing-Zone-Accelerator%2Fdd-all-in-one-avm%2FScenarios%2FAKS-Secure-Baseline-Private-AVM%2FAll-in-One-Bicep%2Fmain.json)

### Step 3 - Deploy the application to AKS.
The final stage of deployment is to [Deploy a Basic Workload using the AKS-Store-Demo Application](../Bicep/07-workload.md). As this requires running command line tools to build containers and deploy a configuration to AKS, it's rather difficult to do from Bicep, therefore [follow the manual steps to deployment the application](../Bicep/07-workload.md).
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"experimentalFeaturesEnabled": {
"extensibility": false
},
"analyzers": {
"core": {
"verbose": false,
"enabled": true,
"rules": {
"no-hardcoded-env-urls": {
"level": "warning",
"excludedhosts": [
"schema.management.azure.com",
"core.windows.net"
]
}
}
}
}
}
Loading
Loading