IBM Cloud Docs
Managing Direct Upload configurations

Managing Direct Upload configurations

Create a configuration to deploy your apps to clusters by uploading resources directly.

Creating Satellite configurations

With Satellite Config, you create a configuration to specify what Kubernetes resources you want to deploy to a group of Red Hat OpenShift on IBM Cloud clusters that run in your Satellite location or in IBM Cloud.

Before you begin

Creating Satellite configurations from the console

To deploy an example app, see Deploying Kubernetes resources to clusters with Satellite Config.

To create your custom configuration, use the Satellite UI and follow these steps.

  1. Log in to the Satellite Config UI with your IBM Cloud credentials.

  2. Click Create config.

  3. On the Browse templates page, select the Direct Upload template.

  4. On the Configuration page, specify your configuration name and data location.

  5. On the Version page, specify your version name and description. Then upload an existing file or use the YAML editor to paste in the file content.

  6. On the Subscription page, specify your subscription name, subscription version, and cluster group to deploy to.

  7. On the Summary page, confirm that the displayed information is correct and then click Complete.

Creating Satellite configurations from the CLI

Use the CLI plug-in for Satellite commands to create a configuration and upload the Kubernetes resource definition that you want to deploy to your clusters.

To create the configuration:

  1. Set up your clusters to use with Satellite Config. This setup includes creating a cluster group and granting Satellite Config access to your clusters.

  2. Add clusters to your cluster group. The clusters can run in your location or in IBM Cloud.

    1. List the clusters that are registered with the Satellite Config component and note their ID.
      ibmcloud sat cluster ls
      
    2. Add the cluster to your cluster group.
      ibmcloud sat group attach --cluster <cluster_ID> --group <cluster_group_name>
      
    3. Verify that your cluster is successfully added to your cluster group.
      ibmcloud sat group get --group <cluster_group_name>
      
  3. Create a Satellite configuration.

    ibmcloud sat config create --name <config_name> [--data-location <location>] [-q]
    
    Understanding this command's components
    Component Description
    --name <config_name> Enter the name of the Satellite configuration.
    --data-location <location> Enter the location to store your Satellite configurations, for example us-east. Satellite configurations are Kubernetes resource definitions, such as ConfigMaps, storage classes, or secrets that are deployed to the clusters in your location through subscriptions. If --data-location is not specified, your configurations are stored in us-east by default. These locations are IBM Cloud Object Storage buckets that are owned by IBM and are pre-provisioned for each region. For more information about how your data is stored, see How is my information stored, backed up, and encrypted?. For a list of locations, see Supported locations.
    -q Do not show the message of the day or update reminders.

    Example output

    Creating configuration...
    OK
    Configuration <config_name> was successfully created with ID 116fffde-0835-467c-8987-67dd42e4e393.
    
  4. Create a Subscription for your cluster group to the Satellite configuration. After you create the subscription, Satellite Config automatically downloads the Kubernetes resource file for the version that you specified and starts applying this file across all clusters that belong to the cluster group. This process takes a few minutes to complete. In addition, information about all Kubernetes resources that you create are sent back from your clusters to Satellite Config and can be reviewed in the Satellite Cluster resources dashboard. Review the command options by running ibmcloud sat subscription create.

    ibmcloud sat subscription create --group <cluster_group_name> --config <config_name_or_ID> --name <subscription_name> --version <version_name_or_ID>
    
    Understanding this command's components
    Component Description
    --group <cluster_group_name> Enter the name of the cluster group where you want to deploy your Kubernetes resources.
    --config <config_name_or_ID> Enter the name or ID of the Satellite configuration that you created earlier.
    --name <subscription_name> Enter a name for your Satellite subscription.
    --version <version_name_or_ID> Enter the name or ID of the Kubernetes resource definition that you added as a version to your configuration. To list available versions, run ibmcloud sat config get --config <config_name_or_ID>

    Example output

    Creating subscription...
    OK
    Subscription <subscription_name> was successfully created with ID f6114bd5-f71e-4335-b034-ca45fa3cab81.
    
  5. Follow step 5 in Creating Satellite configurations from the console to review the rollout status of your Kubernetes resources.

Updating your Satellite Config configuration

To update your Satellite Config configuration, upload or create a new version, then create a subscription for the new version.

Updating your Satellite Config from the console

Use the Satellite console to upload a new version file and change your subscription to use it.

  1. From the actions menu of a configuration, click Add version.
    1. Enter a name and an optional description for your version.
    2. Upload a Kubernetes resource YAML file or use the editor to enter your Kubernetes resource definition directly. Make sure to specify the Kubernetes namespace where you want your resource to be deployed. If you do not specify a namespace, the resource is deployed to the razeedeploy namespace by default.
    3. Optional: To view the resources after they are created in the cluster through the Satellite Config dashboard, add the razee/watch-resource=lite label to the metadata.labels section of your YAML file or choose another option to view your deployed resources, such as adding a ConfigMap to your cluster.
    4. Click Add to add the Kubernetes resource definition as a version to your configuration.
  2. Create a Subscription for your cluster group. The subscription defines which Satellite configuration to deploy the Kubernetes resources to your clusters.
    1. Select the configuration that you created to see the configuration details.
    2. Click Create subscription.
    3. Enter a name for your subscription and select the version name and the cluster group that you created earlier.
    4. Click Create to create the subscription.
  3. Select your subscription to see the subscription details and the rollout status of your Kubernetes resource deployment. If errors occur during the deployment, such as YAML files with formatting errors or unsupported API version values, you can view the error message in the Message column of your subscription details.

(TO UPDATE WITH NEW COMMANDS:) Updating your Satellite Config with the CLI

Use the CLI plug-in for Satellite commands to upload a new version file and change your subscription to use it.

  1. Create a Version by uploading a Kubernetes resource file to your configuration. Make sure to specify the Kubernetes namespace where you want your resource to be deployed. If you do not specify a namespace, the resource is deployed to the razeedeploy namespace by default. Review the command options by running ibmcloud sat config version create.

    To view the resources after they are created in the cluster through the Satellite Config dashboard, add the razee/watch-resource=lite label to the metadata.labels section of your YAML file or choose another option to view your deployed resources, such as adding a ConfigMap to your cluster.

    ibmcloud sat config version create --name <version_name> --config <config_name_or_ID> --file-format yaml --read-config <file_path>
    
    Understanding this command's components
    Component Description
    --name <version_name> Enter a name for your configuration version.
    --config <config_name_or_ID> Enter the name or ID of the Satellite configuration that you created earlier.
    --read-config <file_path> Enter the relative file path to the Kubernetes resource file on your local machine.

    Example output

    Creating configuration version...
    OK
    Configuration Version <version_name> was successfully created with ID ad5ae7a9-4f74-486c-816a-32de98de00df.
    
  2. Create a Subscription for your cluster group to the Satellite configuration. After you create the subscription, Satellite Config automatically downloads the Kubernetes resource file for the version that you specified and starts applying this file across all clusters that belong to the cluster group. This process takes a few minutes to complete. In addition, information about all Kubernetes resources that you create are sent back from your clusters to Satellite Config and can be reviewed in the Satellite Cluster resources dashboard. Review the command options by running ibmcloud sat subscription create.

    ibmcloud sat subscription create --group <cluster_group_name> --config <config_name_or_ID> --name <subscription_name> --version <version_name_or_ID>
    
    Understanding this command's components
    Component Description
    --group <cluster_group_name> Enter the name of the cluster group where you want to deploy your Kubernetes resources.
    --config <config_name_or_ID> Enter the name or ID of the Satellite configuration that you created earlier.
    --name <subscription_name> Enter a name for your Satellite subscription.
    --version <version_name_or_ID> Enter the name or ID of the Kubernetes resource definition that you added as a version to your configuration. To list available versions, run ibmcloud sat config get --config <config_name_or_ID>

    Example output

    Creating subscription...
    OK
    Subscription <subscription_name> was successfully created with ID f6114bd5-f71e-4335-b034-ca45fa3cab81.
    
  3. Follow step 5 in Creating Satellite configurations from the console to review the rollout status of your Kubernetes resources.