Managing Microservices using Kubernetes
(K8S 微服務管理入門)
- Course Number:
- 課程目標Course objectives
This course teaches students to use Kubernetes to deploy container-based
distributed applications. Students start with an overview of Docker and
Kubernetes before building their first Kubernetes cluster.
Students will gradually expand their initial application, adding
features and deepening their knowledge of Kubernetes architecture and
operation. As students navigate this comprehensive course, they'll explore high-value topics like monitoring, tuning, and scaling.
- Course time: Wednesday 18:10-21:00 (3JKL)
- Classroom: TC-209
- Textbook:
- Marko Lukša, Kubernetes
in Action, Manning, January 2018.
ISBN:978-1617293726
- References:
- Hideto Saito, Hui-Chuan Chloe Lee and Cheng-Yang Wu,
DevOps
with Kubernetes, 2nd Edition, Packt PublishingJanuary 2019.
- [Video] Tao W, James Lee and Basit Mustafa’s,
Kubernetes
Course from a DevOps guru (Kubernetes + Docker),
Packt PublishingSeptember 2018
- [Video] Gourav Shah and Vijayboopathy Elangovan,
The
Ultimate Kubernetes Bootcamp by School of Devops®,
Packt PublishingJuly 2018
- [Video]
Sander van Vugt,
Modern
Container-Based DevOps: Managing Microservices using Kubernetes and
Docker,
Addison-Wesley Professional, February 2021.
- 授課方式Teaching approach:
Lectures & Hands-On Exercises
- Grading criteria:
- Exercise (20%)
- Participation (30%)
- Oral Presentation (30%)
- Term Project (20%)
- Software:
- VirtualBox 6.1
- PuTTY 0.76
- TA協助事項Teaching Assistant tasks:
Hands-On Assistance, Presentation Rehearsal
Syllabus
- Introducing Kubernetes
- First steps with Docker and Kubernetes
- Pods: running containers in Kubernetes
- Replication and other controllers: deploying managed pods
- Services: enabling clients to discover and talk to pods
- Volumes: attaching disk storage to containers
- ConfigMaps and Secrets: configuring applications
- Accessing pod metadata and other resources from applications
- Deployments: updating applications declaratively
- StatefulSets: deploying replicated stateful applications
- Understanding Kubernetes internals
- Securing the Kubernetes API server
- Securing cluster nodes and the network
- Managing pods' computational resources
- Automatic scaling of pods and cluster nodes
- Advanced scheduling
- Best practices for developing apps
- Extending Kubernetes