天天看點

高階測試開發必備技能: k8s入門

現在稍微有點規模公司都是基于docker容器化部署技巧,K8s現在主流,應用最廣的容器叢集管理技術。

k8s全稱kubernetes(首字母為 k、首字母與尾字母之間有 8 個字元、尾字母為 s,是以簡稱 k8s),基于Docker容器叢集環境管理問題,是谷歌保密十幾年的秘密武器----Borg系統的一個開源版本,于2014年9月釋出第一個版本,2015年7月釋出第一個正式版本。

k8s定位是實作叢集環境下資源管理的容器自動化管理,主要提供了如下的主要功能:

  • 自我修複:一旦某一個容器崩潰,能夠在1秒中左右迅速啟動新的容器
  • 彈性伸縮:可以根據需要,自動對叢集中正在運作的容器數量進行調整
  • 服務發現:服務可以通過自動發現的形式找到它所依賴的服務
  • 負載均衡:如果一個服務起動了多個容器,能夠自動實作請求的負載均衡
  • 版本回退:如果發現新釋出的程式版本有問題,可以立即回退到原來的版本
  • 存儲編排:可以根據容器自身的需求自動建立存儲卷

一般我們對目标環境壓測時候,名額滿不足不了需求,最常見的處理方式就是擴容機器,不過業務通路有高峰期,日常期,高峰期需要10個業務叢集,日常期需要6個業務叢集即可,還有流量激增問題,如何根據線上機器壓力動态擴容業務叢集規模,或者縮容,是一個非常實用的技巧,這裡推薦k8s的hpa控制器。

hap 全稱HorizontalPodAutoscaler

高階測試開發必備技能: k8s入門

上面是k8s HPA 功能實作圖, Deployment, pod 是k8s入門基礎知識,不在本文介紹範圍,可自己查找資料學習,或者參加vip課程會帶着大家詳細學習。

HAP實作首先要檢查 metrics-server是否安裝

可以使用 kubectl get po -n kube-system 檢視安裝情況

高階測試開發必備技能: k8s入門

如果有metrics-servcie相關pod說明安裝成功

高階測試開發必備技能: k8s入門

metrics-server支援節點資源使用率監控

高階測試開發必備技能: k8s入門

接下來最核心的編排工作,由于檔案太長,保留了核心配置說明,對cpu,memory做了上限制設定,這裡為了快速實作,設定規則是如果發現pod節點cpu超過10%,自動擴容,最大擴容10個

高階測試開發必備技能: k8s入門

部署完成 可以看到HorizontalPodAutoscaler控制器,目前資源使用率0%,目标超過10%,就開始自動擴容

高階測試開發必備技能: k8s入門

使用jmeter壓測,這時候發現節點使用率 超過10%,顯示976%,一個節點最大利用100%,應該是擴容了10個節點

高階測試開發必備技能: k8s入門

使用kubectl get po -n dev,看到目前擴容情況,目标完成

高階測試開發必備技能: k8s入門

接下來測—下縮容情況:

關閉jmeter壓測,壓力變小,等待一會時間,會自動縮容,如下圖,nginx叢集又恢複到1個節點

高階測試開發必備技能: k8s入門

最後: 可以在公衆号:傷心的辣條 ! 自行領取一份216頁軟體測試工程師面試寶典文檔資料【免費的】。以及相對應的視訊學習教程免費分享!,其中包括了有基礎知識、Linux必備、Shell、網際網路程式原理、Mysql資料庫、抓包工具專題、接口測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、接口自動化測試、測試進階持續內建、測試架構開發測試架構、性能測試、安全測試等。

學習不要孤軍奮戰,最好是能抱團取暖,互相成就一起成長,群衆效應的效果是非常強大的,大家一起學習,一起打卡,會更有學習動力,也更能堅持下去。你可以加入我們的測試技術交流扣扣群:914172719(裡面有各種軟體測試資源和技術讨論)

喜歡軟體測試的小夥伴們,如果我的部落格對你有幫助、如果你喜歡我的部落格内容,請 “點贊” “評論” “收藏” 一鍵三連哦!