Skip to content

Commit cdb2607

Browse files
authored
Merge pull request #9362 from westim/patch-1
Update service-fabric-cluster-creation-via-arm.md
2 parents 92564d5 + 2507b26 commit cdb2607

File tree

1 file changed

+30
-31
lines changed

1 file changed

+30
-31
lines changed

articles/service-fabric/service-fabric-cluster-creation-via-arm.md

Lines changed: 30 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,13 @@ This step-by-step guide walks you through setting up a secure Azure Service Fabr
2727

2828
The guide covers the following procedures:
2929

30-
* Key Concepts that you need to be aware off before deploying a service fabric cluster.
31-
* Creating a cluster in Azure by using service fabric Resource Manager modules.
30+
* Key Concepts that you need to be aware of before deploying a Service Fabric cluster.
31+
* Creating a cluster in Azure by using Service Fabric Resource Manager modules.
3232
* Setting up Azure Active Directory (Azure AD) for authenticating users performing management operations on the cluster.
3333
* Authoring a custom Azure Resource Manager template for your cluster and deploying it.
3434

3535
## Key concepts to be aware of
36-
In Azure, Service fabric mandates that you to use an x509 certificate to secure your cluster and its endpoints. Certificates are used in Service Fabric to provide authentication and encryption to secure various aspects of a cluster and its applications. For client access/performing management operations on the cluster,including deploying, upgrading, and deleting applications, services, and the data they contain, you can use certificates or Azure Active Directory credentials. The use of Azure Active Directory is highly encouraged, since that is the only way to prevent sharing of certificates on your clients. For more information on how certificates are used in Service Fabric, see [Service Fabric cluster security scenarios][service-fabric-cluster-security].
36+
In Azure, Service Fabric mandates that you to use an x509 certificate to secure your cluster and its endpoints. Certificates are used in Service Fabric to provide authentication and encryption to secure various aspects of a cluster and its applications. For client access/performing management operations on the cluster, including deploying, upgrading, and deleting applications, services, and the data they contain, you can use certificates or Azure Active Directory credentials. The use of Azure Active Directory is highly encouraged, since that is the only way to prevent sharing of certificates on your clients. For more information on how certificates are used in Service Fabric, see [Service Fabric cluster security scenarios][service-fabric-cluster-security].
3737

3838
Service Fabric uses X.509 certificates to secure a cluster and provide application security features. You use [Key Vault][key-vault-get-started] to manage certificates for Service Fabric clusters in Azure.
3939

@@ -71,29 +71,29 @@ Any number of additional certificates can be specified for Admin or user client
7171

7272

7373
## Prerequisites
74-
The concept of creating secure clusters is the same, whether they are Linux or Windows clusters. This guide covers the use of azure powershell or azure CLI to create new clusters. The prerequisites are either
74+
The concept of creating secure clusters is the same, whether they are Linux or Windows clusters. This guide covers the use of Azure PowerShell or Azure CLI to create new clusters. The prerequisites are either:
7575

7676
- [Azure PowerShell 4.1 and above][azure-powershell] or [Azure CLI 2.0 and above][azure-CLI].
77-
- you can find details on the service fabric modules here - [AzureRM.ServiceFabric](https://docs.microsoft.com/powershell/module/azurerm.servicefabric) and [az SF CLI module](https://docs.microsoft.com/cli/azure/sf?view=azure-cli-latest)
77+
- you can find details on the Service Fabric modules here - [AzureRM.ServiceFabric](https://docs.microsoft.com/powershell/module/azurerm.servicefabric) and [az SF CLI module](https://docs.microsoft.com/cli/azure/sf?view=azure-cli-latest)
7878

7979

80-
## Use service fabric RM module to deploy a cluster
80+
## Use Service Fabric RM module to deploy a cluster
8181

82-
In this document, we would use the service fabric RM powershell and CLI module to deploy a cluster, the powershell or the CLI module command allows for multiple scenarios. Let us go through each of the them. Pick the scenario that you feel best meets your needs.
82+
In this document, we will use the Service Fabric RM powershell and CLI module to deploy a cluster, the PowerShell or the CLI module command allows for multiple scenarios. Let us go through each of the them. Pick the scenario that you feel best meets your needs.
8383

8484
- Create a new cluster
8585
- using a system generated self signed certificate
8686
- using a certificate you already own
8787

88-
You can use Use a default cluster template or a template that you already have
88+
You can use a default cluster template or a template that you already have
8989

9090
### Create new cluster - using a system generated self signed certificate
9191

92-
Use the following command to create cluster, if you have want the system to generate a self signed certificate and use it to secure your cluster. This command sets up a primary cluster certificate that is used for cluster security and to set up admin access to perform management operations using that certificate.
92+
Use the following command to create cluster, if you want the system to generate a self-signed certificate and use it to secure your cluster. This command sets up a primary cluster certificate that is used for cluster security and to set up admin access to perform management operations using that certificate.
9393

94-
### login in to Azure.
94+
### login to Azure
9595

96-
```Powershell
96+
```PowerShell
9797
Connect-AzureRmAccount
9898
Set-AzureRmContext -SubscriptionId <guid>
9999
```
@@ -106,12 +106,12 @@ az account set --subscription $subscriptionId
106106

107107
Use the following command to create a cluster quickly, by specifying minimal parameters
108108

109-
The template that is used is available on the [azure service fabric template samples : windows template](https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/5-VM-Windows-1-NodeTypes-Secure-NSG)
109+
The template that is used is available on the [Azure Service Fabric template samples : windows template](https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/5-VM-Windows-1-NodeTypes-Secure-NSG)
110110
and [Ubuntu template](https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/5-VM-Ubuntu-1-NodeTypes-Secure)
111111

112-
The commands below works for creating Windows and Linux clusters, you just need to specify the OS accordingly. The PowerShell/ CLI commands also outputs the certificate in the specified CertificateOutputFolder however make sure certificate folder already created. The command takes in other parameters like VM SKU as well.
112+
The commands below works for creating Windows and Linux clusters, you just need to specify the OS accordingly. The PowerShell/CLI commands also output the certificate in the specified CertificateOutputFolder; however, make sure certificate folder already created. The command takes in other parameters like VM SKU as well.
113113

114-
```Powershell
114+
```PowerShell
115115
$resourceGroupLocation="westus"
116116
$resourceGroupName="mycluster"
117117
$vaultName="myvault"
@@ -147,9 +147,9 @@ az sf cluster create --resource-group $resourceGroupName --location $resourceGro
147147

148148
#### Use the custom template that you already have
149149

150-
If you need to author a custom template to suit your needs, it is highly recommended that you start with one of the templates that are available on the [azure service fabric template samples](https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master). Follow guidance and explanations to [customize your cluster template][customize-your-cluster-template] section below.
150+
If you need to author a custom template to suit your needs, it is highly recommended that you start with one of the templates that are available on the [Azure Service Fabric template samples](https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master). Follow guidance and explanations to [customize your cluster template][customize-your-cluster-template] section below.
151151

152-
If you already have a custom template, then make sure to double check, that all the three certificate related parameters in the template and the parameter file are named as follows and values are null as follows.
152+
If you already have a custom template, then make sure to double check that all the three certificate related parameters in the template and the parameter file are named as follows and values are null as follows.
153153

154154
```Json
155155
"certificateThumbprint": {
@@ -195,15 +195,15 @@ az sf cluster create --resource-group $resourceGroupName --location $resourceGro
195195
```
196196

197197

198-
### Create new cluster - using the certificate you bought from a CA or you already have.
198+
### Create new cluster - using the certificate you bought from a CA or you already have
199199

200200
Use the following command to create cluster, if you have a certificate that you want to use to secure your cluster with.
201201

202202
If this is a CA signed certificate that you will end up using for other purposes as well, then it is recommended that you provide a distinct resource group specifically for your key vault. We recommend that you put the key vault into its own resource group. This action lets you remove the compute and storage resource groups, including the resource group that contains your Service Fabric cluster, without losing your keys and secrets. **The resource group that contains your key vault _must be in the same region_ as the cluster that is using it.**
203203

204204

205205
#### Use the default 5 Node 1 node type template that ships in the module
206-
The template that is used is available on the [azure samples : windows template](https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/5-VM-Windows-1-NodeTypes-Secure-NSG)
206+
The template that is used is available on the [Azure samples : Windows template](https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/5-VM-Windows-1-NodeTypes-Secure-NSG)
207207
and [Ubuntu template](https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master/5-VM-Ubuntu-1-NodeTypes-Secure)
208208

209209
```PowerShell
@@ -238,9 +238,9 @@ az sf cluster create --resource-group $resourceGroupName --location $resourceGro
238238
```
239239

240240
#### Use the custom template that you have
241-
If you need to author a custom template to suit your needs, it is highly recommended that you start with one of the templates that are available on the [azure service fabric template samples](https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master). Follow guidance and explanations to [customize your cluster template][customize-your-cluster-template] section below.
241+
If you need to author a custom template to suit your needs, it is highly recommended that you start with one of the templates that are available on the [Azure Service Fabric template samples](https://github.com/Azure-Samples/service-fabric-cluster-templates/tree/master). Follow guidance and explanations to [customize your cluster template][customize-your-cluster-template] section below.
242242

243-
If you already have a custom template, then make sure to double check, that all the three certificate related parameters in the template and the parameter file are named as follows and values are null as follows.
243+
If you already have a custom template, then make sure to double check that all the three certificate related parameters in the template and the parameter file are named as follows and values are null as follows.
244244

245245
```Json
246246
"certificateThumbprint": {
@@ -330,7 +330,7 @@ To simplify some of the steps involved in configuring Azure AD with a Service Fa
330330
3. Extract the zip file.
331331
4. Run `SetupApplications.ps1`, and provide the TenantId, ClusterName, and WebApplicationReplyUrl as parameters. For example:
332332

333-
```powershell
333+
```PowerShell
334334
.\SetupApplications.ps1 -TenantId '690ec069-8200-4068-9d01-5aaf188e557a' -ClusterName 'mycluster' -WebApplicationReplyUrl 'https://mycluster.westus.cloudapp.azure.com:19080/Explorer/index.html'
335335
```
336336

@@ -360,7 +360,7 @@ The script prints the JSON required by the Azure Resource Manager template when
360360
<a id="customize-arm-template" ></a>
361361

362362
## Create a Service Fabric cluster resource manager template
363-
This section is for users who want to custom author a Service Fabric cluster resource manager template. once you have a template, you can still go back and use the powershell or CLI modules to deploy it.
363+
This section is for users who want to custom author a Service Fabric cluster resource manager template. once you have a template, you can still go back and use the PowerShell or CLI modules to deploy it.
364364

365365
Sample Resource Manager templates are available in the [Azure samples on GitHub](https://github.com/Azure-Samples/service-fabric-cluster-templates). These templates can be used as a starting point for your cluster template.
366366

@@ -496,14 +496,13 @@ You add the Azure AD configuration to a cluster Resource Manager template by ref
496496
}
497497
```
498498

499-
### Populate the parameter file with the values.
500-
Finally, use the output values from the key vault and Azure AD PowerShell commands to populate the parameters file:
499+
### Populate the parameter file with the values
500+
Finally, use the output values from the key vault and Azure AD PowerShell commands to populate the parameters file.
501501

502-
If you plan to use the Azure service fabric RM PowerShell modules, then you do not need to populate the cluster certificate information, if you you want the system to generate the self signed certificate for cluster security you, just keep them as null.
502+
If you plan to use the Azure service fabric RM PowerShell modules, then you do not need to populate the cluster certificate information. If you want the system to generate the self signed certificate for cluster security you, just keep them as null.
503503

504504
> [!NOTE]
505505
> For the RM modules to pick up and populate these empty parameter values, the parameters names much match the names below
506-
>
507506
508507
```json
509508
"clusterCertificateThumbprint": {
@@ -520,9 +519,9 @@ If you plan to use the Azure service fabric RM PowerShell modules, then you do n
520519
},
521520
```
522521

523-
If you are using application certs or are using an existing cluster that you have uploaded to the key vault, you need to get this information and populate it
522+
If you are using application certs or are using an existing cluster that you have uploaded to the key vault, you need to get this information and populate it.
524523

525-
The RM modules do not have the ability to generate the Azure AD configuration for you. so if you plan to use the Azure AD for client access, you need to populate it.
524+
The RM modules do not have the ability to generate the Azure AD configuration for you, so if you plan to use the Azure AD for client access, you need to populate it.
526525

527526
```json
528527
{
@@ -582,7 +581,7 @@ The following diagram illustrates where your key vault and Azure AD configuratio
582581

583582
## Encrypting the disks attached to your windows cluster node/virtual machine instances
584583

585-
For encrypting the disks (OS drive and other managed disks ) attached to your nodes, we leverage the Azure Disk Encryption. Azure Disk Encryption is a new capability that helps you [encrypt your Windows virtual machine disks](service-fabric-enable-azure-disk-encryption-windows.md).
584+
For encrypting the disks (OS drive and other managed disks) attached to your nodes, we leverage the Azure Disk Encryption. Azure Disk Encryption is a new capability that helps you [encrypt your Windows virtual machine disks](service-fabric-enable-azure-disk-encryption-windows.md).
586585
Azure Disk Encryption leverages the industry standard [BitLocker](https://technet.microsoft.com/library/cc732774.aspx) feature of Windows to provide volume encryption for the OS volume.
587586
The solution is integrated with [Azure Key Vault](https://azure.microsoft.com/documentation/services/key-vault/) to help you control and manage the disk-encryption keys and secrets in your key vault subscription.
588587
The solution also ensures that all data on the virtual machine disks are encrypted at rest in your Azure storage. 
@@ -598,7 +597,7 @@ The solution also ensures that all data on the virtual machine disks are encrypt
598597
## Create the cluster using Azure resource template
599598

600599
You can now deploy you cluster using the steps outlined earlier in the document, or if you have
601-
the values in the parameter file, populated, then You are now ready to create the cluster by using [Azure resource template deployment][resource-group-template-deploy] directly.
600+
the values in the parameter file populated, then you are now ready to create the cluster by using [Azure resource template deployment][resource-group-template-deploy] directly.
602601

603602
```PowerShell
604603
New-AzureRmResourceGroupDeployment -ResourceGroupName "myresourcegroup" -TemplateFile .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json
@@ -634,7 +633,7 @@ After you have created the applications to represent your cluster, assign your u
634633
635634

636635
## Troubleshooting help in setting up Azure Active Directory
637-
Setting up Azure AD and using it, can be challenging, so here are some pointers on what you can do to debug the issue.
636+
Setting up Azure AD and using it can be challenging, so here are some pointers on what you can do to debug the issue.
638637

639638
### Service Fabric Explorer prompts you to select a certificate
640639
#### Problem

0 commit comments

Comments
 (0)