Course Outline

[Day 01]

Introduction

Overview of container orchestration with Kubernetes

Overview of Kubernetes architecture

  • Pods, labels/selectors, replication controllers, services, API

Installing a Kubernetes cluster

Pulling a Docker image from the internet

Creating Kubernetes pods, volumes and deployments

Grouping and organizing your cluster

Using Kubernetes Namespaces to manage different environments

  • Managing test, staging, and production environments within the same cluster
  • Kubernetes Namespaces best practices

Discovering and connecting to containers

Discovering and publishing services

  • Non-HTTP services (Passive FTP, SMTP, LDAP, etc.)

Kubernetes security

  • Authentication & authorization

Upgrading a Kubernetes cluster

  • Minimizing the impact

Advanced networking

  • Docker networking vs Kubernetes networking

Interfacing between network providers and Kubernetes networking

  • Best practices for separating services in a cluster
  • Comparison of different CNI providers (performance, features, etc.)

Monitoring Kubernetes

  • Cluster logging with Elasticsearch and fluentd
  • Container level monitoring (cAdvisor UI, Influxdb, Prometheus)

Best Practices for running containerized servers and data stores


[Day 02]

Scaling your Kubernetes cluster

Infrastructure for Kubernetes

  • Provisioning, partitioning, networking

Building a high-availability cluster

  • Load balancing and service discovery

Deploying a scalable application

  • Horizontal pod autoscaling
  • Database clustering in Kubernetes

Updating your application

  • Releases in Kubernetes

Troubleshooting

  • Diagnosing and fixing common Kubernetes issues

Summary and Conclusion

Requirements

  • Experience with Docker containers
  • Familiarity with the Linux command line
  • An understanding of networking concepts

Audience

  • Software Developers
  • Architects
  • Deployment engineers
 14 Hours

Testimonials (7)

Related Categories