July 19, 2021 By Julia Nash 5 min read

This tutorial is the quickest time to value that I have found to stand up applications on IBM Cloud Satellite.

This is a technical tutorial. If you would like greater context into what IBM Cloud Satellite is, please read this article as a preamble to the tutorial.

The end game for this tutorial is to have a hello-world application running live on a Red Hat OpenShift Kubernetes cluster on an IBM Cloud Satellite location. Cloud Satellite allows for the containerized application to run anywhere it geographically needs to be located.

Prerequisites

Steps

  1. Create a Cloud Satellite location and attach hosts.
  2. Provision an OpenShift cluster on IBM Cloud.
  3. Setup the Continuous Delivery Toolchain.
  4. Deployment of the application.

Note: If you are trying to deploy in a private network using IBM Cloud Continuous Delivery, please configure IBM Cloud Continuous Delivery private workers for the CI/CD pipeline using the documented steps here.

1. Create a Cloud Satellite location and attach hosts

Follow this link to create an IBM Cloud Satellite location:

Click the big blue button to set up the location:

Click Edit to create a new name for the location and pick the region from which the location will be managed.

IBM Cloud Satellite has Site Reliability Engineering [SRE] teams assigned to manage the stability of the infrastructure provisioned upon the use of a Cloud Satellite location.

This Managed from field is the IBM Cloud region from which the IBM SRE teams will manage the Satellite location. I named my Satellite location “May3rd.”

Click Create location.

Give the location ~10 minutes to provision:

Once the Cloud Satellite location has finished provisioning, click on your new Satellite location to go into the landing page for your instance.

Click on Attach hosts to your location within the Getting Started tab. Then, click Download the shell script to save this script locally. Use this script to attach hosts to the Cloud Satellite location:

Now, follow the documentation through Step 1–3 of the prerequisites. There are choices to make here on where you want to have your Cloud Satellite hosts in order to have a healthy location set up. The hosts can be physical or virtual. It might be easiest for this walkthrough to use virtual machines as the hosts. You can host Cloud Satellite from any public cloud hyperscaler, so you can decide to provision virtual machines on Google Cloud, AWS, Microsoft Azure, IBM Cloud or other providers.

This will lead you through the commands to assign and attach hosts to your Satellite location, as well.

Quick list of terminal commands to attach hosts to IBM Cloud Satellite:

I used IBM Cloud virtual machines for this example:

ibmcloud login 

ibmcloud sl vs list ibmcloud sl vs credentials [HOST ID]scp attachHost-locationName.sh root@[HOST IP]:/tmp/attach.sh

ssh root@[HOST IP]

subscription-manager refresh

subscription-manager repos --enable=*

sudo nohup bash /tmp/attach.sh

journalctl -f -u ibm-host-attach

Follow the minimum system requirements for IBM Cloud Satellite hosts. You’ll need to have at least three hosts at a minimum for the Satellite location’s control plane and two to three hosts in this example available for attaching those hosts to the OpenShift cluster on Cloud Satellite.

2. Create the OpenShift cluster on IBM Cloud

Do you have extra hosts that are unassigned for your Cloud Satellite location? Good. Now we can create an OpenShift cluster.

Here is a link to the Red Hat OpenShift cluster service.

Create the Red Hat OpenShift cluster using the Satellite infrastructure with the Satellite location you created. This will make the cluster available for Cloud Satellite hosts:

Assign what you would like for your Worker pools (you don’t have to follow what I did in lowering the worker nodes per Satellite zones).

Create a name for the cluster and hit Create to provision it.

Wait another few minutes for that cluster to provision.

If you now go back to the Cloud Satellite landing page and look under Hosts, you should see some “Unassigned” hosts available to assign. Click the ellipsis for the Unassigned host and assign the host to your OpenShift cluster on Cloud Satellite.

Keep doing this for the unassigned hosts you created for the OpenShift cluster:

3. Set up the Continuous Delivery Toolchain

Now that we have the foundational aspects of the tutorial done, we can deploy the example application.

Click on the hamburger menu for the left-side navigation of IBM Cloud and then click on DevOps:

From here, you can choose any Kubernetes toolchain, but the easiest one for me with the least errors was the Develop a Kubernetes app with Razee. Razee is a continuous delivery tool for Kubernetes:

Choose to deploy using the Kubernetes-native Tekton pipeline over the classic pipeline.

Generate an IBM Cloud API key if you do not have one yet.

Once you generate your IBM Cloud API key and input it, this will populate your clusters in the drop-down depending on the Cluster Region. Cluster Region shows the clusters deployed in each region.

Your cluster for Cloud Satellite will be in the Washington D.C. or London region as of May 3, 2021. With more regions rolling out for Cloud Satellite, this list for what region your cluster likely is within will increase, as well. So, if you don’t see your cluster in Washington D.C. or London, check other regions.

Once you found the cluster name that is on your Cloud Satellite location, select it and press Create. This will launch the toolchain:

4. Deploy the application

From here, you can consult this tutorial that will successfully lead you through the Delivery Pipeline in order to launch your live application:

Once all stages of the deployment pass, you can then go into the Setup Cluster with Razee stage and click on the subtask Setup App with Razee.

Scroll all the way down the logs to find the link to the live URL where your application is running. 

Congrats, You have your first containerized application running on IBM Cloud Satellite!

Learn more about IBM Cloud Satellite.

Was this article helpful?
YesNo

More from Cloud

Enhance your data security posture with a no-code approach to application-level encryption

4 min read - Data is the lifeblood of every organization. As your organization’s data footprint expands across the clouds and between your own business lines to drive value, it is essential to secure data at all stages of the cloud adoption and throughout the data lifecycle. While there are different mechanisms available to encrypt data throughout its lifecycle (in transit, at rest and in use), application-level encryption (ALE) provides an additional layer of protection by encrypting data at its source. ALE can enhance…

Attention new clients: exciting financial incentives for VMware Cloud Foundation on IBM Cloud

4 min read - New client specials: Get up to 50% off when you commit to a 1- or 3-year term contract on new VCF-as-a-Service offerings, plus an additional value of up to USD 200K in credits through 30 June 2025 when you migrate your VMware workloads to IBM Cloud®.1 Low starting prices: On-demand VCF-as-a-Service deployments begin under USD 200 per month.2 The IBM Cloud benefit: See the potential for a 201%3 return on investment (ROI) over 3 years with reduced downtime, cost and…

The history of the central processing unit (CPU)

10 min read - The central processing unit (CPU) is the computer’s brain. It handles the assignment and processing of tasks, in addition to functions that make a computer run. There’s no way to overstate the importance of the CPU to computing. Virtually all computer systems contain, at the least, some type of basic CPU. Regardless of whether they’re used in personal computers (PCs), laptops, tablets, smartphones or even in supercomputers whose output is so strong it must be measured in floating-point operations per…

IBM Newsletters

Get our newsletters and topic updates that deliver the latest thought leadership and insights on emerging trends.
Subscribe now More newsletters