整体介绍
磐舟devops的核心功能是项目管理和CI流程实现。CD能力也是集成的外部开源产品argoCD。所以 磐舟并不以CD能力见长。一般推荐试用磐舟完成CI,然后试用移动云CNP产品完成CD部署工作。
移动云原生技术平台CNP是面向多云多集群场景的应用管理平台。平台以应用为核心,覆盖管理、调度、交付、运维等全生命周期,提供跨云跨地域算力统一管理、分布式数据服务、分布式应用开发、全链路统一运维等核心能力。
直白点说,就是能够纳管k8s集群,包括自建k8s集群和移动云资深KCS服务创建的k8s集群。然后基于纳管的集群,提供了CD部署的UI控制台界面,在此基础上,提供了纳管资源的监控以及常用组件的集群内快速部署功能。目前组件提供nacos、apisix、skywalking、istio。
基础使用流程说明
集群管理
首先你需要先构建好一个k8s集群,纳管到cnp平台中。目前支持公网和内网纳管两种方案。
公网纳管
支持各种云平台,但是需要打通网络,也就是说需要吧k8s API server暴漏给cnp服务才行。一般不推荐使用。如果要使用该方式的话,需要在对端网络策略配置cnp出口的白名单,确保网络安全。
然后就是讲kubeconfig贴过来,进行纳管。cnp会将自身需要的组件在集群内完成部署初始化工作。
内网纳管
内网纳管时,只要当前移动云账号下,对应资源池下存在kcs创建的集群,cnp平台能够自动识别到,并直接纳管。
环境标签主要是用来标准集群是测试还是生产环境使用。
集群管理看板
完成集群纳管后,就可以看到集群整体的概览信息。并支持级联方式查看各个组件、节点、业务的使用情况。
工作节点
可以直观查看worker节点资源状况。
其他功能所见即所得,请自行摸索,不再截图展示。
平台管理
完成集群纳管后,下一步是要进行平台管理,不是应用开发。注意。
平台管理主要分了三个模块。
项目列表
创建项目
项目就是软件项目,指部署在集群内的项目。
cnp支持一个集群内部署多个项目,并支持子项目概念。这里暂不介绍。
我们关闭子项目选项。
这里会引出一个项目成员。这里涉及到移动云内部的用户权限体系问题。移动云内部支持RAM用户创建。就是说移动云主账号下,可以自行创建RAM用户,分配给RAM用户不同移动云产品功能权限,便于不同角色运维人员登录并使用移动云进行运维管理。这里我们需要先到访问控制功能下创建一个用户,并授权cnp使用权限。
然后创建一个用户,添加到上述用户组。
就能到云原生平台中看到用户了。
选中下一步。
选择一个纳管的集群,完成项目创建工作。
部署目标
部署目标需要先创建项目才可以操作。部署目标相当于k8s中的一个namespace。cnp会在cd时创建对应namespace,把应用部署到该namespace下。
部署目标需要选择一个属于该项目的集群,然后设置一个namespace。
环境管理
环境概念主要是提供给运维人员使用。线上我们一般会存在生产环境、测试环境、开发环境等很多情况。不通的环境之间可以通过集群,namespace等进行划分。同时在cnp进行cd的时候,也可以选择部署到指定环境下。
比较简单,不在说明。
云原生可观测
其实就是提供集群监控能力。主要是以云原生的视角提供监控功能。
项目监控
可以直接提供项目相关集群的监控信息。包括集群状态、worker节点状态、应用状态、插件情况、微服务引擎情况。下方也提供了项目在集群中cpu、内存的使用分析曲线。可以直观看到各个项目对集群资源的具体占用情况。
微服务引擎
提供了对集群快速部署集群组件的功能。分别对应nacos,apisix,skywalking。
配置注册中心
其实就是基于k8s集群模式,快速部署一套集群内的nacos服务。可以设置nacos节点配置以及节点数。默认是必须提供高可用,所以是最低3个节点。
云原生网关
与配置注册中心类似,在集群内快速部署APISix服务网关,用来做集群请求的分发路由。可以替代ingress做路由。
创建方法基本一致,选择apisix节点配置,由于路由节点有日志等数据存储,需要挂在pvc做集群外部扩展存储。这里推荐直接订购,自动创建比较方便。计费信息时存储产生的费用。
apisix具体配置,需要根据并发数进行设置。这里有个主意事项。目前CNP没提供apisix的变配,只能够扩展节点。如果需要变配,可以到kcs里面直接修改apisix的工作负载的配置。
创建完就是如上效果。但是仍然无法使用,需要细化配置集群svc服务,将apisix的端口开放出来。
目前CNP的创建Service的功能还在优化中,暂时需要通过kcs去配置相关svc。
APISix-Web 控制台的svc服务
注意工作负载要选择dashboard-apisix。访问类型选择负载均衡,然后选中开通的入口负载均衡。流量策略是Cluster,容器端口apisix默认是9000不要调整,服务端口是外网端口,可以自行设置。
Apisix-gateway 网关入口svc服务
工作负载选择dataplane-apisix。访问类型选择负载均衡,策略cluster,端口映射,容器端口不要调整,服务端口根据需要配置。如果不希望提供http协议,可以删除9080的端口映射。同时apisix启用https需要做一些配置。后面会单独说明。
完成后就可以通过负载均衡公网入口加端口号访问了。
kcs会自动在负载均衡上创建监听,并绑定后端主机组。
应用性能监控
其实和apisix类似,就是安装skywalking,可以做日志汇聚及调用链分析。
由于济南资源池没有es服务,所以暂时未使用。
应用开发
应用列表,对应项目管理逻辑。
制品库管理,对应镜像库纳管功能。
插件管理,用于集群内快速安装插件。这边主要是istio。
应用路由,对应apisix的路由配置。
应用开发部分比较复杂。后面单独开一章讲解。