Kubernetes开发者大师班
发布于2024年5月
由Cosmin Ionita制作
MP4 | 视频: h264, 1280×720 | 音频: AAC, 44.1 KHz, 2声道
类型: 电子学习 | 语言: 英语 | 时长: 49讲 (7小时38分钟) | 大小: 7.54 GB
通过完整的逐步实践课程,提升您的技能,学习Kubernetes
您将学习到的内容
- 了解Kubernetes在集群设置中的操作方式
- 学习任何Kubernetes部署中最重要的Kubernetes资源
- 能够调试在Kubernetes中运行的应用程序
- 设计和实现一个新的应用程序的Kubernetes设置
- 在AWS中创建并访问Kubernetes集群
- 理解在Kubernetes中管理秘密的最佳实践
- 学习配置Kubernetes中的部署策略以实现零停机发布
要求
- 一台能够运行minikube的本地系统,至少2个CPU,2GB的空闲内存和20GB的空闲磁盘空间
- 建议熟悉命令行,因为我们将在整个课程中使用终端
课程描述
介绍
本课程是提升您职业技能的最佳在线资源,通过动手和视觉讲座,从头开始学习Kubernetes。Kubernetes因其稳定性、灵活性和可扩展性被世界各地的许多公司广泛使用。它是许多基于微服务架构的引擎,为数十亿美元的企业提供支持。
本课程的目标是教授您Kubernetes的核心内容,这些内容包括任何Kubernetes应用设置中都能找到的最基本的Kubernetes资源:Pods、ReplicaSets、Deployments、Services、Ingresses、ConfigMaps、Secrets、PersistentVolumes等。此外,您还将学习如何发现和适应新的配置,因为Kubernetes是一个不断发展的平台,拥有扎实的基础将使您能够适应并学习新的资源,未来构建新的Kubernetes部署。
关于我
我是一名资深软件工程师,在该领域拥有超过10年的经验,目前在大型科技公司工作。我的专业领域包括使用基于JVM的技术设计、实现和发展大数据和低延迟系统。我深入参与构建使用容器编排框架(如Kubernetes)的部署策略,以及改进开发过程和系统稳定性的CI/CD工作流程和测试策略。
我为什么创建这门课程?
Kubernetes是一个非常复杂的平台,如果没有一个明确的学习路径,学习起来会非常困难。我见过很多人在以下问题上苦苦挣扎:
- 为什么我的pod崩溃了?发生了什么?
- 为什么我的应用程序没有接收到任何请求?
- 为什么我的数据在我的pod写入后丢失了?
- 我应该使用什么资源来实现这个(特定的)功能?
这些问题通常揭示了一些Kubernetes的基础知识没有被正确理解,调试这些问题并找出问题所在可能需要几个小时甚至几天的时间。因此,我决定创建一门课程,通过自下而上的方法解释所有这些概念,这意味着概念是以最简单的形式解释的,然后在此基础上构建其他内容。
Kubernetes Masterclass for Application Developers
Published 5/2024
Created by Cosmin Ionita
MP4 | Video: h264, 1280×720 | Audio: AAC, 44.1 KHz, 2 Ch
Genre: eLearning | Language: English | Duration: 49 Lectures ( 7h 38m ) | Size: 7.54 GB
Upgrade your skillset by learning Kubernetes with a complete, step-by-step, hands-on course
What you’ll learn:
Understand how Kubernetes operates in a cluster-setup
Learn about the most important Kubernetes resources which can be found in any Kubernetes deployment
Be able to debug an application that runs in Kubernetes
Design and implement a Kubernetes setup for a new application
Create and access a Kubernetes cluster in AWS
Understand the best practices for secret management in Kubernetes
Learn to configure rollout strategies in Kubernetes to enable zero-downtime releases
Requirements:
A local system capable of running minikube, so at least 2 CPUs, 2GB of free memory and 20GB of free disk space
Familiarity with command line is recommended since we’re going to use the terminal throughout the course
Description:
IntroThis course is the best online resource you need to level up your career by learning Kubernetes from scratch, through hands-on and visual lectures. Kubernetes is widely used by lots of companies around the world for its stability, versatility and extensibility. It’s the engine behind many microservices-based architectures and it powers businesses of billions of dollars.The goal of this course is to teach you the backbone of Kubernetes, which consists of the most essential Kubernetes resources which can be found in any application setup deployed with Kubernetes: Pods, ReplicaSets, Deployments, Services, Ingresses, ConfigMaps, Secrets, PersistentVolumes, and many others. In addition, you’ll learn how to discover and adapt to new configurations, because Kubernetes is a platform in active development, so having a strong foundation will make you adaptable enough to learn new resources and build new Kubernetes deployments in the future.About myselfI’m a Senior Software Engineer, with over 10 years of experience in the field, currently working in big tech. My expertise revolves around designing, implementing and evolving Big Data and low-latency systems using JVM-based technologies. I’m heavily involved in building deployment strategies using container-orchestration frameworks (like Kubernetes), but also CI/CD workflows and testing strategies that improve the development process and system stability.Why I built this course?Kubernetes is a very complex platform if you try to learn it without a properly defined trajectory. I’ve seen many people struggling with things like:Why is my pod crashing? What’s happening?Why isn’t my application receiving any requests?Why is my data lost after my pod wrote it?What resource should I use to achieve this (particular) functionality?Those questions usually uncover some Kubernetes fundamentals that were not properly understood, and it may take hours or even days to debug such issues and figure out what’s the problem.For that reason I decided to create a course that explains all those concepts using a bottom-up approach, meaning that concepts are explained using their simplest form, and then everything else is built on top of that. What is the content of this course?This course is split into multiple chapters, each one exposing a configuration area of Kubernetes:Chapter 1 – IntroductionIn this chapter, we make a short introduction to this course by double-clicking on its scope, and most importantly, how you should follow it so you can get the maximum value out of it.This is an important chapter since it sets the ground for the upcoming lectures.Chapter 2 – A short recap about ContainersThis chapter contains a short recap on Docker containers, specifically about the way you can create a Docker image and how to upload it into a remote Docker repository, as well as connecting 2 containers together and passing data between them through a volume.The last lecture makes a short introduction into Docker Compose, which is a compact way of managing multiple containers together.Chapter 3 – General Kubernetes ConceptsWe start this amazing journey of learning Kubernetes by visually understanding the main concepts behind it: the cluster setup, the Pod object and its lifecycle and also namespaces.This is a fundamental chapter which sets the ground for the next chapters.Chapter 4 – Your first hands-on steps in KubernetesIn this chapter you’re going install minikube, which is the tool we’re going to use throughout this course to play with KubernetesWe’re going to introduce the kubectl command line utility that is the bread and butter of Kubernetes, with this command we’re going to do pretty much everything in this courseIn this chapter you’re going to create your first Pod in Kubernetes!Chapter 5 – Learning about the Pod Lifecycle ManagementThis chapter covers the Pod Lifecycle, which involves init containers, readiness & liveness probes as well as post-start and pre-stop hooksThose are essential configurations for making sure that Kubernetes perceives your application as up & runningIn this chapter you’re going to deploy your first API in KubernetesChapter 6 – Getting access to Pods through ServicesThis chapter covers the Service resource in Kubernetes, which is essentially a network-level configuration that enables access and load balancing to your podsWe’re going to learn about multiple types of services, how they work, and what are the main differences between themChapter 7 – Getting access to Pods through an IngressIn this chapter we’re going to play with an Ingress resource, which is responsible for routing traffic to different services, using configurable routing strategies.You’re going to learn about ingress controllers and the main differences between an ingress and a serviceChapter 8 – Managing multiple pods in Kubernetes through ReplicaSets and DeploymentsWe finally reached the chapter where we learn about Deployments and ReplicaSets, which are resources that manage multiple pods in a resilient mannerBoth those resources ensure that a pre-configured number of replicas is up and running at any given timeYou’re going to learn about rollout strategies as well using the Deployment resourceChapter 9 – Running Batch workflows in KubernetesThis chapter covers batch workflows in Kubernetes, and we’re going to learn about the Job and CronJob resources, which map on a lot of use-cases.We’re going to understand how they work and their most important configurationsChapter 10 – Configuration and Secret Management in KubernetesIn this chapter we’re going to cover the ConfigMap and Secret resources, that enable app developers to provide live-changing configurations and secrets to their applications.You’re going to learn also best practices for secret management in Kubernetes, using the Vault operator.Chapter 11 – Managing Storage in KubernetesThis chapter covers stateful workloads in Kubernetes, by exploring the PersistentVolume and PersistentVolumeClaim resourcesYou’re going to learn the role of those 2 resources and how they abstract the access to different cloud-storage solutionsFinally, we’re going to learn about the StatefulSet resource, which enables database deployments (and other stateful workloads) in Kubernetes by guaranteeing pod uniqueness.Chapter 12 – Deploying your app in AWS Elastic Kubernetes ServiceIn this last chapter, we’re going to deploy our application in a Kubernetes cluster that we create in AWS using Elastic Kubernetes ServiceYou’re going to learn about EKS, IAM, EC2 and other AWS services, while we configure kubectl access to our EKS clusterYou’re going to learn how to access your application using a network load balancer and also an application load balancerWhat are the requirements for this course?A local system capable of running minikube, so at least 2 CPUs, 2GB of free memory and 20GB of free disk spaceA strong desire to learn Kubernetes!Thank you for taking the time to look through this description and I’m looking forward to see you in the first lecture!
扫码免费下载