TTDV7590: Working with Kubernetes
About this Course
Containerization has taken the IT world by storm, in the last few years. Large software houses, starting from Google and Amazon, are running significant portions of their production load in containers. Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. Kubernetes groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community.
Getting Started with Kubernetes is a hands-on workshop style course that teaches participants core features and functionality of Kubernetes. Students will exit the course knowing how to build a Kubernetes cluster, and how to deploy and manage applications on that cluster.
Audience Profile
This in an introductory-level class for intermediate skilled team members.
At Course Completion
This course is approximately 50% hands-on, combining expert lecture, real-world demonstrations and group discussions with machine-based practical labs and exercises. Our engaging instructors and mentors are highly experienced practitioners who bring years of current "on-the-job" experience into every classroom.
Working in a hands-on learning environment led by our expert facilitator, students will explore:
· What a Kubernetes cluster is, and how to deploy and manage them on-premises and in the cloud.
· How Kubernetes fits into the cloud-native ecosystem, and how it interfaces with other important technologies such as Docker.
· The major Kubernetes components that let us deploy and manage applications in a modern cloud-native fashion.
· How to define and manage applications with declarative manifest files that should be version-controlled and treated like code.
Outline
Getting Started
· Our sample application
· Kubernetes concepts
· Declarative vs imperative
· Kubernetes network model
· First contact with kubectl
· Setting up Kubernetes
Working with Containers
· Running our first containers on Kubernetes
· Exposing containers
· Shipping images with a registry
· Running our application on Kubernetes
Exploring the Kubernetes Dashboard
· The Kubernetes dashboard
· Security implications of kubectl apply
· Scaling a deployment
· Daemon sets
· Labels and selectors
· Rolling updates
Next Steps
· Accessing logs from the CLI
· Managing stacks with Helm
· Namespaces
· Next steps
Prerequisites
Students should have prior software development experience or exposure, have some basic familiarity with containers, have experience working in Linux (as this course is Linux based) and should also be able to navigate the command line.