Learn how to deploy a collection of sample servers inside containers, then automate, scale, and manage their containerized servers within a Kubernetes cluster. [+]
Experience with Docker containers
Familiarity with the Linux command line
An understanding of networking concepts
Docker is an open-source platform for building, shipping and running applications inside containers. Kubernetes goes one step further by providing the tools needed to deploy and manage containerized applications at scale in a clustered environment.
In this instructor-led, live training (onsite or remote), participants will learn how to deploy a collection of sample servers inside containers, then automate, scale, and manage their containerized servers within a Kubernetes cluster. The training goes on to more advanced topics, walking participants through the process of securing, networking and monitoring a Kubernetes cluster.
By the end of this training, participants will be able to:
Set up and run a Docker container.
Deploy containerized databases and servers.
Set up a Docker and Kubernetes cluster.
Use Kubernetes to deploy and manage different environments under the same cluster.
Secure, scale and monitor a Kubernetes cluster.
Format of the course
Part lecture, part discussion, exercises and heavy hands-on practice.
Different Docker images can be used as demos in this training (e.g., Nginx, MongoDB, Tomcat, etc.).
To request specific images or any other customization for this training, please contact us to arrange.
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.)
Authentication & authorization
Upgrading a Kubernetes cluster
Minimizing the impact
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.)
Cluster logging with Elasticsearch and fluentd
Container level monitoring (cAdvisor UI, Influxdb, Prometheus)
Best Practices for running containerized servers and data stores
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
Diagnosing and fixing common Kubernetes issues
Summary and Conclusion