Kubernetes 筆記 11 Pod 擴容與縮容 雙十一先後的忙碌

本文首發於個人公衆號 Linux雲計算網絡(id: cloud_dev),專一於乾貨分享,號內有 10T 書籍和視頻資源,後臺回覆「1024」便可領取,歡迎你們關注,二維碼文末能夠掃。nginx

Hi,你們好,歡迎你們和我一塊兒學 K8S,這是系列第 11 篇。web

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

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

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

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

手動的方式是使用 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。code

若是如今遇到高峯請求,咱們急需進行擴容,執行視頻

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++編程技術等內容,歡迎你們關注。

相關文章
相關標籤/搜索