Kubernetes
Kubernetes (also known as k8s or “kube”) is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.
Kubernetes release listed where Kubernetes has open-sourced its source code. that is available on GitHub
Kubernetes was built inside Google (using the Golang programming language). Kubernetes was utilized inside Google for over 10 years prior to being publicly released to the Cloud Native Computing Foundation (cncf.io) Collective in 2014.
Kubernetes are often abbreviated as k8s (pronounced “ket”), with the number of characters between k and s is 8.
What can Kubernetes do for you?
Today’s web services have applications that are readily accessible from anywhere, and new versions of those applications are released several times a day. The software can be packaged to meet these goals via containerization, making it possible to update and release applications without experiencing downtime. You can run your containerized applications wherever and whenever you’d like using Kubernetes, and their resources and tools will match their requirements. Developed by Google with its vast experience in container orchestration, Kubernetes is a production-ready, open-source platform
Features of Kubernetes
1. Automated rollout and rollbacks
Kubernetes dynamically make changes to your application or its configuration, while looking after the goodness of the application to confirm that it does not kill each of your cases at once. In case something goes wrong, Kubernetes will roll back the changes for you. Use deployment solutions from a growing ecosystem.
2. Service discovery and load balancing
There is no need to improve your application to use a new help disclosure component. Kubernetes assigns its own IP to pods or a set of pods that have DNS names or can perform load balancing on them
3. Storage orchestration
Kubernetes storage architecture is based on volume as a central abstraction The containers can dynamically request storage resources and access persistent or non-persistent volumes using Kubernetes’ volume claims mechanism.
4. Secret and configuration management
Maintain application configurations and deploy secrets without rebuilding your image and exposing secrets.
5. Automatic bin packing
You provide Kubernetes with a set of nodes that it can use to run containerized tasks. You reveal to Kubernetes the amount of CPU and memory (RAM) every container needs. Kubernetes can fit containers on your nodes to make the best use of your resources.
6. IPV4/IPV6 dual-stack
Assignment of IPv4 and IPv6 addresses to pods and services
7. Horizontal scaling
Scale your application all up and down on CPU utilization with a simple command, with the UI, or consequently.
8. Batch exclusions
The Kubernetes platform can manage your batch and continuous integration workloads, replacing failed containers if necessary.
9. Self-healing
Containers can be restarted when they fail, will be replaced and rescheduled when nodes die, will be killed if they don’t respond to your user-defined health check, and won’t be advertised to clients until they are ready.
Kubernetes Components
You get a cluster when you deploy Kubernetes.
Worker machines named nodes, or Kubernetes clusters, execute containerized applications. Each cluster has a worker node.
A worker node (or multiple workers) hosts the Pods that compose the application workload. Cluster worker nodes and pods are managed by the control plane. The control plane and a cluster are usually shared by multiple computers in a production environment, which ensures high availability and fault tolerance.
Control Plane Components
Components of the control plane make global decisions about the cluster (e.g., scheduling) and detect and respond to cluster events (e.g., starting up a new pod when a deployment’s replicas field is not satisfied). for example Kube-API server, etcd, Kube-scheduler, Kube-controller-manger, cloud-controller-manager.
Node Components
The Kubernetes runtime environment and the pods run on every node thanks to node components. For example kubelet, Kube-proxy, container runtime,
Addons
Addons use Kubernetes resources (DaemonSet, Deployment, etc) to implement cluster features. Because these are providing cluster-level features, namespaced resources for addons belong within the Kube-system namespace. For example DNS, web UI, container Resources monitoring, cluster-level logging
The Kubernetes API
It is the API server that drives the Kubernetes control plane. This allows end-users, cluster components, and external components to communicate through an HTTP API.
It allows you to view and manipulate data for API objects in Kubernetes (such as pods, namespaces, config maps, and events).
Kubectl handles most operations, as well as other command-line tools such as Kubeadm. Kubectl makes API calls through the command-line interface. Alternatively, REST calls can be made directly to the API.
API Extension
Two methods are available for extending the Kubernetes API:
- The API server can provide your custom resource API by means of custom resources that you define declaratively.
- You can also implement an aggregation layer to extend the Kubernetes API.
Thanks to you again for reading our blog. If you’ve got any queries then you’ll mail us to futuretechnoindia@yahoo.com
You can follow us on
Instagram: futuretechnoindia
LinkedIn: futuretechnoindia
Blogger: futuretechnoindia