Posted On April 18, 2019

Kubernetes Overview

kimconnect 0 comments
blog.KimConnect.com >> Virtualization >> Kubernetes Overview
Master Server Role

– One server or a pod functions as the master server
– Master server role has these jobs/components:

    • Gateway and control panel for the cluster via API
    • Perform health checks on other nodes
    • Schedule workloads and manage scaling
    • Link all components and adjust networking
    • Authenticate clients and nodes

– Declaration plan (JSON or YAML format)

    • Start user-defined application or service
    • Master server executes plan by examining current state of system
    • etcd is a protocol to distribute configuration values within the cluster. Its methods allow applications to select, update, delete shits programmatically.
    • Kubernetes uses etcd to allow nodes to reconfigure themselves.

– kube-apiserver provides RESTful interface for kubectl (clients)
– kube-scheduler assigns workloads
– kube-controller-manager regulates the cluster
– cloud-controller-manager connects to various cloud environments to provide a uniform dashboard

Node Server Components

– Container Runtime can be serviced by Docker, rkt, or runc
– kubelet authenticates to the cluster and receive manifest (work) and controls Container Runtime. Report state of node to Master server.
– kube-proxy: run on each node to ensure networking is streamlined

Objects

– Pod is a group of nodes that perform similar functions, share life cycle. These nodes share environment, volumes, and supernets
– Replication Controller defines pod template to scale replicas horizontally. It can perform updates on sets of pods without affecting availability.
– Replication Sets are the run-time copies of Replication Controller design. It’s meant to be selected by Deployments (workloads)
– Deployments are high-level objects accessible to the user. Similar to Replication Controller in functionality while differing in the easy of roll-back features.
– Stateful Sets is a specialized pod controller, often associated with persistent databases. It acts as a pod controller to guarantee stability in networking and storage. It does this by tracking IDs for each pod
– Daemon Sets is a type of pod controller, often associated with node services such as collecting metrics, gathering logs. These can bypass pod restrictions to ensure essential services are available to nodes.
– Jobs are one-off tasks. Kubernetes also has Cron Jobs that function just like the sub-system Cron.
– Service is a group of pods that performs the same functionality. There are Internal (SQL) and External Services (Apache/Nginx)
– NodePort maps the node’s external IP with the cluster IP service
– LoadBalancer creates external balancer route to Services
– Volumes are Kubernetes construct that allow all containers in a pod to share. These exist until the Pod is terminated
– Persistent Volumes are made to survive the pod’s life cycle as defined by their reclaimation policy
– Labels are tags on Controller-based objects and Services. Each unit can have multiple labels, but it can only have 1 key entry. Semantics such as DEV, QA, STAGE, PROD, VERSION-X, etc are good examples of usage
– Annotations are aggregates of Labels. They’re useful for metadata and expanded descriptions

Practical illustration is posted here.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Post

Kubernetes: How to Set Node Affinity

Kubernetes pods' Quality of Service (QoS) can be controlled by setting node affinity. Here are…

Question: Is VirtualBox Recommended for Production?

Answer: No - It's not supported for production environment: - VirtualBox is not enterprise level:…

Router Console Methods

Router Console Methods: Configure Management Interface: mgmt intf Reset evaluation period: ssh into ESXi /etc/vmware/vmware.lic…
Other project: DragonCoin.com