windows/MacOS/Linux下搭建Okteto+vscode远程开发环境
目录一. 前言二. 前置环境三. 部署指南1. 安装Okteto CLI对于 MacOS / Linux 系统对于 Windows 系统2. 安装kubectl对于 MacOS / Linux 系统对于 Windows 系统扩展小工具:安装kubectx和kubens3. 配置kubectl对于 Linux 系统对于 MacOS/Windows 系统4. 配置Okteto5. 安装vscode远程
目录
一. 前言
Okteto 是一个通过在 K8s 中来开发和测试代码的应用程序开发工具。可以通过Okteto在 K8s 中一键为我们启动一个开发环境,或是安装一个docker容器。非常简单方便。
更多内容可参考:K8s,Docker,Okteto 的概念理解与联系
二. 前置环境
- (必须)Kubectl
- (可选)kubectx
- (可选)kubens
以上所有前置环境安装,请参考:用户指南:使用kubectl连接远程集群
三. 部署指南
1. 安装Okteto CLI
对于 MacOS / Linux 系统
执行执行如下命令即可:
curl https://get.okteto.com -sSfL | sh
对于 Windows 系统
直接下载 https://downloads.okteto.com/cli/okteto.exe 并将其添加到您的 $PATH
路径中即可。
2. 安装kubectl
对于 MacOS / Linux 系统
- 下载安装Kubectl
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubectl
- 使kubectl生成二进制可执行文件。
chmod +x ./kubectl
- 将二进制文件移到您的
PATH
中
sudo mv ./kubectl /usr/local/bin/kubectl
- 测试安装版本是最新的
kubectl version --client
对于 Windows 系统
- 点此下载并安装kubetcl-windows最新版本 v1.23.0
- 将保存 kubectl.exe 的文件夹路径添加到您的
PATH
环境变量中。 - 确保
kubectl
的版本与下载的相同:
kubectl version --client
扩展小工具:安装kubectx和kubens
(推荐)安装好kubectl后可以安装kubectx
和kubens
:
kubectx是一种在 kubectl 上更快地在上下文(集群)之间切换的工具。
kubens是一个在 Kubernetes 命名空间之间轻松切换(并为 kubectl 配置它们)的工具。
官网安装教程地址:
GitHub - ahmetb/kubectx: Faster way to switch between clusters and namespaces in kubectl
- 显示当前已配置连接的所有集群:
kubectx
- 切换到使用的集群。我这里使用
dev-v2
。
kubectx dev-v2
3. 配置kubectl
对于 Linux 系统
- 查看自己的kubectl的配置
kubectl config view
可以看见还没有任何配置,接下来需要手动添加配置。
- 从rancher获取配置
登陆rancher网站:https://rancher.huxiang.pro
请按照分配的集群名称,点击要使用的集群。如图,我这里是dell-k3s
。
点击Kubeconfig File
,打开rancher配置参考
点击Copy to Clipboard
,复制rancher配置内容
- 设置本地kubectl配置
回到本地命令行,新建一个文件夹(我这里新建了一个/home/kubectl
文件夹,可任意设置)
进入该文件夹,新建一个名为config
的文件,注意没有后缀名
将刚刚复制到的rancher配置都粘贴进去
保存并退出,接下来需要将kubectl设置配置到环境变量中,打开/etc/profile
文件
将下面内容补充到文件末尾, 不要覆盖:
KUBECTL=/usr/local/bin
KUBECONFIG=/home/kubectl/config
PATH=$PATH:$KUBECTL
export KUBECTLexport KUBECONFIGexport PATH
(注意在此只是以我的配置文件为例,具体要根据实际情况进行相应修改)
保存并退出即可
- 使环境变量生效
source /etc/profile
- 执行以下命令,即可看到相关节点信息
kubectl get nodes
- 设置k3s集群能够访问私有库镜像
新建一个codespace-deployment.yaml,添加以下配置,注意修改镜像名称:
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: codespace
labels:
account: codespace
imagePullSecrets:
- name: gitlab
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: <这里填写镜像名称>
labels:
app: <这里填写镜像名称>
version: v1
spec:
replicas: 1
selector:
matchLabels:
app: <这里填写镜像名称>
version: v1
template:
metadata:
labels:
app: <这里填写镜像名称>
version: v1
spec:
serviceAccountName: codespace
containers:
- name: <这里填写镜像名称>
image: nginx
保存并退出,执行以下命令。注意修改空间名称:
kubectl apply -f codespace-deployment.yaml -n <这里填写空间名称>
以上步骤没有异常报错,kubectl即为配置完毕
对于 MacOS/Windows 系统
- 查看自己的kubectl的配置
kubectl config view
可以看见还没有任何配置,接下来需要手动添加配置。
- 从rancher获取配置
登陆rancher网站:https://rancher.huxiang.pro
点击要使用的集群名称,我这里是dell-k3s
点击Kubeconfig File
,打开rancher配置参考
点击Copy to Clipboard
,复制rancher配置内容
- 进入到
~/.kube
目录,Windows为C:\Users\用户\.kube\
(没有则手动创建.kube文件夹)
进入该.kube
文件夹,新建一个名为config
的文件,注意没有后缀名
将刚刚复制到的rancher配置都粘贴进去
- 命令行执行以下命令,即可看到相关节点信息
kubectl get nodes
4. 配置Okteto
- 在命令行中,进入对应的代码项目根目录
- 在代码项目根目录中,创建okteto.yml配置文件,并参考以下内容添加配置内容
name: <这里填写镜像名称>
image: <这里填写镜像地址>
context: <这里填写集群名>
sync:
- .:/usr/src/app
persistentVolume:
enabled: false
command:
- bash
- 在命令行中,执行如下指令,注意修改空间名称
okteto up -n
如果出现以下报错:
输入n,再按回车。
稍等加载完成后,okteto会默认可进入一个指定shell,在这里你可以直接运行指令,这个shell的运行环境就是你刚刚进入的集群pod环境。
5. 安装vscode远程开发环境
- 点此打开vscode安装包下载页
- 下载并安装对应系统版本的vscode安装包
- (可选)搜索并且下载安装
chinese
汉化插件
- 搜索并且下载安装
**remote development**
插件
-
关闭vscode,重启以加载刚下载安装的插件
-
在vscode左侧菜单栏,选择远程图标
-
在"远程资源管理器"的选项中,选择“SSH Targets”
-
点击SSH target右边的加号,跟随指引设置云服务器的ip,端口,账号,密码
- 在列出的主机中,选择和我们创建的项目名一致的主机
- 默认进入的是/root目录,切换到/work目录即可使用
四. 常见问题答疑
更多推荐
所有评论(0)