前言
随着idea的更新升级,已集成Kubernetes,可以方便的通过Kubernetes能够直接在idea编写yaml,并发布到Kubernetes集群中;并且提供了yaml的模版,可以方便的进行资源的yaml的编写和发布。
Kubernetes的IntelliJ IDEA增强功能包括:代码完成,检查,Kubernetes资源文件的快速修复,装订线中的图标以便于导航,弹出文档和实时模板。
idea 安装kubernetes插件
首先进入idea->File->Settings->Plugins;之后选中Marketplace并在输入框中写入kubernetes进行搜索,选中Kubernetes插件进行安装,安装完成之后如需重启idea,则重启,如不需要则点击apply,之后点击OK回到控制台。
如下图:
接下来进行相关的配置连接上Kubernetes集群
idea连接kubernetes集群配置
- 首先需要将Kubernetes集群conf文件(默认位置:master 节点
/root/.kube/conf)复制到项目中,位置建议放在项目根目录下,建立一个k8s文件夹进行存放,对配置进行如下适应性修改:
- 进入idea->File->Settings->Languages & Frameworks->Kubernetes
- 修改Kubernetes API version为对应的Kubernetes集群的版本(如果不知道,则到master节点上执行kubectl get nodes也可查看版本号)
- 勾选 使用活动集群中的API架构
- Kustomize version默认即可
- 点击 + 选中第一步配置的conf的配置文件,Scope保持默认即可
- 之后可以点击Check configuration进行配置的检查以及缓存重置。
3.进入idea->File->Settings->Build,Execution,Deployment->Kubernetes
- 在Configuration栏中,对Path to kubeconfig file进行配置,选中第一步中的conf配置文件,点击Check Configuration 提示 Checked successfully 说明成功了,点击Apply,Ok退出设置
idea中编写yaml并发布到kubernetes
进入idea在项目src下创建一个文件夹命名为k8s
之后创建文件ns.yaml,进入输入界面:
kubernetes给我们提供了在线动态模板,该模板也可以进行自行修改,输入
k接口调用模板;
常见配置类型的预定义模板:
- kcm :ConfigMap
- kdep:Deployment
- kpod:Pod
- kres:Generic resource
- kser:Service
创建一个namespace,选择kres回车
选中V1,在选中Namespace,并编写ns名称,
点击发布到kubernetes中,入下图
查看相关资源的发布和使用情况
可以在idea Services中查看对应的资源情况(Services如果没有可以通过工具栏->View->Tool Windows->Service调出)
比如选中pod:
还可以对pod进行管理,查看pod的描述等等
问题
1. 插件安装
如果idea使用的是破解版,可能会导致Plugins无法连接上,可以到idea插件官网上进行下载压缩包,之后在idea上安装即可,附插件下载地址:plugins.jetbrains.com/plugin/1048…
2. 配置无法校验通过
检查是否将域名修改为master的IP地址。
3. 配置无法校验通过,Cannot run program "kubectl": CreateProcess error=2, 系统找不到指定的文件
在配置好Kubernetes conf之后,进行Check Configuration时报Cannot run program "kubectl": CreateProcess error=2, 系统找不到指定的文件的错误,该问题是因为Window本地没有kubectl二进制执行包,导致在调用kubectl的时候报错,解决方法:
在Windows上下载对应版本的kubectl二进制执行文件,并在idea中配置全局本地工具类,即可解决该问题,具体操作如下:
- kubectl Windows 二进制下载,附相关链接:kubernetes.io/zh-cn/docs/… ,将下载下来的exe文件存放到目录下
- 进入idea->File->Settings->Build,Execution,Deployment->Kubernetes 修改 Path to kubectl executable,选中存放在本地的kubectl.exe路径,之后进行Check Configuration进行验证