成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

問題排查太煩心,試試GPT的超能力

人工智能
云原生環境中有多種可用的調試解決方案,可幫助你訪問集群內信息。然而,其中大多數不提供上下文信息。在這篇博文中,我將向你介紹K8sGPT,這個項目旨在為所有人提供 Kubernetes 的超能力。

當你使用 Kubernetes 時,遲早會遇到集群中的問題,需要進行調試和修復,以便你的 Pod 和服務能夠按預期運行。無論你是剛剛開始使用 Kubernetes 還是正在處理大規模且更復雜的環境,調試集群內進程并不總是那么簡單,而且可能會成為一項耗時且困難的任務。

云原生環境中有多種可用的調試解決方案,可幫助你訪問集群內信息。然而,其中大多數不提供上下文信息。

在這篇博文中,我將向你介紹K8sGPT,這個項目旨在為所有人提供 Kubernetes 的超能力。

K8sGPT 的應用場景K8sGPT 的應用場景

概述

K8sGPT于2023年4月由一群云原生生態系統中經驗豐富的工程師啟動。它是一個完全開源的項目。K8sGPT 背后的主要思想是利用 AI 模型提供 Kubernetes 錯誤消息以及其他集群見解的詳細且情境化的解釋。

圖片圖片

此外,該項目已被兩個組織在生產中使用,并已申請成為 CNCF 沙箱項目。從長遠來看,該項目的目標是為 Kubernetes 構建面向任務的機器學習模型。

該項目已經支持多種安裝選項和不同的人工智能后端。在這篇博文中,我將向你展示如何安裝和開始使用 K8sGPT、CLI 工具和 Operator,以及 K8sGPT 如何支持其他集成。

安裝

根據你的偏好和操作系統,有多種安裝選項可用。你可以在K8sGPT文檔的安裝部分找到不同的選項。

如下所述安裝 K8sGPT 的先決條件是在 Mac 上安裝Homebrew或在 Windows 計算機上安裝 WSL。

接下來,你可以運行以下命令:

brew tap k8sgpt-ai/k8sgpt
brew install k8sgpt

其他安裝選項

基于 RPM 的安裝 (RedHat/CentOS/Fedora)

32位:

curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.6/k8sgpt_386.rpm
sudo rpm -ivh k8sgpt_386.rpm

64 位:

curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.6/k8sgpt_amd64.rpm
sudo rpm -ivh -i k8sgpt_amd64.rpm

基于 DEB 的安裝 (Ubuntu/Debian)

32位:

curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.6/k8sgpt_386.deb
sudo dpkg -i k8sgpt_386.deb

64 位:

curl -LO https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.6/k8sgpt_amd64.deb
sudo dpkg -i k8sgpt_amd64.deb

要驗證 K8sGPT 是否安裝正確,你可以檢查安裝的版本:

k8sgpt version
k8sgpt: 0.3.6 (9c0efe6), built at: unknown

K8sGPT CLI

要查看 K8sGPT 提供的所有命令,請使用 --help 標志:

k8sgpt --help

接下來,我們必須授權AI后端。在本文中,我們將使用 OpenAI。

先決條件

遵循下一節的先決條件是擁有一個OpneAI 帳戶和一個正在運行的 Kubernetes 集群,例如 microk8s 或 minikube 就足夠了。

擁有 OpneAI 帳戶后,你需要訪問這個地址https://platform.openai.com/account/api-keys生成新的 API 密鑰

或者,你可以運行以下命令,K8sGPT 將在默認瀏覽器中打開同一地址:

k8sgpt generate

K8sGPT 與 OpenAI 交互需要此密鑰。使用新創建的 API 密鑰/令牌授權 K8sGPT:

k8sgpt auth add openai
Enter openai Key: openai added to the AI backend provider list

你可以使用以下命令列出你的后端:

k8sgpt auth list

Default:
> openai
Active:
> openai
Unused:
> localai
> azureopenai
> noopai

接下來,我們將在 Kubernetes 集群中部署一個異常的Deployment,Pod 將成為CrashLoopBackOff狀態。以下是 YAML:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
        securityContext:
          readOnlyRootFilesystem: true

接下來,我們將為示例應用程序創建demo命名空間并安裝部署:

kubectl create ns demo
namespace/demo created
kubectl apply -f ./deployment.yaml -n demo
deployment.apps/nginx-deployment created

現在你將看到我們的演示命名空間中的 Pod 拋出錯誤:

圖片圖片

如果我們查看其中一個 pod 的事件,但是我們不知道具體問題原因:

Warning  BackOff 3s (x8 over 87s)  kubelet         Back-off restarting failed container

因此,我們可以運行 K8sGPT 命令來訪問有關這些 pod 出錯原因的更多詳細信息:

k8sgpt analyse

這將向我們展示 k8sGPT 在集群中發現的問題:

AI Provider: openai

0 demo/nginx-deployment-5f4c7db77b-hq74n(Deployment/nginx-deployment)
- Error: back-off 1m20s restarting failed cnotallow=nginx pod=nginx-deployment-5f4c7db77b-hq74n_demo(7854b793-21b7-4f81-86e5-dbb4113f64f4)

1 demo/nginx-deployment-5f4c7db77b-phbq8(Deployment/nginx-deployment)
- Error: back-off 1m20s restarting failed cnotallow=nginx pod=nginx-deployment-5f4c7db77b-phbq8_demo(74038531-e362-45a6-a436-cf1a6ea46d8a)

2 demo/nginx-deployment-5f4c7db77b-shkw6(Deployment/nginx-deployment)
- Error: back-off 1m20s restarting failed cnotallow=nginx pod=nginx-deployment-5f4c7db77b-shkw6_demo(2603f332-3e1c-45da-8080-e34dd6d956ad)

要接收更多信息以及有關如何解決問題的建議,我們可以使用以下--explain標志:

k8sgpt analyse --explain

附加功能

根據你的集群大小和 K8sGPT 在集群中識別的問題數量,你還可以按特定命名空間和工作負載類型進行過濾。

此外,如果你或你的組織擔心 OpenAI 或其他后端接收有關你的工作負載的敏感信息,你可以使用--anonymize規避應用的敏感信息。

與其他工具的集成

云原生生態系統中大多數工具的價值源于它們與其他工具的集成程度。

在撰寫本文時,K8sGPT 提供了與 Gafana 和 Prometheus 等可觀察性工具的輕松集成。此外,還可以為 K8sGPT 編寫插件。維護者提供的第一個插件是Trivy,一個一體化的云原生安全掃描器。

你可以使用以下命令列出所有可用的集成:

k8sgpt integration list
Active:
Unused:
> trivy

接下來,我們要激活 Trivy 集成:

k8sgpt integration activate trivy

這將在集群內安裝 Trivy Operator(如果尚未安裝):

圖片圖片

激活集成后,我們可以通過 k8sgpt 過濾器,使用 Trivy 創建的漏洞報告作為 K8sGPT 分析的一部分:

? k8sgpt filters list
Active:
> Pod
> VulnerabilityReport (integration)
Unused:
> Deployment
> ReplicaSet
> Node
> Service
> Ingress
> StatefulSet
> CronJob
> PersistentVolumeClaim
> HorizontalPodAutoScaler
> PodDisruptionBudget
> NetworkPolicy

過濾器對應于 k8sgpt 代碼中的特定分析器。分析器僅查看相關信息,例如最關鍵的漏洞。

要使用 VulnerabilityReport 過濾器,請使用以下命令:

k8sgpt analyse --filter=VulnerabilityReport

(FIXME)與之前類似,我們也可以要求 K8sGPT 對掃描提供進一步的解釋:

k8sgpt analyse --filter=VulnerabilityReport --explain

K8sGPT Operator

雖然 CLI 工具為集群管理員提供了對其基礎設施和工作負載執行即席掃描的功能,但 K8sGPT Operator 在集群中全天候 (24/7) 運行。它是 Kubernetes 原生的,這意味著它作為 Kubernetes 自定義資源運行,并生成作為 YAML 清單存儲在集群中的報告。

要安裝 Operator,請按照以下命令進行操作:

helm repo add k8sgpt https://charts.k8sgpt.ai/
helm repo update
helm install release k8sgpt/k8sgpt-operator -n k8sgpt-operator-system --create-namespace

如果你想將 K8sGPT 與 Prometheus 和 Grafana 集成,你可以通過向上面的安裝提供values.yaml 清單來使用略有不同的安裝:

serviceMonitor:
    enabled: true

GrafanaDashboard:
    enabled: true

然后安裝 Operator 或更新現有安裝:

helm install release k8sgpt/k8sgpt-operator -n k8sgpt-operator-system --create-namespace --values values.yaml

在本例中,我們告訴 K8sGPT 還安裝一個 ServiceMonitor,它將掃描報告中的指標發送到 Prometheus,并為 K8sGPT 創建一個儀表板。如果你使用了此安裝,則還需要安裝 kube-prometheus-stack Helm Chart 才能訪問 Grafana 和 Prometheus。這可以通過以下命令來完成:

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

helm repo update

helm install prom prometheus-community/kube-prometheus-stack -n k8sgpt-operator-system --set prometheus.prometheusSpec.serviceMonitorSelectorNilUsesHelmValues=false

此時,你應該在集群內運行 K8sGPT Operator 和 Prometheus Stack Helm Chart(也是 Kubernetes Operator)。

與我們需要向 CLI 提供 OpenAI API 密鑰的方式類似,我們需要使用 API 密鑰創建 Kubernetes 密鑰。為此,請使用與之前相同的密鑰,或者在你的 OpenAI 帳戶上生成一個新密鑰。

要生成 Kubernetes 密鑰,請將你的 OpenAI 密鑰粘貼到以下命令中:

export OPENAI_TOKEN=<YOUR API KEY HERE>

kubectl create secret generic k8sgpt-sample-secret --from-literal=openai-api-key=$OPENAI_TOKEN -n k8sgpt-operator-system

然后,我們需要配置 K8sGPT Operator 以了解要使用哪個版本的 K8sGPT 以及哪個 AI 后端:

apiVersion: core.k8sgpt.ai/v1alpha1
kind: K8sGPT
metadata:
  name: k8sgpt-sample
spec:
  model: gpt-3.5-turbo
  backend: openai
  noCache: false
  version: v0.3.2
  enableAI: true
  secret:
    name: k8sgpt-sample-secret
    key: openai-api-key

現在,我們需要將此文件應用到我們的 K8sGPT 集群命名空間:

kubectl apply -f k8sgpt-resource.yaml -n k8sgpt-operator-system

幾秒鐘內,Operator 將創建新結果:

kubectl get results -n k8sgpt-operator-system

以下是不同命令的屏幕截圖,你可以按照這些命令從 K8sGPT Operator 查看結果報告:

從 K8sGPT Operator 查看結果報告從 K8sGPT Operator 查看結果報告

最后,我們將看一下 Grafana 儀表板。端口轉發 Grafana 服務以通過 localhost 訪問它:

kubectl port-forward service/prom-grafana -n prom 3000:80

打開 localhost:3000,然后導航到 Dashboards>K8sGPT Overview,然后你將看到包含結果的儀表板:

圖片Grafana 中的 K8sGPT 儀表板

參考

  1. 1. https://k8sgpt.ai/
  2. 2. https://docs.k8sgpt.ai/
  3. 3. https://github.com/k8sgpt-ai
責任編輯:武曉燕 來源: 云原生百寶箱
相關推薦

2011-02-22 17:48:34

Konqueror

2023-11-12 23:01:44

PaddleOCR深度學習

2015-03-13 11:23:21

編程編程超能力編程能力

2023-12-22 14:31:52

2021-08-03 21:24:13

ARVR

2024-11-26 00:41:23

Python編程腳本

2013-12-02 10:30:29

瀏覽器

2024-11-04 19:46:38

2019-02-28 22:10:30

AI人工智能預測

2016-12-01 09:32:47

AWS re:InveAWS云計算超能力

2020-11-03 20:44:35

快手實時隱身技術隱身超能力

2025-06-03 05:00:00

JetpackCompose技巧

2021-03-11 11:00:38

IBM自動化AI

2019-05-08 14:19:19

貝斯平BespinMSP

2023-03-03 13:50:55

GPT-3AI

2017-08-22 11:06:22

Android谷歌

2013-03-11 13:35:26

腕帶

2024-05-15 16:07:03

Python框架

2019-03-28 09:26:26

數據科學模型機器學習

2022-01-06 15:35:31

LinuxWindows英特爾
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线中文 | 视频一区二区在线观看 | 欧美性网 | 国产精品日女人 | 国产一区二区在线91 | 国产精品一卡二卡三卡 | 97视频精品| 91av在线免费看 | 国产99久久精品一区二区永久免费 | 成人免费毛片在线观看 | 色婷婷av久久久久久久 | 日韩三级在线 | www.日韩| 免费三级网站 | 成人影院一区二区三区 | 免费看黄视频网站 | 日日干夜夜操 | 亚洲欧美国产一区二区三区 | 一区二区三区免费在线观看 | 999久久久久久久久 国产欧美在线观看 | 国产在线观| 在线日韩av电影 | 91黄在线观看 | 成人在线观看免费观看 | 蜜桃一区二区三区在线 | 黄色在线观看网站 | 久久久精品一区 | 久久久免费少妇高潮毛片 | 国产精品久久久久久婷婷天堂 | 日韩一区二区视频 | 999免费观看视频 | a级大片免费观看 | 农村妇女毛片精品久久久 | 欧美国产日韩在线 | 久久国产精品网站 | 国产一区久久精品 | 亚洲精品久久久一区二区三区 | 成人在线一级片 | 99久久婷婷 | 久草网站| 亚洲欧美视频 |