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

feat (templates): [cluster] migrate to bicep #302

Merged
merged 54 commits into from
Apr 28, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
beff191
initial cluster-stamp.bicep - add params and variables
ferantivero Apr 8, 2022
ecbe2c2
add mis
ferantivero Apr 8, 2022
e83242b
add akv
ferantivero Apr 8, 2022
ea0f77b
add akv secrets
ferantivero Apr 8, 2022
bc0cc72
add akv diagnostic settings
ferantivero Apr 8, 2022
6c50a2f
add role assignments
ferantivero Apr 8, 2022
bb69f33
add private dns and private endpoint for akv
ferantivero Apr 8, 2022
32f0cd1
add private dns and private endpoint for the in-cluster ingress
ferantivero Apr 8, 2022
f817372
add activity log alerts
ferantivero Apr 8, 2022
39f2b2a
add ws prometheus saved searches
ferantivero Apr 8, 2022
d196687
add solutions
ferantivero Apr 8, 2022
668029f
add failed pods scheduled query
ferantivero Apr 8, 2022
2fdba24
add policy assignments
ferantivero Apr 8, 2022
2ce9de0
fix user managed identity resource naming convention
ferantivero Apr 8, 2022
e54138c
add network contributor role assignments for cluster control plane id…
ferantivero Apr 8, 2022
8662f5e
add cluster
ferantivero Apr 8, 2022
1536a57
add network contributor role assignments for cluster kubelet identity…
ferantivero Apr 8, 2022
e90f92d
add acr pull role assignments for cluster kubelet identity
ferantivero Apr 8, 2022
af8cc7b
[aks extension] add flux
ferantivero Apr 8, 2022
e007905
add monitoring metrics role assignments for cluster omsagent identity
ferantivero Apr 19, 2022
c68b0df
add mc diagnostic settings
ferantivero Apr 19, 2022
a0ffae3
add event grid system topic
ferantivero Apr 19, 2022
157edb5
add st diagnostic settings
ferantivero Apr 19, 2022
9c2f101
add managed identity operator role assignments for cluster kubelet id…
ferantivero Apr 19, 2022
9351349
add cluster metrics alerts
ferantivero Apr 19, 2022
8f6e0f7
add mc role assignments for aad groups
ferantivero Apr 19, 2022
0f9bfd0
add appgw
ferantivero Apr 19, 2022
cc44594
add default values to props from resources
ferantivero Apr 20, 2022
de0dd6c
final touches
ferantivero Apr 19, 2022
eff5cb9
bug fix: remove default prop since ARM is telling this cant be set to…
ferantivero Apr 20, 2022
a1d83e8
add warning while usin gforks
ferantivero Apr 22, 2022
e3ef03f
revert public ntw access disabled for ri
ferantivero Apr 22, 2022
b2625ba
minor fix about known issue note
ferantivero Apr 22, 2022
3a9c88e
Revert "minor fix about known issue note"
ferantivero Apr 22, 2022
5f7b0b4
Address PR Feedback: add missing comments to resources
ferantivero Apr 26, 2022
fcf99a9
Address PR Feedback: add lost comments for akv
ferantivero Apr 26, 2022
7e2c4e5
Address PR Feedback: use native last method instead
ferantivero Apr 26, 2022
fdc2022
Address PR Feedback: use existing resources when possible, add region…
ferantivero Apr 26, 2022
1c205ac
Address PR Feedback: use secretUri instead of interpolation
ferantivero Apr 26, 2022
56efdde
Address PR Feedback: fix wrong dependency
ferantivero Apr 26, 2022
b5574ec
Address PR Feedback: add targetScope to modules
ferantivero Apr 26, 2022
e1bfd72
Revert "add warning while usin gforks"
ferantivero Apr 26, 2022
09b875b
Aaddress PR Request: make more unique the role assignment name
ferantivero Apr 26, 2022
d50def2
Address PR Request: add descs to params
ferantivero Apr 26, 2022
df56460
remove not required interpolation
ferantivero Apr 27, 2022
f7c59c2
keep it nested and use accessor
ferantivero Apr 27, 2022
22e2afa
Address PR Feedback: replace // by @description() as that gives a bet…
ferantivero Apr 27, 2022
13df09a
Address PR Feedback: min/max lenghts are applicable in our example
ferantivero Apr 27, 2022
e1c9e67
use cluster resource props instead of reference to get the identity
ferantivero Apr 27, 2022
6610084
role assign rbac k8s usgin a new ARM json module
ferantivero Apr 27, 2022
c5f614c
Revert "role assign rbac k8s usgin a new ARM json module"
ferantivero Apr 27, 2022
a4d3e7f
reference namespaces from bicep and use this in roleassignments
ferantivero Apr 28, 2022
dad6fe3
Revert "Address PR Feedback: replace // by @description() as that giv…
ferantivero Apr 28, 2022
c0dac32
Address PR Feedback: prevent from concatenating resource ids in bicep
ferantivero Apr 28, 2022
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
4 changes: 2 additions & 2 deletions 06-aks-cluster.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ Now that your [ACR instance is deployed and ready to support cluster bootstrappi

```bash
# [This takes about 18 minutes.]
az deployment group create -g rg-bu0001a0008 -f cluster-stamp.json -p targetVnetResourceId=${RESOURCEID_VNET_CLUSTERSPOKE_AKS_BASELINE} clusterAdminAadGroupObjectId=${AADOBJECTID_GROUP_CLUSTERADMIN_AKS_BASELINE} a0008NamespaceReaderAadGroupObjectId=${AADOBJECTID_GROUP_A0008_READER_AKS_BASELINE} k8sControlPlaneAuthorizationTenantId=${TENANTID_K8SRBAC_AKS_BASELINE} appGatewayListenerCertificate=${APP_GATEWAY_LISTENER_CERTIFICATE_AKS_BASELINE} aksIngressControllerCertificate=${AKS_INGRESS_CONTROLLER_CERTIFICATE_BASE64_AKS_BASELINE} domainName=${DOMAIN_NAME_AKS_BASELINE} gitOpsBootstrappingRepoHttpsUrl=${GITOPS_REPOURL}
az deployment group create -g rg-bu0001a0008 -f cluster-stamp.bicep -p targetVnetResourceId=${RESOURCEID_VNET_CLUSTERSPOKE_AKS_BASELINE} clusterAdminAadGroupObjectId=${AADOBJECTID_GROUP_CLUSTERADMIN_AKS_BASELINE} a0008NamespaceReaderAadGroupObjectId=${AADOBJECTID_GROUP_A0008_READER_AKS_BASELINE} k8sControlPlaneAuthorizationTenantId=${TENANTID_K8SRBAC_AKS_BASELINE} appGatewayListenerCertificate=${APP_GATEWAY_LISTENER_CERTIFICATE_AKS_BASELINE} aksIngressControllerCertificate=${AKS_INGRESS_CONTROLLER_CERTIFICATE_BASE64_AKS_BASELINE} domainName=${DOMAIN_NAME_AKS_BASELINE} gitOpsBootstrappingRepoHttpsUrl=${GITOPS_REPOURL}
```

> Alteratively, you could have updated the [`azuredeploy.parameters.prod.json`](./azuredeploy.parameters.prod.json) file and deployed as above, using `-p "@azuredeploy.parameters.prod.json"` instead of providing the individual key-value pairs.
Expand Down Expand Up @@ -117,7 +117,7 @@ Now that your [ACR instance is deployed and ready to support cluster bootstrappi

## Container registry note

:warning: To aid in ease of deployment of this cluster and your experimentation with workloads, Azure Policy and Azure Firewall are currently configured to allow your cluster to pull images from _public container registries_ such as Docker Hub. For a production system, you'll want to update Azure Policy parameter named `allowedContainerImagesRegex` in your `cluster-stamp.json` file to only list those container registries that you are willing to take a dependency on and what namespaces those policies apply to, and make Azure Firewall allowances for the same. This will protect your cluster from unapproved registries being used, which may prevent issues while trying to pull images from a registry which doesn't provide SLA guarantees for your deployment.
:warning: To aid in ease of deployment of this cluster and your experimentation with workloads, Azure Policy and Azure Firewall are currently configured to allow your cluster to pull images from _public container registries_ such as Docker Hub. For a production system, you'll want to update Azure Policy parameter named `allowedContainerImagesRegex` in your `cluster-stamp.bicep` file to only list those container registries that you are willing to take a dependency on and what namespaces those policies apply to, and make Azure Firewall allowances for the same. This will protect your cluster from unapproved registries being used, which may prevent issues while trying to pull images from a registry which doesn't provide SLA guarantees for your deployment.

This deployment creates an SLA-backed Azure Container Registry for your cluster's needs. Your organization may have a central container registry for you to use, or your registry may be tied specifically to your application's infrastructure (as demonstrated in this implementation). **Only use container registries that satisfy the security and availability needs of your application.**

Expand Down
Loading