隨著人工智能和機器學習的興起,企業(yè)和組織越來越多地尋找創(chuàng)新方法來利用這些技術來獲得競爭優(yōu)勢。?該領域最強大的工具之一便是 K8sGPT,即基于 Kubernetes 的 GPT,它將 Kubernetes 編排的優(yōu)勢與 GPT 模型的高級自然語言處理能力結合在一起。
毫不夸張的說,K8sGPT 是一種改變游戲規(guī)則的工具,有可能徹底改變許多行業(yè),從醫(yī)療保健和金融到電子商務和教育。它分析和理解自然語言數(shù)據(jù)的能力是無與倫比的,這使其成為希望從大量文本數(shù)據(jù)中獲得洞察力的企業(yè)和組織的寶貴工具。
一、何為 K8sGPT ?
先來看一張圖:
再來看一張圖
K8sGPT 是一個用于掃描 Kubernetes Cluster,以及用簡單的英語診斷和分類問題的工具。它將 SRE 經(jīng)驗植入其分析儀,并幫助我們提取最有價值的相關信息,以及基于人工智能進行豐富、完善,以支撐問題的解決。
二、K8sGPT 到底是如何工作?
通常來講,K8sGPT 使用一組分析儀,旨在識別和簡化Kubernetes Cluster 中診斷和分類問題的過程。這些分析儀具有 SRE 經(jīng)驗,有助于提供最準確和相關的信息。
關于 K8sGPT 所內(nèi)置的分析儀,具體可參考如下所示:
1、PodAnalyzer
此分析儀主要檢查 Pod 所關聯(lián)的相關配置,并檢查任何可能導致?Pod?崩潰或資源過度使用等問題。
2、PVCAnalyzer
此分析儀主要檢查 PVC 的配置信息,并檢查任何可能導致數(shù)據(jù)丟失或其他存儲相關問題的問題。
3、ServiceAnalyzer
此分析儀主要檢查服務的參數(shù)配置情況,并檢查可能導致服務停機或性能下降的任何問題。
4、DeploymentAnalyzer
此分析儀主要檢查部署的相關配置情況,并檢查可能導致資源使用不足或過度使用的任何問題。
5、NodeAnalyzer
此分析儀檢查 Kubernetes Cluster 中的節(jié)點信息,并檢查與節(jié)點運行狀況、利用率和容量相關的任何問題。
當然,除了上述所列舉的核心分析儀外,在實際的業(yè)務場景中,仍然有一些有用的分析儀可供使用,例如:入口分析儀、定時任務分析儀、事件分析儀以及其他等等。
對于 AI 后端,K8sGPT 使用 OpenAI 作為默認后端平臺。我們可以切換到其他后端,例如 Azure OpenAI 提供商或 FakeAI 提供商等。
三、K8sGPT 能夠幫助我們解決哪些痛點?
基于這款劃時代的創(chuàng)新工具,K8sGPT 能夠幫我們做的事情還真不少,具體可參考如下所示:
1、診斷 Kubernetes Cluster 故障
K8sGPT 能夠幫助我分析來自 Kubernetes?Cluster?的日志和其他關鍵數(shù)據(jù),以識別當前系統(tǒng)環(huán)境所存在的潛在問題。從而可以幫助我們,特別是 SRE、平臺和 DevOps 工程師快速了解其集群中發(fā)生了什么,并找到問題的根本原因。
2、Kubernetes?Cluster?分類問題
K8sGPT 能夠專注于分類和診斷集群中的問題,幫助我們消除了日志和多種工具的噪音,以便快速找到問題的根本原因。
3、提高 Kubernetes?Cluster?的可靠性
通過使用 K8sGPT 定期分析 Kubernetes?Cluster?的運行狀況,使得我們能夠在導致停機或其他問題之前主動識別和解決問題。
4、對特定資源進行故障排除
在實際的生產(chǎn)環(huán)境場景中,假設我們遇到特定資源的問題,例如,服務或部署,或者在特定命名空間中,K8sGPT 則能夠幫助我輕松地對特定資源或特定命名空間進行故障排除。
5、匿名化數(shù)據(jù)
在分析過程中,K8sGPT 檢索可能包含敏感信息的數(shù)據(jù),如 Pod 名稱、命名空間、資源名稱等,這些敏感信息有時被歸類為對特定群體甚至更具限制性的個人嚴格機密(C3、C4數(shù)據(jù)分類)。K8sGPT 為我們提供了一種功能,通過在發(fā)送到 AI 后端時將其屏蔽,并將其替換為密鑰,該密鑰可用于在解決方案返回給用戶時對數(shù)據(jù)進行去匿名化,從而輕松匿名化這些數(shù)據(jù)。
四、如何使用?K8sGPT ?
通常而言,K8sGPT 可以作為 CLI(命令行界面)工具安裝,也可以作為 Kubernetes Cluster 中的 Operator 安裝。
1、基于 CLI 安裝:
[leonli@leonLab ~ ] % brew tap k8sgpt-ai/k8sgpt
Warning: No remote 'origin' in /opt/homebrew/Library/Taps/homebrew/homebrew-services, skipping update!
Running `brew update --auto-update`...
==> Auto-updated Homebrew!
Updated 1 tap (kubescape/tap).
You have 16 outdated formulae and 1 outdated cask installed.
==> Tapping k8sgpt-ai/k8sgpt
Cloning into '/opt/homebrew/Library/Taps/k8sgpt-ai/homebrew-k8sgpt'...
remote: Enumerating objects: 86, done.
remote: Counting objects: 100% (86/86), done.
remote: Compressing objects: 100% (85/85), done.
remote: Total 86 (delta 51), reused 2 (delta 0), pack-reused 0
Receiving objects: 100% (86/86), 18.77 KiB | 98.00 KiB/s, done.
Resolving deltas: 100% (51/51), done.
Tapped 1 formula (14 files, 37.7KB).
[leonli@leonLab ~ ] % brew install k8sgpt
Warning: No remote 'origin' in /opt/homebrew/Library/Taps/homebrew/homebrew-services, skipping update!
Running `brew update --auto-update`...
==> Fetching k8sgpt-ai/k8sgpt/k8sgpt
==> Downloading https://github.com/k8sgpt-ai/k8sgpt/releases/download/v0.3.0/k8sgpt_Darwin_arm64.tar.gz
==> Downloading from https://objects.githubusercontent.com/github-production-release-asset-2e65be/617152691/d9f59995-7f66-468b-9a21-2dd6a2f3c7ea?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKI
######################################################################## 100.0%
==> Installing k8sgpt from k8sgpt-ai/k8sgpt
?? /opt/homebrew/Cellar/k8sgpt/0.3.0: 6 files, 55.5MB, built in 3 seconds
==> Running `brew cleanup k8sgpt`...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).
[leonli@leonLab ~ ] % /opt/homebrew/Cellar/k8sgpt/0.3.0/bin/k8sgpt version
k8sgpt version 0.3.0
OK,Over 了。
2、基于 Operator 安裝:
通常情況下,若基于 Kubernetes Cluster 中安裝?K8sGPT,那么使用 k8sgpt-operator 進行。
基于操作員模式,旨在在 Kubernetes?Cluster?中啟用?K8sGPT。它將允許我們創(chuàng)建一個自定義資源,定義托管 K8sGPT 工作負載的行為和范圍。分析和輸出也可以配置,以便集成到現(xiàn)有工作流程中。
這種操作模式非常適合持續(xù)監(jiān)控我們所構建的集群環(huán)境,并且可以與我們現(xiàn)有的監(jiān)控(如Prometheus和Alertmanager)進行友好集成。
[leonli@leonLab ~ ] % helm repo add k8sgpt https://charts.k8sgpt.ai/
[leonli@leonLab ~ ] % helm install release k8sgpt/k8sgpt-operator -n k8sgpt-operator-system --create-namespace
接下來,我們再簡要介紹一下運行示例,具體如下所示:
(1)創(chuàng)建密鑰
[leonli@leonLab ~ ] % kubectl create secret generic k8sgpt-sample-secret --from-literal=openai-api-key=$OPENAI_TOKEN -n k8sgpt-
operator-system
(2)應用K8sGPT配置對象
[leonli@leonLab ~ ] % kubectl apply -f - << EOF
apiVersion: core.k8sgpt.ai/v1alpha1
kind: K8sGPT
metadata:
name: k8sgpt-sample
namespace: k8sgpt-operator-system
spec:
model: gpt-3.5-turbo
backend: openai
noCache: false
version: v0.3.0
enableAI: true
secret:
name: k8sgpt-sample-secret
key: openai-api-key
EOF
(3)查看部署結果
一旦應用了自定義資源,將開始安裝 K8sGPT 組件,此時,我們將能夠在幾分鐘后看到分析的結果對象,具體如下所示:
[leonli@leonLab ~ ] % kubectl get results -o json | jq .
{
"apiVersion": "v1",
"items": [
{
"apiVersion": "core.k8sgpt.ai/v1alpha1",
"kind": "Result",
"metadata": {
"creationTimestamp": "2023-04-26T09:45:02Z",
"generation": 1,
"name": "placementoperatorsystemplacementoperatorcontrollermanagermetricsservice",
"namespace": "default",
"resourceVersion": "108371",
"uid": "f0edd4de-92b6-4de2-ac86-5bb2b2da9736"
},
"spec": {
"details": "The error message means that the service in Kubernetes doesn't have any associated endpoints, which should have been labeled with \"control-plane=controller-manager\". \n\nTo solve this issue, you need to add the \"control-plane=controller-manager\" label to the endpoint that matches the service. Once the endpoint is labeled correctly, Kubernetes can associate it with the service, and the error should be resolved.",
五、常用?K8sGPT 操作示例?
安裝完成后,我們可以查看當前?K8sGPT 組件的版本,具體如下所示:
[leonli@leonLab ~ ] % /opt/homebrew/Cellar/k8sgpt/0.3.0/bin/k8sgpt version
k8sgpt version 0.3.0
我們發(fā)現(xiàn),當前當前?K8sGPT?為最新版,此時,我們可以使用 “--help ” 命令進行索引指示操作。
例如,基于?k8sgpt filters list 命令進行操作,具體如下所示:
以及運行以下命令來分析 Kubernetes Cluster 中的問題,具體可參考:
當然,除了上述的命令行外,如下相關的命令行在日常的場景中應用也較為廣泛,比如如下等等。
[leonli@leonLab ~ ] % k8sgpt generate && k8sgpt auth &&
隨著企業(yè)和組織不斷尋找利用人工智能和機器學習的創(chuàng)新方法,K8sGPT 正在成為一種強大的工具,可以幫助他們實現(xiàn)目標。 憑借其先進的自然語言處理能力和 Kubernetes 編排的優(yōu)勢,K8sGPT 有可能改變我們分析和理解文本數(shù)據(jù)的方式,并推動許多行業(yè)的創(chuàng)新。
六、這項工具也很好用
JNPF低代碼開發(fā)平臺,很多人都用過它,它是功能的集大成者,任何信息化系統(tǒng)都可以基于它開發(fā)出來。
原理是將開發(fā)過程中某些重復出現(xiàn)的場景、流程,具象化成一個個組件、api、數(shù)據(jù)庫接口,避免了重復造輪子。因而極大的提高了程序員的生產(chǎn)效率。
官網(wǎng):http://www.jnpfsoft.com/?csdn,如果你有閑暇時間,可以做個知識拓展。
這是一個基于Java Boot/.Net Core構建的簡單、跨平臺快速開發(fā)框架。前后端封裝了上千個常用類,方便擴展;集成了代碼生成器,支持前后端業(yè)務代碼生成,滿足快速開發(fā),提升工作效率;框架集成了表單、報表、圖表、大屏等各種常用的Demo方便直接使用;后端框架支持Vue2、Vue3。文章來源:http://www.zghlxwxcb.cn/news/detail-724312.html
為了支撐更高技術要求的應用開發(fā),從數(shù)據(jù)庫建模、Web API構建到頁面設計,與傳統(tǒng)軟件開發(fā)幾乎沒有差異,只是通過低代碼可視化模式,減少了構建“增刪改查”功能的重復勞動。文章來源地址http://www.zghlxwxcb.cn/news/detail-724312.html
到了這里,關于K8sGPT,基于 AI 的云原生終極工具的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!