• 用k8s构建生产环境下应用服务


    1.生成镜像

    见https://www.cnblogs.com/mushou/p/9713741.html,把测试成熟的应用添加到tomcat镜像生成新的镜像,用ansible部署到集群的几点服务器中。

    2.部署环境

    1)安装docker-ce

    2)安装k8s

    一定记得kubectl,kubeadm,kubelet,kubernetes-cni版本与使用的kube-apiserver,kube-schedule,etcd,kube-controll-manager的版本相同

    见https://www.cnblogs.com/mushou/p/9613365.html

    3)部署集群

    见 https://www.cnblogs.com/mushou/p/9613365.html

    3.部署应用

    应用依赖的数据库,图片,Java环境部署在数据库服务器,采用nfs服务器共享供集群节点使用,也可以把应用服务的应用数据包共享供节点挂载。

    1)配置nfs服务器

    2)创建数据库服务

    创建persistentVolume,创建persistentVolumeClaim

    3)创建应用配置文件.yml文件

    其中,Deployment应用的镜像为前面生成的新镜像,

    volumes包括了persistentVolumeClaim,有数据库卷,图片卷,Java环境卷,其中还有一个tomcat/conf下的 server.xml文件也需要挂到生成的deployment中,

    需要使用configMap,需要先建好,kubectl create configmap  server-xml-key   --from-file=server.xml,

    在 yml配置文件中的volumes使用:

    name: server-xml-key
            configMap:
              name: server-xml-key

    同时在volumeMounts:

    - name: server-xml-key
              mountPath: /usr/local/tomcat/conf/server.xml
              subPath: server.xml

    这样就把该文件挂到pod中,我们如果更改pod中容器的tomcat的配置,只需更改该文件即可。其实我们使用nfs服务器,采用共享挂载的方式就是方便更改,同时做到不因pod 或者节点的故障而导致应用服务不可用。

    4.

    上文只是针对用k8s部署应用服务到生产环境的一些基本思路,具体的细节因公司业务保密的关系未在文中详细列出,供大家参考。

  • 相关阅读:
    开发生产测试环境中的Swagger
    Linux ssh命令详解【转】
    mysql元数据库
    Spring Boot中使用Swagger2构建强大的RESTful API文档【转】
    docker【转】
    作为Java开发之新工作环境配置简明攻略
    CBA经典文章【转】
    Java中的日志【转】
    spring框架学习(六)AOP
    spring框架学习(五)注解
  • 原文地址:https://www.cnblogs.com/mushou/p/9909168.html
Copyright © 2020-2023  润新知