|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/hands-on-introduction-to-kubernetes/
课程评论:没有评论
课程名称:Kubernetes 实践入门 课程概述: 本课程旨在提供对 Kubernetes 技术的基础介绍,包括其架构、内部机制、部署和测试。课程结束时,参与者将对该技术有良好的理解,能够将其应用迁移到 Kubernetes,并评估 Kubernetes 发行版和 CNI 插件,评估 Kubernetes 生态系统中的工具。 基础设施要求: 参与者需要有 Google Cloud 上的 Ubuntu 18.04 虚拟机,并提供以下详细配置: - 每位参与者:2 核心 / 7.5 GB / 100 GB(11台) - 3 核心 / 3.75GB / 100GB(3台) - 需要互联网访问 - 创建容器注册表账户(如 quay.io)用于存储容器镜像 - 参与者需在 Google Cloud Platform 上创建账户(需要信用卡),并配置虚拟机。Google Cloud Platform 提供免费计划供参与者探索。 课程结构: 课程分为 16 个模块,包含讲座视频和实际练习,总预计学习时间为 32 小时。课程开始于对容器和容器镜像的讲解,这对于理解 Kubernetes 至关重要。课程涵盖虚拟化、命名空间、cgroups、容器运行时、覆盖文件系统和容器文件系统等内容。 接下来,我们将在 Google Cloud 平台上使用 kubeadm 安装 Kubernetes 集群,并探索 Kubernetes 的计算和存储资源——Pods 和 Volumes。课程深入探讨 Kubernetes 的架构,涵盖 etcd、API 服务器、调度程序等。随后,我们深入了解网络内部机制,并讨论 Calico CNI 插件的工作原理。 课程接着讨论以 Pods、Volumes 和 Services 为构建块的高级 Kubernetes 对象,包括 Deployments、StatefulSets、DaemonSets、ConfigMaps 和 Probes。我们将在 Kubernetes 上安装一个使用 Django 和 Postgres 的示例 web 应用,以展示前面讨论的各种 Kubernetes 资源。 接下来,课程讨论用于外部客户访问应用的 Ingress 和负载均衡器,并介绍 Helm 打包。我们也将审视身份认证、授权和入境控制,这些都是应用部署的重要方面。课程还涵盖网络策略和服务网格(Istio),它们帮助提供平台无关的防火墙规则和管理微服务复杂性的工具。 之后,我们将了解监控和日志记录,这对 DevOps 至关重要。接下来,我们介绍开发工具,如 Skaffold,以加速代码、测试和调试的循环。最后,课程总结,介绍操作员和 GitOps 供进一步阅读。 非目标: 课程中不包含对其他 Kubernetes 安装工具(如 kops)或 Kubernetes 发行版(云或本地)的描述。
ObjectiveProvides an introduction to Kubernetes technology - architecture, internals, deployment, and testing. At the end of the course, participants would have a good understanding of the technology, and would be able to Transition their applications to KubernetesEvaluate Kubernetes distributions, CNI pluginsEvaluate tools in the Kubernetes ecosystemAll concepts are reinforced with hands-on exercises.Infrastructure RequirementsGoogle Cloud based VMs (ubuntu 18.04) for each participant2core/7.5 GB/100 GB - Nos: 11core/3.75GB/100GB - Nos: 3Internet Access for the VMsAccount created on container registry such as quay io for storing container imagesParticipants need to take an account in the Google Cloud Platform (credit card needed), and provision the VMs. The Google cloud platform has a free plan which the participants can explore. Course StructureThe course is structured as 16 modules with lecture videos and exercises, and the estimated completion time is 32 hours.The course begins with lectures on containers, and container images as a good grasp of these technologies is essential for understanding Kubernetes. Virtualization, namespaces, cgroups, container runtimes, overlay filesystems, and container filesystems are covered. Next, we attempt to install a Kubernetes cluster on the Google Cloud platform using kubeadm, and explore Kubernetes resources for compute and storage - pods, and volumes.The course then moves on to examine the Kubernetes architecture in detail such as the etcd, API server, scheduler, etc. We then take an in-depth look at the networking internals, and discuss how the Calico CNI plugin works. We then discuss advanced objects of Kubernetes which use pods, volumes and services as building blocks. These include deployments, statefulsets, daemonsets, configmaps, probes. Next, we install a sample web application using django and postgres onto Kubernetes to illustrate the various Kubernetes resources discussed so far.Ingress and load balancer which is used by external clients to access applications is discussed next, and helm packaging is introduced. We then examine authentication, authorisation, and admission control which are important aspects for deployment of applications.Network policy and service mesh (istio) are covered next and help in providing platform agnostic firewall type rules, and tools for managing microservice complexity. We then take a look at monitoring and logging which are critical for devops. Development tools such as skaffold that are needed to speed up the code, test, debug loop are covered next. Finally, we wrap-up the course and introduce operators and GitOps for further reading.Non-GoalsDescription of other Kubernetes installation tools such as kops, or of Kubernetes distributions - cloud or on-prem - is not provided.