Edit

Share via


Create a secure Service Fabric Linux cluster via the Azure CLI

This command creates a self-signed certificate, adds it to a key vault and downloads the certificate locally. The new certificate is used to secure the cluster when it deploys. You can also use an existing certificate instead of creating a new one. Either way, the certificate's subject name must match the ___domain that you use to access the Service Fabric cluster. This match is required to provide TLS for the cluster's HTTPS management endpoints and Service Fabric Explorer. You cannot obtain a TLS/SSL certificate from a CA for the .cloudapp.azure.com ___domain. You must obtain a custom ___domain name for your cluster. When you request a certificate from a CA, the certificate's subject name must match the custom ___domain name that you use for your cluster.

If needed, install the Azure CLI.

Sample script

#!/bin/bash

# Variables
ResourceGroupName="aztestclustergroup" 
ClusterName="aztestcluster" 
Location="southcentralus" 
Password="q6D7nN%6ck@6" 
Subject="aztestcluster.southcentralus.cloudapp.azure.com" 
VaultName="aztestkeyvault" 
VmPassword="Mypa$$word!321"
VmUserName="sfadminuser"

# Create resource group
az group create --name $ResourceGroupName --___location $Location 

# Create secure five node Linux cluster. Creates a key vault in a resource group
# and creates a certficate in the key vault. The certificate's subject name must match 
# the ___domain that you use to access the Service Fabric cluster.  The certificate is downloaded locally.
az sf cluster create --resource-group $ResourceGroupName --___location $Location \ 
  --certificate-output-folder . --certificate-password $Password --certificate-subject-name $Subject \
  --cluster-name $ClusterName --cluster-size 5 --os UbuntuServer1604 --vault-name $VaultName \ 
  --vault-resource-group $ResourceGroupName --vm-password $VmPassword --vm-user-name $VmUserName
    

Clean up deployment

After the script sample has been run, the following command can be used to remove the resource group, cluster, and all related resources.

ResourceGroupName = "aztestclustergroup"
az group delete --name $ResourceGroupName

Script explanation

This script uses the following commands. Each command in the table links to command specific documentation.

Command Notes
az sf cluster create Creates a new Service Fabric cluster.

Next steps

Additional Service Fabric CLI samples for Azure Service Fabric can be found in the Service Fabric CLI samples.