Learning Paths
Day 1 (Kubernetes Administration Basics, Core Componentes)
Introduction Cloud Native
- Differences between VM and Container
- History of Cloud Native
- Docker cli (build, pull, push, login, ps, logs, prune)
- What is a docker registiry?
Core Concepts
- Understand the Kubernetes API primitives.
- Understand the Kubernetes cluster architecture.
- Understand Services and other network primitives.
Scheduling
- Use label selectors to schedule Pods.
- Understand the role of DaemonSets.
- Understand how resource limits can affect Pod scheduling.
- Understand how to run multiple schedulers and how to configure Pods to use them.
- Manually schedule a pod without a scheduler.
- Display scheduler events.
- Know how to configure the Kubernetes scheduler.
Application Lifecycle Management
- Understand Deployments and how to perform rolling updates and rollbacks.
- Know various ways to configure applications.
- Know how to scale applications.
- Understand the primitives necessary to create a self-healing application.
Day 2 (Kubernetes Administration Basics, Core Componentes)
Horizontal Pod Autoscaler
- Configure the HPA for one APP
- Test the HPA
HELM
- What is a HELM Chart?
- Setup helm and tiller
- Install a chart form a repo
A simple Cloud Native CI / CD Pipeline
- Introduction into trunk based development
- Introduction in GitLab
- Creating GitLab Pipeline CI / CD
- Connecting GitLab to Kubernetes
An advanced Cloud Native CI / CD Pipeline (GitOps)
- What is GitOps? What are the benefits?
- Overview of the Process
- Introduction a Deployment Operator like Argos CD
Source 2 Image
- Benefits of S2I
- Customzie your own S2I Image
- Build a Java SpringBoot Project
- Build a PHP Project
- Optimizing the build process with runtime images
Security
- Know how to configure authentication and authorization.
- Understand Kubernetes security primitives.
- Know to configure network policies.
- Create and manage TLS certificates for cluster components.
- Work with images securely.
- Define security contexts.
- Secure persistent key value store.
Storage
- Understand persistent volumes and know how to create them.
- Understand access modes for volumes.
- Understand persistent volume claims primitive.
- Understand Kubernetes storage objects.
- Know how to confifigure applications with persistent storage.
Design a OpenShift/Kubernetes cluster
- Install OpenShift masters and nodes.
- Configure secure cluster communications.
- Configure a Highly-Available OpenShift cluster.
- Know where to get the OpenShift release binaries.
- Provision underlying infrastructure to deploy a OpenShift cluster.
- Choose a network solution.
- Choose your OpenShift infrastructure configuration.
- Run end-to-end tests on your cluster.
- Analyse end-to-end tests results.
- Run Node end-to-end tests.
- Install and use advanced installer to install, configure, and manage OpenShift clusters.
Day 3/4 ( Advanced Topics )
This intro will introduce features and advanced scenarios that are not shipped as a core compontent in kuberentes.
RBAC
- Creating a Role / ClusterRole
- Creating a Group
- Creating a Service Account
- Creating a User
- Managing Roles, Groups, Users and Service Accounts
Troubleshoot application failure
- Troubleshoot control plane failure.
- Troubleshoot worker node failure.
- Troubleshoot networking.
Logging/Monitoring
- Understand how to monitor all cluster components.
- Understand how to monitor applications with ( Prometheus, Grafana and Alertmanager ).
- Manage cluster component logs.
- Manage application logs
Cluster
- Understand Kubernetes cluster upgrade process.
- Facilitate operating system upgrades.
- Implement backup and restore methodologies.
Networking
- Understand the networking configuration on the cluster nodes.
- Understand Pod networking concepts.
- Understand service networking.
- Deploy and configure network load balancer.
- Know how to use Route/Ingress rules.
- Know how to configure and use the cluster DNS.
- Understand CNI.
Comparing HA Rollout Sceanarios of Kubernetes
- Concept of a Single Cluster
- Concept of a Multi Cluster
- Concept of a Hybrid Cluster
- Concept of a Federated Cluster
- Concept of a Streched Cluster
- Comparision of all
Building a Federated Cluster ( Multiple Redundacy and Replication )
- Introduction into Federation
- KubeFed Operator
- Federation Control Objects
Integrating an External F5 Loadbalancer (Openshift only)
- Understand how to Integration work
- Integrate an F5 Big IP into Openshift
Cloud Native Storage / CSI
- Setup of Cloud Native Storage ( Rook.io, Miniio, Ceph on a Hyperconverged Infrastructure )
- Integration of a Legacy NFS Server / External Storage
- Storage Classes, Claim and PVCs
Image Streams (Openshift only)
- Define a Image stream
- Use an Image Stream
SSO via OpenID Connect
- Setup of a OpenID Connect Server
- Import / Sync Users from a LDAP to Keykloak
- Configure Openshift to use external Auth from KeyCloak
Isteo Service Mesh
- Understading a Service Mesh
- The Twelve Factors App
- How Isteo completes the 12 Factor App Paragim in Kuebernetes
- How to setup Isteo
The Operator Framework SDK
- Benefits of Operators
- Understanding Operators
- Introduction operatorhub.io
- Installing the Acme operator
- Creating a own Operator with the Operator SDK
- Dependency Management with Operators.
Service Catalog
- Create an own template for the service catalog
- Import external repositories into the service catalog
- Consuming Services via Subcriptions
Load test / Auto Scaling
- Benchmark your Application / Cluster
- Test your HPA with the Benchmark
- Review the Benchmark