Kubernetes
1. Kubernetes
So let's say that your organization has implemented containers, and because containers are so lean, your coworkers are creating them in numbers that exceed the counts of virtual machines you used to have. Let's also say that the applications that run in the containers need to communicate over the network, but you don't have a network fabric that lets containers find each other. Kubernetes can help. So, what is Kubernetes? Kubernetes is an open source platform for managing containerized workloads and services. It makes it easy to orchestrate many containers on many hosts, scale them as microservices, and easily deploy rollouts and rollbacks. At the highest level, Kubernetes is a set of APIs that you can use to deploy containers on a set of nodes called a cluster. The system is divided into a set of primary components that run as the control plane and a set of nodes that run containers. In Kubernetes, a node represents a computing instance, like a machine. Note that this is different to a node on Google Cloud, which is a virtual machine that runs in Compute Engine. You can describe a set of applications and how they should interact with each other, and Kubernetes determines how to make that happen. Kubernetes supports declarative configurations. When you administer your infrastructure declaratively, you describe the desired state you want to achieve, instead of issuing a series of commands to achieve that desired state. Kubernetes's job is to make the deployed system conform to your desired state and to keep it there in spite of failures. Declarative configuration saves you work. Because the system's desired state is always documented, it also reduces the risk of error. Kubernetes also allows imperative configuration, in which you issue commands to change the system's state. One of the primary strengths of Kubernetes is its ability to automatically keep a system in a state you declare. Therefore, experienced Kubernetes administrators use imperative configuration only for quick temporary fixes and as a tool when building a declarative configuration. Now that you have a better understanding of what Kubernetes is, let's explore some of its features. Kubernetes supports different workload types. It supports stateless applications, such as Nginx or Apache web servers, and stateful applications where user and session data can be stored persistently. It also supports batch jobs and daemon tasks. Kubernetes can automatically scale containerized applications in and out based on resource utilization. Kubernetes allows users to specify resource request levels and resource limits for workloads. Resource controls help Kubernetes improve the overall workload performance within a cluster. Kubernetes is extensible through a rich ecosystem of plugins and addons. For example, Kubernetes Custom Resource Definitions let developers define new types of resources that can be created, managed, and used in Kubernetes. And finally, because it's open-source, Kubernetes is portable and can be deployed anywhere–whether on premises or on another cloud service provider. This means that Kubernetes workloads can be moved freely without vendor lock-in.2. Let's practice!
Create Your Free Account
or
By continuing, you accept our Terms of Use, our Privacy Policy and that your data is stored in the USA.