iT邦幫忙

0
鐵人賽 神助攻 Nutanix

在 Karbon 平台服務上部署 Kubernetes 應用程式

https://ithelp.ithome.com.tw/upload/images/20201008/20129565eE9ql2UQuz.jpg

Karbon平台服務(KPS)是以Kubernetes為基礎的多雲端 PaaS,可以在微服務的應用程式中以及任何雲端上快速的開發和部署,從簡易的狀態容器化應用程式到復雜的AI,IoT(物聯網) 和混合應用程式。

本教程將指導您使用 KPS 部署和更新範例中的Kubernetes應用程式。該應用程式將部署到 KPS 服務域並在該服務域執行。本教程假定您已經使用《Karbon Platform Services管理指南》中的步驟部署了Service Domain,並且已配置 Service Domain 與工作站之間的網絡連接(以查看示例 Web 應用程式輸出)。通過 My Nutanix 門戶可以觀看管理指南,並且需要帳戶登錄。

為簡便起見,本教程中的幾個組件應用程式已合併到各個部署清單(Kubernetes YAML或Helm圖表)中。這不是典型的生產部署,在典型的生產部署中,所有應用程式和服務都使用標準 CI / CD(持續集成,持續部屬) 管道中的API調用,作為獨立的應用程式部署。

進入Karbon平台服務

在瀏覽器中打開 https://mynutanix.com 。如果您還沒有 My Nutanix 帳戶,請按照以下步驟創建一個。
滾動到 Cloud Services 部分,然後點擊 "啟動" 以訪問 Karbon Platform Services 雲管理控制台。此時,您應該擁有一個帶有默認用戶(您),項目類別的儀表板。

應用設計

作為本教程的部分部署應用程式,是一個典型的內容管理系統,用戶可以在系統中發布部落格、文章,而其他人可以在其中添加評論。您還可以使用分析術語的功能,以告知作者文章評論中最受歡迎的術語。
以下是用於構建應用程式的組件:

  • Wordpress 作為創建電子商務應用程式的內容管理引擎
  • MySQL數據庫支援Wordpress
  • Debezium,用於將更改事件從數據庫發送到 Kafka
  • Kafka用於流動式訂單處理的相關服務,例如推薦服務
  • 推薦服務接收信息並更新購買最多的產品列表頁面
  • 加載程式將使用人為創建的相關產品和購買歷史的數據來模擬用戶行為

應用架構

https://ithelp.ithome.com.tw/upload/images/20201006/20129565fTfbq1gXkZ.png

應用部署

以下步驟將說明如何在KPS上部署Woodkraft應用程式。

創建一個項目

在KPS中,項目用於分割像是 Kubernetes Apps 和其他服務之類的資源,只有分配的用戶才能查看和修改它們。這使不同的部門或團隊可以利用共享的服務域雲端資源,而不會干擾彼此的應用程式或業務邏輯。
作為本教程的一部分,您將創建一個新項目以部署範例的應用程式。

1.登錄 Karbon Platform Services 雲端管理控制台後,進入“項目”部分。

2.創建一個項目,將其命名為 Woodkraft Application ,將您自己添加為User,然後點擊Next。

https://ithelp.ithome.com.tw/upload/images/20201006/201295658p5SVR53nm.png

3.在“資源分配”對話框上,選擇要執行的應用程式服務域,然後點擊“下一步”。

4.KPS可以本地發送到多個公共雲服務,例如AWS S3或GCP Cloud Datastore。在本教程中,
“雲端配置文件選擇”可以保持空白,因為不會使用任何雲端資源。

5.KPS可以使用儲存在公共或私人註冊表中的圖像來執行 Kubernetes Apps。通過創建KPS容器註冊表配置文件來儲存
所需的訪問資訊,來訪問私有註冊表。

6.由於本教程使用的是公共註冊表中託管的容器,因此“容器註冊表選擇”可以保留為空白。

7.在最後一部分中,啟用Kafka,Prometheus,Traefik和Istio服務,然後點擊"Create"。

應用導向

接下來,您將上傳一個 Helm 圖表,該圖表將部署該應用程式所需的微服務,例如Wordpress,Debezium,Prometheus和 MySQL 。Prometheus 將用於事件監視和應用程式警報。上面介紹了其他應用程式的目的。

1.在新的瀏覽器標籤或窗口中,下載標有 woodkraft-apps 的壓縮tar文件。

2.該文件包含用於部署第一組 Kubernetes Apps 的 Helm 圖表。

3.在“項目”下拉選單中將上下文切換到“ Woodkraft應用程式”,然後點擊“ Kubernetes Apps”。

4.創建一個新的Kubernetes App並將其命名為woodkraft-apps。在“服務域選擇”部分中,確保選擇為項目選擇的服務
域,然後點擊“下一步”。
https://ithelp.ithome.com.tw/upload/images/20201006/20129565jtDz88FPO7.png

5.在“配置”對話框上,上傳先前以 Helm 圖表形式下載的woodkraft-apps tar文件。

6.選擇 “顯示YAML ”以查看範例配置,然後點擊“創建”。

7.該Helm圖表將部署主要的應用程式服務,例如 Wordpress,Debezium,Prometheus 和 MySQL。

驗證Istio,Kafka和Traefik配置

1.瀏覽到用戶介面中的Istio部分,並確認現在存在於woodkraft應用程式中的新應用程式度量標準。

https://ithelp.ithome.com.tw/upload/images/20201006/20129565WN8mwjK6AK.png

2.瀏覽到UI中的Kafka部分,並限制新的wordpress_db主題創建。

https://ithelp.ithome.com.tw/upload/images/20201006/20129565y1ZoMz6A2t.png

3.瀏覽到UI中的Traefik部分,以確認為woodkraft-apps創建了新的入口規則。

https://ithelp.ithome.com.tw/upload/images/20201006/20129565KFiL3bvBWM.png

監控 Helm 圖表

下一張 Helm 圖表將部署監視服務,例如 Grafana ,並將對 Traefik 規則進行編輯。當連接到支援的數據源時, Grafana 可為 Web 提供圖表、圖形和警報。它可以通過插件系統擴展。最終用戶可以使用交互式查詢構建器來創建複雜的監視儀表板。Traefik 入口允許內容的路由器,負載平衡和 SSL / TLS 終止。

1.下載標有 woodkraft-monitoring 的壓縮tar文件。

  • 該文件包含部署Kubernetes以監控上面部署的核心應用的 Helm 圖表。

2.在 Woodkraft Application 項目的上下文中再次點擊 Kubernetes Apps 。

3.創建一個新的 Kubernetes 應用程式,並將其命名為 woodkraft-monitoring。

4.為項目選擇相同服務域,然後點擊"下一步"。

5.在“配置”對話框上,將監視tar文件作為 Helm 圖表上傳,然後點擊創建。

  • 該Helm圖表將在Service Domain上部署一個新的Grafana應用程式。

6.瀏覽到用戶介面中的Traefik部分,並確認已創建Grafana的新入口規則。
https://ithelp.ithome.com.tw/upload/images/20201006/2012956552WNwq3tNA.png

該應用程式現已部署,並應該可以在您的服務域上成功執行。

進入應用程式

創建兩個新的 DNS 記錄,以呈現上面創建的 woodkraft.karbon.nutanix.com 和grafana.woodkraft.karbon.nutanix.com。這是 Traefik 規則中使用的主機名和 IP 地址。為了簡單化,在您的本地工作站上,將主機名添加到/ etc / hosts文件中。

MacOS / Linux

echo "<Service Domain IP> woodkraft.karbon.nutanix.com" | sudo tee -a /etc/hosts
echo "<Service Domain IP> grafana.woodkraft.karbon.nutanix.com" | sudo tee -a /etc/hosts

Windows

echo <Service Domain IP> woodkraft.karbon.nutanix.com >> %WINDIR%\System32\Drivers\Etc\Hosts
echo <Service Domain IP> grafana.woodkraft.karbon.nutanix.com >> %WINDIR%\System32\Drivers\Etc\Hosts

WordPress

造訪 woodkraft.karbon.nutanix.com 並確認該應用程式成功執行。

https://ithelp.ithome.com.tw/upload/images/20201006/20129565yjJxq5gesy.png

Grafana

1.造訪 grafana.woodkraft.karbon.nutanix.com。

2.輸入 admin 作為用戶名和密碼。

3.輸入您選擇的密碼。(這將是以後使用管理員用戶名登錄的密碼)

4.查看連接到 Woodkraft 應用程式的 Grafana 儀表板。

https://ithelp.ithome.com.tw/upload/images/20201006/20129565SwIB5VQv72.png

智能更新 Helm 圖表

最終的 Helm 圖表將更新推送到已經部署的應用程式。此更新將部署附加推薦服務,並為當前在應用程式中執行的推薦服務修改 Istio 虛擬服務配置。來自 Firefox 瀏覽器的連接現在將定向到推薦服務 v2 。在 KPS 中,Istio 提供流量管理,安全連接,策略執行和遙測收集。

1.下載標有 woodkraft-smart-update 的壓縮tar文件。

2.在 Woodkraft Application 項目的上下文中再次點擊 Kubernetes Apps。

3.創建一個新的 Kubernetes 應用程式並將其命名為 woodkraft-updates 。同樣,請確保選擇相同服務域,然後點擊“下一步”。

4.在“配置”對話框上,將智能更新tar文件上傳為 Helm 圖表,然後點擊創建。

  • 該Helm圖表將更新應用程序中運行的推薦服務。

5.瀏覽到UI中的 Istio,“虛擬服務”部分,並確認正在執行兩個推薦服務。

  • 注意標有Firefox的正則表達式

6.在Firefox中打開 woodkraft.karbon.nutanix.com 並查看更新的推薦服務。
https://ithelp.ithome.com.tw/upload/images/20201006/20129565g3TOaSEchK.png

恭喜你!您已成功將 Kubernetes 應用程式部署到服務域,然後使用 Karbon Platform Services 對其進行更新。KPS使管理服務域及其上的服務,應用程式和數據的部署和監視變得簡單。

https://github.com/nutanix/karbon-platform-services/tree/master/projects/woodkraft
請至原文下載相關套件


尚未有邦友留言

立即登入留言