成都国星宇航科技股份有限公司
国星宇航是一家 AI 卫星互联网科技公司,由卫星互联网领域的科研院所及部队领军人才创办。
行业
互联网商业卫星
地点
中国
云类型
混合云
采用功能
DevOps、日志、监控、网关
公司简介
国星宇航是一家 AI 卫星互联网科技公司,由卫星互联网领域的科研院所及部队领军人才创办。截至目前,国星宇航已完成 11 次太空任务,研制并发射 15 颗 AI 卫星及载荷。国星宇航通过低成本快响应卫星研制技术体系、全栈 AI 卫星网络技术体系、面向未来的可信共享互联通信技术体系,形成了面向不同应用场景的 B 端、G 端、C 端等卫星互联网产品,已服务上百家政企客户,并覆盖上亿 C 端用户。国星宇航始终坚持与祖国在一起,助力社会,服务人民,致力于实现“同一个星空,同一个网络”的美好愿景。
IT 建设目标
我们期望基于 K8s 搭建 PaaS 云计算基础平台,多租户管理使用资源,集成 CI/CD、支持灵活扩容与升级集群,构建企业级一站式 DevOps 架构,提高集群资源可监控性,可溯源操作审计。
环境痛点
物理机服务器集群,未使用第三方托管上云,在使用 K8s 之前使用 Docker Swarm 模式部署,Portainer 可视化管理 Docker 容器,开发部署环境混乱,运维管理成本大,服务器资源利用率不高。
IT 运维与开发团队的规模
子部门,后端开发 2 人,前端 2 人,运维兼开发一人,小规模开发团队。
背景介绍
云原生(Cloud Native)这个概念最早由来自美国云原生公司 Pivotal 的 MattStine 于 2013 年首次提出,最早只是他根据其多年的架构与咨询经验总结出的一个思想集合,包括 DevOps、持续交付、微服务、敏捷基础设施和 12 要素等几大主体。
现在着眼于云应用部署,其拥有着弹性、共享、自治、高可用、按需分配资源、可监控审计等优秀特点。
结合于云原生的各项优势,我们相信云原生即是未来。
在使用 K8s 之前,应用的部署以及管控对于开发者、运维来说繁琐且耗费精力,容器资源的分配、使用的情况在应用分部散乱的时候尤其难管理。
拥抱云原生,使用 K8s 后能方便业务解耦,分离部署,高可用,对于开发人员能极大提升开发效率。
在初期选型考虑过部署原生 K8s,使用原生 Dashboard,后来考虑学习成本过高,得不偿失,直到偶然的机会发现了 KubeShpere。
对于本人来说一直对于云原生都有向往,一眼相中了 KubeSphere 的 UI 界面,当然,还有更贴合开发的操作界面,在我认知方面 KubeSphere 之于 K8s 如同 Spring 之于 Java,开箱即用,即用即拿。
我们当前将一部分 SaaS 产品运行于 KubeSphere 上,后续会考虑进一步迁移。
实践过程
KubeSphere 在相关业务的基础设施与部署架构介绍
我们依托于 kubeshere 部署 Harbor 私有镜像库,暂时使用手动上传 Jar 包构建镜像,未使用 CI/CD 流程,后续可能会自行构建流水线,采用 Helm 构建应用,更好贴合于 KubeSphere 应用市场。
在项目中,我们使用项目网关,服务只有 Gateway 模块通过 Ingress 暴露对外地址,前端使用 OpenResty 部署。
鉴于人员不多以及应用暂时仅对公司内部运行的情况,还未接入容器监控模块,后续可能会采用 Prometheus+Grafana 监控配置,以保证服务运行状态的可观测性,以及根据监控数据灵活的动态伸缩。
通过企业空间逻辑隔离出 pord 、dev 、test 环境,开发人员按部门以及项目进行授权。
搭建 Nacos
在 Mysql 中执行 Nacos 初始化 SQL。选择新建自制应用。
本处使用 DockerHub 中的 Nacos 镜像,需要加入参数启动。
如若只添加这两个环境变量,则默认采用内置 derby 数据库,重启会导致数据清除,为了数据持久化,建议采用外置数据库。
部署完毕后,登入 Nacos(此处使用路由解析了域名)。
KubeSphere 自带底包运行应用远程调试
使用第三方底包可以之家在启动命令处加入 java 启动命令来实现远程 Debug,此处示例 KubeSphere 自带 Java 底包。在构建镜像,点击高级设置,可以对应添加调试参数,使用 Nodeport 对外暴露端口,即可以进行远程 Debug 应用。
KubeSphere 自带集群监控
降低了项目开发运维成本,助力企业容器化改造
提高了 DevOps 的扩展能力
提高了部门下不同项目开发的区分度
与 KubeSphere 的契合点
在开发部署上,对内可针对于项目快速应用开发,部署运行环境、中间件,且借助于 KubeSphere 自带监控告警保证服务可用;对外产品演示时能灵活创建销毁容器,服务即用即拿。
考虑到 KubeSphere 无缝契合 K8s,其友好的操作界面,使得我们开发人员也能低成本的上手使用 K8s,享受其带来的便捷性。
由于我们当前使用物理机部署,在将来可能会接入公有云产品,所导致的资源连通问题是绕不开的话题,所以 KubeSphere 所推行的混合云也是吸引我们的一个点,借助于 KubeSphere 加速云上云下整合实现更好的资源共享。
对于一个良好的 K8s 载体,KubeSphere 的多租户特性这是原生 K8s 和其他同类产品都没有的功能。青云QingCloud 做了很多企业级特性增强的工作,对于多项目并行以及环境隔离来说简直是一剂良药,使得项目部署规划更加规整,并且 KubeSphere 的可观察性以及监控告警也是多租户的,可以细分开发人员更好的专注于自己所负责的模块。
KubeSphere 使我们云上云下资源利用率显著提升,资源使用情况明确、可量化,业务相关的运维以及开发更便捷高效。
国星宇航
落地成效
应用 KubeSphere 之后,和之前相比,开发人员生成镜像制品更加便捷、集群资源利用率提高、应用服务能灵活分配资源、环境隔离更加直观且易于管理、多租户权限配置能更大限度的防止误操作,后续可扩展性提升。