7

Kubernetes DevOps. , , .

Docker Inc. ( Docker). , Docker , . ? Linux , Docker , .

Kubernetes. Google, , . - Google , - Cloud Native Computing Foundation. , Docker Kubernetes Docker Swarm.

Kubernetes Docker Community Docker Enterprise Edition.


, : Kubernetes

Kubernetes, k8s kube . , , . Kubernetes .

Kubernetes . , , , Kubernetes.

, Kubernetes Google, , Kubernetes .

Google 2 . 300 Borg. Kubernetes. Borg ./

Kubernetes , . , - .

, Kubernetes , , , .


Kubernetes?

( ):   Kubernetes

, Kubernetes ( Docker Swarm). , , .


(Desired state) Kubernetes. . . , , - , Kubernetes .

Kubernetes , . Kubernetes , . kubectl Desired State Kubernetes API.


Kubernetes

Kubernetes: Kubernetes (record of intent) , Kubernetes . , , .

Kubernetes . , . . Kubernetes.

  • (Pod) . , . ( ) ;
  • (Service) , ;
  • (Volume) , ;
  • (Namespaces) , ;

Kubernetes , . :

  • ReplicaSet - - ;
  • Deployment - ;
  • StatefulSet - ;
  • DaemonSet - ;
  • Job - -

Kubernetes

Kubernetes , Kubernetes , .

, Kubernetes kubelet , Kubernetes . Kubernetes . . , .

Kubernetes , . kubectl API.

: - , . , -. - .

:

  • kube-apiserver - . cubectl API;
  • kube-controller-manager - , ;
  • kube-scheduler - ;

Kubernetes

Kubernetes - , , . , . - . :

  • kubelet ;
  • kube-proxy , , API . TCP UDP ;

Kubernetes

. Kubernetes . Docker Community Edition 17.12.+ Minikube.

Docker Community Edition - ;
Minikube - (MiniKube)

Minikube , , . Minikube .

minikube start. , , Kubernetes.

$minikube start
Starting local Kubernetes v1.10.0 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
Kubectl is now configured to use the cluster.
Loading cached images from config file.

kubectl version

$ kubectl version
Client Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.1", GitCommit:"3a1c9449a956b6026f075fa3134ff92f7d55f812", GitTreeState:"clean", BuildDate:"2018-01-04T20:00:41Z", GoVersion:"go1.9.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

50% Merion Academy