从本教程开始,我们将会通过实践来深入学习前面教程解读过的概念。我们这次先从创建一个基本的deployment应用开始入手。
首先,我们执行下面这条脚本创建一个简单的deployment:
kubectl run db-mysql \
--image=mysql:5.7 \
--port=3306
然后我们执行下面这条命令获取刚刚创建的deployment:
kubectl get deployment
执行完命令之后我们可以看到db-mysql的一些状态信息,包括:是否准备、生命周期等。
我们如果想知道这个deployment更多的信息,可以执行:
kubectl describe deployment
我们可以很清晰的看到mysql这个deployment在kubernetes中的配置信息,副本数(replicas)、更新方式等。
从上面几条命令我们大概知道创建一个deployment是怎么样子的了,那么这几行命令实际在kubernetes中是怎么执行的呢,大家可以看下面的流程图:
从这里我们可以很清晰看到,我们创建deployment的时候,首先会先创建它对应的pod,我们输入的脚本会通过kubectl发送到kubernetes的api-server,然后将脚本存储进etcd中,再通过调度器(scheduler)选择合适的node节点进行pod的部署。scheduler选择好合适的node之后,将调度的节点信息再通过api-server保存到etcd中,最后node上的kubelet根据脚本进行pod的容器启动,这就是创建启动一个deployment的过程啦!
大家在读完教程之后,记得要亲自动手实践一下哈!