Setting up a Kubernetes Cluster with Docker

1 hour
  • 3 Learning Objectives

About this Hands-on Lab

Docker works well for running single containers or small groups of containers on a single host. But what if you have more than a few containers, or want those containers to be spread across multiple servers, or even made highly available? For these scenarios, you’ll need a container orchestrator. Kubernetes is a popular container orchestration framework that easily works with Docker. In this lab, you’ll learn to set up a Kubernetes cluster with Docker.

Learning Objectives

Successfully complete this lab by achieving the following learning objectives:

Install Kubernetes

Inspect the Docker environment before you install Kubernetes, both to make sure it is installed, and to show what is currently running for comparison later.

  1. Add the Kubernetes yum repo to every host.
  2. Set SELinux to permissive mode.
  3. Install the Kubernetes utilities: kubelet, kubeadm, and kubectl.
  4. Enable the kubelet service.
Set up the Kubernetes Cluster

Inspect the Docker environment again. See what has changed.

  1. Create a cluster on the Controller node.
  2. Join the cluster on the Worker nodes.
  3. Add a network fabric to the cluster.
Test the Cluster

Inspect the Docker environment again. What is running now that wasn’t before?

  1. Create an Nginx pod and run it on the cluster.
  2. Create a NodePort service for the Nginx pod.
  3. View the Nginx pod in a browser.

Look at the Docker environment one more time. Notice that even though you started the pod with Kubernetes, it is running the containers using Docker. The worker node where the pod is running will have a container with a name that includes the name of your pod.

Additional Resources

Scenario

For the last six months, the Acme Anvil Corporation has been migrating some of their bare metal infrastructure to Docker containers. A schism has developed between the members of your team,on whether to use Docker Swarm,or Kubernetes.

To settle the dispute, your manager has decided to create a series of challenges. You have been tasked with helping to create the Kubernetes cluster. Create a Kubernetes cluster with 3 nodes on the provided CentOS servers, then create a pod,and service to test out the cluster.

Logging in to the lab environment

You have three servers. One will be your Controller node and the other two will be your Worker nodes. Log in to the servers using the credentials provided:

ssh cloud_user@<PUBLIC_IP_ADDRESS>

What are Hands-on Labs

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Sign In
Welcome Back!

Psst…this one if you’ve been moved to ACG!

Get Started
Who’s going to be learning?