yeslab官方 发表于 2018-3-10 18:16:25

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]
查看完整版本: Kubernetes集群上部署第一个WEB应用