自建 Kubernetes 上运行容器(2)

查看 describe 的 Event 事件:

…… Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedScheduling 10m (x39 over 65m) default-scheduler 0/1 nodes are available: 1 node(s) had taints that the pod didn't tolerate. Normal Pulling 5m41s kubelet, instance-010oj085 Pulling image "nginx:1.7.9" Normal Pulled 4m37s kubelet, instance-010oj085 Successfully pulled image "nginx:1.7.9" Normal Created 4m37s kubelet, instance-010oj085 Created container nginx Normal Started 4m37s kubelet, instance-010oj085 Started container nginx 镜像服务升级 1. 修改 YAML 文件 2. 执行命令 # 修改nginx-deployment.yaml的内容 kubectl apply -f nginx-deployment.yaml

当应用本身发生变化时,开发人员和运维人员可以依靠容器镜像来进行同步;当应用部署参数发生变化时,这些 YAML 文件就是他们相互沟通和信任的媒介。

删除 Nginx Deployment $ kubectl delete -f nginx-deployment.yaml 总结

Kubernetes 里“最小”的 API 对象是 Pod。Pod 可以等价为一个应用,所以,Pod 可以由多个紧密协作的容器组成。

在 Kubernetes 中,我们经常会看到它通过一种 API 对象来管理另一种 API 对象,比如 Deployment 和 Pod 之间的关系;而由于 Pod 是“最小”的对象,所以它往往都是被其他对象控制的。这种组合方式,正是 Kubernetes 进行容器编排的重要模式。

像这样的 Kubernetes API 对象,往往由 Metadata 和 Spec 两部分组成,其中 Metadata 里的 Labels 字段是 Kubernetes 过滤对象的主要手段。

在这些字段里面,容器想要使用的数据卷,也就是 Volume,正是 Pod 的 Spec 字段的一部分。而 Pod 里的每个容器,则需要显式的声明自己要挂载哪个 Volume。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f1ab90408fd21cd7fc8ee4fab4d95a5b.html