|
via Udemy |
Go to Course: https://www.udemy.com/course/hands-on-introduction-to-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.