Kubernetes Container Orchestration Fundamentals | ITEC.801

Kubernetes Container Orchestration Fundamentals | ITEC.801

Kubernetes is the leading open-source container orchestration system for automating application deployment, scaling and management. It works with a range of OS-level virtualization packages called software application containers. It was originally designed by Google and provides a platform for automating deployment, scaling, and operations of containers across clusters of hosts. Many public cloud services offer a Kubernetes-based platform or infrastructure as a service. Many vendors also provide their own branded Kubernetes distributions.

This course focuses on the concepts, operations and programming techniques used by both IT professionals and application developers to setup, configure, and deploy applications via Kubernetes. The course will start with a brief overview of containers and Kubernetes. Discussions will address the Kubernetes architecture, such as the master and worker nodes, and their components like the API server, the scheduler, the etcd database, kubelet, etc., and tools used to create and manage a cluster, like kubectl, kubeadmin, Kops and Eksctl. It will then move on to the aspects of creating and deploying a Kubernetes application and its components; containers, pods, volumes, secrets, networking, services, and replica sets. Creating and managing name spaces, quotas, labels and RBAC permissions will be covered and the underlying HTTP REST API schema will be explained and demonstrated. New features, like the Helm package manager, will be introduced and how to programmatically interact with Kubernetes via the Go and Python clients will be covered.

Learning Outcomes
At the conclusion of the course, you should be able to

  • Explain what is a container and how Kubernetes is used to orchestrate them
  • Describe the overall architecture and components of Kubernetes clusters, including the difference between master and worker nodes
  • Describe the core services on a Kubernetes master node, including their functions
  • Describe the various Kubernetes components of a distributed application such pods, replica sets, networking with services, user and pod security controls, name spaces, quotas and labels
  • Demonstrate deploying and managing a Kubernetes cluster using computer servers or virtual machines, either local or cloud based
  • Demonstrate deploying and managing a Kubernetes distributed application using the Kubernetes REST API, either via a command line interface or a software programming interface
  • Analyze a Kubernetes manifest and understand how it will deploy a distributed application with its various Kubernetes components
  • Build a modestly complex Kubernetes application using pods, replica sets, network access, security controls, name spaces, quotas and labels
Have a question about this course?
Speak to a student services representative.
Call (408) 861-3860
FAQ
ENROLL EARLY!
This course is related to the following programs:

Prerequisite(s):

Estimated Cost: TBD

Course Availability Notification

Please use this form to be notified when this course is open for enrollment.

Contact Us
Speak to a student services representative.

Call (408) 861-3860

Envelope extension@ucsc.edu