您的位置:首页 > 其它

【k8s学习笔记】第五篇:在k8s上运行容器

2019-01-04 20:35 155 查看

【k8s学习笔记】第五篇:在k8s上运行容器

在这一篇中,我们在k8s上运行容器应用,并做一些基本的分析。
运行httpd:
kubectl run httpd-deployment --image=httpd --replicas=2
这个命令将会运行httpd容器,建立2个pod副本,分别运行在k8s-node1和k8s-node2上面。
运行:
kubectl get pod -o wide
命令可以查看pod的部署信息。

我们尝试删除pod,
运行:
kubectl delete pod httpd-app-f9ccf4675-b7t9d

提示pod已经删除,确认执行结果:

发现httpd-app-f9ccf4675-b7t9d这个pod删除后,一个新的pod httpd-app-f9ccf4675-fnn9v 被创建出来,维持了运行deployment时2个副本的设置。
我们尝试删除deployment,
运行:
kubectl delete deployment httpd-app

提示deployment 已经删除,确认执行结果:

可以看到pod已经被终止并删除。

下面我们重新运行这个容器应用,看一下pod是如何被创建出来的。

首先,通过
kubectl describe deployment httpd-deployment
命令来查看deployment的具体信息,最下方的Events部分表明具体的动作日志:deloyment创建了一个ReplicaSet httpd-deployment-6c9dcfcd5f。

接下来,通过
kubectl describe replicaset httpd-deployment-6c9dcfcd5f
命令来查看replicaset的具体信息,可以看到httpd-deployment-6c9dcfcd5f受控于deployment/httpd-deployment,它创建了一个pod httpd-deployment-6c9dcfcd5f-fc6dd。

继续,通过
kubectl describe pod httpd-deployment-6c9dcfcd5f-fc6dd
命令查看pod的具体信息,可以看到 httpd-deployment-6c9dcfcd5f-fc6dd受控于replicaset/httpd-deployment-6c9dcfcd5f,通过日志,首先kube-scheduler将这个pod分配到node2节点,然后在节点上下载并启动容器。

通过上面的过程,证明了Deployment通过ReplicaSet创建Pod的过程,对象的命名方式是【子对象名称=父对象名称+随机字符串】。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: