Kubernetes Module Series I: Introduction to Kubernetes - Ulises Fierro
module-name: "Kubernetes Part 1"
area: "Core Technologies"
maintainers:
- ckaburu
Overview
This is a prerequisite to other Kubernetes modules in the series. Remember to contribute to any documentation that needs updating.
Goal: Set a clear path for start of your Kubernetes journey.
Length: <estimate # of hours, use single number or range>
Objectives: At the end of this module, you should be able to:
- Be familiar with k8s nomanclature, so that you can understand which components customers are referring to in tickets.
- Spin up and navigate a basic k8s cluster. Understand the output of basic commands, such as get and describe for services, pods, nodes, etc.
Stage 0: Create and commit to the module
-
Create an issue using this template by making the Issue Title: Kubernetes Module Series I: Introduction to Kubernetes - -
Add yourself and your trainer as the assignees. -
Notify your manager to let them know you've started. -
Commit to this by notifying the current experts that they can start routing non-technical Kubernetes questions to you. -
Optional: Set a milestone, if applicable, and a due date to help motivate yourself! -
Get Invited to a recurrent Calendar event or create one in your region if none exists yet, to pair and learn together.
Stage 1: Background Knowledge
This stage is meant to provide your with detailed background knowledge to get you started.
-
Follow Tutorial: Kubernetes Basics -
Read Kubernetes Concepts -
Study the Kubernetes Cheatsheet -
Helm QuickStart -
Introduction to k3s - Try K3sup a light-weight utility to get from zero to KUBECONFIG with k3s on any local or remote VM.
-
Learn about Octant Octant is an open source developer-centric web interface for Kubernetes that lets you inspect a Kubernetes cluster and its applications. Extremely helpful while you're learning. -
TroubleShooting Kubernetes
Stage 2: Hands-on Exercises
These exercises are meant to give hands-on experience. They can be accessed by signing-up to O'Reilly platform with your personal email (gitlab domain emails will redirect to sign-in with Okta, and fail with "You're not assigned to this application" ). Monthly subscription cost is reimbursable as per this issue.
Basics
-
Launch a Single-node Kubernetes Cluster using Minikube -
Deploy containers using kubectl -
Deploy Containers using YAML -
Getting Started with Kubeadm -
Helm Package Manager
Intermediate
-
Networking in Kubernetes -
Ingress Routing -
Running Stateful Services with Kubernetes (Storage) -
Managing Secrets -
Troubleshooting Kubernetes Applications
Advanced
Stage 3: Projects
-
Google Cloud: Set up a Cluster using gcloud command tool; you have access to a Google Cloud project via gitlabsandbox. Related questions can be directed to #sandbox-cloud-questions
slack channel.In the Comments, provide the following:
- The
gcloud
command used to create the cluster - Dump current cluster state
- The
-
Create a cluster using eksctl
with Cluster Autoscaling enabled In the comments, provide the following:- The command used to create the cluster
- The output after the cluster is created
- A tail of the Cluster AutoScaler logs
-
Deploy a sample application to a Cluster, with a Persistent Disk and Service using a YAML file In the Comments, provide the following: - Content of the YAML file used
- Describe the Pod, Deployment and Service created
Stage 4: Pairing Sessions
-
The essence of this pairing sessions is to learn together with other team members while solving customer tickets. You are required to mention 5 pairing sessions you participated and your key take aways from the sessions in the comments area below. (Tick when you have 5) -
https://gitlab.com/gitlab-com/support/support-pairing/-/issues/10253 -
https://gitlab.com/gitlab-com/support/support-pairing/-/issues/10153 -
https://gitlab.com/gitlab-com/support/support-pairing/-/issues/9861 -
__ -
__
Stage 5: Quiz?
Need link to Quiz here
-
Quiz answers were checked by a Kubernetes expert (insert name here), who said you passed.
Penultimate stage: Review
Any updates or improvements needed? If there are any dead links, out of date or inaccurate content, missing content whether in this module or in other documentation, list it below as tasks for yourself! Once ready, have a maintainer or manager review.
-
Update ...
Final stage: Completion
-
Have your trainer review your tickets and assessment. If you do not have a trainer, ask an expert to review. -
Manager: schedule a call (or integrate into 1:1) to review how the module went. -
Submit a MR to update modules
andknowledge_areas
in the Support Team yaml file with this training module's topic. You will now be listed as Kubernetes Expert on Skills by Person page. -
Discuss taking the CKA Examination with your manager and Pass the Exam.