容器之k8s(四)

容器编排与CI/CD(持续集成/持续交付)

  流程图:

    

 

 常见CI/CD工具:

    

 

       

 

          

 

         ,其中Bamboo与Jira集成。

 

 

 

k8s微服务落地

  

 

红色为有状态服务,不太方便进行弹性扩缩容,这种应用建议云服务现有产品,如mysql,redis。rabbitmq由于阿里云没有进行很好的支撑,所以改为部署在自己的k8s集群中。

白色为无状态服务,需要经常进行灵活的弹性扩缩容,这种应用部署在自己的k8s集群中。

 

微服务部署步骤

  1)云后台服务(mysql,redis),如果使用本地k8s集群部署,难点较多,涉及到高可用,数据库代理mycat等与k8s的集成问题,待后期扩展。

    1.k8s部署mysql

      1)vim mymysql.yaml

        

 

         

 

       2)kubectl apply -f  mymysql.yaml

       3) 使用navicat验证部署

    2.k8s部署redis

      

  2)基础架构服务(计算节点,kubernetes集群)

  3)容器直接部署(rabbitmq),同样使用单节点部署,没有解决高可用问题,待后期扩展。

    1.vim myrabbitmq.yaml

      遇到的坑:

        1.版本号不知道怎么写,使用命令kubectl api-versions可以查看所有可用版本号

        2.使用apps版本号需要指定selector属性

        3.容器一直初始化状态,到不了running,不知道怎么排查。需要查看pod日志信息,具体指令:kubectl describe pod +pod_name,查看deployment日志信息什么也看不到,必须查看pod日志才行。

      

 

       

 

     2.访问192.168.3.201:31199验证部署

      

  4)代码改造(修改eureka配置,数据库配置),eureka也是单节点部署,没有解决高可用问题,待后期扩展。

  5)制作并发布镜像(编译,镜像制作,镜像上传),可以使用自建仓库,也可以使用阿里云现成的镜像仓库服务

  6)容器和服务部署(deployment,service)

 

posted @ 2020-10-13 03:32  红嘴鲤鱼  阅读(277)  评论(0编辑  收藏  举报