Nocalhost就是好,云原生开发没烦恼
带你回归简单又原始的云原生开发体验
目录
业务越做越大,应用系统越来越复杂,面对数量日渐激增的“微服务”,要开发一个“微服务”应用可谓是越来越难。而这里最痛切的难点,莫过于云原生环境给开发带来的重重挑战——本地开发难以调试、与生产不一致、开发测试环境混乱..
而在2020年,云原生开发者可谓是久逢甘露,Nocalhost“横空出世”,彻底打破了开发难的僵局,让云原生开发回归原始与简单。
本期文章我就来带大家简要了解什么是Nocalhost,并贴心地提供一份Nocalhost的安装指南,帮助大家快速体验Nocalhost~
一、什么是Nocalhost
1.1 云原生时代的开发难题
随着业务的快速发展,应用系统也越来越大,一般来说,组织结构越大,应用系统就越详细,“微服务”的数量也随之增加,而这也对日常开发造成了极大的不便。
虽说 Kubernetes 降低了“微服务”应用在部署和运维阶段的复杂度,但我们可不要忽视了关键的开发阶段,这里正是“重灾区”!
开发者面临的难题
对于开发者来说,数量过多的服务不便开发者本地部署整个系统,而在云端调式在操作上更加繁琐,无论是镜像拉取对网络资源,还是通过日志查看断点信息的输出,都极大降低了生产效率。
此外,开发者还面临着如下的难题:
/ 开发者面临的难题
管理者面临的难题
云原生技术栈跨度大、架构设计紧贴业务需求,从而对开发人员的要求更高,随之而来企业招聘及用人成本也水涨船高。
管理者该如何管理开发人员的开发环境?如何让新入职的同事快速进行开发?
1.2 破局的Nocalhost——重新定义云原生开发环境
Nocalhost 的出现彻底颠覆了以往困难重重的开发模式。
我们可以把 Nocalhost 视作一个连通云端和本地 IDE 的桥梁,代码的更改可以实时从 IDE 同步到云端,避免镜像提交,推送或拉取等操作。
无须在本地部署整体环境,开发者可以通过 Nocalhost 直接开发和调试复杂框架下的远程微服务,大大提高了开发效率。
二、Nocalhost安装
Step 1:安装 IDE 插件
这里我们提供 Nocalhost 官方提供的 IDE 安装指南链接:
安装 Nocalhost | Nocalhostnocalhost.dev/zh-CN/docs/installation/正在上传…重新上传取消
Step 2:查看 KubeConfig
kubectl config view --minify --raw --flatten
温馨提示:Nocalhost 官网写的这个命令是错的。
Step 2:添加集群信息
Goland 插件添加集群信息,点击添加,将命令查出来的信息,复制粘贴到下图信息栏中。
添加成功后会出现远程集群信息:
Step 3:配置服务
选择某一个服务,右键 Dev Config ,对该服务进行配置。
会提示是否通过浏览器辅助配置:
这里我们选择“是”,然后进入配置页面:
配置文件:
name: "user"
serviceType: "deployment"
containers:
-
name: "user"
dev:
gitUrl: ""
image: "nocalhost-docker.pkg.coding.net/nocalhost/dev-images/golang:latest"
shell: "bash"
workDir: ""
storageClass: ""
resources:
limits:
memory: "2048Mi"
cpu: "2"
requests:
memory: "512Mi"
cpu: "0.5"
persistentVolumeDirs: []
command:
run:
- "./run.sh"
- "user"
debug:
- "./debug.sh"
- "user"
debug:
language: "go"
remoteDebugPort: 9009
hotReload: true
sync:
type: "send"
mode: "pattern"
filePattern:
- "."
ignoreFilePattern:
- ".git"
deleteProtection: true
env: []
portForward: []
sidecarImage: ""
注意:command 中的 run 命令和 debug 命名执行的脚本,需要预先创建在源码文件夹中:
# debug.sh
#! /bin/sh
export GOPROXY=https://goproxy.cn
dlv --headless --log --listen :9009 --api-version 2 --accept-multiclient debug ./cmd/"$1"/main.go
# run.sh
#! /bin/sh
export GOPROXY=https://goproxy.cn
go run ./cmd/"$1"/main.go
其中,我们建议开启 hotReload,也就是热加载
Step 4:选择 DevMode(Duplicate)
这里要注意,构建完 DevMode 后,可以在 Terminal 信息中看到构建的容器,最好使用 ls 命令查看源码是否包含在内。(如果使用 ls 命令后,容器内什么文件都没有,就存在异常)
构建完毕后,选择服务,右键选择 Run 或者 debug:
会提示没有权限,记得给 run.sh 和 debug.sh 赋予权限:
至此,Nocalhost安装完毕~
版权声明:本文由神州数码云基地团队整理撰写,若转载请注明出处。
公众号搜索神州数码云基地,后台回复云原生,加入云原生技术交流群!
更多推荐
所有评论(0)