前边折腾了各种安装 Kubernetes 集群的操作,还跑到 AWS 上撸了一把 EKS,也在 Kubernetes 上部署过服务。继续更深一步的学习如何部署应用和怎么通过 Service 去访问 Pod 中的应用,顺带看看内部的网络是怎么流转的。
测试平台还是以本地启动的三个 Vagrant 虚拟机组成的 Kubernetes 集群,安装方法见 Kubernetes 学习笔记(一) - 初上手。
- k8s-master (172.28.128.14)
- k8s-node1 (172.28.128.10)
- k8s-node2 (172.28.128.11)
测试应用的镜像为 yanbin/python-web
, 代码见 github 上的 yabqiu/python-web-docker/app.py, 一个默认启动在 80 端口上的 Flask Web 应用,输出为当前 hostname 和一个唯一标识符。
部署应用
《每天5分玩转Kubernetes》里用的 Kubernetes 是 1.7 版本,其中还在用 kubectl run
的方式来部署应用(它会产生一个隐式的 deployment 对象),该方式已在 Kubernetes 1.12 中不推荐使用了,建议用 kubectl create deployment...
,而实际中更应该用 yaml
文件编排后再 kubectl apply -f <your-yaml-file>
, 这样多种对象可以编写在一起,更方便日后同样的命令更新各种对象,或者用 kubectl delete -f <your-yam-file>
批量删除所创建的对象。 阅读全文 >>