|
所在平台: Udemy |
课程主页: https://www.udemy.com/course/kubernetes-udemy/
课程评论:没有评论
课程名称:掌握 Docker 和 Kubernetes:AWS 实践指导 课程概述:本课程将系统性地介绍 Kubernetes 和 Docker,通过实践指导学习如何在 AWS 环境中搭建和管理容器化应用。课程内容涵盖从基础概念到高级应用的多个方面,确保学员能够掌握容器编排和云原生应用的核心技术。 课程内容概述: 第1部分:Kubernetes简介 - Kubernetes的定义、用途及其发展历程。 - 介绍微服务与单体应用的对比,以及Kubernetes的核心功能。 第2部分:Kubernetes集群架构 - 理解Kubernetes集群的组成及其主要角色,包括控制平面的功能。 第3部分:Kubernetes集群在AWS上的设置 - 在AWS环境中安装和配置Kubernetes的主节点和工作节点。 第4部分:Kubernetes概念 - 包括集群类型、Minikube、YAML文件和Pod的使用。 第5部分:Pod重启策略 - 介绍Pod的重启策略及其配置方法。 第6部分:标签与选择器 - 学习如何使用标签和选择器管理Kubernetes资源。 第7部分:扩展与复制 - 讨论ReplicationController和ReplicaSet的使用,包含扩展Pod的实践。 第8部分:部署与回滚 - 学习如何使用部署对象进行应用的发布和版本回滚。 第9部分:Kubernetes网络 - 探索Kubernetes中容器间的网络通信及服务的使用。 第10部分:Kubernetes中的卷 - 理解卷的概念及其在容器中的使用方法。 第11部分:持久卷 - 介绍持久卷和持久卷声明的配置及应用。 第12部分:Kubernetes中的命名空间 - 学习如何创建和管理Kubernetes的命名空间。 第13部分:Pod和容器的资源管理 - 理解资源请求和限制的配置。 第14部分:Kubernetes HPA(水平Pod自动扩展) - 学习如何设置Pod的自动扩展。 第15部分:Kubernetes作业与Init容器 - 介绍作业及其在定时任务中的应用。 第16部分:Docker容器简介 - 学习Docker的基本概念及基本命令。 第17部分:Dockerfile - 介绍Dockerfile的编写和使用。 第18部分:Docker中的数据管理 - 学习在Docker中管理数据卷的策略。 第19部分:Docker网络 - 理解Docker中不同网络类型的使用及配置。 第20部分:Docker Compose - 学习如何使用Docker Compose编排多个容器。 第21部分:实时项目 - 利用Jenkins CI/CD管道、Ansible、Docker、Git和Webhook等技术在Kubernetes集群上部署应用。 本课程旨在通过理论与实践相结合,让学员全面掌握Docker与Kubernetes的应用技巧,从而能够在云环境中高效部署和管理容器化应用。
Course Description:Section 1: Kubernetes IntroductionWhat is KubernetesWhy do we use Kubernetes?Monolithic approach for developing applications.Microservices Vs. MonolithicKubernetes Gateway APIEvolution of Containers, Dockers & VMsMicroservices running as containersKubernetes - Orchestration or container management toolFeatures of KubernetesSection2: Architecture of the Kubernetes ClusterThe architecture of the Kubernetes ClusterUnderstand architecture with various examplesWorking with KubernetesRoles of Master NodeComponents of Control Plane (Master Node) API Server Etcd Scheduler Controller ManagerKubeletService ProxyPODContainer Engine - Docker, Containerd, or RocketSection 3: Setup of Kubernetes Cluster AWS EnvironmentSetup Kubernetes Master and Worker Node on AWS EnvironmentUpdate the SystemInstall HTTP packageDocker InstallationSetup open GPG KeyInstall the Kubernetes packagesBootstrapping the master nodeConfigure Worker NodesSection 4: Kubernetes Concepts - Cluster types, Minikube Server, YAML, Pod, Kubelet, PortsKubernetes ClusterTypes of ClusterAll-in-one (Single Node Cluster)Single-node, single-master, and multi-worker node clusters.Single-Node etcd, multi-Master, and Multi-Worker Node Cluster. About Minikube Installation of Minikube ServerCreate the first POD using manifest file written in YAML LanguageKubelet commandsCheck logs of the containerCreate multiple containers in a POD Kubernetes AnnotationsVariables in the YAML fileDefining Ports Section 5: Kubernetes Pod Restart PolicyOverview of Pod Restart PoliciesThree restart policies: Always, OnFailure & NeverLab - Create a pod definition with ‘restartPolicy' as AlwaysLab - Create a pod definition with ‘restartPolicy' as OnFailureLab - Change the pod definition a bit to check the working of OnFailureLab - 4. Create a pod definition with ‘restartPolicy' as NeverSection 6: Labels & SelectorsLabels & SelectorsCommands for managing labels & selectorsDeclarative vs. Imperative Kubernetes commandsTwo types Selectors Equality Based Set basedPractice Lab - Labels & SelectorsPractice Lab - Assign a label to the running PODPractice Lab - Search the pod with equality & set-based Node SelectorLab - Create a pod on a specific nodeSection 7: Scaling & ReplicationWhat is ReplicationController?Features of RCPractice Lab - Create Replicas of POD using RCPractice Lab - Recreate the POD, if it crashes, fails, or terminatedScale up & scale down the POD as the load increases Practice Lab - Scale up & scale down the PODWhat is ReplicaSet?Difference between ReplicationController & ReplicaSetPractice Lab - Create Replicas of POD using ReplicaSetPractice Lab - Use set-based match expressions in RSSection 8: Deployment & RollbackOverview of Deployment and RollbackManifest for a POD with one container using the deployment object.Lab: Launch an application with two PODs using the deployment object.Lab: Using the deployment object, upgrade an application from version 1 to version 2.Lab: Roll back the application to the previous version.Lab: Roll back the application to any specific version.Section 9: Kubernetes NetworkingOverview of Kubernetes NetworkingContainer communication via localhostPractice Lab - container-to-container communication on specific port within a podPod-to-pod communicationPractice Lab - Pod-to-pod communicationObject - ServiceWhy service is required?Service typeCluster IPNodePortLoadBalancerHeadlessPractice Lab - Access the appl/service using cluster IP within the cluster using the service objectPractice Lab - Access the appl/service using NodePort outside the cluster using the service objectSection 10: Volumes in Kubernetes ClusterOverview of Volumes in Kubernetes Cluster.Volume typesEmptyDirhostpathPractice Lab: Create a POD with attached volume using volumes.Practice Lab - Attach a shareable volume for containers within a POD.Practice Lab - Attach a shareable volume for containers within a POD as well as with the host or worker node.Practice Lab - EmptyDirPractice Lab - hostpathSection 11: Persistent VolumesOverview of Persistent volumesPersistentVolumeClaim - PVCConfigure a Volume using AWS ElasticBlockStoreConfigure a Pod to Use a PersistentVolume for StoragePractice Lab - Create a PersistentVolumePractice Lab - Create a PersistentVolumeClaimPractice Lab - Create a Pod to Use a PersistentVolume for StorageSection 12: Namespaces in KubernetesOverview of NamespacesLab - Create new namespacesLab - Create Pod and Service in NamespacesLab - Switch between Kubernetes namespacesLab - Create pods in the namespace.Lab - delete a Kubernetes namespaceSection 13: Resource Management for Pods and ContainersOverview of resource management for pods, containersLab resource-based quotaLab - Apply pod quotas to namespacesRequests and LimitsLab - Set requests and limits in each container running in a pod.Lab - Apply quotas to namespacesLab - Create pods with resources in namespacesSection 14: Kubernetes HPA - Horizontal Pod AutoscalerKubernetes autoscaling basicsLab: Configuring Minikube ClusterLab: Installation of Metric ServerLab: Creating pods using deployment objectsLab: Configure HPA - Horizontal Pod AutoscalerLab: A new pod is created automatically if the CPU load reaches a threshold valueLab: A new pod is automatically terminated if the CPU load falls below the threshold valueSection 15: Kubernetes Jobs, Init containerOverview of Jobs and cron job patternLab: Create a Pod Using Job ObjectLab: Run Multiple Pods in Parallel Using Job ObjectLab: Create jobs on a repeating schedule using CronJobAbout Init Container and their use casesLab: Init ContainerSection 16: Introduction to docker containersIntroduction about containersInstallation of DockerCreate a first containerFetch container image from docker hubRun a container in the background, interactive with tty terminalDelete exited dockers using a single commandGet complete details of a running containerCheck logs & stats of a running containerPort forwardingexec, rename & restart the running containerAttach a containerKill/stop, pause/unpause a containerCreate, start, the cp commandExport/Import Command in DockerCreate an image from a running containerPull a specific version image from the Docker hubImage history, inspect & remove the imageSection 17: DockerfileOverview of Dockerfile, layered architectureCreate centos 7 images using DockerfileOverview of LABEL, ENV & RUN CommandOverview of WORKDIRCopy, and add commands with their differencesCreate a user account with a password using dockerfileCMD CommandSSH to a containerOverview of EXPOSE CommandENTRYPOINT in DockerfileSection 18: Manage Data in DockerOverview of managing data in DockerVolumesCreate & attach a volume to a containerDelete volumes from the Docker host machineBind mountsSection 19: Networking in DockerBridge networkingRun containers in custom-created bridge networkingEnable communication between dockers belonging to different bridge networkDNS enabled with custom bridge networkingHost networkingNone networkingConnect one or more networks to a running containerCreate a private docker registryHow to allow images in the private registry for non-secure networkSection 20: Docker ComposeOverview of docker-composeDocker compose InstallationCreate my first docker-compose fileCreate the docker-compose file in JSON languageLearn basic commandsdocker-compose updocker-compose downdocker-compose createdocker-compose startdocker-compose stopdocker-compose rmdocker-compose imagesdocker-compose psdocker-compose pausedocker-compose unpausedocker-compose killdocker-compose port portdocker-compose logsdocker-compose execdocker-compose rundocker-compose scaledocker-compose topAttach a volume & port mapping using docker-composeBuild a custom image using docker-composeSection 21: Real-time project - Deploy an application to a Kubernetes cluster using Jenkins CI/CD pipeline, Ansible, Docker, Git, Webhook etc.