Chef Backend High-Availability Cluster

Azure Public Test Date Azure Public Test Result

Azure US Gov Last Test Date Azure US Gov Last Test Result

Best Practice Check Cred Scan Check

Deploy To Azure Deploy To Azure US Gov Visualize

This template deploys a Chef High-Availability Cluster. Tags: chef, cluster, ha, Microsoft.Network/virtualNetworks, Microsoft.Storage/storageAccounts, Microsoft.Network/publicIPAddresses, Microsoft.Network/loadBalancers, Microsoft.Compute/availabilitySets, Microsoft.Network/networkInterfaces, Microsoft.Compute/virtualMachines, extensions, CustomScript

Deployment steps

This template has artifacts (Configuration Scripts) which are automatically grabbed from github, or can be staged for deployment. Use the below command with the upload flag to deploy this template or provide a storage account and SAS token when using the deploy button above.

This template also uses blob storage to share secrets and configuration templates between nodes in the cluster. You must create a blob storage container for these and provide an SAS token. If you're creating a storage container for artifacts, you can use the same one for secrets storage.

Using the command-line

.\Deploy-AzureResourceGroup.ps1 -ResourceGroupLocation 'eastus' -ArtifactsStagingDirectory 'chef-ha-cluster' UploadArtifacts
azure-group-deploy.sh -a chef-ha-cluster -l eastus -u

Using the "deploy to Azure" button

  1. Provision a Standard (LRS) storage account, or use an existing one (must be Standard)
  2. Provision a blob storage container underneath storage account. Note the container URL (ie. https://mystandardstorage.blob.core.windows.net/artifactsfolder )
  3. Generate a Shared Acccess Signature (SAS) token with and End date exceeding the life of your cluster. Note the SAS token.
  4. Click the "deploy to Azure" button at the beginning of this document
  5. Enter in the required fields
  • Artifacts Location: the container URL from step 2
  • Artifacts Location SAS Token: the SAS token from step 3
  • Chef DNS name: A unique short name (ex: mychefhacluster ) that will be prepended to .region.cloudapp.azure.com (ex: mychefhacluster.westus.cloudapp.azure.com)
  • SSH Key Data: The contents of your SSH Public key for SSH authentication

Usage

Connect

Connect using ssh To reach a frontend use port 50000,50001,50002 (FE0,1,2):

ssh -p 50000 chefadmin@yourhost.youregion.cloudapp.azure.com

To reach a backend do something like

ssh -o ProxyCommand="ssh -W %h:%p -p 50000 -q chefadmin@yourhost.youregion.cloudapp.azure.com" chefadmin@be0

Management

See the chef documentation at Chef