Hands-On with Kubernetes: 2-in-1
Kubernetes is a one of the top cloud platform technology and offers some of the best solution over other cloud platforms. Major cloud infrastructure providers, such as AWS, Azure, and Google, offer hosted versions of Kubernetes.
This comprehensive 2-in-1 training course provides in-depth learning of core components and concepts, followed by hands-on experience installing and managing Kubernetes.
Furthermore, the course will intrigue you with deploying an app to a local Kubernetes installation, as well as an overview of best practices for deploying app models to Kubernetes.
Contents and Overview
This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.
The first course, Learning Kubernetes, gives you a hands-on experience in installing Kubernetes on your personal computers. See how to extend the opportunities that containerization innovations have brought about in a new and even more effective way. You will then get started with the basics, explore the fundamental elements of Kubernetes, and find out how to install it on your system, before digging a little deeper into Kubernetes core constructs. Finally, you will learn how to use Kubernetes pods, services, replication controllers, and labels to manage your clusters effectively and also get a feel for how to handle networking with Kubernetes.
The second course, Deploying Software to Kubernetes, starts by explaining the organizational alignment that has to happen in every company that wants to implement DevOps in order to be effective. We delve into deploying and managing applications on Kubernetes, but we also take a look at how Docker Swarm works. We also explore how to create a continuous delivery pipeline and deploy a microservice-based system to update it, keeping all the lights on. We will review some tools for monitoring software, but our focus will be on Stackdriver, as this monitoring solution from Google Cloud Platform provides us (out of the box) with a fairly comprehensive set of tools to deal with the flaws in our systems.
By the end of this Learning Path, you’ll have acquired all the skills and a deeper insight into deploying software on Kubernetes and deliver results from day 1.
About the Author
Braithe E.S. Warnock is currently a managing cloud architect for the financial services division of Ernst & Young. He has had the opportunity to work with several of the largest PCF installations on an international scale. He helped build the framework for the adoption of PCF at top companies such as Ford, Comcast, DISH, HSBC, and Charles Schwab. As a vendor-neutral consultant, Braithe enjoys helping people understand the rapidly-evolving world of cloud and application architecture. Braithe has more than six years’ experience and specialization in global digital transformations. He has expertise in various cloud and cloud platform technologies (PCF, AWS, Azure, VMware, Netflix OSS, Kubernetes, and OpenShift) and also the Java and Spring Boot frameworks. He has developed over 100 microservices using Spring Boot, Java 7/8, Spring Cloud, and Netflix OSS, spanning half a dozen unique cloud-native microservice architectures. He also has experience in developing machine learning models using AWS, Spark, and MLlib to support product recommendations and enhance customer data.
David Gonzalez is an enthusiastic engineer and author of a book called Developing Microservices with Node.js; as microservices don’t work without platform automation, he wrote this book to deliver the best possible deal to the readers of both books. He is a Google Developer Expert (a nomination from Google to certain experts in several areas) in Kubernetes (GKE), who enjoys being pushed out of his comfort zone in order to sharpen his skills. Java, Node.js, Python, and DevOps–as well as a holistic approach to security–are part of the skill set that has helped him deliver value across different start-ups and corporations. Nowadays, he is a consultant at nearForm, enabling companies to deliver the best possible solution to their IT problems or proposals, as well as an avid speaker at conferences, such asRebelCon, and Google I/O Extended, among others.
This video provides an overview of the entire course.
This video aims to provide a high-level overview of installing a kubernetes.
- Learn to install Kubernetes
- Install Kubernetes (Minikube)
- Explore Kubernetes
In this video, we will learn to setup our environment before installing Kubernetes.
- Understand what Kubernetes requires
- Install dependencies
- Confirm whether the environment is correct
In this video, we will install a local Kubernetes cluster.
- Explore the installation process
- Install Kubernetes
- Confirm if the cluster is available
In this video, we will explore our Kubernetes installation.
- Learn to interact with Kubernetes
- Learn some kubectl commands
- Confirm if kubectl is working
In this video, we will understand Kubernetes core concepts before diving into advanced concepts.
- Understand how kubernetes works
- Explore core kubernetes components
- Learn the kubernetes logical architecture
This video aims to explain that we want our cluster to be highly available to reduce downtime and we need a deployment pattern.
- Learn target state architecture
- Understand how to achieve service and data redundancy
- Learn to leverage federation
In this video, we will learn of some upper-limits or size limitations of kubernetes.
- Explore Kubernetes limitations
- Learn scaling an app
- Understand scaling an app across clusters
This video aims to explain that we need to manage multiple clusters using federation.
- Learn to sync resources across a cluster
- Understand cross cluster discovery
- Explore high availability
In this video, we will understand best practices for configuring Kubernetes.
- Learn the configuration files
- Learn about labels
- Explore leveraging version control
In this video, we will understand how to use the kubectl CLI to create and decode secrets.
- Use kubectl to encode secrets
- Use kubectl to decode secrets
- Create secrets manually
In this video, we will understand how to mount volumes containing secrets to apps.
- Use secrets in the app
- Learn to attach secrets to a volume
- Learn to attach secrets to an app
This video aims to explain what is a container engine, container build tool, and container registry.
- Build container image
- Register container image
- Run container image
In this video, we will learn to install docker, to build and test run our docker image.
- Install docker
- Explore docker commands
- Explore docker config file
In this video, we will install our container image to kubernetes.
- Deploy our container to a pod
- Explore deployment methods
- Explore deployment commands
In this video, we will test whether our application is running successfully in Kubernetes.
- Monitor our running app
- View health of the app
- Learn to send test request to our running app
Deploying Software to Kubernetes
This video will give you an overview about the course.
DevOps is a philosophy more than a set of tools or a procedure. In this video, we will look at DevOps and corporations.
- Understand the DevOps concept
This video brushes through the traditional release management concept. We will also see the cost of fixing buys as well. The other main part of this video deals with modern release management where we will have a look at Agile development and communicaton.
- Study the traditional release management system
- Understand the importance of Agile development and communication
Microservices are a big trend nowadays. It is a small software components that allow companies to manage their systems on vertical slices of functionality. In this video, we will see DevOps organizational alignment.
- Understand microservices and DevOps Organizational alignment
Docker is a fantastic tool that follows the most modern architectural principles used for running applications packed as containers. Docker Swarm is the clustered version of Docker. In this video, we will look into clustering as well.
- Understand the relationship between development and operations with clustering
- Study docker Swarm
Kubernetes is the jewel of the crown of the containers orchestration. We will also see different ways to set up the Kubernetes cluster. We will also look into Kubernetes logical architecture.
- Study Kubernetes
- Understand the logical architecture of Kubernetes
The first thing to start playing with in Kubernetes is a cluster. In this video, we will see how to set up a cluster in Google Cloud Platform.
- Create a cluster
- Install kubectl
In this video, we are going to look at some of the most important API Objects that Kubernetes provide in order to build our applications. First we are going to look at pods which are the basic element of Kubernetes API. To overcome the disadvantages of pods, we have come up with replica sets. We will also see services in Kubernetes.
- Deploy a pod using number of commands
- Create pods using replica set and deploy it
- Create service on top of deployment
In Kubernetes, there are many other building blocks that can be used to build more advanced applications. In this video, we will look at other building blocks of Kubernetes such as daemon sets, PetSets and jobs. We will also see secrets and configuration management in Kuberenetes.
- Understand different building block of Kubernetes
- Create secrets in Kubernetes
In this video, we look at different services such as ISO date, UTC date and aggregator service. We will also push the images to Google container registry.
- Understand the test system
- Look at the ISO date and UTC dates service example
- Look at the aggregator service code
Now that we have deployed our images to GCR, we need to automate the process so that we minimize the manual intervention. In this video, we will set up a continuous delivery pipeline for images.
- Create three repository in out GitHub account
- Push the code in the remote repository
Jenkins has become Kubernetes-friendly with a plugin that allows Jenkins to spawn slaves when required in a containerized fashion.
- Set up Jenkins
In this video, we are going to set up the continuous delivery pipeline for our code and the Kubernetes infrastructure. This pipeline is going to be actioned by a Jenkins job, which we will trigger manually. We will also see different deployments such as blue-green and canary deployment.
- Create a service for our application
- Set up Jenkins job to articulate our build
- Look at different deployments
In this video, we will look at two types of monitoring: Blackbox monitoring and White box monitoring.
- Understand the different types of monitoring
Monitoring is usually a good candidate to involve third-party companies. In this video, we are going to take a look at three tools in particular: Pingdom, Logentries and AppDynamics.
- Look at the different third part monitoring tools
Stackdriver can monitor standalone applications by capturing metrics and logs.
- Create a simple monitoring application
In this video, we will create a cluster with stackdrivers and then monitor it.
- Integrate cluster with stackdrivers
- Add monitoring to the cluster
- Create a alerting policy