IBM Cloud Docs
Automating your Azure location setup with a Schematics template

Automating your Azure location setup with a Schematics template

Automate your Azure setup with templates that use IBM Cloud® Schematics to create a Satellite location, provision hosts in your Azure account, and set up the Satellite location control plane for you.

You can clone and modify these Terraform templates from the Satellite Terraform GitHub repository. Or, you can manually attach Azure hosts to a Satellite location.

For IBM Cloud Satellite to perform actions on your behalf in a cloud provider, you must provide credentials to the cloud provider. The credentials that you provide are stored and encrypted in etcd of the Satellite location management plane. For more information, see Securing your data.

Creating your location with a Schematics template

Before you begin, make sure that you have the correct IBM Cloud permissions to create locations, including to Satellite and Schematics. To create the template and manage its resources, Satellite automatically creates an IBM Cloud IAM API key. You can optionally provide the value of an existing API key that has the correct permissions in the same account.

Do not reuse the same name for multiple locations, even after the other location is deleted. If you use the same name 5 times or more within 7 days, you might reach the Let's Encrypt Duplicate Certificate rate limit.

  1. In your Azure cloud provider, set up your account credentials.
  2. From the Satellite console, click Create location.
  3. In the Setup section, click Azure.
  4. In the Azure credentials section, enter the Azure client ID (app ID), Azure tenant ID, and Azure secret key (password) values that you previously created for the service principal.
  5. Click Fetch options from Azure.
  6. Review the Azure environment details that are automatically populated. By default, enough VMs are created to provide hosts for 1 small location that can run about 2 demo clusters. To change the subscription, region, instance type, or number of VMs for the hosts, click the Edit pencil icon.
  7. Review the Satellite location details. If you edited the Azure environment details, you might want to click the Edit pencil icon to change details such as the description, API key, or IBM Cloud multizone region that the location is managed from.
  8. In the Summary pane, review the cost estimate.
  9. Click Create location. Your location might take about 30 minutes to finish provisioning.
  10. Optional: To review the provisioning progress, review the logs in the Schematics workspace that is automatically created for you.
    1. Click Manage in Schematics. If you see an error, navigate to the Schematics workspaces console and click the name of your workspace, such as us.east.cartOrder....
    2. From the Activity tab, find the current activity row and click View log to review the log details.
    3. Wait for the Schematics action to finish and the workspace to enter an Active state.

Well done, your Satellite location is creating! You can review the Satellite console to see when your location is in a Normal state and ready to use.

If you are using this template for demonstration purposes, do not assign all your hosts to your control plane. Hosts that are assigned to the control plane cannot be used for other purposes, such as worker nodes for your cluster. For more information, see Understanding Satellite locations.

What does this template create?

This Schematics template creates a resource group of your Azure cloud subscription and then creates the following resources in your Azure account.

  • 1 virtual network that spans the region.
  • 1 network security group to meet the host networking requirements for Satellite.
  • 1 virtual machine running RHEL 8 for each host that you specified, spread evenly across the region. By default, 6 virtual machines are created.
  • 1 network interface for each virtual machine.
  • 1 disk for each virtual machine.

The following resources are created in your IBM Cloud account.

  • 1 Satellite location.
  • 3 Satellite hosts that represent the virtual machines in Azure, attached to the location and assigned to the Satellite location control plane.
  • 3 Satellite hosts that represent the virtual machines in Azure, attached to the location, unassigned, and available to use for services such as a Red Hat OpenShift cluster. If you added more than 6 hosts, the additional hosts are unassigned and available for use in the control plane or by services.

This template does not include the required storage resources for some integrations, such as OpenShift Data Foundation or other services. If you need OpenShift Data Foundation or similar services, review the required resources and manually create hosts in your Azure account. Then, attach the hosts to your location.

Microsoft Azure credentials

Retrieve the Microsoft Azure credentials that Satellite can use to create Satellite resources in your Azure cloud on your behalf.

  1. Verify that you have the required permissions in your Azure account to create a Satellite location from a template.
  2. Sign in to your Azure account from the command line.
    az login
    
  3. List the available subscriptions in your account.
    az account list
    
  4. Set the subscription to create your Azure resources in.
    az account set --subscription="<subscription_ID>"
    
  5. Create a service principal identity with the Contributor role, scoped to your subscription. These credentials are used by IBM Cloud Satellite to provision resources in your Azure account. For more information, see the Azure documentation.
    az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/<subscription_ID>" -n"<service_principal_name>"
    
  6. In the output, note the values of the appID, password, and tenant fields.
    {
    "appId": "<azure-client-id>",
    "displayName": "<service_principal_name>",
    "name": "http://<service_principal_name>",
    "password": "<azure-secret-key>",
    "tenant": "<tenant-id>"
    }
    
  7. Optional: To provide the credentials during the creation of a Satellite location, format the credentials in a JSON file.
    {
        "app_id":"string",
        "tenant_id":"string",
        "password": "string"
    }
    

I created a Satellite location, what's next?

Now that your Satellite location is set up, you are ready to start using IBM Cloud services.

  1. Add compute capacity to your location by attaching more hosts to the location so that you can run Satellite-enabled IBM Cloud service.
  2. Create a Satellite-enabled IBM Cloud service, such as a Red Hat OpenShift cluster. You assign the additional hosts that you previously attached as worker nodes to provide the compute power for the cluster. You can even register existing Red Hat OpenShift clusters to your location to use as deployment targets.
  3. Manage your applications with Satellite Config.
  4. Create Satellite cluster storage templates.
  5. Learn more about the Satellite Link component and how you can use endpoints to manage the network traffic between your location and IBM Cloud.

Need help? Check out Getting support where you can find information about cloud status, issues, and logging; contacting support; and setting your email notification preferences for IBM Cloud platform-related items.