Introducing a Global View of Resources in IBM Cloud Kubernetes Service

By: Jennifer Mulsow

Introducing a new global endpoint for viewing and interacting with IBM Cloud Kubernetes Service resources

We are excited to introduce a global view of your IBM Cloud Kubernetes Service resources. Previously, your IBM Cloud resources were organized into regions—regions are a conceptual tool to organize zones (data centers) and can include zones in different countries and geographies. Now, you can globally view and interact with IBM Cloud Kubernetes Service resources without targeting a region. This gives you a complete view of your resources and eliminates the need to switch regions to interact with clusters. As an added bonus, the results of listing clusters and getting cluster details now return more quickly under the global view. By default, both the IBM Cloud console and the IBM Cloud Kubernetes Service command line plug-in on version 0.3.8 and later support the global endpoint.

Global view in the IBM Cloud console

The clusters view now displays clusters from all locations by default. To see a narrower view, filter the cluster list output by metros or data centers in the Location drop-down list:

Introducing a Global View of Resources in IBM Cloud Kubernetes Service-1

Before you try it out in the command line

Install the IBM Cloud Kubernetes Service command line plugin version 0.3.8 or later. You can view the changelog to see the IBM Cloud Kubernetes Service command line plugin version history.

Log in to the IBM Cloud global API endpoint and target the resource group that your cluster is in:

$ ibmcloud login

When you log in to the IBM Cloud (ibmcloud) command line, you are prompted to select a region. However, IBM Cloud Kubernetes Service plugin (ibmcloud ks) does not use this region. Note that if you want to interact with a cluster in a non-default resource group, you still need to target that resource group.

By default, you are initialized to the global IBM Cloud Kubernetes Service endpoint, https://containers.cloud.ibm.com.

Listing clusters

When you list clusters using the ibmcloud ks clusters command, you can see clusters in all locations. To filter the cluster list, pass a comma-separated list of locations in the --locations flag. You can filter by data center, metro, country, or geography. For example, a cluster with a worker node in dal10 will be returned when you filter by dal10, dal, us, or na. See below for more examples of filtering on the ibmcloud ks clusters command:

Introducing a Global View of Resources in IBM Cloud Kubernetes Service-2

To see a list of supported locations to filter by, run ibmcloud ks supported-locations.

Working with resources

When you use the global endpoint, you can work with resources that you have access to in any location. This is true even if you target a region and the resource that you want to work with is in another region.

A note on cluster names

You might have clusters with the same name in different regions. When you interact with a cluster, you can either use a cluster ID or cluster name. If the global endpoint detects a name conflict for the cluster name, you will need to try the action against the cluster again by passing in the cluster ID. If you set a region with the ibmcloud ks region-set command, the global endpoint will use the targeted region to resolve conflicts with the cluster name that you pass in.

Command exceptions to global endpoint

The following IBM Cloud Kubernetes Service commands are not supported with the global endpoint: credential-set/unset/get, api-key-info/reset, and vlan-spanning-get. To run these commands, use the --region flag or use legacy behavior by initializing against a regional endpoint.

Legacy behavior

If you must list and work with resources from one region only, you can use the ibmcloud ks init command to target a regional endpoint. For example, to target the US South regional endpoint:

$ ibmcloud ks init --host https://us-south.containers.cloud.ibm.com

To use the global functionality, you can use the ibmcloud ks init command again to target the global endpoint. To target the global endpoint again:

$ ibmcloud ks init --host https://containers.cloud.ibm.com

Using the APIs

You will need to switch to the new global API routes to take advantage of the new global functionality. See the API specification for more information.

More details

More information can be found in our documentation and the global endpoint API specification

Contact us

If you have questions, engage our team via Slack by registering here and join the discussion in the #general channel on our public IBM Cloud Kubernetes Service Slack.

Be the first to hear about news, product updates, and innovation from IBM Cloud