|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/kubernetes-masterclass-for-application-developers/
课程评论:没有评论
课程名称:Kubernetes 大师班:应用开发者专门课程 课程概述: 本课程是一个在线资源,旨在帮助您从零开始学习 Kubernetes,通过实例讲解和可视化授课,让您的职业生涯更进一步。Kubernetes 是全球许多公司使用的平台,以其稳定性、多功能性和可扩展性著称。它是许多基于微服务的架构背后的引擎,支撑着数十亿美元的业务。 课程目标: 本课程的主要目标是教授 Kubernetes 的基础知识,涵盖 Pods、ReplicaSets、Deployments、Services、Ingresses、ConfigMaps、Secrets、PersistentVolumes 等重要资源。此外,您还将在课程中学习如何适应新的配置,因为 Kubernetes 是一个不断发展的平台,扎实的基础将使您能够学习新的资源并构建新的 Kubernetes 部署。 课程内容: 1. **介绍** - 本章简要介绍课程范围及学习方法。 2. **容器基础回顾** - 复习 Docker 容器的创建、上传与连接。 3. **Kubernetes 基本概念** - 了解集群设置、Pod 对象及其生命周期、命名空间。 4. **Kubernetes 实操第一步** - 安装 minikube,使用 kubectl 创建第一个 Pod。 5. **Pod 生命周期管理** - 掌握 Pod 生命周期,包括初始化容器、探针、钩子等。 6. **通过服务访问 Pods** - 学习服务资源及其工作原理。 7. **通过 Ingress 访问 Pods** - 理解 Ingress 资源的作用与配置策略。 8. **通过 ReplicaSets 和 Deployments 管理多个 Pods** - 学习这两个资源的管理功能。 9. **在 Kubernetes 中运行批处理工作流** - 探索 Job 和 CronJob 资源。 10. **Kubernetes 中的配置与秘密管理** - 锲入 ConfigMap 和 Secret,了解管理最佳实践。 11. **Kubernetes 存储管理** - 学习 PersistentVolume 和 PersistentVolumeClaim 的作用。 12. **在 AWS Elastic Kubernetes Service 中部署应用** - 学习如何在 AWS 的 Kubernetes 集群中部署应用。 课程要求: - 能够运行 minikube 的本地系统(至少 2 个 CPU、2 GB 内存和 20 GB 存储空间)。 - 强烈的学习 Kubernetes 的愿望。 感谢您花时间阅读此课程描述,期待能在第一节课上见到您!
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!