自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

探索AI+k8s:如何使用Deekseek大模型增強k8s-dashboard

開發(fā) 前端
k8m 作為一款結(jié)合 AI 和 Kubernetes 的工具,展現(xiàn)了其簡潔高效的設(shè)計理念。從便捷的文件管理、日志診斷到智能化的 YAML 翻譯和故障排查,k8m 憑借其直觀的界面和 AI 支持,極大提升了 Kubernetes 的易用性和可操作性。

一、導(dǎo)讀 

Kubernetes(簡稱K8s)的普及讓開發(fā)和運維工作變得更加高效,但它的復(fù)雜性卻讓許多人在使用時面臨挑戰(zhàn)。從網(wǎng)絡(luò)配置到故障排查,每一步都需要深入的技術(shù)積累。然而,隨著人工智能技術(shù)的迅猛發(fā)展,借助智能工具,我們可以將許多復(fù)雜問題簡單化。

本文將向您介紹一款將 AI 助手與 Kubernetes 管理相結(jié)合的輕量級工具——k8m。它將如何幫助開發(fā)者和運維人員高效管理集群資源,優(yōu)化工作流程,讓繁瑣的 Kubernetes 操作變得更加輕松快捷?

二、k8m介紹 

k8m 是一款集 AI 與 Kubernetes 于一體的輕量級控制臺工具,專為簡化集群管理設(shè)計?;?AMIS 構(gòu)建,并通過 kom 作為 Kubernetes API 客戶端,k8m 內(nèi)置了 Qwen2.5-Coder-7B 模型交互能力,同時支持接入您自己的私有化大模型,比如deepseek模型。

三、安裝和運行 

3.1 ChatGPT 配置指南

內(nèi)置****GPT

從v0.0.8版本開始,將內(nèi)置GPT,無需配置。 如果您需要使用自己的GPT,請參考以下步驟。

環(huán)境變量配置

需要設(shè)置環(huán)境變量,以啟用ChatGPT。

export OPENAI_API_KEY="sk-XXXXX"export OPENAI_API_URL="https://api.siliconflow.cn/v1"
export OPENAI_MODEL="Qwen/Qwen2.5-7B-Instruct"

ChatGPT 狀態(tài)調(diào)試

如果設(shè)置參數(shù)后,依然沒有效果,請嘗試使用./k8m -v 6獲取更多的調(diào)試信息。 會輸出以下信息,通過查看日志,確認是否啟用ChatGPT。

ChatGPT 開啟狀態(tài):true
ChatGPT 啟用 key:sk-hl**********************************************, url:https: // api.siliconflow.cn/v1ChatGPT 使用環(huán)境變量中設(shè)置的模型:Qwen/Qwen2.5-Coder-7B-Instruc

ChatGPT 賬戶

本項目集成了github.com/sashabaranov/go-openaiSDK。 國內(nèi)訪問推薦使用硅基流動的服務(wù)。 登錄后,在https://cloud.siliconflow.cn/account/ak創(chuàng)建API_KEY

3.2 二進制部署

下載 從 GitHub 獲取最新版本。

項目地址:https://github.com/weibaohui/k8m/

運行 在終端中運行以下命令啟動服務(wù),并通過瀏覽器訪問:

./k8m
Usage of ./k8m:
      --admin-password string            管理員密碼 (default "123456")
      --admin-username string            管理員用戶名 (default "admin")
  -k, --chatgpt-key string               大模型的自定義API Key (default "sk-xxxxxxx")
  -m, --chatgpt-model string             大模型的自定義模型名稱 (default "Qwen/Qwen2.5-7B-Instruct")
  -u, --chatgpt-url string               大模型的自定義API URL (default "https://api.siliconflow.cn/v1")
  -d, --debug                            調(diào)試模式
      --in-cluster                       是否自動注冊納管宿主集群,默認啟用
      --jwt-token-secret string          登錄后生成JWT token 使用的Secret (default "your-secret-key")
  -c, --kubeconfig string                kubeconfig文件路徑 (default "/root/.kube/config")
      --kubectl-shell-image string       Kubectl Shell 鏡像。默認為 bitnami/kubectl:latest,必須包含kubectl命令 (default "bitnami/kubectl:latest")
      --log-v int                        klog的日志級別klog.V(2) (default 2)
      --login-type string                登錄方式,password, oauth, token等,default is password (default "password")
      --node-shell-image string          NodeShell 鏡像。 默認為 alpine:latest,必須包含`nsenter`命令 (default "alpine:latest")
  -p, --port int                         監(jiān)聽端口 (default 3618)
      --sqlite-path string               sqlite數(shù)據(jù)庫文件路徑, (default "./data/k8m.db")
  -v, --v Level                          klog的日志級別 (default 2)

3.3 k8s中yaml部署

以下是k8m支持的環(huán)境變量設(shè)置參數(shù)及其作用的表格:

環(huán)境變量

默認值

說明

PORT

3618

監(jiān)聽的端口號

KUBECONFIG

~/.kube/config

kubeconfig 文件路徑

OPENAI_API_KEY

""

大模型的 API Key

OPENAI_API_URL

""

大模型的 API URL

OPENAI_MODEL

Qwen/Qwen2.5-7B-Instruct

大模型的默認模型名稱,如需DeepSeek,請設(shè)置為deepseek-ai/DeepSeek-R1-Distill-Qwen-7B

LOGIN_TYPE

"password"

登錄方式(如 password, oauth, token)

ADMIN_USERNAME

"admin"

管理員用戶名

ADMIN_PASSWORD

"123456"

管理員密碼

DEBUG

"false"

是否開啟 debug 模式

LOG_V

"2"

log輸出日志,同klog用法

JWT_TOKEN_SECRET

"your-secret-key"

用于 JWT Token 生成的密鑰

KUBECTL_SHELL_IMAGE

bitnami/kubectl:latest

kubectl shell 鏡像地址

NODE_SHELL_IMAGE

alpine:latest

Node shell 鏡像地址

SQLITE_PATH

/data/k8m.db

持久化數(shù)據(jù)庫地址,默認sqlite數(shù)據(jù)庫,文件地址/data/k8m.db

IN_CLUSTER

"true"

是否自動注冊納管宿主集群,默認啟用

這些環(huán)境變量可以通過在運行應(yīng)用程序時設(shè)置

注意:環(huán)境變量會被啟動參數(shù)覆蓋。

  • 其中模型環(huán)境變量需要根據(jù)實際情況修改,yaml中的142,144,146行
  • yaml中的91行需要改成自己集群的sc名稱,主要是為了做持久化數(shù)據(jù)用
---
apiVersion:v1
kind:Namespace
metadata:
name:k8m
---
apiVersion:v1
kind:ServiceAccount
metadata:
labels:
    app:k8m
name:k8m
namespace:k8m
---
kind:Role
apiVersion:rbac.authorization.k8s.io/v1
metadata:
labels:
    app:k8m
name:k8m
namespace:k8m
rules:
-verbs:
      -"*"
    apiGroups:
      -"*"
    resources:
      -"*"
---
kind:ClusterRole
apiVersion:rbac.authorization.k8s.io/v1
metadata:
labels:
    app:k8m
name:k8m
rules:
-verbs:
      -"get"
      -"list"
      -"watch"
      -"pods/exec"
    apiGroups:
      -"*"
    resources:
      -"*"
-verbs:
      -"get"
      -"list"
      -"watch"
      -"pods/exec"
    nonResourceURLs:
      -"*"
---
apiVersion:rbac.authorization.k8s.io/v1
kind:RoleBinding
metadata:
labels:
    app:k8m
name:k8m
namespace:k8m
roleRef:
apiGroup:rbac.authorization.k8s.io
kind:Role
name:k8m
subjects:
-kind:ServiceAccount
    name:k8m
    namespace:k8m
---
apiVersion:rbac.authorization.k8s.io/v1
kind:ClusterRoleBinding
metadata:
name:k8m
roleRef:
apiGroup:rbac.authorization.k8s.io
kind:ClusterRole
name:k8m
subjects:
-kind:ServiceAccount
    name:k8m
    namespace:k8m
---
apiVersion:v1
kind:PersistentVolumeClaim
metadata:
name:k8m-pv-claim
namespace:k8m
labels:
    app.kubernetes.io/name:k8m
spec:
storageClassName:nfs-sc##這里需要改成自己集群的sc名稱
accessModes:
    -ReadWriteMany
resources:
    requests:
      storage:10Gi
---
apiVersion:v1
kind:Service
metadata:
name:k8m-nodeport
namespace:k8m
labels:
    app:k8m
spec:
ports:
    -name:http-k8m
      protocol:TCP
      port:3618
      targetPort:3618
      nodePort:31999
selector:
    app:k8m
type:NodePort
---
apiVersion:apps/v1
kind:Deployment
metadata:
name:k8m
namespace:k8m
labels:
    app:k8m
spec:
replicas:1
selector:
    matchLabels:
      app:k8m
template:
    metadata:
      labels:
        app:k8m
    spec:
      containers:
        -name:k8m
          image:registry.cn-hangzhou.aliyuncs.com/minik8m/k8m:0.0.66
          env:
            -name:DEBUG
              value:"false"
            -name:LOG_V
              value:"6"
            -name:OPENAI_API_KEY
              value:"sk-xxxx"
            -name:OPENAI_API_URL
              value:"http://xxxxxxx/deepseek-14b"
            -name:OPENAI_MODEL
              value:"deepseek-14b"
            -name:KUBECTL_SHELL_IMAGE
              value:bitnami/kubectl:latest
            -name:NODE_SHELL_IMAGE
              value:alpine:latest
            -name:SQLITE_PATH
              value:/app/data/k8m.db
            -name:IN_CLUSTER
              value:"false"
          ports:
            -containerPort:3618
              protocol:TCP
              name:http-k8m
          imagePullPolicy:IfNotPresent
          volumeMounts:
            -name:kubepi-persistent-storage
              mountPath:/app/data
      restartPolicy:Always
      serviceAccountName:k8m
      volumes:
        -name:kubepi-persistent-storage
          persistentVolumeClaim:
            claimName:k8m-pv-claim

四、常用功能介紹 

4.1 Yaml屬性自動翻譯

k8m 提供集成的 YAML 瀏覽、編輯和文檔查看功能,支持自動翻譯 YAML 屬性。無論是查找字段含義還是確認配置細節(jié),您都無需再費時費力地搜索,極大提高了工作效率。

imgimg

imgimgimg

4.2 Event信息AI問診

在 Event 頁面,k8m 內(nèi)置了 AI 問診功能,可智能分析異常事件,并提供詳細的解釋。點擊事件前的“AI大腦”按鈕,稍等片刻即可查看診斷結(jié)果,快速定位問題原因。

點擊Event信息前面的“AI大腦”

imgimg

稍等片刻,AI返回解讀信息

imgimg

4.3 錯誤日志AI問診

日志分析是定位問題的重要環(huán)節(jié),但面對大量報錯信息,如何高效排查?k8m 支持 AI 日志診斷,幫助快速識別關(guān)鍵錯誤并生成解決建議。只需選中相關(guān)日志,點擊 AI 問診按鈕,即可獲得診斷報告。

當(dāng)服務(wù)運行不正常的時候,可能第一件事就是來看日志。但是往往報錯的日志一大堆,難以抓住頭緒,這時候,要是AI能幫忙看看就好了~~~

首先進入Pod日志界面

imgimg

點擊查看日志

imgimg

選中錯誤日志,在前面打勾,點擊右面的AI問診按鈕

imgimg

稍等片刻,AI診斷報告呈上,有沒有感覺很酷~

4.4 AI智檢

智檢功能主要是引用了k8s_gpt工具中預(yù)置的規(guī)則使用大模型,進行集群的智能巡檢,目前平臺支持集群,節(jié)點,部署,有狀態(tài)集,容器組,svc,ingress等多個資源對象的巡檢

imgimg

imgimgimg

4.5 運行命令自動生成

日常運維中,Pod 內(nèi)命令操作不可避免。借助 AI,您只需輸入需求描述,k8m 即可自動生成合適的命令供參考,減少查找時間,提高效率。

首先進入POD Shell中

imgimg

在命令對話框,嘗試輸入一個段描述,比如查看存儲容量,那么AI會自動返回df-h回來,如果你描述的信息越多,那么AI返回的命令也會更精確。當(dāng)然也可以參考AI的命令,你自己再加工一下~

imgimg

4.6 MCP工具支持

  • v0.0.66 更新,增加MCP支持

imgimg

imgimg

img

4.7 集群納管

k8m支持多集群管理,一個dashboard可以納管多個集群,在界面進行切換,拿到快速訪問集群資源的能力,目前納管只支持kubeconfig文件來進行納管,需要網(wǎng)絡(luò)可通

imgimg

imgimg

可以在多集群菜單中點擊切換,也可以在右上角切換集群

imgimg

imgimg

4.8 用戶權(quán)限管理

目前k8m中支持添加用戶和用戶組,給用戶組賦予權(quán)限之后,整個用戶組中的用戶都有了對應(yīng)的角色權(quán)限,現(xiàn)階段權(quán)限是全局所有集群的,后續(xù)會細化到集群和命名空間,一共三種角色權(quán)限

集群****管理員:可以管理和操作所有集群資源,包括創(chuàng)建、修改、刪除等操作。

集群****只讀:僅可查看集群資源信息,無法進行修改操作。

平臺管理員:可以管理平臺配置、用戶權(quán)限等系統(tǒng)級設(shè)置。

imgimg

img

五、總結(jié) 

k8m 作為一款結(jié)合 AI 和 Kubernetes 的工具,展現(xiàn)了其簡潔高效的設(shè)計理念。從便捷的文件管理、日志診斷到智能化的 YAML 翻譯和故障排查,k8m 憑借其直觀的界面和 AI 支持,極大提升了 Kubernetes 的易用性和可操作性。

無論是需要快速查看集群狀態(tài),還是解決復(fù)雜的配置和運行問題,k8m 都能為開發(fā)者和運維團隊提供可靠支持。同時,它兼容本地化大模型部署,有效解決了數(shù)據(jù)安全和訪問效率問題,為企業(yè)提供更高的自主性。

責(zé)任編輯:武曉燕 來源: 運維開發(fā)故事
相關(guān)推薦

2025-04-16 03:25:00

2022-04-22 13:32:01

K8s容器引擎架構(gòu)

2024-04-19 14:44:43

模型K8s人工智能

2024-03-01 19:59:17

2021-04-12 20:42:50

K8S端口內(nèi)存

2023-11-06 07:16:22

WasmK8s模塊

2023-09-07 08:58:36

K8s多集群

2023-09-06 08:12:04

k8s云原生

2020-05-12 10:20:39

K8s kubernetes中間件

2022-09-05 08:26:29

Kubernetes標(biāo)簽

2022-06-14 07:56:15

Kubernetes存儲架構(gòu)K8S

2022-04-29 10:40:38

技術(shù)服務(wù)端K8s

2023-12-13 15:31:14

2023-04-04 07:25:46

KubernetesOpenKruise

2023-08-03 08:36:30

Service服務(wù)架構(gòu)

2023-08-04 08:19:02

2023-05-25 21:38:30

2021-07-14 14:20:22

root命令Linux

2023-04-06 08:27:47

SidecarSet容器

2021-08-05 07:28:26

K8sNFS ProvisiSubdir
點贊
收藏

51CTO技術(shù)棧公眾號