Kubernetes 环境下极致开发体验-实时热加载和一键调试

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. Kubernetes 环境下极致开发体 验:实时热加载和一键调试 王炜 腾讯云 CODING 高级架构师/Nocalhost 研发负责人
2.
3. 自我介绍 王炜 CNCF 大使 《Istio Handbook》作者之一、《Spinnaker 实战:云原生多 云环境的持续部署方案》作者 Nocalhost 项目负责人
4. • 在开发/测试/生产环境已经使用 • 认为在 K8s? K8s 环境下应用开发和调试很难?
5. • K8s 环境开发困局 主流云原生开发方式 热加载原理 开发和调试演示 开源共建 • 展望和规划 • • • •
6. 一、K8s 环境开发困局
7. K8s 环境的开发困境 微服务-Docker Docker-Kubernetes 微服务越来越多,运行环境变复杂。服务依赖、打包、运行、迁移越来越难。 微服务越来越多,运行环境变复杂。服务依赖、打包、运行、迁移越来越难。 Docker 提供镜像打包的解决方案。 Kubernetes 提供容器编排的解决方案。
8. 面向运维提供能力  开发难 概念繁多,学习成本高  调试难 很难像本地一样调试 面向运维提供能力
9. 技能要求急剧提升
10. 技能要求急剧提升
11. 云原生开发工具依然缺失
12. 二、主流云原生开发方式
13. 主流的云原生开发方式 手动 自动 Minikube + Telepresence 编码后,手动构建镜像、推送到镜像仓 编码后,推送到代码仓库,自动触发 Minikube 拉起本地 K8s 开发环境, 云上 K8s 集群提供计算资源解决弹性的 库、修改工作负载镜像版本,调度 CI/CD 流程,等待生效。 Telepresence 实现本地编码。 问题,Telepresence 本地编码。 10 分钟/次 5 分钟/次 10 秒钟/次 10 秒钟/次 云 + Telepresence
14. 网络打通的局限性  环境差异 工作负载声明了 env、configmap、secret、volume 等,很难在本地复制出完全一致的 环境。  跨平台差异 全量代理的方式会使得网络拓扑产生变化,导致内网、公网访问无法达到预期。  网络限制 即便是能够将远端的 env、configmap 挂载到本地,也难以屏蔽跨平台之间的差异。
15. 如何获得近乎本地开发的体验  无需重新构建镜像  本地编码实时生效  复用集群网络 容器应用热加载
16. 三、实现容器应用热加载
17. 容器应用热加载-从 Dockerfile 说起 Dockerfile CMD 或 ENTRYPOINT 定义容器启动命令 对应容器 PID=1 的进程
18. 容器应用热加载-从 Dockerfile 说起 go run main.go
19. 容器应用热加载-从 Dockerfile 说起  源码哪里来  本地同步到容器  编译环境哪里来  将容器镜像替换为开发镜像
20. 容器应用热加载-从 Dockerfile 说起
21. Nocalhost-进入开发模式 = No Localhost  本地同步到容器  将容器镜像替换为开发镜像
22. Nocalhost
23. Nocalhost Server  隔离开发环境  统一管理开发资源
24. Nocalhost IDE 插件  编码热加载  一键 Debug  VSCode & Jetbrains
25. 四、Nocalhost 开发和调试演示
26.
27. 原理解析 • 1. 替换容器镜像为开发镜像,提供编译环境 * 继承 configmap、env、volume 挂载等配置 * 替换容器 PID=1 的进程为阻塞进程,防止容器 Crash • 2. 增加文件同步的 Sidecar,实现本地和容器源码同步 • 3. 在 IDE 内自动获取远端容器 Terminal,方便启停进程
28. 五、开源共建和展望
29. 开源共建 • • nocalhost.dev github.com/nocalhost/nocalhost
30. 展望 • 休眠模式,节约成本 • VCluster 虚拟集群 • 环境复制
31. 总结 • 使用 Nocalhost IDE 插件解决开发循环反馈慢的问题 • 使用 Nocalhost Server 解决云原生环境统一管理问题 • Nocalhost Server + IDE 插件组成云原生开发环境解决方案 • 推荐实践:定义环境而不是维护环境
32.
33.

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.1. UTC+08:00, 2024-11-23 16:57
浙ICP备14020137号-1 $访客地图$