Kubernetes Concepts

Kubernetes is a orchestration manager/Cluster Manager for Container. Basically it creates infrastructure(cluster, nodes, etc) and deploy the container, loadbalanceing, managing, monitoring etc.

There are few terminologies/concepts used in kubernetes, which we need to understood.

Administrator will setup Nodes and Cluster (its a kubernetes deployment stuff).

Nodes

Nodes is a machine running kubernetes where the pods(containers) will be launched. (Similar to nova compute). Node can be a master or worker nodes.

Master Node: ??

Worker Node: ??

Commands:

cloud@mkube:~$ kubectl get nodes
NAME       STATUS    ROLES     AGE       VERSION
minikube   Ready     <none>    7d        v1.5.3
cloud@mkube:~$
cloud@mkube:~$ kubectl describe nodes                                                                                          
Name:               minikube
Roles:              <none>
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/os=linux
                    kubernetes.io/hostname=minikube
Annotations:        volumes.kubernetes.io/controller-managed-attach-detach=true
Taints:             <none>
.......
cloud@mkube:~$

Cluster

Cluster is collection of Nodes, storages and other resources, used for launching the pods(containers)

Cluster has minimum 1 master node and worker node.

High available cluster means, multiple master and worker nodes.

cloud@mkube:~$ kubectl cluster-info 
Kubernetes master is running at https://192.168.42.19:8443
KubeDNS is running at https://192.168.42.19:8443/api/v1/namespaces/kube-system/services/kube-dns/proxy
kubernetes-dashboard is running at https://192.168.42.19:8443/api/v1/namespaces/kube-system/services/kubernetes-dashboard/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
cloud@mkube:~$

User will create Pods, Service, Deployment, Replication Controller (These are used for deploying the application in the kubernetes ).

Pods

Pod is a one or more containers for deploying the application. Its a abstraction for managing group of container with shared volumes and network namespace.

loud@mkube:~$ kubectl get pods
NAME      READY     STATUS    RESTARTS   AGE
hello     1/1       Running   0          5d
cloud@mkube:~$ kubectl describe pods hello 
Name:         hello
Namespace:    default
Node:         minikube/192.168.42.19
Start Time:   Wed, 18 Oct 2017 17:40:08 +0000
Labels:       app=hello
Annotations:  kubectl.kubernetes.io/last-applied-configuration={"apiVersion":"v1","kind":"Pod","metadata":{"annotations":{},"la
bels":{"app":"hello"},"name":"hello","namespace":"default"},"spec":{"containers":[{"ima...
Status:       Running
IP:           172.17.0.4
...........

Replication Controller

RC(Replication Controller) manages the replication of PODs as specified in cmd line or YAML file. RC will ensure POD replicas are running at any point of time. New replica will be started if the existing replica is stopped/failed.

Deployment

Todo

Services

Todo

results matching ""

    No results matching ""