Kubernetes in any Cloud with Kubernetes Sandbox

Javier J. Salmerón

Javier J. Salmerón

Share this article

Kubernetes is the leading open-source orchestration system that allows you to automatically deploy, scale and orchestrate containerized applications. It has become the de-facto standard in the industry, and one of the top trending Golang projects. However, creating a production-like Kubernetes cluster in any cloud (especially for testing and learning) can be a daunting task, as you need to install and configure several modules.

Bitnami Kubernetes Sandbox is a single-node Kubernetes cluster virtual machine. Compared to existing solutions, it ships all the essential components (volume provisioning, performance metrics, dashboards, ingress…) you would expect in a production-like Kubernetes cluster. Since it is always kept up-to-date with the latest releases, you can also explore new features that you might want to leverage in the future for your production cluster (for instance the Dynamic Kubelet Reconfiguration). So, it is a great way to learn, set-up a development environment, explore new features or even become a certified administrator. In this blog post, we will explore in more detail how you can make use of it and why we, at Bitnami, have decided to invest in developing it.

Testing Kubernetes locally is great - But it’s not always enough!

If you are new to Kubernetes, a great way to get started is to use Minikube locally on your laptop. This solution installs a virtual machine with an all-in-one Kubernetes cluster ready to work. While it is very simple to use, it has some disadvantages:

  • This VM can take a high toll on your local laptop.
  • You might have corporate policies that do not allow you to install any random software in your PC.
  • It is not directly based on vanilla Kubernetes, but on an all-in-one solution called localkube. This makes it difficult to tweak, experiment and study the different modules in a Kubernetes cluster (kubelet, kube-controller, kube-scheduler).
  • The containerized applications in a Minikube cluster cannot be externally accessible from other machines, only from your local laptop.

Due to those reasons, Bitnami's Kubernetes Sandbox is a great option compared to local VM solutions like Minikube or Tectonic Sandbox. It runs in a small cloud instance that you can launch and manage through our Bitnami Launchpad in AWS, Google Cloud and Oracle Cloud. You can connect to it, play with it and shut it down when you are done.

In addition, you don't have to worry about the dreaded "Empty Cluster Syndrome". You can easily use Helm, the Kubernetes package manager, already shipped and set-up in Kubernetes Sandbox to quickly deploy applications. Follow our documentation to deploy a sample application (for example, Ghost) with two simple commands:

$ helm init
$ helm install stable/ghost

Watch this demo to see how easy it is to deploy applications using Kubernetes Sandbox:

With Kubernetes Sandbox you can also learn all about the main Kubernetes API objects (deployment, pods, services, volumes, ingress rules…), as well as about all its architecture modules in a single VM.

Need a Kubernetes development environment in the cloud?

You might already be running Kubernetes in production and you find yourself in need of a simple and low-cost development environment. Perhaps, you have explored Minikube, but you find it hard to integrate with incoming requests from external services. For example, how do you proxy requests from a mobile client that uses an API exposed by your cluster?

Bitnami Kubernetes Sandbox provides you with a true production-like environment inside a small cloud instance. We created it using the recommended installation process with kubeadm (an automated Kubernetes cluster creation tool), but added other essential modules that are not installed by default:

  • Nginx-based Ingress controller: It allows you to route your Kubernetes services using a web server in port 80. So, if you would like to set up and test ingress rules with TLS termination, basic http auth,… you can quickly get going.
  • Kubernetes Dashboard: Web user interface for performing basic cluster operations. We made it externally available by default, but added basic authentication in order to secure it.
  • Heapster and Grafana: Performance monitoring and visualization tools. This is an essential part of a cluster management.
  • Tiller: Server that performs Helm operations. We already set up the basic RBAC rules in order to work without issues.
  • Dynamic local volume provisioning: PersistentLocalVolumes is a popular alpha feature disabled by default. We configured the kubernetes dynamic local volume provisioner from the Kubernetes Incubator. This allows you to create PersistentVolumeClaims and have persistent storage assigned to your deployments. This is especially important in order to get rid of the tedious "Pending state" when deploying a Helm chart.

In addition, we simplified the cloud user experience by opening the whole NodePort range. So, please remember: don't put your production keys in it!

Want to become Kubernetes certified?

Bitnami Kubernetes Sandbox has been designed by our own certified Kubernetes experts. Thanks to its production-like configuration and components, it gives you the perfect opportunity to tinker with core concepts but also advanced ones like node set-up, RBAC rules, Pod Security Policies, add new nodes to your cluster… This will help you to develop the skills you need to become a Kubernetes Certified Administrator. We’d love to hear from you. Post your comments here.

We hope that you will enjoy our Kubernetes Sandbox. Try it now.

Want to reach the next level in Kubernetes?

Contact us for a Kubernetes Training