zoukankan      html  css  js  c++  java
  • 用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部署应用服务到生产环境的一些基本思路,具体的细节因公司业务保密的关系未在文中详细列出,供大家参考。

  • 相关阅读:
    heartbeat 心跳技术
    国产数据库有哪些?
    Redis(1.9)Redis主从复制
    Redis(1.8)Redis与mysql的数据库同步(缓存穿透与缓存雪崩)
    分布式系统/NoSQL
    Redis(1.7)Redis高可用架构与数据库交互(理论篇)
    Redis(1.6)Redis发布订阅
    Redis(1.5)Redis配置文件(4.0.14)
    (5.3.4)数据库迁移——数据对比(结构、数据类型)
    【基本优化实践】【1.5】如何在线稳定的删除/更新大量数据?
  • 原文地址:https://www.cnblogs.com/mushou/p/9909168.html
Copyright © 2011-2022 走看看