Building Your First Certified Kubernetes Cluster On-Premises, Part 1

December 8, 2025 · 763 words · 4 min

There are now a number of options for running certified Kubernetes in the cloud. But let’s say you’r

There are now a number of options for running certified Kubernetes in the cloud. But let’s say you’re looking to adopt and operationalize Kubernetes for production workloads on-premises. What then? For an on-premises certified Kubernetes distribution, you need an enterprise container platform that allows you to leverage your existing team and processes.  At DockerCon 2019, Docker announced the (DKS). It is a certified Kubernetes distribution that is included with Docker Enterprise 3.0 and is designed to solve this fundamental challenge. In this blog series, I’ll explain Kubernetes support and capabilities under Docker Enterprise 3.0, covering these topics: DKS is the only offering that integrates Kubernetes from the developer desktop to production servers, with ‘sensible secure defaults’ out-of-the-box. Simply put, DKS makes Kubernetes easy to use and more secure for the entire organization. Here are three things that DKS does to simplify and accelerate Kubernetes adoption for the enterprise: DKS is compatible with Kubernetes YAML, Helm charts, and the Docker Compose tool for creating multi-container applications. It also provides an automated way to install and configure Kubernetes applications across hybrid and multi-cloud deployments. Capabilities include security, access control, and lifecycle management. Additionally, it uses Docker Swarm Mode to orchestrate Docker containers. Docker Enterprise 3.0 comes with the following components: In this first post of the series, I will show you how to deploy a Certified Kubernetes cluster using Docker Enterprise 3.0 on bare metal (meaning you can deploy on-premises). Now you’re ready to start installing Docker Enterprise and Kubernetes. Let’s get started. Replace with the URL you noted down in the prerequisites. Replace too. To try something more ambitious, you can run an Ubuntu container with: Share images, automate workflows, and more with a free Docker ID by . For more examples and ideas, visit the . Now you should be able to access Docker Universal Control Plane via Click on “Sign In” and upload the license file to access Docker Enterprise UCP 3.2.0 WebUI as shown below: Let’s add worker nodes to the cluster. Click on “Shared Resources” on the left pane and Click on “Nodes”. Select “Add Nodes” and choose an orchestrator. You can also add either Linux or Windows nodes to the cluster here as shown below: I assume that you have a worker node installed with Ubuntu 18.04 and the latest Docker binaries (it can be either the free version of Docker Engine or Docker Enterprise). By now, you should be able to see both manager node and 1 worker node added under UCP. If you see a warning on the UCP dashboard stating that you have a similar hostname on both the manager and worker node, change the hostname on the worker node and it will automatically get updated on UCP dashboard. Click on Dashboard and scroll down to see the Docker CLI option. This option allows you to download a client bundle to create and manage services using the Docker CLI client. Once you click, you will be able to find a new window as shown below: Click on “user profile page” and it should redirect you to page as seen in the below screenshot: Click on “Generate Client Bundle” and it will download The env script updates the and environment variables to make the Docker CLI client interact with UCP and use the client certificates you downloaded. From now on, when you use the Docker CLI client, it includes your user specific client certificates as part of the request to UCP. Once you have the Kubernetes version, install the kubectl client for the relevant operating system. As shown below, we need to install Kubectl version 1.14.3: Let’s try out deploying MySQL using HelmPack. The command lists all of the releases. By default, it lists only releases that are deployed or failed. Flags like and will alter this behavior. Such flags can be combined: . By default, items are sorted alphabetically. Use the flag to sort by release date. With DKS, you can use Helm flawlessly with UCP under Docker Enterprise 3.0. Now you have Kubernetes running on-premises. You can do a lot from here, and I’ll cover some possibilities in the rest of this series. You may also want to experiment with designing your first application in Kubernetes. Bill Mills from the Docker training team wrote a great blog series recently covering just that. I highly recommend checking it out . Have a look at these resources if you’re looking to learn more about Docker Enterprise 3.0 and Kubernetes: