├── courses ├── master │ └── metrics.md ├── courses.md ├── proficient.md ├── novice.md └── CKA_Preparation.md ├── .gitignore ├── SUMMARY.md ├── book.json └── README.md /courses/master/metrics.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /courses/courses.md: -------------------------------------------------------------------------------- 1 | # Courses 2 | 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | _book/ 3 | .idea/inspectionProfiles/ 4 | .idea/kubernauts-kubernetes-training-courses.iml 5 | .idea/modules.xml 6 | .idea/workspace.xml 7 | -------------------------------------------------------------------------------- /SUMMARY.md: -------------------------------------------------------------------------------- 1 | # Summary 2 | 3 | ## Overview 4 | 5 | * [Introduction](README.md) 6 | 7 | ## Courses 8 | 9 | * [Novice](courses/novice.md) 10 | * [Proficient](courses/proficient.md) 11 | * [CKA Expert](courses/CKA_Preparation.md) 12 | * Master 13 | * [Metrics](courses/master/metrics.md) 14 | 15 | -------------------------------------------------------------------------------- /book.json: -------------------------------------------------------------------------------- 1 | { 2 | "root" : ".", 3 | "title" : "Kubernauts Training Design", 4 | "description": "This book contains the Kubernauts Training design documents.", 5 | "author" : "Kubernauts", 6 | "lang" : "en", 7 | "gitbook" : ">= 3.2.0", 8 | "plugins" : ["mermaid-gb3", 9 | "expandable-chapters", 10 | "page-toc", 11 | "back-to-top-button"], 12 | "pluginsConfig": { 13 | "mermaid-gb3": { 14 | "theme": "forest" 15 | }, 16 | "page-toc": { 17 | "selector": ".markdown-section h2, .markdown-section h3", 18 | "position": "top" 19 | } 20 | } 21 | } 22 | 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Kubernauts Kubernetes Training Courses 2 | 3 | --- 4 | 5 | The [Kubernauts](https://kubernauts.io/) offer free training for [Kubernetes](https://kubernetes.io) and [Cloud Native](https://www.cncf.io) technologies. The documents contained within this book are the living design documents for this training. It is hoped that in combination with the community the design of the training can be shaped to best serve the needs of the community. 6 | 7 | The Git repository where this book lives is [here](https://github.com/kubernauts/kubernauts-training-design). Github issues can be raised to discuss and help refine the various aspects of the training. 8 | 9 | Our Kubernetes Learning Resources are available [here](https://goo.gl/Rywkpd). 10 | 11 | . 12 | 13 | -------------------------------------------------------------------------------- /courses/proficient.md: -------------------------------------------------------------------------------- 1 | # Advanced Kubernetes Training Labs 2 | 3 | The training slides are in a wip phase, stay tuned :-\) 4 | 5 | If you'd like to help by crafting the advanced training slides, please [join us on slack](https://kubernauts-slack-join.herokuapp.com/). 6 | 7 | ## Advanced Kubernetes Training Topics 8 | 9 | * Ingress / Loadbalancers / API Gateways / Service Mesh / Networking 10 | * Authentication / Authorization / RBAC 11 | * Logging 12 | * Monitoring 13 | * Tracing 14 | * Backup and Desaster Recovery 15 | * Advanced scheduling 16 | * CI/CD with Jenkins--X, Spinnaker or GitLab's CI/CD 17 | * Distributed Storage \(Rook, OpenEBS, Longhorn, etc.\) 18 | * Cluster Federation 19 | * Troubleshooting 20 | * Best Practices 21 | * Security & hardening 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /courses/novice.md: -------------------------------------------------------------------------------- 1 | # **Fundamental Kubernetes Training Labs** 2 | 3 | Our Kubernetes Fundamental Trainings takes place every 2 weeks through our [online meetup](https://www.meetup.com/kubernauts/). 4 | 5 | The fundamental trainings slides are available [here](https://goo.gl/Hzk2sd). 6 | 7 | Our Kubernetes Learning Resources are available [here](https://goo.gl/Rywkpd). 8 | 9 | ## How to prepare for our Free Kubernetes Online Trainings? 10 | 11 | For the best hands-on learning experience you need to [install Minikube](https://abhishek-tiwari.com/local-development-environment-for-kubernetes-using-minikube/) on your local machine and create an account on GCP with billing enabled or deploy a Kubernetes Cluster with Kops on AWS or with TK8 on AWS or OpenStack. 12 | 13 | **Note:** using GKE or installing Kubernetes on AWS or OpenStack is optional, but for some exercises where we use Loadbalancers or persistent disks a cloud installation is needed. 14 | 15 | If you don't have a GCP account and didn’t tried Google Kubernetes Engine for free, you can quickly get started with a [$300 free credits](https://cloud.google.com/free/). Please install gcloud SDK / CLI from [here](https://cloud.google.com/sdk/). 16 | 17 | If you prefer to deploy Kubernetes on AWS or OpenStack, please follow our [Kops Faststart guide](https://kubernauts.gitbooks.io/kubernauts-kops-faststart/content/) or use our [TK8 installer](https://github.com/kubernauts/tk8) or the [Kubespray Essentials](https://kubernauts.gitbooks.io/kubespray-essentials/content/). 18 | 19 | If you'd like to run a X node Kubernetes Cluster locally with Kubeadm Vagrant \(with VirtualBox provider\), please [follow this guide](https://github.com/arashkaffamanesh/kubeadm-vagrant). 20 | 21 | ## Get the code for the training 22 | 23 | ### Checkout the code of Kubernetes By Example 24 | 25 | $ git clone [https://github.com/openshift-evangelists/kbe](https://github.com/openshift-evangelists/kbe) 26 | $ cd kbe/specs/ 27 | 28 | ### Checkout the code of Kubernetes By Action 29 | 30 | $ git clone [https://github.com/luksa/kubernetes-in-action.git](https://github.com/luksa/kubernetes-in-action.git) 31 | $ cd kubernetes-in-action/ 32 | 33 | -------------------------------------------------------------------------------- /courses/CKA_Preparation.md: -------------------------------------------------------------------------------- 1 | # CKA Preparation 2 | 3 | This is the version 1.9 curriculum of Kubernauts Certified Kubernetes Administrator Exam. 4 | 5 | If you see an issue with the document, please open an issue. Minor issues may be addressed with updates. Major issue will require updates to the document which will come with new versions of the exam, generally coinciding with new version of Kubernetes. 6 | 7 | ##### This document provides the curriculum outline of the Knowledge, Skills and Abilities that a Certified Kubernetes Administrator \(CKA\) can be expected to demonstrate. 8 | 9 | ### CKA Curriculum V 1.9 10 | 11 | Source: [https://github.com/cncf/curriculum](https://github.com/cncf/curriculum) 12 | 13 | `5% - Scheduling` 14 | 15 | * Use label selectors to schedule Pods 16 | * Understand the role of DaemonSets 17 | * Understand how resource limits can affect Pod scheduling 18 | * Understand how to run multiple schedulers and how to configure Pods to use them 19 | * Manually schedule a pod without a scheduler 20 | * Display scheduler events 21 | * Know how to configure the Kubernetes scheduler 22 | 23 | `5% - Logging/Monitoring` 24 | 25 | * Understand how to monitor all cluster components 26 | * Understand how to monitor applications 27 | * Manage cluster component logs 28 | * Manage application logs 29 | 30 | `8% - Application Lifecycle Management` 31 | 32 | * Understand Deployments and how to perform rolling updates and rollbacks 33 | * Know various ways to configure applications 34 | * Know how to scale applications 35 | * Understand the primitives necessary to create a self-healing application 36 | 37 | `11% - Cluster Maintenance` 38 | 39 | * Understand Kubernetes cluster upgrade process 40 | * Facilitate operating system upgrades 41 | * Implement backup and restore methodologies 42 | 43 | `12% - Security` 44 | 45 | * Know how to configure authentication and authorization 46 | * Understand Kubernetes security primitives 47 | * Know to configure network policies 48 | * Create and manage TLS certificates for cluster components 49 | * Work with images securely 50 | * Define security contexts 51 | * Secure persistent key value store 52 | * Work with role-based access control 53 | 54 | `7% - Storage` 55 | 56 | * Understand persistent volumes and know how to create them 57 | * Understand access modes for volumes 58 | * Understand persistent volume claims primitive 59 | * Understand Kubernetes storage objects 60 | * Know how to configure applications with persistent storage 61 | 62 | `10% - Troubleshooting` 63 | 64 | * Troubleshoot application failure 65 | * Troubleshoot control plane failure 66 | * Troubleshoot worker node failure 67 | * Troubleshoot networking 68 | 69 | `19% - Core Concepts` 70 | 71 | * Understand the Kubernetes API primitives 72 | * Understand the Kubernetes cluster architecture 73 | * Understand Services and other network primitives 74 | 75 | `11% - Networking` 76 | 77 | * Understand the networking configuration on the cluster nodes 78 | * Understand Pod networking concepts 79 | * Understand service networking 80 | * Deploy and configure network load balancer 81 | * Know how to use Ingress rules 82 | * Know how to configure and use the cluster DNS 83 | * Understand CNI 84 | 85 | `12% - Installation, Confguration & Validation` 86 | 87 | * Design a Kubernetes cluster 88 | * Install Kubernetes masters and nodes, including the use of TLS bootstarpping 89 | * Configure secure cluster communications 90 | * Configure a Highly-Available Kubernetes cluster 91 | * Know where to get the Kubernetes release binaries 92 | * Provision underlying infrastructure to deploy a Kubernetes cluster 93 | * Choose a network solution 94 | * Choose your Kubernetes infrastructure configuration 95 | * Run end-to-end tests on your cluster 96 | * Analyse end-to-end tests results 97 | * Run Node end-to-end tests 98 | 99 | 100 | 101 | --------------------------------------------------------------------------------