- Lab
- A Cloud Guru
Build and Use a Kubernetes Cluster from Scratch
In this lab, you have been provided two servers. You will install and configure Kubernetes and configure it to use containerd for container management. You will need to initialize a Kubernetes cluster, add a network plugin, and add a Node to the cluster. Then, you will need to create a deployment file that starts three replicas of an Nginx image. Once you're done, there is a provided script called `check-tasks.sh` that can be used to check that all tasks have been completed.
Path Info
Table of Contents
-
Challenge
Log In to the Provided Servers
Log in to the servers as
cloud_user
with the provided passwords to ensure you can log in. When the fileSERVER-READY
is shown in the/home/cloud_user
folder for both servers, you can follow along with the tasks. -
Challenge
Install Kubernetes and containerd and Create a Cluster
-
Your task for this objective is to install the Kubernetes repository, and then install Kubernetes.
-
You will use whatever system commands are required.
-
The repository file should be called
/etc/yum.repos.d/kubernetes.repo
. -
The contents of the repo should be:
[kubernetes] name=Kubernetes baseurl=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/ enabled=1 gpgcheck=1 gpgkey=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/repodata/repomd.xml.key
-
Next, install the three kubernetes programs.
-
Access the containerd repo.
-
You should replace the
config.toml
with a new default containerd configuration. -
Using the required commands, enable and start containerd. Be sure to configure containerd to start automatically on a reboot.
-
Next, enable and start the kubelet. Be sure to configure the kubelet to start automatically on a reboot.
-
Use the relevant command to initialize the cluster. The network you should use is
172.16.0.0/16
. -
To set up your user, you will need to use the information output from the
kubeadm init
command that was run previously. -
Apply the Calico network plugin.
-
-
Challenge
Add the Worker Node to the Cluster
-
Add your worker Node to the cluster. You will need to use the information output from the
kubeadm init
command that was run previously. -
Use the
kubectl get nodes
command to test that the worker Node has been added.
-
-
Challenge
Create a Deployment File That Starts Three Replicas
You will create a deployment file called
deployment-nginx.yml
that starts three replicas, runs the Nginx image, and uses port8080
for its output. -
Challenge
Check That the Deployment Started the Three Replicas
-
Using
kubectl
, create the deployment and check that the three replicas have started. -
You can use a script in the home folder called
check-tasks.sh
to check that you have completed the tasks for this lab.
-
What's a lab?
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.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.