国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

使用K8s遇難題?Istio來幫您!

云計算
如果你正在使用容器,特別是Kubernetes,那么你應該也聽說過Istio。對于初學者來說,Istio是Kubernetes的服務網格(service mesh)。所謂服務網格,它是一個網絡層,并且可以動態管理服務流量,然后以安全的方式進行管理。

如果你正在使用容器,特別是Kubernetes,那么你應該也聽說過Istio。對于初學者來說,Istio是Kubernetes的服務網格(service mesh)。所謂服務網格,它是一個網絡層,并且可以動態管理服務流量,然后以安全的方式進行管理。

使用K8s遇難題?Istio來幫您!

如何充分使用Istio,這不是一篇博客文章能闡述清楚的。因此,在本文中我將介紹一些它的特性,更重要的是,你可以通過這篇文章,了解到一些方法來自動化解決某些實際問題。

Istio可以讓你使用一組自定義Kubernetes資源來管理網絡流量,并且可以幫助你保護和加密服務之間以及集群內外的網絡流量。它全面集成了Kubernetes API,這意味著可以使用與其他Kubernetes配置完全相同的方式來定義和管理Istio設置。

權衡利弊,再做選擇

如果要開始使用Istio,首先應該問自己為什么。Istio提供了一些非常有價值的功能,如金絲雀發布等,但是如果不增加一些復雜性,就無法使用它們。你還需要投入一定的時間來學習它。也就是說,如果你的情況合適使用它,你可以(并且應該)在自己的集群中謹慎且逐步地采用Istio的功能。

如果你要從頭開始構建新環境,并且經過利弊權衡決定繼續使用Istio,那么一定要從一開始就使用嚴格的相互TLS對其進行設置,并積極使用其強大的功能。具體操作請參考

為了使一切都有價值并且具有一定的性價比,我們需要在實際應用程序的上下文中考慮Istio,但是如果沒有快速免責聲明的話,最好不要這樣做。如果你只需要管理少量服務(且位于單個集群內),那么引入Istio的性價比相對而言沒有那么高。

本文中的代碼示例不一定能夠完全幫助你解決你的問題,但是如果你需要所有的代碼以及如何使用它的詳細說明都可以在GitLab上找到

接下來是你在Cloud Native旅程中可能遇到的兩個常見問題,以及如何使用Istio來解決這些問題。

問題1:我不相信我的測試

如果測試范圍并沒有完全涵蓋你所更改的應用程序,那么你可能會很快采取行動進行新一輪測試,但也有可能應用程序無法正常運行了。

在理想狀況下,我們都想要確保每個代碼經過全面的測試,否則就不會將功能添加到應用程序中。但是現實總歸是骨感的,我們常常被ddl追趕,可能還未編寫或者更新測試,功能就得上傳到項目中了。

解決方案:放慢速度

那么,如何確保我絕大多數用戶不受代碼中潛伏的任何錯誤的影響,又如何進行更改和部署新功能呢?答案是通過先將新版本部署到最少數量的用戶來最大程度地減少這些小問題的輻射范圍。

如果更改能夠按照預期工作的話,你可以緩慢增加使用新版本的用戶百分比。如果各項指標出現問題,你可以輕松回滾你的更改,然后重試。

在沒有Istio的情況下可以在Kubernetes上運行金絲雀部署嗎?當然沒問題,但是如果要自動化這一過程,你需要完全將自己的精力放在web服務器代碼和自定義自動化腳本方面。這樣的操作方式性價比并不高。

Istio有一些十分優雅的流量分配解決方案,我們可以使用它們在恰當的時間為合適的版本提供適當的客戶端服務,并且我們只需調整其中的1個或2個參數。

為了實現這一點,你需要設置一個網關入口(Ingress gateway)、一個虛擬服務(virtual service)和一個destination rule。這將位于一般的部署和服務之上,并為你分配流量。

 

  1. apiVersion: networking.istio.io/v1alpha3 
  2. kind: Gateway 
  3. metadata: 
  4. name: http-gateway 
  5. spec: 
  6. selector: 
  7. istio: ingressgateway 
  8. servers: 
  9. - port: 
  10.   number: 80 
  11.   name: http 
  12.   protocol: HTTP 
  13. hos 
  14. ts: 
  15.     - "*" 
  16. apiVersion: networking.istio.io/v1alpha3 
  17. kind: VirtualService 
  18. metadata: 
  19. name: my-app 
  20. spec: 
  21. hosts: 
  22. "*" 
  23. gateways: 
  24. - http-gateway 
  25. http: 
  26. - match: 
  27. - uri: 
  28.     prefix: "/my-app" 
  29. rewrite: 
  30.   uri: "/" 
  31. route: 
  32.   - destination: 
  33.       host: my-app 
  34.       subset: v1 
  35.       port: 
  36.         number: 80 
  37.     weight: 90 
  38.   - destination: 
  39.       host: my-app 
  40.       subset: v2 
  41.       port: 
  42.         number: 80 
  43.         weight: 10 
  44. apiVersion: networking.istio.io/v1alpha3 
  45. kind: DestinationRule 
  46. metadata: 
  47. name: my-app 
  48. spec: 
  49. host: my-app 
  50. subsets: 
  51. name: v1 
  52. labels: 
  53.   version: v1.0.0 
  54. name: v2 
  55. labels: 
  56.   version: v2.0.0  

從虛擬服務的權重字段中可以看到,Istio將根據指定的值在應用程序的兩個版本之間分配流量。這些值的總和必須為100%,否則,API將拒絕應用該定義。

然后,你(或者理想情況下,在“持續集成/連續交付”流水線中手動執行一個或多個步驟)將調整權重,以將新版本推廣給更多用戶,直到所有請求由新版本滿足為止,并且以前的版本可以停止維護。

通過使用Istio的故障注入功能來模擬網絡中斷和實際流量性能下降,還可以將Istio集成到您的集成測試策略中。

如果在生產中進行測試的想法給你留下了心理陰影,那一定是你的做法有所欠缺。例如,嘗試在你的虛擬服務規范中添加以下代碼片段以添加一些混亂,然后再找一篇文章來看看怎么用Istio解決這樣的混亂。

 

  1. spec: 
  2. hosts: 
  3. - my-app 
  4. http: 
  5. - fault: 
  6.   delay: 
  7.     fixedDelay: 7s 
  8.     percent: 100 
  9. route: 
  10. - destination: 
  11.     host: ratings 
  12.     subset: v2 

問題2:市場策略無法確定發布版本

通常,業務需要針對實際用戶測試應用程序的多個版本。但是有時實在無法搞清楚是哪種營銷策略可以帶來最佳轉化率,或者哪種設計選擇可以帶來最佳的客戶留存率。

使用Kubernetes,你可以將流量分為兩個版本,但是要想從練習中獲得任何有價值的見解,則再次需要一大堆自定義代碼來獲取相關信息,并以非技術同事可以理解的方式對其進行處理。

解決方案:使用Istio進行A/B測試

Istio的流量分配規則可以再次解決這一問題,它與Prometheus和Grafana的緊密集成可以幫助你獲取直觀的A/B測試的結果。一般而言,根據傳入數據包內容的某些部分,幾乎有無數種方法來決定哪些用戶可以獲取你的應用程序的版本。

在這一示例中,我們將使用User-Agent字段為不同的瀏覽器提供不同的版本。

 

  1. apiVersion: networking.istio.io/v1alpha3 
  2. kind: VirtualService 
  3. metadata: 
  4. name: my-app 
  5. spec: 
  6. hosts: 
  7. "*" 
  8. gateways: 
  9. - http-gateway 
  10. http: 
  11. - match: 
  12. - headers: 
  13.     user-agent: 
  14.       regex: ".*Chrome.*" 
  15.   uri: 
  16.     prefix: "/my-app" 
  17. rewrite: 
  18.   uri: "/" 
  19. route: 
  20.   - destination: 
  21.       host: my-app 
  22.       subset: v1 
  23.       port: 
  24.         number: 80 
  25. - match: 
  26. - headers: 
  27.     user-agent: 
  28.       regex: ".*Mozilla.*" 
  29.   uri: 
  30.     prefix: "/my-app" 
  31. rewrite: 
  32.   uri: "/" 
  33. route: 
  34.   - destination: 
  35.       host: my-app 
  36.       subset: v2 
  37.       port: 
  38.         number: 80 

從上面的代碼中可以看到,使用Firefox的用戶將獲得應用程序的版本1,而Chrome用戶將獲得版本2。如果瀏覽器的“User-Agent”字段不包含“mozilla”或“chrome”,則他們都將不會獲得任一版本。

要為其他客戶提供服務,您需要添加一條默認路由,我將作為練習留給你。(嘿嘿)

如果你不想安裝其他瀏覽器,只是想嘗試一下,則可以使用帶有頭部標志的curl偽裝成所需的任何瀏覽器,例如:

  1. curl /my-app -H "User-Agent: Chrome" 

通過更改user-agent的值,你可以從命令行測試所有不同的路由。

總 結

以上兩種情況大概能讓你體驗到Istio強大功能的冰山一角。正如上文所說,如果沒有Istio,你依然可以進行金絲雀部署和A/B測試,只是你必須自己實現流量分配。但這大大增加了開發部署的復雜性,實屬性價比低之選。

我希望這篇文章可以讓你對Istio的實際應用有很好的理解,并且十分期待你自己嘗試一下。如果你想了解更多關于Istio的信息,可以訪問它們的官網,上面有許多有用的資料

值得一提的是,Rancher 2.3 Preview2版本上開始支持Istio,用戶可以直接在UI界面中啟動Istio并且可以為每個命名空間注入自動sidecar。此外,Rancher簡化Istio的安裝和配置,內置了一個支持Kiali的儀表盤,用于流量和遙測的可視化,然后用Jaeger進行追蹤,甚至還有自己的Prometheus和Grafana(與用于高級監控的實例不同)。這一切讓部署和管理Istio變得簡單而快速。

有關發行說明和安裝步驟,請訪問GitHub

責任編輯:未麗燕 來源: Dockone.in
相關推薦

2023-11-15 13:44:00

k8s-域名日志

2022-04-22 13:32:01

K8s容器引擎架構

2022-10-12 08:03:21

k8sistioCA

2022-07-17 11:45:39

微服務架構

2023-11-06 07:16:22

WasmK8s模塊

2022-06-14 07:56:15

Kubernetes存儲架構K8S

2023-09-06 08:12:04

k8s云原生

2023-11-01 08:08:22

k8s服務網格

2021-07-14 14:20:22

root命令Linux

2010-04-12 09:40:22

江民之子

2022-01-13 09:54:58

微服務 Istio 通信

2021-08-05 07:28:26

K8sNFS ProvisiSubdir

2020-05-12 10:20:39

K8s kubernetes中間件

2022-09-05 08:26:29

Kubernetes標簽

2020-08-10 08:07:59

IstioK8s微服務

2023-08-03 08:36:30

Service服務架構

2023-08-04 08:19:02

2023-05-25 21:38:30

2023-09-15 08:00:20

Ingress網關Istio

2022-09-15 08:04:54

k8skubernetes
點贊
收藏

51CTO技術棧公眾號

久久bbxx| 午夜老司机在线观看| 亚洲自拍另类| 欧美韩国日本精品一区二区三区| 北条麻妃一区二区三区| 亚洲免费三区一区二区| 欧美日本啪啪无遮挡网站| 在线免费看黄| 亚洲综合色区另类av| 日本老师69xxx| 污污免费网站| 中文av一区特黄| 18禁免费无码无遮挡不卡网站| 成人全视频在线观看在线播放高清 | 777午夜精品电影免费看| 亚洲а∨天堂久久精品9966| 亚洲欧美影院| 久色成人在线| 日韩中文字幕在线看| 久久久久久久少妇| 欧美艳星介绍134位艳星| 91国产中文字幕| 免费在线黄色电影| 欧美日韩中文另类| 日韩在线观看a| 福利一区福利二区| 日韩美女视频免费在线观看| 日韩av不卡一区| 亚洲影视资源网| 日本一区二区三区电影| 亚洲综合网站在线观看| 亚洲校园欧美国产另类| 欧美性三三影院| 成人aaaa| 国产美女撒尿一区二区| 久久人人97超碰精品888| 香蕉久久久久久| 欧美激情网友自拍| 欧美成a人免费观看久久| 国产97在线视频| 亚洲影视一区| 极品校花啪啪激情久久| 日韩精品欧美精品| 免费看日本黄色| 91美女在线视频| 三上悠亚在线观看二区| 色哟哟在线观看一区二区三区| 日本三级视频在线播放| 精品视频久久久| 一区二区三区在线免费看 | 先锋影音成人资源| 午夜精品久久久久久久久| 国产精品你懂得| 污污影院在线观看| 专区另类欧美日韩| 永久在线免费观看| 日韩www在线| 粉嫩精品导航导航| 国产欧美韩日| 91伊人久久大香线蕉| 最新版sss视频在线| 成人av影院在线| 国产视频资源| 欧美tickling网站挠脚心| 亚洲日本一区二区三区在线| 99视频免费观看| 成人蜜臀av电影| 在线免费观看av网站| 精品国产乱码久久久久久夜甘婷婷| 久久亚洲精品人成综合网| 欧美午夜寂寞影院| jizz久久久久久| 国产精品高潮呻吟久久av无限| 美女日韩在线中文字幕| 激情视频免费网站| 国产精品1024| 亚洲国产精品成人av| 久久精品久久久久电影| 国产一区日韩| 亚洲人成小说网站色在线| 四虎影视精品成人| 26uuu亚洲| 欧美孕妇性xxxⅹ精品hd| 精品一区电影国产| 亚洲专区视频| eeuss中文| 狠狠操狠狠色综合网| 欧美不卡高清一区二区三区| 草草在线视频| 精品国产一区二区三区久久| 五月开心六月丁香综合色啪| 俺去亚洲欧洲欧美日韩| 韩日视频一区| 大肉大捧一进一出好爽视频| 欧美在线观看视频一区二区三区 | 色综合久久久888| 秋霞av在线| 久久天天躁狠狠躁老女人| 天堂√中文最新版在线| 亚洲一区二区在线| 国产日韩欧美在线一区| 久草青青在线观看| 日韩片之四级片| 99精品电影| 亚州av影院| 色久欧美在线视频观看| 日本视频免费一区| 懂色一区二区三区| 国产成人免费av电影| 久久久精品影视| 四虎精品在线观看| 亚洲中文字幕无码一区二区三区 | 亚洲第一网站| 中文字幕毛片| 欧美另类老女人| 国产精品99久久久久久宅男| www在线观看播放免费视频日本| 欧美日韩高清一区二区不卡| 91大神在线网站| 国产精品久久国产精品99gif| 91丝袜美腿高跟国产极品老师| 都市激情国产精品| 欧美日韩大片一区二区三区| 91成人在线观看喷潮| 四虎国产精品免费观看| 成人在线国产精品| 亚洲精品欧美综合四区| 中文字幕在线播放第一页| 高清欧美一区二区三区| 99re热这里只有精品免费视频| 亚洲淫成人影院| 无码人妻aⅴ一区二区三区日本| 欧美一区二区三区四区五区| 亚洲自啪免费| 在线观看小视频| 精品日产一区2区三区黄免费| 色婷婷综合久色| 在线成人黄色| av在线免费网址| 一区在线电影| 中文字幕一区电影| 伊甸园亚洲一区| 免费h片在线观看| 国产精品日本精品| 福利视频一区二区| 黄色亚洲免费| 日本片在线看| 宅男av一区二区三区| 亚洲精品美女在线观看播放| 国产成人综合在线| 日韩午夜电影免费看| 日韩肉感妇bbwbbwbbw| 国产成人在线精品| 精品视频一区二区三区免费| 日本亚洲三级在线| 欧美天堂一区二区| 中文字幕 91| 国产精品久久久久久久久久尿| 午夜精品一区二区三区免费视频 | 男女在线视频| 欧美激情a在线| 亚洲天堂av老司机| 97精品国产一区二区三区| 国产三区四区在线观看| 日韩av不卡播放| 精品国产欧美一区二区三区成人| 国产精品久久久久久久蜜臀 | 国产激情久久久久| 欧美色图免费看| 久久99精品久久久久久| 日韩在线视频一区二区三区| 国产青青视频| 九九九九九九精品| 国产一区二区三区日韩欧美| 四虎成人精品永久免费av九九| 超碰免费97在线观看| 精品一区二区成人免费视频| 久久av资源网站| 色悠悠久久综合| 成人午夜私人影院| 日韩精品2区| 国产一二三四在线视频| 欧美精品欧美精品系列| 国产精品资源网| 青青草97国产精品麻豆| 都市激情久久综合| 九色福利视频| 天天操天天干天天玩| 欧美专区福利在线| 丁香婷婷综合网| 国产影视一区| 三级在线观看视频| 国产在线精品一区二区中文| 一本久久综合亚洲鲁鲁| 亚洲成av人片在线观看无码| 国产ts人妖一区二区| 欧美搞黄网站| 小草av在线播放| 国产美女在线一区| 高清国产一区|