色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

為Kubernetes集群部署一個ChatGPT機器人

jf_ro2CN3Fa ? 來源:芋道源碼 ? 2023-03-07 09:33 ? 次閱讀

今天我想分享一個有趣的項目叫做 “K8s ChatGPT Bot[1]”。該項目的目的是為 K8s 集群部署一個 ChatGPT 機器人。我們可以詢問 ChatGPT 幫助我們解決 Prometheus 的警報,可以得到簡潔的答復,不再需要一人在黑暗中獨自解決警報問題!

我們需要用到 Robusta[2],如果你還沒有 Robusta,可以參考《K8s — Robusta, K8s Troubleshooting Platform[3]》搭建一個 Robusta 平臺。

下圖是 Robusta 平臺如何工作的截圖:

deb42aaa-bc7d-11ed-bfe3-dac502259ad0.jpg

你可以在此處查看完整的演示視頻

https://www.loom.com/share/964cd8735a874287a9155c77320bdcdb

運行 K8s ChatGPT 機器人項目

該機器人項目是基于 Robusta.dev[4] 實現的,Robusta.dev 是一個用于響應 K8s 警報的開源平臺。其工作流程大致如下:

  • Prometheus 使用 Webhook 接收器將警報轉發給 Robusta.dev 。
  • Robusta.dev 詢問 ChatGPT 如何修復 Prometheus 警報。

基于 Spring Boot + MyBatis Plus + Vue & Element 實現的后臺管理系統 + 用戶小程序,支持 RBAC 動態權限、多租戶、數據權限、工作流、三方登錄、支付、短信、商城等功能

  • 項目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 視頻教程:https://doc.iocoder.cn/video/

先決條件

  • Slack
  • Kubernetes 集群
  • Python 3.7 及以上

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 實現的后臺管理系統 + 用戶小程序,支持 RBAC 動態權限、多租戶、數據權限、工作流、三方登錄、支付、短信、商城等功能

  • 項目地址:https://github.com/YunaiV/yudao-cloud
  • 視頻教程:https://doc.iocoder.cn/video/

如何安裝 Robusta

生成 Robusta 配置文件

為 Robusta 準備 Python 虛擬環境。

$python3.10-mvenvrobusta
$sourcerobusta/bin/activate
(robusta)$pipinstall-Urobusta-cli--no-cache
Collectingrobusta-cli
Downloadingrobusta_cli-0.10.10-py3-none-any.whl(223kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━223.8/223.8kB30.0MB/seta0:00:00
Collectingpymsteams<0.2.0,>=0.1.16
Downloadingpymsteams-0.1.16.tar.gz(7.6kB)
Preparingmetadata(setup.py)...done
...
SuccessfullyinstalledPyJWT-2.4.0appdirs-1.4.4autopep8-2.0.1black-21.5b2
cachetools-5.2.1certifi-2022.12.7cffi-1.15.1charset-normalizer-3.0.1
...
ruamel.yaml.clib-0.2.7six-1.16.0slack-sdk-3.19.5tenacity-8.1.0
toml-0.10.2tomli-2.0.1typer-0.4.2typing-extensions-4.4.0urllib3-1.26.14
watchgod-0.7webexteamssdk-1.6.1websocket-client-1.3.3

使用 robusta 生成一個配置文件:

$robustagen-config
Robustareportsitsfindingstoexternaldestinations(wecallthem"sinks").
We'lldefinesomeofthemnow.

ConfigureSlackintegration?ThisisHIGHLYrecommended.[Y/n]:Y
Ifyourbrowserdoesnotautomaticallylaunch,openthebelowurl:
https://api.robusta.dev/integrations/slack?id=xxxx

配置 Slack 集成

使用瀏覽器打開網頁:https://api.robusta.dev/integrations/slack?id=xxxx

decb2da4-bc7d-11ed-bfe3-dac502259ad0.jpg

更新權限:

dee4ca48-bc7d-11ed-bfe3-dac502259ad0.jpg

恭喜你配置 Slack 集成成功。

defc34d0-bc7d-11ed-bfe3-dac502259ad0.jpg

現在回到我們的 Terminal 終端,我們可以看到以下內容,說明操作成功:

$robustagen-config
Robustareportsitsfindingstoexternaldestinations(wecallthem"sinks").
We'lldefinesomeofthemnow.

ConfigureSlackintegration?ThisisHIGHLYrecommended.[Y/n]:Y
Ifyourbrowserdoesnotautomaticallylaunch,openthebelowurl:
https://api.robusta.dev/integrations/slack?id=xxxx
You'vejustconnectedRobustatotheSlackof:devopsfans
WhichslackchannelshouldIsendnotificationsto?#k8s-chatgpt-bot
ConfigureRobustaUIsink?ThisisHIGHLYrecommended.[Y/n]:Y
EnteryourGmail/Googleaddress.Thiswillbeusedtologin:xxx@gmail.com
Chooseyouraccountname(e.gyourorganizationname):devopsfans
Successfullyregistered.

RobustacanusePrometheusasanalertsource.
Ifyouhaven'tinstalledityet,Robustacaninstalla
pre-configuredPrometheus.
Wouldyouliketodoso?[y/N]:y
PleasereadandapproveourEndUserLicenseAgreement:
https://api.robusta.dev/eula.html
DoyouacceptourEndUserLicenseAgreement?[y/N]:y
Lastquestion!WouldyouliketohelpusimproveRobustabysendingexceptionreports?[y/N]:N
Savedconfigurationto./generated_values.yaml-savethisfileforfutureuse!
FinishinstallingwithHelm(seetheRobustadocs).
ThenlogintoRobustaUIathttps://platform.robusta.dev

Bytheway,we'llsendyousomemessageslatertogetfeedback.
(Wedon'tstoreyourAPIkey,sowescheduledfuturemessagesusingSlack's
API)

在 slack channel 中,我們還可以看到:

df124888-bc7d-11ed-bfe3-dac502259ad0.jpg

使用 Helm3 安裝 Robusta

安裝和更新 robusta 倉庫。

$helmrepoaddrobustahttps://robusta-charts.storage.googleapis.com&&helmrepoupdate
"robusta"hasbeenaddedtoyourrepositories
Hangtightwhilewegrabthelatestfromyourchartrepositories...
...Successfullygotanupdatefromthe"kedacore"chartrepository
...Successfullygotanupdatefromthe"robusta"chartrepository
...Successfullygotanupdatefromthe"grafana"chartrepository
...Successfullygotanupdatefromthe"prometheus-community"chartrepository
...Successfullygotanupdatefromthe"stable"chartrepository
UpdateComplete.?HappyHelming!?

更新 generated_values.yaml 文件

使用以下內容更新 generated_values.yaml 文件:

playbookRepos:
chatgpt_robusta_actions:
url:"https://github.com/robusta-dev/kubernetes-chatgpt-bot.git"

customPlaybooks:
#Addthe'AskChatGPT'buttontoallPrometheusalerts
-triggers:
-on_prometheus_alert:{}
actions:
-chat_gpt_enricher:{}

globalConfig:
chat_gpt_token:YOURKEYGOESHERE

將 Robusta 部署到 K8s

$helminstallrobustarobusta/robusta-f./generated_values.yaml
--setclusterName=dev-cluster

驗證兩個 Robusta pod 正常運行且在日志中沒有發現錯誤日志:

$kubectlgetpods-A|greprobusta
defaultalertmanager-robusta-kube-prometheus-st-alertmanager-02/2Running1(4m19sago)9m25s
defaultprometheus-robusta-kube-prometheus-st-prometheus-02/2Running09m25s
defaultrobusta-forwarder-6b7d8d9d88-2rv9d1/1Running09m29s
defaultrobusta-grafana-64944bfcdc-v97xh3/3Running09m29s
defaultrobusta-kube-prometheus-st-admission-patch-6zj4b0/1Completed09m28s
defaultrobusta-kube-prometheus-st-operator-7b985d7fb-c9f9t1/1Running09m29s
defaultrobusta-kube-state-metrics-688d794968-ll6gf1/1Running09m29s
defaultrobusta-prometheus-node-exporter-2k5f71/1Running05m24s
defaultrobusta-prometheus-node-exporter-zxsrg1/1Running09m29s
defaultrobusta-runner-5868b494d6-m62921/1Running09m29s

$robustalogs
settingupcoloredlogging
2023-01-1422:57:01.428INFOloggerinitializedusingINFOloglevel
2023-01-1422:57:01.429INFOCreatinghikarumonkeypatches
2023-01-1422:57:01.429INFOCreatingyamlmonkeypatch
2023-01-1422:57:01.429INFOCreatingkubernetesContainerImagemonkeypatch
2023-01-1422:57:01.430INFOwatchingdir/etc/robusta/playbooks/forcustomplaybookschanges
2023-01-1422:57:01.431INFOwatchingdir/etc/robusta/config/active_playbooks.yamlforcustomplaybookschanges
2023-01-1422:57:01.431INFOReloadingplaybookpackagesduetochangeoninitialization
2023-01-1422:57:01.431INFOloadingconfig/etc/robusta/config/active_playbooks.yaml
2023-01-1422:57:01.467INFONocustomplaybooksdefinedat/etc/robusta/playbooks/storage
2023-01-1422:57:01.468INFOCloninggitrepohttps://github.com/robusta-dev/kubernetes-chatgpt-bot.git.reponamekubernetes-chatgpt-bot
...
2023-01-1422:57:07.364INFOconnectingtoserverasaccount_id=8302df56-c554-4129-8b95-d143d1f2e3a2;cluster_name=dev-cluster
2023-01-1422:57:07.977INFOInitializingservicescache
2023-01-1422:57:08.203INFOInitializingnodescache
2023-01-1422:57:08.395INFOInitializingjobscache
2023-01-1422:57:08.603INFOGettingeventshistory
2023-01-1422:57:10.403INFOClusterhistoricaldatasent.
2023-01-1423:04:43.681INFOclusterstatus{'account_id':'8302df56-c554-4129-8b95-d143d1f2e3a2','cluster_id':'dev-cluster','version':'0.10.10','last_alert_at':'2023-01-142318.959377','light_actions':['related_pods','prometheus_enricher','add_silence','delete_pod','delete_silence','get_silences','logs_enricher','pod_events_enricher','deployment_events_enricher','job_events_enricher','job_pod_enricher','get_resource_yaml','node_cpu_enricher','node_disk_analyzer','node_running_pods_enricher','node_allocatable_resources_enricher','node_status_enricher','node_graph_enricher','oomkilled_container_graph_enricher','pod_oom_killer_enricher','oom_killer_enricher','volume_analysis','python_profiler','pod_ps','python_memory','debugger_stack_trace','python_process_inspector','prometheus_alert','create_pvc_snapshot'],'updated_at':'now()'}

使用 Robusta

現在,我們終于可以使用 Robusta 了!默認情況下,Robusta 在當 K8s Pod 崩潰時發送通知。

因此,讓我們創建一個崩潰的 Pod:

$kubectlapply-fhttps://gist.githubusercontent.com/robusta-lab/283609047306dc1f05cf59806ade30b6/raw
deployment.apps/crashpodcreated

$kubectlgetpods-A|grepcrash
defaultcrashpod-64db77b594-cgz4s0/1CrashLoopBackOff2(21sago)36s

一旦 Pod 達到兩次重啟,在 Slack channel 我們就將收到有關 Pod 崩潰的消息,如下所示:

df255dec-bc7d-11ed-bfe3-dac502259ad0.jpg

與 ChatGPT 互動

經過我們的實驗,我們已經確認 Robusta 已與我們的 Slack 和 K8s 集群集成。接下來讓我們與 ChatGPT 機器人進行交互!

立即觸發 Prometheus 警報,跳過正常延遲:

$robustaplaybookstriggerprometheus_alertalert_name=KubePodCrashLoopingnamespace=defaultpod_name=example-pod
======================================================================
Triggeringaction...
======================================================================
runningcmd:curl-XPOSThttp://localhost:5000/api/trigger-H'Content-Type:application/json'-d
'{"action_name":"prometheus_alert","action_params":
{"alert_name":"KubePodCrashLooping","namespace":"default",
"pod_name":"example-pod"}}'
{"success":true}

======================================================================
Fetchinglogs...
======================================================================
2023-01-1423:14:33.463INFOErrorloadingkubernetespoddefault/example-pod.reason:NotFoundstatus:404
2023-01-1423:14:33.481INFOErrorloadingkubernetespoddefault/example-pod.reason:NotFoundstatus:404
2023-01-1423:14:33.503INFOErrorloadingkubernetespoddefault/example-pod.reason:NotFoundstatus:404
2023-01-1423:14:33.505ERRORcannotrunpod_events_enricheronalertwithnopodobject:PrometheusKubernetesAlert(sink_findings=defaultdict(<class'list'>,{'main_slack_sink':[0x7fab53074e20>],'main_ms_teams_sink':[0x7fab53074700>],'robusta_ui_sink':[0x7fab40773a30>]}),named_sinks=['main_slack_sink','main_ms_teams_sink','robusta_ui_sink'],response={'success':True},stop_processing=False,_scheduler=0x7fab4088e0a0>,_context=ExecutionContext(account_id='8302df56-c554-4129-8b95-d143d1f2e3a2',cluster_name='dev-cluster'),obj=None,alert=PrometheusAlert(endsAt=datetime.datetime(2023,1,14,23,14,33,430401),generatorURL='',startsAt=datetime.datetime(2023,1,14,23,14,33,430406),fingerprint='',status='firing',labels={'severity':'error','namespace':'default','alertname':'KubePodCrashLooping','pod':'example-pod'},annotations={}),alert_name='KubePodCrashLooping',alert_severity='error',label_namespace='default',node=None,pod=None,deployment=None,job=None,daemonset=None,statefulset=None)
2023-01-1423:14:33.524INFOErrorloadingkubernetespoddefault/example-pod.reason:NotFoundstatus:404
2023-01-1423:14:33.696ERRORCallbackBlocknotsupportedformsteams
2023-01-1423:14:33.697ERRORerrorsendingmessagetomsteams
e=InvalidURL'False':Noschemasupplied.Perhapsyoumeanthttp://False?

======================================================================
Done!
======================================================================

現在切換到 Slack,我們將看到一個新警報,并且這次帶有 “Ask ChatGPT” 的按鈕!

df3461f2-bc7d-11ed-bfe3-dac502259ad0.jpg

就是這樣!恭喜,我們剛剛成功安裝了我們的第一個 K8s ChatGPT 機器人!

示例 2:節點容量為 100%

下面是一個節點達到 100% 容量的例子:

df484898-bc7d-11ed-bfe3-dac502259ad0.jpg

Robusta UI

Robusta 有一個用于集成的 UI,也有一個預配置的 Promethus 系統,如果你還沒有自己的 K8s 集群,并且想嘗試一下這個 ChatGPT 機器人,你可以使用 Robusta 現有的!

df5b7d96-bc7d-11ed-bfe3-dac502259ad0.jpg

結論

我們花了一些時間終于把 K8s + ChatGPT 平臺搭建起來了。這是一個由愛好者們共同組建的項目,并且此項目具有很大的潛力。我希望你喜歡這篇文章。

如果你還沒有自己的 K8s 集群和 Prometheus 監控系統,你可以使用 Robusta 預配置的 Promethus 監控系統。

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器人
    +關注

    關注

    211

    文章

    28380

    瀏覽量

    206918
  • python
    +關注

    關注

    56

    文章

    4792

    瀏覽量

    84628
  • ChatGPT
    +關注

    關注

    29

    文章

    1558

    瀏覽量

    7596

原文標題:為Kubernetes集群部署一個ChatGPT機器人

文章出處:【微信號:芋道源碼,微信公眾號:芋道源碼】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    機器人ChatGPT應用:設計原則和模型能力

    本文轉載自微軟發布的關于chatGPT擴展到機器人領域的能力。以下內容選擇部分內容,關于chatGPT控制機械臂,以完成繪制微軟徽標的過程。 我們將 ChatGPT 的功能擴展到
    的頭像 發表于 03-14 09:54 ?2822次閱讀
    <b class='flag-5'>機器人</b><b class='flag-5'>ChatGPT</b>應用:設計原則和模型能力

    制作簡易的機器人

    控制器的核心,小型直流電機作為驅動元件,配置不同類型的傳感器,通過軟件編程,制作出了價格低廉、模塊化結構的小型機器人。大量的行走實驗證實,該機器人能夠順利路徑跟蹤和自動糾偏自主行走
    發表于 02-09 15:40

    發現機器人,《機器人的中秋祝福》中的機器人有眼部投影功能哦

    `發現了機器人,《機器人的中秋祝福》中的機器人有眼部投影功能哦,雙手還挺靈活的,好像是國內的,就是外觀比較
    發表于 09-13 14:40

    阿里云上Kubernetes集群聯邦

    摘要: kubernetes集群讓您能夠方便的部署管理運維容器化的應用。但是實際情況中經常遇到的些問題,就是單個集群通常無法跨單個云廠商的
    發表于 03-12 17:10

    使用Helm 在容器服務k8s集群部署wordpress

    摘要: Helm 是啥? 微服務和容器化給復雜應用部署與管理帶來了極大的挑戰。Helm是目前Kubernetes服務編排領域的唯開源子項目,做為Kubernetes應用的
    發表于 03-29 13:38

    Kubernetes Ingress 高可靠部署最佳實踐

    節點數等,注意集群默認會初始化3臺Master節點來部署集群管控服務。我們通過阿里云容器服務控制臺創建
    發表于 04-17 14:35

    kubernetes集群配置

    基于v1104版本手動搭建高可用kubernetes 集群
    發表于 08-19 08:07

    Kubernetes 從懵圈到熟練:集群服務的三要點和種實現

    ,實際上是一個集群節點上,部署反向代理 Sidecar。而所有對
    發表于 09-24 15:35

    kubernetes v112二進制方式集群部署

    kubernetes v112 二進制方式集群部署
    發表于 05-05 16:30

    【HarmonyOS HiSpark AI Camera】基于Hi3516DV300的機器人集群系統

    項目名稱:基于Hi3516DV300的機器人集群系統試用計劃:申請理由本人所在實驗室為重慶大學機器人協同創新實驗室,直開展機器人領域相關研
    發表于 10-29 14:20

    請問鴻蒙系統上可以部署kubernetes集群嗎?

    鴻蒙系統上可以部署kubernetes集群
    發表于 06-08 11:16

    制作教育機器人

    教師想要的教學內容?你的學生。任何想開始學習教育機器人的人都可以組裝、編程和使用它。這是非常小的印刷電路板?它只安裝兩眼睛模式的LED二極管和
    發表于 08-19 07:25

    如何部署基于Mesos的Kubernetes集群

    kubernetes跨多個計算節點的管理容器化應用的系統,它提供了系列基本的功能,如應用的自動化部署,維護和擴展等。Mesos是Ap
    發表于 10-09 18:04 ?0次下載
    如何<b class='flag-5'>部署</b>基于Mesos的<b class='flag-5'>Kubernetes</b><b class='flag-5'>集群</b>

    Kubernetes集群的關閉與重啟

    在日常對 Kubernetes 集群運行維護的過程中,您可能需要臨時的關閉或者是重啟 Kubernetes 集群集群進行維護,本文將介紹如
    的頭像 發表于 11-07 09:50 ?9922次閱讀

    Kubernetes集群部署

    Kubeadm是Kubernetes集群部署工具,通過kubeadm init命令創建master節點,通過 kubeadm join命令把node節點加入到
    的頭像 發表于 02-15 10:35 ?1721次閱讀
    主站蜘蛛池模板: 男人就爱吃这套下载| 亚洲免费综合色视频| 中文字幕亚洲无线码高清不卡| 高清 国产 在线 亚洲| 美国特级成人毛片| 亚洲精品成人无码A片在线| 粗暴玩烂货调教| 免费视频网站嗯啊轻点| 亚洲熟伦熟女专区| 国产精品亚洲电影久久成人影院| 欧美不卡一区二区三区| 中文字幕乱偷无码AV蜜桃| 国模玲玲自拍337p| 桃花色影院| 成人欧美尽粗二区三区AV| 免费人妻AV无码专区五月| 一个人免费完整在线观看影院| 国产麻豆剧果冻传媒免费网站| 秋霞网韩国理伦片免费看| 99re5.久久热在线视频| 久青草国产97香蕉在线视频| 亚洲精品无码一区二区三区四虎 | 睡觉被偷偷进入magnet| ca88亚洲城娱乐| 免费鲁丝片一级在线观看| 伊人久久综合| 黑色丝袜在线观看| 午夜片神马影院福利| 国产成a人片在线观看视频99| 欧美在线看费视频在线| 99精品国产高清自在线看超| 久久这里只精品热在线99| 伊人久久大香线蕉无码麻豆| 后入到高潮免费观看| 亚洲乱码在线卡一卡二卡新区 | 岛国大片在线观看免费版| 欧美卡1卡2卡三卡2021精品| 999久久久国产精品蜜臀AV| 恋夜直播午夜秀场最新| 中文无码在线观| 久久亚洲电影www电影网|