Kubernetes 筆記 11 Pod 擴容與縮容 雙十一前后的忙碌


本文首發於我的公眾號 Linux雲計算網絡(id: cloud_dev),專注於干貨分享,號內有 10T 書籍和視頻資源,后台回復「1024」即可領取,歡迎大家關注,二維碼文末可以掃。

Hi,大家好,歡迎大家和我一起學 K8S,這是系列第 11 篇。

資源的伸縮在雲計算環境中是至關重要的,雲計算的動機就是企圖提高資源的利用率,在用戶請求高峰期的時候能夠對資源進行橫向擴容,反之,當用戶請求回落低谷的時候,能夠及時縮減資源,避免資源的浪費。

這就像雙十一的時候,隨着用戶不斷地涌入,阿里后台需要不斷調配更多的資源來支撐用戶大量的請求,當過了雙十一當天,再慢慢縮減資源的使用。

Kubernetes 作為一個集群管理系統,提供了兩種資源伸縮的方式:手動和自動。本文先來看手動方式。

Kubernetes 的資源伸縮本質上指的是 Pod 的擴容和縮容(scale up/down),也就是增加或減少 Pod 的副本數。

手動的方式是使用 kubectl scale 命令手動進行,或者基於 YAML 配置來實現。

首先,定義一個 nginx-deployment.yaml 配置文件:

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 3
  template:
    metadata:
      labels:
        app: web_server
    spec:
      containers:
      - name: nginx
        image: nginx:1.12.1

其中定義了 3 個副本,執行 kubectl create -f nginx-deployment.yaml 創建 Pod。

如果現在遇到高峰請求,我們急需進行擴容,執行

kubectl scale deployment nginx-deployment --replicas 5

將 Pod 擴增到 5 個。

其中,用 --replicas 來指示增縮的數量,對於縮容,將 --replicas 設置為比當前 Pod 副本數量更小的數字即可,比如縮容到 2 個如下:

可以看到,Pod 銷毀會經歷一個 Terminating 的過程,最終 3 個副本被刪除,只保留了 2 個副本。

以上是通過命令的形式來實現手動的擴容和縮容,我們也可以修改 YAML 配置文件中的 replicas 來實現,只要修改完之后執行 kubectl apply 即可。

OK,本文到此為止,下文我們再來 Pod 伸縮的另一種方式——自動擴容和縮容。


我的公眾號 「Linux雲計算網絡」(id: cloud_dev) ,號內有 10T 書籍和視頻資源,后台回復 「1024」 即可領取,分享的內容包括但不限於 Linux、網絡、雲計算虛擬化、容器Docker、OpenStack、Kubernetes、工具、SDN、OVS、DPDK、Go、Python、C/C++編程技術等內容,歡迎大家關注。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM