Kubernetes集群上部署第一个WEB应用
本帖最后由 yeslab官方 于 2018-3-10 18:17 编辑接上回说:
Kubernetes1.5集群部署
Docker私有容器仓库搭建
一、使用YAML配置文件创建容器服务
创建: nginx_rc.yaml 文件
http://www.yeslab.net/Uploads/201803/5aa10e8a6e9b9.jpg
注意:
如果没有创建成功,可以通过命令[ kubectl describe pod nginx-18vg8 ]查看状态。
※ 错误 1:
http://www.yeslab.net/Uploads/201803/5aa10f069c17d.jpg
原因: 证书问题
解决方法: yum -y intall *rhsm* ##z
※ 错误 2:镜像拉取失败
http://www.yeslab.net/Uploads/201803/5aa10f66cdb94.jpg
原因:http 与https 的问题
解决:
vim /etc/docker/daemon.json
添加:
{"insecure-registries":["172.16.70.182:5000"]}
http://www.yeslab.net/Uploads/201803/5aa10f98a4d6f.jpg
二、创建Service使容器可以对外提供服务
http://www.yeslab.net/Uploads/201803/5aa10fedb7870.jpg
说明:
【nodePort】
比如一个 Web 应需要被其他用户访问,那么需要配置 type=NodePort,而且配置 nodePort=30001,那么其他机器就可以通过浏览器访问 cheme://node:30001 访问到该服务,例如 http://node:30010。
【targetPort】
容器的端口(最根本的端口入口),与制作容器时暴露的端口一致(DockerFile 中EXPOSE),例如 docker.io 官方的 nginx 暴露的是 80 端口。
【port】
kubernetes 中的服务之间访问的端口。
上述说明:容器开放的端口是 80, pod 之间需要通过 8080 通信,外部主机可以通过http://nodeip:30010 来访问 WEB 服务。
【kubectl create -f nginx_service.yaml】
创建服务
【kubectl describe service】
查看服务详细信息
服务创建后,在 node 节点的 iptables 会自动创建NAT策略略 将80端口映射到你指定的30010端口。在node节点上执行: iptables -vnL -t nat | grep 30010 应有类似如下输出:
http://www.yeslab.net/Uploads/201803/5aa110c2474cb.jpg
验证结果:
在集群外部主机上请求页面:
http://172.16.70.181:30010/ status 200
第一个应用就部署成功
你的呢?
部署中有任何疑问可以联系客服
作者简介
http://www.yeslab.net/Uploads/201803/5aa1120031cd6.jpg
多年运维&运维自动化平台开发经验,曾在腾讯旗下微众银行 顺丰科技 等国内知名互联网公司任职,致力于提高企业自动化运维水平,改善运维工程师生活质量。
欢迎大家分享各领域技术
投稿:pangmm@yeslab.net
http://www.yeslab.net/Uploads/201709/59afc787d9521.jpg
页:
[1]