149 lines
4.7 KiB
Markdown
149 lines
4.7 KiB
Markdown
这是一个非常棒的想法!天天面对黑底白字的命令行确实容易累,而且在查看日志流、多 Pod 资源占用时,图形化界面(GUI)有着无法比拟的优势。
|
||
|
||
对于 K3s,我有 **三个最强推荐**,分别对应不同的使用场景。
|
||
|
||
---
|
||
|
||
### 方案一:最强桌面端神器 —— OpenLens (推荐开发使用)
|
||
|
||
如果您希望在**自己的电脑(Windows/Mac)**上管理远程的 K3s,而不占用 VPS 的资源,Lens 是绝对的王者。它就像是一个专门用来操作 K8s 的“远程桌面”。
|
||
|
||
**优点:**
|
||
|
||
* **零资源占用**:运行在您自己电脑上,不消耗 VPS 内存。
|
||
* **功能极其强大**:查看日志、进入终端、编辑 YAML、查看监控,点击即达。
|
||
* **体验流畅**:原生应用,比网页版更丝滑。
|
||
|
||
#### 🚀 如何连接 (只需 3 步)
|
||
|
||
要让本地的 Lens 连上远程的 K3s,您需要把 VPS 上的“钥匙”拿回来。
|
||
|
||
1. **在 VPS 上获取 Kubeconfig**:
|
||
执行命令查看配置文件内容:
|
||
```bash
|
||
cat /etc/rancher/k3s/k3s.yaml
|
||
|
||
```
|
||
|
||
|
||
*(复制这一大段内容)*
|
||
2. **在本地电脑创建配置文件**:
|
||
在您的电脑上新建一个文件(例如 `my-k3s-config`),粘贴刚才的内容。
|
||
**⚠️ 关键修改**:找到 `server: https://127.0.0.1:6443` 这一行,把 `127.0.0.1` 改成您的 **域名** (比如 `dev.u9.net3w.com`,前提是 6443 端口已开放) 或者 **VPS 公网 IP**。
|
||
3. **导入 Lens**:
|
||
下载并安装 **OpenLens** (免费开源版) 或 **Lens Desktop**。
|
||
打开软件 -> File -> Add Cluster -> 粘贴刚才修改后的配置内容。
|
||
|
||
**瞬间,您的 K3s 集群全貌就会展现在眼前!**
|
||
|
||
---
|
||
|
||
### 方案二:最强网页版 —— Portainer (推荐运维/监控)
|
||
|
||
如果您希望打开浏览器就能管理,而且您习惯了 Docker 的管理方式,那么 **Portainer** 是不二之选。它对 K8s 的支持非常友好,界面简洁漂亮。
|
||
|
||
**优点:**
|
||
|
||
* **随时随地访问**:有浏览器就能管。
|
||
* **可视化极佳**:有漂亮的仪表盘,能看到 CPU/内存使用率。
|
||
* **部署简单**:它自己就是 K3s 里的一个 Pod。
|
||
|
||
#### 🚀 如何安装 (30秒搞定)
|
||
|
||
直接在您的 VPS 上执行:
|
||
|
||
1. **安装 Portainer**:
|
||
```bash
|
||
kubectl apply -n portainer -f https://raw.githubusercontent.com/portainer/k8s/master/deploy/manifests/portainer/portainer.yaml
|
||
|
||
```
|
||
|
||
|
||
*(这一步会自动创建命名空间和所有资源)*
|
||
2. **暴露端口 (我们要用 NodePort 访问)**:
|
||
默认 Portainer 用的是 LoadBalancer,我们改一下让它能直接通过端口访问。
|
||
```bash
|
||
# 编辑服务配置
|
||
kubectl edit service portainer -n portainer
|
||
|
||
```
|
||
|
||
|
||
找到 `type: LoadBalancer` 改为 `type: NodePort`。
|
||
或者,既然您已经玩得很溜了,**建议直接写一个 Ingress** 给它!
|
||
**创建 `portainer-ingress.yaml`:**
|
||
```yaml
|
||
apiVersion: networking.k8s.io/v1
|
||
kind: Ingress
|
||
metadata:
|
||
name: portainer-ingress
|
||
namespace: portainer
|
||
annotations:
|
||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||
spec:
|
||
tls:
|
||
- hosts:
|
||
- portainer.u9.net3w.com # <--- 换个新子域名
|
||
secretName: portainer-tls
|
||
rules:
|
||
- host: portainer.u9.net3w.com
|
||
http:
|
||
paths:
|
||
- path: /
|
||
pathType: Prefix
|
||
backend:
|
||
service:
|
||
name: portainer
|
||
port:
|
||
number: 9000
|
||
|
||
```
|
||
|
||
|
||
3. **应用并访问**:
|
||
`kubectl apply -f portainer-ingress.yaml`。
|
||
稍等片刻,访问 `https://portainer.u9.net3w.com`,设置管理员密码即可。
|
||
|
||
---
|
||
|
||
### 方案三:官方全家桶 —— Rancher (企业级)
|
||
|
||
K3s 是 Rancher Labs 开发的,Rancher 是他们的旗舰管理平台。
|
||
|
||
**优点:** 功能最全,企业级标准,可以管理成百上千个集群。
|
||
**缺点:** **非常吃内存**。Rancher 本身启动就需要占用 2G+ 内存。如果您的 VPS 只有 4G 或更少,**强烈不推荐**,它会把您的业务挤垮。
|
||
|
||
---
|
||
|
||
### 💡 极客的选择:K9s (终端里的 GUI)
|
||
|
||
如果您还是离不开终端,但想要图形化的便利,**K9s** 是必备神器。它是一个运行在终端里的图形界面。
|
||
|
||
**安装:**
|
||
|
||
```bash
|
||
# 在 VPS 上安装 Linuxbrew 后安装,或者直接下载二进制文件
|
||
curl -sS https://webinstall.dev/k9s | bash
|
||
|
||
```
|
||
|
||
**启动:**
|
||
输入 `k9s`。
|
||
|
||
您可以像打游戏一样:
|
||
|
||
* 按 `0` 显示所有 Pod。
|
||
* 按 `l` 看日志。
|
||
* 按 `s` 进入 Shell。
|
||
* 按 `ctrl-d` 删除 Pod。
|
||
* 全键盘操作,酷炫到没朋友。
|
||
|
||
---
|
||
|
||
### 我的建议
|
||
|
||
1. **首选方案**:先在本地安装 **OpenLens**。不用在 VPS 上装任何东西,无负担,体验最好。
|
||
2. **次选方案**:如果经常需要在不同电脑上管理,在 VPS 上部署一个 **Portainer**。
|
||
|
||
**您想先试试哪一个?如果是 OpenLens,我可以教您怎么把 VPS 的 6443 端口安全地放行。**
|