在 windows 下,可以很方便的利用 Goland 的 kubernetes 插件进行 kubernetes 资源清单的编写;
在 windows 下,安装 kubectl 工具,可以直接将所编写的 k8s 资源对象部署到 WSL2 Linux 子系统,很方便学习 k8s;
此方法也可以同样用来在 windows 下编写 Go 应用,然后在 Linux 子系统进行测试;
在 windows 下使用 kubectl
1. 下载 kuebctl.exe
本人使用的下载地址:
https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/windows/amd64/kubectl.exe
将其存放某一目录下(本人路径为C:\kube\kubectl.exe),并添加环境变量:
2. 配置 kubeconfig
使用kubectl
这种方式从一个client
(Linux,Max,Windows 都可以)上访问 k8s 集群时,kubectl
的正确运行依赖于一个配置文件,该配置文件的内容可以从k8s集群的control-plane
,也就是Master
节点上获取。
在k8s集群的Master
节点上,文件/etc/kubernetes/admin.conf
和文件$HOME/.kube/config
的内容相同,也正是我们需要的内容。可以选择使用scp
指令,或者直接将文件内容拷贝到 client
节点的$home/.kube/config
文件。此处的$home
值读者根据自己的电脑设置来确定,可以尝试在运行kubectl config ...
指令,那么系统会在相应路径下生成.kube
目录(Windows10系统是这样的),而后将config
文件放置其中即可。这一步做的事情也就是下面指令:
$ scp root@<control-plane-host>:/etc/kubernetes/admin.conf home/.kube/config
$ kubectl get nodes # 测试配置是否成功
来测试一下:
Goland 连接 WSL2 Linux 子系统远程开发
1. 配置 ssh 套件
在 win10 中装完 ubuntu 后,想 ssh 链接上,但是 ssh localhost 都显示失败。
这是由于 win10 中的 wsl ssh 错误所致,重新安装启用就可以了。
$ sudo apt-get remove openssh-server
$ sudo apt-get install openssh-server
# 配置 sshd_config
$ sudo vim /etc/ssh/sshd_config
# 改为:
# Port 22
# PasswordAuthentication yes # 允许用户名密码方式登录
$ sudo service ssh restart
2. 配置 Goland
首先是配置界面:
选择 Configuration 选项,或者是 setting 里面的 deployment 配置,配置界面如图:
Connection里面的设置:
- SFTP host:填写服务器 ip
- Root path:服务器的 go 项目存放路径,例如我配置的是 /home/k8s/k8s-training
- User name:服务器账号
- Password:服务器密码
Mappings里面的设置:
- Local path:本地电脑的项目路径
- Deployment path on server:具体某个项目的路径
配置完成!测试连接即可。
3. 把服务器项目下载到本地的项目文件中
Tools=》Deployment=》Browse Remote Host=》右键选择项目=》Download from here
4. 本地代码修改完成之后,上传到服务器更新
Tools=》Deployment=》Upload to xxx
通过 Goland 进行 k8s yaml 开发
Kubernetes 的插件功能包括:代码完成,检查,Kubernetes资源文件的快速修复,装订线中的图标以便于导航,弹出文档和实时模板。
安装 kubernetes 插件
使用 kubernetes 插件
- 首先,Kubernetes 插件有一个内置的实时模板,可以让您快速创建所需的 YAML Kubernetes 资源文件类型:
- 插件现在包含几个预定义的 Kubernetes 模板,可以通过键入其缩写来调用必要的 Live Template。
- 如果要添加自己的实时模板或自定义现有模板,请转到 Settings > Live Templates > Kubernetes。
- 代码完成现在适用于 YAML Kubernetes 资源文件。Kubernetes 插件提供了您可以在资源中使用的正确值。
为了帮助您真正快速为 Kubernetes 创建所需的YAML定义文件,请键入所需的 keyValue 并调用 Smart Completion。新插件将自动完成以下所有级别的所有必需键。
对于YAML Kubernetes资源文件,该插件提供了在标签定义和标签选择器之间导航的功能。使用装订线中的图标。
- 如果标签与键和值的直接匹配,您还可以从标签选择器导航并跳转到编辑器内的标签定义。
- 当您重命名YAML Kubernetes文件中的键或值时,该插件还将重命名它们的所有用法。
- 每当您选择已弃用的Kubernetes属性时,Kubernetes插件都会提醒您(仅适用于YAML文件)。
- 除此之外,如果您尝试使用不适用于具有应用的apiVersion和kind的指定元素的属性,您将收到YAML文件的警告。
- 该插件突出显示YAML Kubernetes资源定义文件中缺少键的元素,并提供快速修复以添加所需的键。
- 您还可以通过按^ J(macOS)或Ctrl + Q(Windows和Linux)调用YAML或Kubernetes资源文件中的任何键的文档。单击快速文档查找中的超链接以导航到更详细的信息。
通过 Goland 的 Terminal 使用 bash 命令
- 在 Goland 中,打开 settings,设置相应的 bash 路径
settings–>Tools–>Terminal–>Shell path:D:\Program Files\Git\bin\bash.exe
- 使用 sublime在 ${user} 这目录下创建两个文件:
- .bash_profile
- .bashrc
例如:【C:\Users\John】,文件内容如下:
.bash_profile
if [ -f ~/.bashrc ]; then . ~/.bashrc; fi
.bashrc
alias ls='ls -F --color=auto --show-control-chars' # 使用ls命令的时候加上颜色
export LC_ALL=zh_CN.UTF-8 # 设置终端打开的编码
alias ll='ls -la -F --color=auto --show-control-chars'
重启 terminal 即可使用 bash.exe 命令