日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

提升ACK專有集群的etcd存儲容量上限

ACK專有集群最初使用的etcd版本是社區v3.3.8,其支持的最大Backend DB Size是2 GB。當集群中寫入的etcd存儲超過2 GB時,則會出現無法寫入etcd的情況。本文介紹如何通過升級etcd版本到v3.4.3來提升ACK專有集群的etcd存儲容量上限。

前提條件

  • ACK專有集群的etcd版本小于v3.4.3。

  • 對etcd存儲的需求大于2 GB。如果沒有此需求,則可以不用升級。

背景信息

etcd社區v3.4.3版本允許寫入100 GB的etcd存儲,可以解決etcd存儲不足的問題。

操作步驟

  1. 通過SSH依次登錄到etcd所在的Master節點,確認當前etcd版本是v3.3.8。

  2. 執行下面的Shell腳本,腳本將會下載etcd-v3.4.3 binary并且啟動新版本。

    說明
    • 請對節點進行逐個升級,確保升級節點Ready后再升級其他節點的etcd。

    • 因為etcd具有高可用性,所以升級不會導致業務訪問etcd異常。

    #!/usr/bin/env bash
    etcdbin=http://aliacs-k8s-cn-hangzhou.oss.aliyuncs.com/etcd/etcd-v3.4.3/etcd
    etcdctlbin=http://aliacs-k8s-cn-hangzhou.oss.aliyuncs.com/etcd/etcd-v3.4.3/etcdctl
    
    function download(){
        wget -O etcd ${etcdbin}
        wget -O etcdctl ${etcdctlbin}
        chmod +x {etcd,etcdctl}
        mv etcd /usr/bin/etcd
        mv etcdctl /usr/bin/etcdctl
        etcd --version
    }
    
    function config() {
        ETCD_FILE=/lib/systemd/system/etcd.service
        sed -i "/ETCD_EXPERIMENTAL_BACKEND_BBOLT_FREELIST_TYPE/ d" ${ETCD_FILE}
        sed -i "/ETCD_QUOTA_BACKEND_BYTES/ d" ${ETCD_FILE}
        sed -i "/^\[Service\]/a\Environment=\"ETCD_EXPERIMENTAL_BACKEND_BBOLT_FREELIST_TYPE=map\"" ${ETCD_FILE}
        sed -i "/^\[Service\]/a\Environment=\"ETCD_QUOTA_BACKEND_BYTES=100000000000\"" ${ETCD_FILE}
        sed -i "s/initial-cluster-state new/initial-cluster-state existing/g" ${ETCD_FILE}
    
        systemctl daemon-reload
        systemctl restart etcd
    }
    
    download; config
    
    ENDPOINTS=`ps -eaf|grep etcd-servers|grep -v grep|awk -F "=" '{print $22}'|awk -F " " '{print $1}'`
    
    ETCDCTL_API=3 etcdctl \
            --endpoints=${ENDPOINTS}         \
            --cacert=/var/lib/etcd/cert/ca.pem         \
            --cert=/var/lib/etcd/cert/etcd-client.pem         \
            --key=/var/lib/etcd/cert/etcd-client-key.pem \
            member list
  3. 執行以下命令,確認etcd進程啟動成功。

    ps aux|grep etcd

后續步驟

檢查和確認etcd的健康狀況。

ETCDCTL_API=3 etcdctl --endpoints=${ENDPOINTS} \
      --cacert=/var/lib/etcd/cert/ca.pem \
      --cert=/var/lib/etcd/cert/etcd-client.pem \
      --key=/var/lib/etcd/cert/etcd-client-key.pem endpoint health

預期輸出:

ENDPOINTS is healthy