IBM Cloud platform combines Infrastructure as a Service (IaaS) with Platform as a Service (PaaS) to offer an integrated experience for their customers. IBM Cloud platform scales and supports both large enterprise businesses and small development organizations and teams. IBM Cloud is deployed across data centers around the globe, which helps customers reduce their website latency. The solutions deployed or built on IBM cloud accelerate fast and perform reliably in both supported and test environments that they can trust. IBM Cloud offers solutions that enable higher security, compliance, and management levels, with proven architecture methods and patterns for rapid delivery. IBM Cloud also helps to run mission-critical workloads with ease.
With the help of Satellite Link endpoints in IBM Cloud, users can connect to a server, application, or service that runs outside of the location from a client that runs within the user’s Satellite location, or vice versa. In this tutorial, we will learn the steps to host Satellites in IBM Cloud from on-premise data centers and edge networks.
Step 1: Create the Satellite Location
To use IBM Cloud Satellite, the user must create a location. A Satellite location represents a data center that the user can later fill with their own infrastructure resources to run IBM Cloud services or other workloads on their own infrastructure.
Before we begin:
- Make sure that the users have the correct permissions to create locations.
- Users must have an existing IBM Cloud Object Storage service instance to back up the control plane data for their Satellite location to a bucket in that instance. For example, to set up a dedicated Object Storage instance and bucket, follow the below steps:
a) Set up an IBM Cloud Object Storage instance that the user plan to use for all of their Satellite locations in the IBM account.
b) Create a bucket in this service instance to back up the user’s Satellite location control plane. The bucket endpoint must match the instance endpoint, such as for a Global instance, use the Cross-Region bucket. Use a name to help the user identify it later, such as bucket-<name>-<region>. Create a separate bucket for each Satellite location that the user creates in their account.
C) Pass in the name of this bucket when the user creates the Satellite location.
>> Note: Do not delete the user’s Object Storage instance or this bucket. The IBM Cloud cannot back up users Satellite location control plane data if the service instance or bucket is deleted.
Create a Location:
To create a Satellite location, follow the below steps:
1. Log in to the IBM Cloud Satellite console and click the Create location button.
2. Then, click the Manual setup option.
3. Next, review the following details in the Satellite location section. To change any of the default values, click Edit.
a) For Name: The Satellite location name must start with a letter, can contain numbers, letters, hyphens (-), and periods (.), and must be 35 characters or fewer. The user should not reuse the same name for multiple locations, even if the user deleted another location with the same name.
b) The Tags and Description fields are optional and are metadata to help the user organize their IBM Cloud resources.
c) By default, the Resource group is set to default.
d) For Managed from: Choose the IBM Cloud region that the user wants to manage their Satellite location. Ensure the region closest to where the user can physically host machines that they plan to attach to their Satellite location to ensure low network latency between their Satellite location and IBM Cloud.
e) For Zones: The names of the zones must exactly match the names of the corresponding zones in the user’s infrastructure provider where they plan to create hosts, such as an on-prem rack or cloud provider zone. To retrieve the name of the zone, consult the user’s infrastructure provider.
– AWS regions and zones, such as us-east-1b, us-east-1a, us-west-1a, etc
– Azure topology.kubernetes.io/zone labels, such as eastus-1, eastus-2, and westus-1. Do not use only the location name (eastus) or the zone number (1).
– GCP regions and zones, such as us-west1-a, us-west1-b, and us-east1-c.
4. Users can click the Edit button to optionally enter the exact name of an existing IBM Cloud Object Storage bucket that they want to use to back up Satellite location control plane data in the Object Storage section. Otherwise, a new bucket is automatically created in an Object Storage instance in the user’s account.
5. Review the user’s order details in the Summary panel and click the Create location button. When the user creates the location, a location control plane master is deployed to one of the zones located in the IBM Cloud region that the user selected.
Step 2: Attach Compute hosts to the Satellite Location from on-premises data centers and edge networks
With the user Satellite location set up, they can now attach host machines to their location. The steps vary depending on the infrastructure provider that the user will use, on-premises data centers and edge networks, or cloud providers.
1. In the on-premises environment, identify or create at least three host machines in physically separate racks, which are called zones in Satellite, that meet the minimum hardware requirements, such as 16 GB of memory and 4 vCPUs with RHEL 7 packages.
2. From the Satellite console, click the location that the user previously created in Step 1.
3. Then, click Attach host from the Hosts tab.
4. Optional: Enter any labels that the user wants to add to their hosts to identify their hosts more easily later. Labels must be provided as key-value pairs. For example, users can use use:satcp to show that they want to use these hosts for their Satellite control plane.
5. Enter a file name for the script, or use the name that is generated for the user.
6. Click the Download script button to generate the host script and download the script to the local system.
7. Add the host machines that reside in the on-premises data center to the user’s satellite location.
a) First, retrieve the public IP address of the host, or if the host has only a private network interface, the host’s private IP address.
b) Next, copy and paste the script from the local system to the host.
scp -i <filepath_to_key_file> <filepath_to_script> <username>@<IP_address>:/tmp/attach.sh
c) Log in to the host by executing the following:
ssh -i <filepath_to_key_file> <username>@<IP_address>
d) Then, update the host to have the required RHEL 7 packages.
e) Execute the following command to run the script.
sudo nohup bash /tmp/attach.sh &
f) Execute the following to monitor the progress of the registration script.
journalctl -f -u ibm-host-attach
g) Repeat these steps for each host that the user wants to attach to the Satellite location.
8. As the user runs the scripts on each machine, check that the hosts show in the Hosts tab of the location dashboard. All hosts show a Health status of Ready when users can establish a connection to the system and a Status of Unassigned as the hosts are not yet assigned to the user’s Satellite location control plane.
9. Finally, continue with Step 3.
Step 3: Assign the host to the Satellite location Control Panel
To complete the setup of the user’s Satellite location, they must assign the three compute hosts that they attached in the previous step to the Satellite location control plane. The control plane will run the components to connect the Satellite location to IBM Cloud securely.
1. First, click the Assign host button from the actions menu of each host machine that the user attached.
2. Next, select the Control panel for the Cluster.
3. For the Zone, choose a unique zone such as zone-1.
4. Then, click the Assign host button. When the user assigns the hosts to the control panel, IBM bootstraps the system. This process may take a few minutes to complete. During the bootstrapping process, the Health of the system changes to Provisioning.
5. Repeat these steps for each host. Ensure that the user assigns each host to a different zone so that they spread all three hosts across all three zones, such as zone-1, zone-2, and zone-3.
6. Finally, verify that the hosts are successfully assigned to the Satellite control panel from the Hosts tab. The assignment is successful when an IP address is added to the host and the Health status changes to Normal.
This tutorial presents the steps to host Satellites in IBM Cloud from on-premise data centers and edge networks. Hope this tutorial was helpful, and do reach out to us if you have any query or suggestions.