之前有介绍过NocalHost的使用,但是很遗憾,腾讯的Coding团队已经不再维护这个组件了,Idea上的插件常年处于不更新状态,无法适配最新版本。
并且NocalHost对本地资源的占用比较厉害,所以在团队内进行推广的时候,遇到了一些阻力。庆幸的是,很快找到了替代方案:Okteto。
目前国内的相关资料很少,我把我的使用过程总结一下,希望可以帮到有需要的人。
1. 前期准备
1.1 安装okteto:
参考文档https://www.okteto.com/docs/get-started/install-okteto-cli/
mac下命令行里操作:
curl https://get.okteto.com -sSfL | sh
1.2 配置okteto
确保~/.kube/config文件存在,且为线下集群的配置文件即可
命令行输入okteto context,敲击enter选择默认配置。
2. 使用
在代码库根目录下新建文件:
okteto.yml
内容示例:
name: {这里随意取一个自己喜欢的、且和其他deployment不冲突的名字}
image: {开发环境的镜像}
forward:
- 8000:80
- 5005:5005
namespace: sandbox
autocreate: true
persistentVolume:
enabled: false
initContainer:
image: registry.baidubce.com/crowdtest-pub/okteto-bin:1.4.4
根目录下打开终端,输入命令:
okteto up
就可以看到okteto创建deploy,同步代码,最后进到终端。
就可以通过正常的编译命令启动、运行程序。
根目录下打开终端,输入命令:
okteto down
就可以关闭启动的程序
此外okteto status –info可以查看文件的同步状态。
我这里主要开发的是java代码。
相比nocalhost的一键debug,okteto的调试需要做一些手动的操作:
idea里面设置远程jvm调试:
等远端的pod里的程序运行起来以后,就可以进行调试。
3. 说明
okteto up以后,会自动同步本地代码到远端环境,并且默认暴露5005和8000这两个端口,分别映射到jvm的debug端口和web端口。
自己可以按需调整端口号。
发表回复
要发表评论,您必须先登录。