<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ChatGPT 幫我跑了一個完整的 DevOps 流水線,離了個大譜...

          共 4949字,需瀏覽 10分鐘

           ·

          2022-12-30 09:01

          大家好,我是米開朗基楊。

          上篇文章給大家介紹了??如何將 N 個 ChatGPT 賬號接入微信,今天就來給大家演示一下如何利用 ChatGPT 幫我工作,讓自己有更多的時間摸魚!

          上篇文章還沒看的趕緊去看??

          e045504ed194cf83c2fe48c9989b7577.webp

          我將 9 個 ChatGPT 賬號接入微信,我現(xiàn)在整個人都麻了...


          作為一名云原生搬磚工程師,我經(jīng)常需要給各路大神演示各種 Demo 環(huán)境,奈何自己太菜,總是會遇到各種各樣的小問題,有時候需要花上半天時間來解決問題,太折磨人啦!我太菜啦!

          于是乎我冒出個想法,ChatGPT 不是上知天文下知地理啥都會嘛,想必云原生也不在話下嘍。我想讓他給我整個 Gin 應(yīng)用,然后通過 GitOps 的方式把它部署到 Kubernetes 集群中,這點(diǎn)小小的需求對他來說應(yīng)該不過分吧??

          不試不知道,以試嚇一跳。ChatGPT 給出的方案質(zhì)量高的嚇人啊,挑不出啥毛病來,大家可以一起來鑒別一下。

          首先需要說明一下規(guī)則:ChatGPT 只是一個語言模型,他只會說話,所以我只能向他描述我的需求,然后他給我提供詳細(xì)的方案和編排文件,最后我再到實(shí)際環(huán)境中去驗(yàn)證。

          編寫代碼,構(gòu)建鏡像

          第一步當(dāng)然是編寫應(yīng)用代碼,并構(gòu)建 Docker 鏡像推送到鏡像倉庫中。

          我提出的需求如下:

          ?

          你好!

          我需要你的幫助來編寫一個模擬的 Gin 應(yīng)用。

          這個應(yīng)用將會有一個路由 “/homepage”,并會在頁面中顯示一條消息,消息內(nèi)容是 “OpenFunction is a cloud-native open-source FaaS (Function as a Service) platform aiming to let you focus on your business logic without having to maintain the underlying runtime environment and infrastructure. You can concentrate on developing business-related source code in the form of functions.”。

          “/homepage” 頁面在“OpenFunction is a cloud-native open-source FaaS (Function as a Service) platform aiming to let you focus on your business logic without having to maintain the underlying runtime environment and infrastructure. You can concentrate on developing business-related source code in the form of functions.”這條消息下面顯示一張 OpenFunction 的架構(gòu)圖。

          OpenFunction 的架構(gòu)圖可以從這個鏈接獲取:https://openfunction.dev/openfunction-0.5-architecture.svg

          請注意:這張架構(gòu)圖的格式是 svg

          請確保我的 Gin 應(yīng)用綁定了所有主機(jī)端口(例如,0.0.0.0)。

          Gin 應(yīng)用必須使用容器化,并使用我自己的用戶名 “yangchuansheng” 構(gòu)建鏡像推送到 Docker Hub。容器鏡像體積越小越好。

          你能幫我構(gòu)建所有需要的編排文件嗎?

          謝謝!

          這是 ChatGPT 的回答:

          928c7f82b099ebbe1e5770059e1d1e6a.webp8313be564e8a87891470745e2c8d6d63.webp

          我按照 ChatGPT 的指示操作完了之后開始運(yùn)行容器進(jìn)行測試:

                  
                  $?docker?run?-d?-p?8080:8080?yangchuansheng/my-gin-app

          完美!??

          35b1d2062e08a240d483f2cb81fb2b50.webp

          部署到 Kubernetes

          接下來我需要將應(yīng)用部署到 Kubernetes 中,并將編排文件上傳到 GitHub 倉庫。

          對話開始:

          ?

          非常棒,謝謝。

          現(xiàn)在我需要將這個應(yīng)用部署到我的 Kubernetes 集群中。

          請生成所需的 YAML 編排文件,這些編排文件將會生成一個多副本的 Deployment 來部署我的 Gin 應(yīng)用。

          Deployment 會使用我上面提到的 DockerHub 用戶名拉取“my-gin-app”鏡像。

          此外還需要生成兩個 YAML 文件,一個是內(nèi)部的 ClusterIP Service,另一個是暴露到外部的 Ingress,以便將我的應(yīng)用向外界公開(您可以留空“hostname”字段)。請確保路由指向“/homepage”路徑。

          此外,還需要你告訴我如何將這些 YAML 文件推送到我的 GitHub 倉庫(我的 GitHub 用戶名是“yangchuansheng”)。

          謝謝!

          這里面有幾個難點(diǎn)需要 ChatGPT 理解:

          1. 我想部署一個多副本的 Deployment;
          2. 我想看看 ChatGPT 能不能記住我之前提到的用戶名。

          下面是 ChatGPT 的回復(fù):

          c85f532c06a6af1e9c14e281e578b71d.webp

          我選擇使用 KubeSphere 來驗(yàn)證該方案的正確性,畢竟鼠標(biāo)點(diǎn)兩下就完事了。

          首先新建一個工作負(fù)載,將 Deployment 的內(nèi)容粘貼進(jìn)去:

          bdb25261376d0f2755b3869688d18fbc.webp

          成功運(yùn)行了 3 個副本:

          7fa84c0a4302a844af5021e5fe8b2298.webp

          再創(chuàng)建一個服務(wù):

          ec6fcf08f0e233e13f921863e295ee33.webp

          最后再創(chuàng)建一個應(yīng)用路由:

          dc2853f210778b2cb3a1367e6c88d252.webp

          ChatGPT 給出的 Ingress 編排文件是有問題的,還是之前的舊語法(因?yàn)樗麖幕ヂ?lián)網(wǎng)上獲取的知識只停留在 2021 年),這也不能怪他,我自己改下吧。

          打開頁面驗(yàn)證:

          314d54eebfce7d51e7578264616098a1.webp

          完美!!!

          使用 GitOps 進(jìn)行部署

          最后一個挑戰(zhàn):讓他給我提供一個 ArgoCD 的持續(xù)部署方案。

          對話開始:

          ?

          太??????了,謝謝!

          最后,我希望我的應(yīng)用能夠適用于 GitOps 架構(gòu)。

          我目前使用的是 ArgoCD,請幫助我生成用于 ArgoCD 應(yīng)用部署的 “Application” 編排文件。

          我希望這個 GitOps 應(yīng)用會自動同步,并使用 CreateNamespace=true 選項(xiàng)自動創(chuàng)建名為“gin-app-k8s”的命名空間。

          我的 git 倉庫名稱為“gin-app-k8s”,請使用我的 GitHub 用戶名。

          該倉庫是扁平的,沒有子目錄,因此無需訪問特定路徑。

          請注意:我使用的是“kubectl”命令行,而不是“argo”命令行。

          這里也有幾個難點(diǎn):

          1. 我希望 ChatGPT 能夠理解我在使用 ArgoCD,并給出相應(yīng)的 Application 編排文件;
          2. 我要看看 ChatGPT 能不能記住我之前說過的 DockerHub 用戶名和 GitHub 用戶名。

          來看看ChatGPT 的回復(fù):

          f8d907832c7b0a561955de3c44bc6aaa.webp

          他給出的編排文件還是有點(diǎn)小問題,我給他提供反饋,告訴他哪里有問題,最終在我的引導(dǎo)下給出了正確的編排文件:

                  
                  apiVersion:?argoproj.io/v1alpha1
          kind:?Application
          metadata:
          ??name:?gin-app-k8s
          ??namespace:?argocd
          spec:
          ??destination:
          ????namespace:?gin-app-k8s
          ????server:?https://kubernetes.default.svc
          ??source:
          ????repoURL:?https://github.com/yangchuansheng/gin-app-k8s
          ????path:?./
          ????targetRevision:?HEAD
          ??project:?default
          ??syncPolicy:
          ????automated:
          ??????prune:?true
          ??????selfHeal:?true
          ????syncOptions:
          ????-?createNamespace=true

          創(chuàng)建 Application 成功:

          4ce2db2726fe60d6c2b0ec039266bbb3.webp

          查看應(yīng)用路由:

          acf07a376d85f7e45ca73da9917f0c28.webp

          訪問應(yīng)用 URL:

          94ad76c1eb1b82323e929a0c66c41f31.webp

          完全沒問題!離了個大譜!

          自己不用寫一行代碼,就實(shí)現(xiàn)了一個半自動的 CI/CD 流水線。

          我是該高興呢?還是該恐懼呢?

          總結(jié)

          ChatGPT 表現(xiàn)出來的能力確實(shí)令人震驚,他就像一個潘朵拉魔盒,你永遠(yuǎn)不知道他還能做什么,只能不斷去嘗試,讓人又期待又害怕呢,渣男!

          從今天起我就是云原生摸魚專家,工作上的事情麻煩找 ChatGPT,謝謝??


          436b976bb8cfcbd027c5c4332accb9ed.webp

          29ef09ccdc5b8a0ce47c5f7954049e93.webp


          你可能還喜歡

          點(diǎn)擊下方圖片即可閱讀

          我將 9 個 ChatGPT 賬號接入微信,我現(xiàn)在整個人都麻了...

          2022-12-10

          887c8f574a8f7399d58d7b1d49a6906d.webp

          AI 對話模型被網(wǎng)友玩壞了!這次還可以運(yùn)行 Docker 容器...

          2022-12-04

          c1c4d4743909b92cba3aa7062db9a83c.webp

          為什么 APISIX Ingress 是比 Traefik 更好的選擇?

          2022-12-19

          fea0a6504bab9d9730189aa9445b160a.webp

          K8s 最強(qiáng) CNI Cilium 網(wǎng)絡(luò)故障排查指南

          2022-12-16

          82d5cc0e2ccf2d0584f72513af753ee9.webp


          6323f5c32b83aa410128494d426254e9.webp

          云原生是一種信仰? ??


          bfe9a1f30f4759025be7d153bd70df20.webp

          ae8de7b8087d06eb88f2cdb464ee9b9b.webp

          點(diǎn)擊 ?"閱讀原文"? 獲取 更好的閱讀體驗(yàn)!


          發(fā)現(xiàn)朋友圈變“安靜”了嗎?

          917fd82987cdc057bdf104c4bc152250.webp
          瀏覽 49
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  大香蕉精品在线视频 | 四虎成人在线影院 | 无码狠狠躁久久久久久久网址 | 黄色免费在线观看网站 | 日皮视频在线播放 |