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

【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。
【k8s学习笔记】第五篇:在k8s上运行容器_第1张图片

接下来,通过
kubectl describe replicaset httpd-deployment-6c9dcfcd5f
命令来查看replicaset的具体信息,可以看到httpd-deployment-6c9dcfcd5f受控于deployment/httpd-deployment,它创建了一个pod httpd-deployment-6c9dcfcd5f-fc6dd。
【k8s学习笔记】第五篇:在k8s上运行容器_第2张图片

继续,通过
kubectl describe pod httpd-deployment-6c9dcfcd5f-fc6dd
命令查看pod的具体信息,可以看到 httpd-deployment-6c9dcfcd5f-fc6dd受控于replicaset/httpd-deployment-6c9dcfcd5f,通过日志,首先kube-scheduler将这个pod分配到node2节点,然后在节点上下载并启动容器。
【k8s学习笔记】第五篇:在k8s上运行容器_第3张图片
通过上面的过程,证明了Deployment通过ReplicaSet创建Pod的过程,对象的命名方式是【子对象名称=父对象名称+随机字符串】。

你可能感兴趣的:(【k8s学习笔记】第五篇:在k8s上运行容器)