CN230:

Kubernetes Native Application Development (OD)

Hands on Kubernetes Training for Developers

Register for Course

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