这是用户在 2025-5-6 15:32 为 https://learn.datascientest.com/lesson/1429/4210 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?
COURSE

Kubernetes DevOps - Introduction

DIFFICULTY
Normal
APPROXIMATE TIME
30min
RELATED MACHINE
webshellOnline
54.217.32.212
Ubuntu Server 20.04 LTS
SSD Volume Type 64- bit x86
Online


Kubernetes


Educational Objective

At the end of this course, you will be able to design, deploy, and manage containerized applications using Kubernetes. You will master essential concepts such as scaling, configuration management, persistent storage, and deployment template management with HELM. This training is primarily aimed at DevOps engineers in training, as well as anyone wishing to gain an in-depth understanding of Kubernetes, its management, and application deployment through Kubernetes.

Targeted Skills :

  • Architecture and Concepts: Understand the key components of Kubernetes (nodes, pods, services, ingress) and their interaction within a cluster.

  • Application Deployment: Be able to create YAML manifests to deploy applications, configure services, and use deployment controllers.

  • Scalability Management: Implement automatic and manual scaling strategies to optimize application performance.

  • Persistent Storage: Configure persistent volumes and storage classes for the long-term management of application data.

  • Deployment Template Management with HELM: Implement practices for reusing configuration files for enterprise-level deployments within a Kubernetes environment.

Teaching Methods :

  • Theoretical Lessons: Presentations on advanced Kubernetes concepts.

  • Practical Workshops: Group exercises to deploy and manage applications.

  • Case Studies: Analysis of real-world scenarios to apply the acquired skills.

  • Assessments: Quizzes and practical projects to evaluate the understanding of the concepts.

I - Introduction to Kubernetes

Kubernetes, or k8s for short, is an open source orchestrator of containers. It is a derivative of the BORG tool developed by Google engineers. The latter has therefore entrusted the Kubernetes project to the Cloud Native Computing Foundation (a project of the Linux Foundation), which was founded in 2015 to help advance container technology.

Kubernetes solves many of the problems associated with running a microservices architecture in production. Kubernetes automatically handles scaling, self repair, load balancing, incremental updates and other tasks that were previously performed manually by DevOps engineers.

Watch this introductory video to Kubernetes module now

A - From Docker to Kubernetes

Docker and Kubernetes are complementary technologies. When Kubernetes orchestrates a new container deployment, it will ask Docker (or another container runtime) to launch the specified containers.

The main advantage of Kubernetes is that it will determine automatically how to schedule and distribute Pods (more on terminology shortly), rather than having a DevOps engineer manually ask Docker to perform these tasks.

In summary, Kubernetes is the orchestrator and Docker is the container runtime.

B - Kubernetes & Swarm

With Docker now natively supporting Kubernetes, the debate between Kubernetes and Docker Swarm has now largely been reduced. However, if we're starting from scratch, we might want to know how each of these container orchestration solutions differs and how they work with each other.

b.1 - Docker Swarm

Docker is best known for standardizing the container format, which has simplified the management of dependencies and binaries in many application environments. With git-like semantics, Docker images work intuitively and have come to influence the Cloud Native Computing Foundation (CNCF) and the Open Container Initiative (OCI).

As more and more members of the community adopted Docker, the need for a container orchestration solution naturally arose. Prior to the introduction of Docker Swarm, Mesos and Kubernetes were actually recommended by Docker as production container management solutions.

Since then, Docker has become more than just a Docker file format provider. A Docker hub, registry, cloud and other services have been added to become a true service platform. One of the main strengths of Docker Swarm is that if we're already using docker-compose files, it's very easy to configure and start using.

However, if we don't want to depend on the whole Docker suite of tools, then Docker Swarm isn't as interoperable as Kubernetes or Mesos.

b.2 - Kubernetes

No other company can match Google's vast experience in managing billions of containers. So when Google decided to donate Kubernetes, based on its proprietary tool called Borg, to the Cloud Native Computing Foundation (CNCF) in 2014, Kubernetes quickly became the standard interface for doing abstract underlying infrastructure.

Kubernetes' main strength is the burgeoning open source community led by Google, Red Hat and CoreOS. Kubernetes is one of the best open source projects on GitHub. The rich set of features provided by Kubernetes' core API, along with integrated tools, such as Helm, Istio and Spinnaker and many others, allow application developers to focus on the code rather than the infrastructure.

Kubernetes is one of the best open source projects on GitHub.

As Kubernetes was born out of Borg's desire to integrate containers and container runtimes (Docker, RKT, Podman) into its existing orchestration plans (as opposed to Docker Swarm, which drew on its experience as a container Docker to create an orchestration), Kubernetes' strategy is geared towards reliability and portability rather than the "zero to dev" as Docker Swarm is.

To date, Kubernetes is one of the main solutions enabling the federation of clusters and hybrid cloud models to avoid dependency on a Cloud Provider.

Very few businesses operate at the scale of Google, Netflix and Spotify, which use millions of containers. But even for smaller companies, as we grow the number of containers from a handful to dozens or hundreds of containers, the need for a container orchestrator becomes obvious.

Coupled with the continued rise of cloud computing, Kubernetes serves as a single interface through which to request data center resources. The tangible value of Kubernetes has manifested itself in cost savings for running production workloads on point machines while reducing the operational costs of dedicated DevOps resources.

Lesson done

Lesson finished?