Hey there! I'm Nikhil Sihora

Let's dive into the world of Linux together!

Kubernetes Services

Kubernetes services enable communication between various components within and outside of the application. They enable loose coupling between micro-services in our application. Services are static IPs that can be attached to a pod or a group of pods using label selectors. They are not attached to deployments. Services prevent us from using the pod IP addresses for communication which could change when the pod is restarted. Lifecycle of pod and service are not connected.

Kubernetes Deployment

Provides the capability to upgrade the instances seamlessly using rolling updates, rollback to previous versions seamlessly, undo, pause and resume changes as required. Abstraction over ReplicaSet. Blueprint for stateless pods (application layer). When a deployment is created, it automatically creates a ReplicaSet which in turn creates pods. If we run k get all we can see the resources created by deployment. Config YAML file 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 apiVersion: apps/v1 kind: Deployment metadata: name: httpd-frontend labels: name: frontend spec: replicas: 3 selector: matchLabels: name: frontend template: metadata: labels: name: frontend spec: containers: - name: httpd image: httpd:2.

Kubernetes Replicaset

ReplicaSet monitors and maintains the number of replicas of a given pod. It will automatically spawn a new pod if the pod goes down. It is needed even if we only have a single pod, because if that pod dies, replica set will spawn a new pod. It spans the entire cluster to spawn pods on any node. Tip ⛔ Newer and better way to manage replicated pods in Kubernetes than Replication Controllers Simple Config for a Replicaset 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 apiVersion: apps/v1 kind: ReplicaSet metadata: name: httpd-frontend labels: name: frontend spec: replicas: 3 selector: matchLabels: name: frontend template: metadata: labels: name: frontend spec: containers: - name: httpd image: httpd:2.

Kubernetes Pod

Kubernetes doesn’t run containers directly on the nodes. Every container is encapsulated by a pod. Smallest unit of computing Kubernetes. A pod is a single instance of an application. If another instance of the application needs to be deployed, another pod is deployed with the containerized application running inside pod. Pods are epheremeral resources, meaning that Pods can be terminated at any point and then restarted on another node within our Kubernetes cluster.

Kubernetes Node

Kubernetes is an open-source container orchestration tool developed by Google. It helps us manage containerized applications in different deployment environments. Container Orchestration The automated deployment and management of containers is called container orchestration. Containers act as perfect hosts for micro-services (running independently). The rise of micro-services architecture led to applications using 1000s of containers that need to be smartly managed. Container orchestration offers: High Availability (no downtime) Horizontal Scalability Disaster Recovery And so much more.
0%