To attend this course you must have a good command line knowledge of Linux or Unix as we will be using the Linux operating system to perform the work. The course is aimed at taking you from building your first cluster (platform agnostic) through to managing the cluster and deploying applications.
You should attend if you are planning to use or already use Kubernetes in you business. You may want to get a better understanding of how to make your managing of K8s easier. Whether you are managing the cluster or applications deployed on the cluster you will benefit from this course. The course starts from building your own cluster to deploying an application and managing that application. The course is not intended to provide indepth cluster administration.
The aim of this course is to provide a hands on approach to working with Kubernetes and providing as much time for you to get your hands dirty and fix any problems that may occur during the course. The sessions will consist of some theory to understand the concepts of Kubernetes, but mostly you'll be following examples either instructor lead, or through lab exercises.
A good understanding of Linux as you will need to write some commands at the command line both for setting up and configuring Kubernetes, although most of the commands will be provided. You should be compitent in using a web browser and the Internet as you may need to look up answers or find software to install.
1st Day: Start 9:00am - Finish
5:00pm
Subsequent Days: Start
9:00am - Finish 5:00pm
In this module we will help you understand what Kubernetes is, the different ways in which you can use it, and the different ways in which you can use clusters.
Here we will discuss the options between providers of Kubernetes. We will discuss the Cloud based offerings and their Pros and Cons, and the platform agnostic method that prevents you from being locked in.
Here you will get your hands on installing a Kubernetes cluster using Rancher. We will also look at what makes up a K8s cluster.
Rancher provides a management UI for your Kubernetes cluster. We will look at how you can create the UI and add an existing cluster to it.
In this module you will create namespaces using the kubectl command in 2 ways. Using the command line and using a manifest file.
In this section you will create a manifest to deploy an already existing suit of containers. You will learn the features of a Kubernetes manifest, the types of deployments that can be applied to containers to determine what happens if they fail, or if we deploy a new version.
There's no point having an application if you cannot get to it, so here you will expose your web service to be accessible via a web browser, or API call using HTTP.
What if you run a non-HTTP service, how do you access that service within the Kubernetes cluster? In this module you will understand how to enable external services to access a TCP service within your K8s cluster.
What about accessing your database server? Here you will learn how to effectively configure your deployment manifest to access a server that is external to your K8s cluster.
How do you prevent containers going rogue? What if our Java developer has not managed memory effectively? What if our containers are using too much resource in the cluster? In this section you will discover how to limit containers so that they do not over run the cluster.
In this module you will learn how to manage your Kubernetes cluster and namespaces using Git and manifests, and we'll discuss how this could be controlled through tools such as Jenkins.
In this module you will discover the different methods of how you can debug your containers by connecting to them using kubectl, and reviewing the logs. We will also look at where the logs are stored on the cluster.
For containers to use persistent storage in K8s that cluster administrator must configure the types of storage that can be used, and how much. In this section you will discover the different storage methods, and configure one for use with the application in the course.
You will now configure your deployment to make use of the persistent storage.
Here you will learn how to build secrets into your application. We will discuss methods of automation with services such as Vault, and how these can be applied to your containers. You will also create ConfigMaps to apply runtime attributes to your containers.
In this module you will learn how to configure limits at the cluster level to ensure you have better management over your containers running on the server.
In this module you will look at some cluster configuration options, in particular how you make containers run as a user rather than root, as well as creating authentication to be able to use the cluster.
There are prewritten manifests available on the Interent to perform different features in Kuberentes. Here we will look at how you can make use of these features to enhance your cluster, such as adding a dashboard.
Finally we will leave your with some thoughts on other features you might like to persue to make managing your Kubernetes systems and applications easier, such as Helm and other tools.