Kubernetes is an open-source container orchestration platform created to automate the deployment, scaling, administration, and orchestration of containerized applications. It is frequently shortened as K8s (K-8 characters between “K” and “s”). The Cloud Native Computing Foundation (CNCF) now maintains it after Google initially built it. Kubernetes is an effective platform for scalable, high-performance management of containerized applications. Here are some essential Kubernetes ideas and elements:
1 Container Orchestration: A platform for automating the deployment and maintenance of containerized applications is offered by Kubernetes. Containers are application-running environments that are compact, portable, and reliable. Based on resource usage and application needs, Kubernetes aids in ensuring that containers are deployed and scaled appropriately.
2 Kubectl: The command-line tool used to communicate with a Kubernetes cluster is called Kubectl. It enables users to build, examine, and control clusters and resources for Kubernetes.
3 Cluster Management: With a master node and numerous worker nodes, Kubernetes functions as a cluster. The cluster is managed and controlled by the master node, and containerized applications are run on the worker nodes. Due to its distributed architecture, high availability, and fault tolerance are guaranteed.
4 Containers: Applications are packaged and operated by Kubernetes in isolated, repeatable environments using container runtimes like Docker. Containers offer consistency between many settings, from production to development.
5 Pods: The Kubernetes term for the smallest deployable unit is “pod.” One or more containers in the same network and storage namespace can make up a pod. Co-located and co-scheduled on the same host, containers within a pod can easily communicate with one another.
6 Services: With Kubernetes, load balancing and the network are abstracted for applications utilizing services. Services give users a consistent virtual IP address and DNS name that may be used to direct traffic to a collection of pods. Because of this, apps can scale horizontally while preserving a constant network endpoint.
7 Replication Controllers and Replica Sets: These controllers guarantee that an agreed-upon number of pod replicas are active at all times. According to required replica counts, they are in charge of scaling up or down pods.
RHEL 9 had not yet been released as of my most recent knowledge update in September 2021, and depending on the version of RHEL you are running, the procedure for installing Kubernetes may differ. The most recent installation instructions are in the official RHEL 9 and Kubernetes documentation, which I strongly advise consulting. However, I can provide you with a rough breakdown of the procedures needed to install Kubernetes on RHEL:
Installing Kubernetes on RHEL Step By Step:
1 Docker (Container Runtime) installation:
Click on this link to install Dock:-
2 Disable the firewall and SELinux (optional):-
Since firewalls and SELinux might cause problems for Kubernetes, it’s frequently advised to turn them off. However, you need to set up SELinux and firewall rules for Kubernetes properly in a production environment. To momentarily turn off the firewall and SELinux:
( 1 ) Open the SELinux configuration file: /etc/selinux/config
[root@server ~]# vim /etc/selinux/config
( 2 ) Locate the following line:-
( 3 ) Disabled should now be the value.
Close the file after saving your modifications.
( 4 ) SELinux is indefinitely disabled upon the subsequent reboot. Execute the following command to dynamically disable it prior to rebooting:
[root@server ~]# setenforce 0
3 Next Firewalld Disable and Stop
[root@server ~]# systemctl stop firewalld.service
[root@server ~]# systemctl disable firewalld.service
3 Create a New Repository Kubernetes:-
Installing Kubernetes components may be done using the official RHEL Kubernetes repository. Install Kubernetes after adding the repository:
tee /etc/yum.repos.d/kubernetes.repo <<EOF [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF
4 The Kubernetes components are now ready for installation:-
[root@server ~]# yum install -y kubeadm kubelet kubectl
5 Start the Kubernetes services by enabling them:
[root@server ~]# systemctl start kubelet
[root@server ~]# systemctl enable kubelet