Localhost 时代
云原生和 Kubernetes 的普及,进一步屏蔽了 “微服务” 应用的复杂度,这主要体现在部署和运维阶段。
对于开发人员来说,原来单体应用的开发体验变得不复存在,由于应用很难在 Docker 容器之外运行,所以每次代码修改,都需要经历以下步骤:
执行 docker build 构建镜像
执行 docker tag 对镜像进行标记
执行 docker push 推送镜像到仓库
修改 Kubernetes 工作负载的镜像版本
等待镜像拉取结束
等待 Pod 重建
查看修改后的代码效果
这直接拖慢了开发的循环反馈过程,每次修改,动辄需要数分钟甚至十分钟的等待时间。
Nocalhost 重新梳理了开发过程所涉及到的角色和资源:
- 团队管理人员
- 开发者
- 应用
- 集群
- 开发空间
通过对这些角色和资源的重新整合,Nocalhost 重新定义了云原生开发环境,并带来了全新的云原生开发体验。
为了快速理解 Nocalhost 重新定义的云原生开发环境,让我们首先站在不同的角色来看 Nocalhost 能给他们带来什么。
- 开发人员:
摆脱每次修改需要重新 build 新镜像以及长时间的循环反馈,修改代码立即生效
一键部署开发环境,摆脱本地环境搭建和资源不足的限制
本地 IDE 编辑器和开发环境联动,支持远程调试
图形化的 IDE 插件,无需熟悉 kubectl 命令即可完成云原生环境下的开发
- 管理人员:
统一管理微服务应用包,降低应用的维护成本
统一管理开发环境和集群,提高集群资源的利用率,同时具备隔离特性
为新员工快速分配开发环境,分配环境后立刻能进行应用开发
弹性的开发环境资源,用完销毁,降低开发成本
结束语:
不退出nocalhost,过一会就会变成僵尸进程,不会影响集群。运行nocalhost时,也会做MQ消费等操作,所以可能会影响环境的状态流转(程序有BUG,状态流转失败)。