CN230:
Kubernetes Native Application Development (OD)
Hands on Kubernetes Training for Developers
In this Cloud Native course, developers will learn how to build containerized applications targeted for enterprise-grade production environments. You’ll explore patterns in containerized application architecture, techniques for eliminating friction in the development process, how to test and debug containerized applications, and how to instrument applications with healthchecks, monitoring tools, and common container logging patterns. After mastering these techniques, we’ll turn our attention to devops and building container-native continuous integration pipelines powered by Jenkins and Kubernetes.
Who Can Benefit
Motivations: Develop container-native applications, and implement fully containerized CI
Roles: Developers, application architects, devops
Prerequisites
Familiarity with the bash shell
Filesystem navigation and manipulation
Command line text editors like vim or nano
Common tooling like curl, wget and ping
Familiarity with YAML and JSON notation
Basic familiarity with common software development patterns and tools like version control, testing, continuous integration
CN120 course or equivalent experience
Lab Requirements
Laptop with WiFi connectivity
Attendees should have the latest Chrome or Firefox installed, and a free account at strigo.io
Course Objectives
Container Development Environments
Rapid development with code mounts and automatic reloading
Attaching debuggers to containerized processes
Installing Kubernetes development environments
Container Lifecycle
Optimizing image design to take advantage of the container lifecycle
Runtime operations to avoid or mitigate
Implementing logging, resource management and healthchecks for containers
Handling container exit
Introduction to developer-driven operational control
Containerizing Applications
Migrating preexisting applications from VMs to containers
Refactoring applications for microservices
Hybrid applications (containerized + uncontainerized)
Container Health & Monitoring
Implementing container healthchecks with Kubernetes
Integrating Prometheus monitoring with Kube applications
Introduction to Containerized Continuous Integration
Differences between traditional and containerized continuous integration
Tooling choices for CI chain components
Recommended CI chain architecture
CI Agent Deployment
Designing access control patterns for CI agents
Installing and integrating Jenkins with Kubernetes
Building Images in CI
Implementing build environments
Designing reusable image hierarchies
Testing in CI
Unit and integration testing in containers
Testing pipeline design
Integrating security scanning in a testing pipeline
Releasing Containerized Applications
Signing images with content trust
Packaging applications with Helm