Kube Experience: Managing Multicloud & Multicluster Resources

This is the first part of a series on simplifying the Kubernetes experience. There are a lot of tools out there that help you manage your Kubernetes clusters, including the Kubernetes Dashboard, kubectl, hosted cloud solutions, and many, many more. Until recently, none of them let you manage resources across multiple clusters or clouds.

In fact, one of the most important feature requests for Kubernetes Dashboard is the ability to see resources from multiple clusters in one place.

Managing one Kubernetes cluster is not trivial, and trying to do the same across multiple clusters on multiple clouds becomes exponentially more difficult. Not only do you need to monitor your cluster & node status, you will also want to keep tabs on how all of your applications, or workloads, are performing. If an unknown issue were to arise with your application, you would have to deep dive into each cluster, losing valuable time trouble-shooting the actual problem.

Using kubectl

In the current state, to manage multiple clusters the most common way is using kubectl commands across multiple kube-configs. This requires you to have an in-depth knowledge of the CLI, and even then it doesn’t give a clear view of all the resources that are running in your clusters.

1. View all clusters with $ kubectl config get-contexts

2. Select your first cluster using $ kubectl config use-context <my-cluster-name>

3. Type in $ kubectl get all -n <my-namespace> | <my-resource-name>

4. Use $ kubectl describe <my-resource-name> to view the resource details to ensure it's the one you are looking for

5. Finally if you found the correct resource you can enter $ kubectl edit <my-resource-name> to make all of your changes

Now when you extrapolate that to hundreds of resources across multiple clusters, it can get really overwhelming fast.

Using Containership

With Containership’s latest release you get a full view into all resources running on all of your clusters. You simply need to attach a cluster or provision one using CKE, and you can quickly view everything that’s running on that cluster. This includes the cluster itself, all the nodes within it, and all resources that are running on it.

On any Kubernetes cluster you have kube-system resources. Additionally, clusters provisioned with CKE will have the containership-core components. To help you navigate through all of the resources we have categorized them into top-level categories so they can be easily sorted and scanned.

These categories are:

Workloads: Pods, Jobs, Cron Jobs, Replica Sets, Replication Controllers, Daemon Sets, & Deployments

Networking: Services, Endpoints, & Ingresses

Configuration: Config Maps & Secrets

Storage: Stateful Sets, Volume Claims, Persistent Volumes, and Persistent Volume Claims

Security: Role Bindings and Cluster Role Bindings

Other: Custom Resource Definitions and any resource type not mentioned above

You can learn more about the different resources from the official Kubernetes API reference documentation.

Our dashboard allows you to deep-dive into your resources across all of these categories, and enables you to sort and filter based on your needs.

Advanced Filtering

By utilizing our filters, you can view resources based on their status, the total resources requested, the creator, and so much more. One use case may be quickly filtering all resources that have a failing status to see what is causing your errors. You can also share the segmented resource list with your teammates by simply copying & pasting the URL.

Search

You can now search across all of your resources using our fuzzy search functionality. This will enable you to quickly scan and find your resources without having to dive into each cluster individually or navigate through hundreds or thousands of resources that you have running.

Multi-Resource Actions

These bulk actions allow you to make bulk changes on their cluster, whether you want to delete multiple workloads, or add labels to numerous resources, you can do it all from one centralized location saving them the time & effort of doing it multiple times.

Additional Features

You can also add numerous columns to the table and customize the view to make the most sense for your needs. You can sort by creator, creation date, type, and numerous other options. You can also share your current view simply by copying + pasting the URL to your teammate.

You no longer have to go on a wild goose chase to find specific resources. Nor will you have to switch contexts every time you need to make an update. This is only the beginning of the table view, and there is a lot more planned when it comes to enabling you to do complex actions all while simplifying the overall UI/UX to make navigating simpler.

What’s Next

This is the first part in an ongoing series, where we will be going over how we at Containership are trying to make Kubernetes more accessible. We believe the future is multicloud and we are trying our best to enable users to manage their entire infrastructure in the easiest and most intuitive way possible.

I would love to hear your feedback regarding the updates. So if you haven't tried it out yet, please sign up, it's free! A few other topics we will be diving into are simplifying cluster creation, monitoring, generating workloads, and more. If you have any topics that you would like to discuss more or learn more about, please let me know.

Show Comments