VSCode客户端远程开发(devContainer/Kubernetes)
VSCode(Visual Studio Code)是一款由微软开发的轻量级、跨平台的代码编辑器,支持多种编程语言和丰富的扩展功能。
VSCode 的 Dev Containers扩展 是一个强大的工具,允许开发者在容器中进行开发。它通过将开发环境与本地环境隔离,确保开发环境的一致性,并提供跨平台的开发体验。
VSCode 的 Kubernetes扩展 是一个非常强大的工具,可以帮助开发者更高效地与 Kubernetes 集群交互。它提供了丰富的功能,包括资源管理、YAML 文件编辑、调试支持等。
借助VSCode的Dev Containers和Kubernetes扩展,我们可以连接弹性容器集群
,开发和调试弹性容器集群
容器中的代码
前置条件
使用本地VSCode连接弹性容器集群进行代码开发和调试,需要以下前置条件:
VSCode安装Dev Containers和Kubernetes扩展
连接到弹性容器集群,参考使用指南->弹性容器集群->快速开始
VSCode安装扩展
启动VSCode,点击左侧菜单栏的扩展标签,在搜索栏输入要安装的扩展,如:Dev Containers, 点击安装按钮,完成安装
其他扩展安装同理
VSCode连接弹性容器集群
使用本地VSCode连接弹性容器集群进行开发或调试,首先要在弹性容器集群上创建容器。本地VSCode实际连接的是部署在弹性容器集群上的容器,在容器内进行开发和调试。
安装完Kubernetes扩展以后,在VC Code的左侧菜单栏,会出现Kubernetes标签,点击Kubernetes标签,会显示配置的弹性容器集群及其资源列表
如下图:
如果未能显示集群及其资源,可能是没有正确连接到弹性容器集群。此时,可以点击上图CLUSTERS右侧的...(更多)按钮, 选择 设置kubeConfig选项,重新配置kubeConfig配置文件
如下图:
配置完成,显示集群及集群资源列表
连接集群内容器
连接弹性容器集群以后,在集群资源列表里展开命名空间列表。选择要操作的命名空间,点击右键,选择使用命名空间。
如下图:
在工作负载列表下,会显示该命名空间下的所有工作负载。展开Pods列表,选择要连接的Pod,点击右键,选择连接VSCode(如上图),等待连接完成。
如下图:
连接完成以后,VSCode左下角显示连接的远程容器。 点击右上角文件按钮,选择打开文件夹,在页面上方选择容器内的代码目录
如下图:
点击OK按钮,在新的窗口加载容器内的代码目录,开始在本地VSCode内,开发和调试程序
如下图:
上图左侧显示了容器内的程序目录结构及文件。点击左侧菜单的运行调试按钮,如果没有安装程序扩展,可以根据调试的程序语言,选择合适的运行调试扩展进行安装(方法同安装Dev Containers)
可以进行直接运行,也可以打断点进行调试
注意事项
本文档演示了如何使用本地VSCode,连接弹性容器集群,在集群内开发调试程序。
本文档示例启动的容器,没有声明存储。所有对容器内程序的修改,仅在当前容器生效,如果重新部署容器,则所有修改的代码将会丢失。
如果要保留修改的代码,需要声明存储,并挂载到容器目录。详情参考声明存储
有些程序,如:Flask 等,修改代码以后,再次调用接口,修改的程序并没有立即生效。这是因为已启动的服务,没有自动检测代码更新。
对于不自动检测代码更新的服务,需要声明存储,代码修改以后,重新部署容器