本文介绍: 随着国内数字化转型的加速和国产化进程推动,软件系统私有化部署已经成为非常热门的话题,因为私有化部署赋予了企业更大的灵活和控制权,使其可以根据自身需求安全要求定制管理软件系统。下面分享我们基于k8S私有化部署经验。

公众号「架构成长指南」,专注于生产实践、云原生分布式系统大数据技术分享

随着国内数字化转型的加速和国产化进程推动,软件系统私有化部署已经成为非常热门的话题,因为私有化部署赋予了企业更大的灵活和控制权,使其可以根据自身需求安全要求定制管理软件系统。下面分享我们基于k8S私有化部署经验。

私有化交付目标

以上目标,目前最合适的就是k8s原因如下

因此基于k8s私有交付是最合适的方案,当然如果项目规模比较小,就几个服务没有动态扩容需求,那么也没必要引入k8s,如果项目规模较大,使用k8s进行私有化部署是不错的解决方案

基于k8s私有化部署如何做?

以上我们确认使用k8s私有化部署,但是还有一些细节问题需要考虑

基于问题我们解决方案如下

公司内部构建镜像时,直接推送公网镜像仓库Harbar,在客户机直接拉取部署,而部署服务使用Helm进行部署,Helm一个 k8s的包管理工具,他可以一组服务yaml文件管理起来,并且支持部署和更新,非常方便。比如一个文件系统,包括DeploymentServicegateway vspv pvc文件,如果用Helm管理起来,如下图

上面文件可以认为是模板,其中有一个配置文件values.yaml,所有的可变都在这里面维护,在

要部署这个文件系统执行以下命令即可完成

helm install fss myrepo/fss  
--set pv.log.type=storageClass 
--set pv.log.pvc.storageName=gfs-storage 
--set pv.log.pvc.storage=5Gi 
--set pv.file.type=storageClass 
--set pv.file.pvc.storageName=gfs-storage 
--set pv.file.pvc.storage=1Gi 
--set istioGateway.schema=http 
--set istioGateway.hosts={test-user.com} 
--set istioGateway.ucenterHost=test-order.com 
--set apollo.cluster=test
--set sv.fssManager.replicaCount=1 
--set sv.fssRest.replicaCount=1

中间件部署,对部署在k8s外部的中间件,可以使用Ansiable编写自动化脚本,进行快速部署,几分钟可以部署一个高可用集群

系统参数配置,一般使用NacosApollo 进行管理配置,但是由于服务过多,配置起来工作量相对较大,而且很多都是重复工作
比如数据库地址kafka地址es地址都是相同的,那么如何避免做重复工作比如可以一个shell脚本公共参数取出来,然后进行修改替换,或者写一个运维部署平台,把相关公共参数进行图形化配置,并对接配置中心,进行发布替换

系统监控告警,目前可使用deepFlowkube-prometheus夜莺解决方案

在线运维平台,可以使用RancherKuberSphere,这两个都是目前非常热门图形化运维平台

快速移植,k8s设计之初就考虑移植性的问题,所以与底层基础设施关联性,所以不管是在公有云、私有云、混合云都是可以进行部署的,而且现在各大云厂商,都有 k8s 的商用解决方案,让我们部署起来更加快速,也不用考虑集群稳定性,比如阿里ACK华为CCE腾讯云的TKE等。

总结

以上我们介绍私有化部署的难点,并引申出了私有化部署整体解决方案,后续还会更新更多私有化部署相关文章比如存储怎么挂载域名怎么管理、监控告警怎么配置等,请持续关注

原文地址:https://blog.csdn.net/dweizhao/article/details/134799492

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_43140.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注