用k8s构建生产环境下应用服务
Posted mushou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用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部署应用服务到生产环境的一些基本思路,具体的细节因公司业务保密的关系未在文中详细列出,供大家参考。
以上是关于用k8s构建生产环境下应用服务的主要内容,如果未能解决你的问题,请参考以下文章
换个姿势学习Kubernetes运营,如何5个月在生产环境构建K8S?