每天打卡5分钟学习k8s,第一章Kubernetes跑起来。

Kubernetes(k8s)是谷歌的一个开源项目,现在不用说过多的介绍了吧。他的火,已经和vue,React这些名词一样,一提遍地都是。不用它推广,自然有人会说到它的存在。
k8s现在一直以快速的发展进行着。我们一起来学习的是k8s的1.7和1.8版本。
1.1 先跑起来
按照一贯的学习思路,我们会在最短的时间搭建一个系统,这样能尽快的对学习对象感性认识。先玩起来,快速了解基本概念,容易到放弃。
当然,要搭建一个可运作的系统是非常难的,很幸运的是k8s官网已经给我们准备了一个最小可用的系统。
在官网的这里网址
https://kubernetes.io/zh/docs...
会指导大家如何搭建kubernetes集群、部署应用、访问应用、扩展应用、更新应用等常用的场景、迅速建立感性认知。
1.2 创建k8s集群
点击 创建集群 -> 交互式教程 - 创建集群
每天打卡5分钟学习k8s,第一章Kubernetes跑起来。
文章图片

左边是操作说明,右边是命令终端。
我们在终端输入一下内容,创建一个节点

minikube startkubectl get nodes

每天打卡5分钟学习k8s,第一章Kubernetes跑起来。
文章图片

这样我们就创建了一个单节点集群。这个节点为minikube,需要注意的是当前命令的地方并不是minikube,我们可以通过k8s的命令行工具kubectl远程操管理集群
如果我们需要查看集群信息可以利用 kubectl cluster-info 查看集群信息.
每天打卡5分钟学习k8s,第一章Kubernetes跑起来。
文章图片

所显示的内容都是集群中运行的服务。
为了节省大家的时间,后面的操作会简化一些操作。详细的说明和步骤请参考官网。
1.3 部署应用
使用过dokcer的同学,大家都会使用到docker run命令,刚好在k8s里面也有这么一个对应的命令
kubectl run kubernetes-bootcamp \ --image=docker.io/jocatalin/kubernetes-bootcamp:v1 \ --port=8080

名字为 kubernetes-bootcamp , 使用的是docker镜像使用--image指定,--port设置端口.
每天打卡5分钟学习k8s,第一章Kubernetes跑起来。
文章图片

我们运行的东西,在k8s里面叫做pod,pod是k8s调度的最小单元。也就是我们说的资源。在docker里面查看运行的容器我们是使用 docker ps 命令,在k8s里面。我们就得使用 kubectl get pods
每天打卡5分钟学习k8s,第一章Kubernetes跑起来。
文章图片

1.4 访问应用
默认情况下,所有的pod只能在集群内部访问。对于上面的例子和docker一样要映射端口号,我们需要容器的8080端口
kubectl expose pod/kubernetes-bootcamp \ --type="NodePort" \ --port 8080

每天打卡5分钟学习k8s,第一章Kubernetes跑起来。
文章图片

注意画红线的部分
执行kubectl get services可以查看端口的情况
每天打卡5分钟学习k8s,第一章Kubernetes跑起来。
文章图片

我们的端口被映射到了31527
curl minikube:31527

每天打卡5分钟学习k8s,第一章Kubernetes跑起来。
文章图片

1.5 scale应用
默认应用会运行一个副本,可以通过 kubectl get pod查看
每天打卡5分钟学习k8s,第一章Kubernetes跑起来。
文章图片

如果需要添加到3个副本,可以使用scale来操作
kubectl scale pod/kubernetes-bootcamp --replicas=3

1.6 滚动升级
kubectl set image pod/kubernetes-bootcamp kubernetes-bootcamp=jocatalin/kubernetes-bootcamp:v2

每天打卡5分钟学习k8s,第一章Kubernetes跑起来。
文章图片

【每天打卡5分钟学习k8s,第一章Kubernetes跑起来。】如果需要回退,类似mysql的undo功能。
kubectl rollout undo pod/kubernetes-bootcamp

    推荐阅读