Kubernetes(k8s)是谷歌的一个开源我的项目,当初不用说过多的介绍了吧。他的火,曾经和vue,React这些名词一样,一提遍地都是。不必它推广,天然有人会说到它的存在。

k8s当初始终以疾速的倒退进行着。咱们一起来学习的是k8s的1.7和1.8版本。

1.1 先跑起来

依照一贯的学习思路,咱们会在最短的工夫搭建一个零碎,这样能尽快的对学习对象感性认识。先玩起来,疾速理解基本概念,容易到放弃。

当然,要搭建一个可运作的零碎是十分难的,很侥幸的是k8s官网曾经给咱们筹备了一个最小可用的零碎。

在官网的这里网址

https://kubernetes.io/zh/docs...

会领导大家如何搭建kubernetes集群、部署利用、拜访利用、扩大利用、更新利用等罕用的场景、迅速建设理性认知。

1.2 创立k8s集群

点击 创立集群 -> 交互式教程 - 创立集群

右边是操作阐明,左边是命令终端。

咱们在终端输出一下内容,创立一个节点

minikube startkubectl get nodes

这样咱们就创立了一个单节点集群。这个节点为minikube,须要留神的是以后命令的中央并不是minikube,咱们能够通过k8s的命令行工具kubectl近程操治理集群

如果咱们须要查看集群信息能够利用 kubectl cluster-info 查看集群信息.

所显示的内容都是集群中运行的服务。

为了节俭大家的工夫,前面的操作会简化一些操作。具体的阐明和步骤请参考官网。

1.3 部署利用
应用过dokcer的同学,大家都会应用到docker run命令,刚好在k8s外面也有这么一个对应的命令

kubectl run kubernetes-bootcamp \  --image=docker.io/jocatalin/kubernetes-bootcamp:v1 \  --port=8080

名字为 kubernetes-bootcamp , 应用的是docker镜像应用--image指定,--port设置端口.

咱们运行的货色,在k8s外面叫做pod,pod是k8s调度的最小单元。也就是咱们说的资源。在docker外面查看运行的容器咱们是应用 docker ps 命令,在k8s外面。咱们就得应用 kubectl get pods

1.4 拜访利用
默认状况下,所有的pod只能在集群外部拜访。对于下面的例子和docker一样要映射端口号,咱们须要容器的8080端口

kubectl expose pod/kubernetes-bootcamp \--type="NodePort" \--port 8080

留神画红线的局部

执行kubectl get services能够查看端口的状况

咱们的端口被映射到了31527

curl minikube:31527

1.5 scale利用
默认利用会运行一个正本,能够通过 kubectl get pod查看

如果须要增加到3个正本,能够应用scale来操作

kubectl scale pod/kubernetes-bootcamp --replicas=3

1.6 滚动降级

kubectl set image pod/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2

如果须要回退,相似mysql的undo性能。

kubectl rollout undo pod/kubernetes-bootcamp