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

如果您在容器服務(wù)ACK控制臺的組件管理頁面CoreDNS組件上無法看到升級按鈕,且當(dāng)前組件版本較低,說明您的集群無法進(jìn)行CoreDNS的自動升級。針對無法自動升級CoreDNS的情況,您可以手動升級CoreDNS。本文介紹CoreDNS手動升級的操作步驟。

前提條件

已通過kubectl工具連接集群。具體操作,請參見獲取集群KubeConfig并通過kubectl工具連接集群

升級前須知

  • 如果您使用了IPVS作為kube-proxy負(fù)載均衡模式,在CoreDNS升級完成后,您可能會遇到五分鐘內(nèi)全集群范圍內(nèi)的解析超時或失敗的情況,通過以下任意方式可以降低IPVS缺陷的影響:

  • 升級過程約2分鐘,實際耗時可能和集群中CoreDNS副本數(shù)相關(guān)。如果遇到新副本無法調(diào)度或啟動的情況,可提交工單咨詢。舊的副本不會被停止,不影響業(yè)務(wù)解析。

查看當(dāng)前CoreDNS版本

使用控制臺

  1. 登錄容器服務(wù)管理控制臺

  2. 在控制臺左側(cè)導(dǎo)航欄中,單擊集群

  3. 集群列表頁面中,單擊目標(biāo)集群名稱或者目標(biāo)集群右側(cè)操作列下的詳情

  4. 在集群管理頁面左側(cè)導(dǎo)航欄選擇工作負(fù)載 > 無狀態(tài)

  5. 無狀態(tài)頁面頂部設(shè)置命名空間為kube-system,然后查看CoreDNS的版本。dns

使用kubectl

您可執(zhí)行以下命令查看當(dāng)前CoreDNS版本:

kubectl get deployment coredns -n kube-system -o jsonpath="{.spec.template.spec.containers[0].image}"

預(yù)期輸出:

registry-vpc.cn-hangzhou.aliyuncs.com/acs/coredns:1.6.2 # 1.6.2為示例中的版本

確認(rèn)升級目標(biāo)版本

在升級前,請您確認(rèn)目標(biāo)CoreDNS版本。CoreDNS與集群版本的兼容性如下,建議您使用兼容集群的最新CoreDNS版本。

Kubernetes版本

CoreDNS版本

[1.11, 1.16]

v1.6.2

1.14.8之后版本至1.22之前版本

v1.6.7、v1.7.0

1.20.4之后版本

v1.8.4、v1.9.3

重要

v1.8.4及v1.9.3有多個子版本,例如v1.8.4.3-644f4735-aliyunv1.9.3.1-5e7ba42d-aliyun等。詳細(xì)信息請參見CoreDNS

手動升級

使用控制臺

  1. (可選)使用forward字段替換proxy字段。

    CoreDNS v1.6.2版本中廢棄了Proxy插件。從v1.6.2之前的版本升級到v1.6.2及之后的版本時,您需要參照下方步驟,手動更改CoreDNS配置。

    更改CoreDNS配置

    1. 登錄容器服務(wù)管理控制臺

    2. 在控制臺左側(cè)導(dǎo)航欄中,單擊集群

    3. 集群列表頁面中,單擊目標(biāo)集群名稱或者目標(biāo)集群右側(cè)操作列下的詳情

    4. 在集群管理頁面左側(cè)導(dǎo)航欄選擇配置管理 > 配置項

    5. 配置項頁面頂部設(shè)置命名空間為kube-system,然后單擊coredns右側(cè)操作列下的YAML編輯

    6. 查看YAML面板,將proxy修改為forward,然后單擊確定forward

  2. 更新CoreDNS鏡像版本。

    1. 登錄容器服務(wù)管理控制臺

    2. 在控制臺左側(cè)導(dǎo)航欄中,單擊集群

    3. 集群列表頁面中,單擊目標(biāo)集群名稱或者目標(biāo)集群右側(cè)操作列下的詳情

    4. 在集群管理頁面左側(cè)導(dǎo)航欄選擇工作負(fù)載 > 無狀態(tài)

    5. 無狀態(tài)頁面頂部設(shè)置命名空間為kube-system,找到coredns,然后在其右側(cè)選擇更多 > 查看Yaml

    6. 編輯YAML頁面,更新image字段中的版本。然后單擊更新image

  3. 確認(rèn)升級成功

    1. 執(zhí)行以下命令,查看當(dāng)前CoreDNS版本。

      kubectl get deployment coredns -n kube-system -o jsonpath="{.spec.template.spec.containers[0].image}"

      預(yù)期輸出:

      registry-cn-shanghai-vpc.ack.aliyuncs.com/acs/coredns:v1.9.3.10-5e7ba42d-aliyun
    2. 執(zhí)行以下命令查看集群內(nèi)所有CoreDNS Pod是否都處于Running狀態(tài)。

      kubectl get pods -n kube-system | grep coredns

      預(yù)期輸出:

      coredns-78d4b8****-6g62w                           1/1     Running   0          9d
      coredns-78d4b8****-n6wjm                           1/1     Running   0          9d

使用kubectl

  1. (可選)使用forward字段替換proxy字段。

    CoreDNS v1.6.2版本中廢棄了Proxy插件。從v1.6.2之前的版本升級到v1.6.2及之后的版本時,您需要參照下方步驟,手動更改CoreDNS配置。

    更改CoreDNS配置

    1. 執(zhí)行以下命令編輯CoreDNS配置文件,將proxy修改為forward,然后保存退出。

      kubectl edit configmap/coredns -n kube-system
    2. 執(zhí)行以下命令,查看CoreDNS Pod的日志,確認(rèn)CoreDNS是否正常重新加載配置。

      kubectl logs coredns-78d4b8bd88-n6wjm -n kube-system

      預(yù)期輸出如下。其中包含plugin/reload,則表明CoreDNS配置重新加載成功。

      .:53
      [INFO] plugin/reload: Running configuration MD5 = 71c5f1ff539d304c630521f315dc2ac2
      CoreDNS-1.6.7
      linux/amd64, go1.13.6, da7f65b
      [INFO] 127.0.0.1:48329 - 42313 "HINFO IN 1108347002237365533.4506541768939609094. udp 57 false 512" NXDOMAIN qr,rd,ra 132 0.008874794s
  2. 執(zhí)行以下命令,編輯CoreDNS配置,更新image字段中的版本,然后保存退出。

    kubectl edit deployment/coredns -n kube-system
  3. 確認(rèn)升級成功

    1. 執(zhí)行以下命令,查看當(dāng)前CoreDNS版本。

      kubectl get deployment coredns -n kube-system -o jsonpath="{.spec.template.spec.containers[0].image}"

      預(yù)期輸出:

      registry-cn-shanghai-vpc.ack.aliyuncs.com/acs/coredns:v1.9.3.10-5e7ba42d-aliyun
    2. 執(zhí)行以下命令查看集群內(nèi)所有CoreDNS Pod是否都處于Running狀態(tài)。

      kubectl get pods -n kube-system | grep coredns

      預(yù)期輸出:

      coredns-78d4b8****-6g62w                           1/1     Running   0          9d
      coredns-78d4b8****-n6wjm                           1/1     Running   0          9d

配置IPVS類型集群的UDP超時時間

如果您的ACK集群使用了kube-proxy IPVS模式,IPVS的會話保持策略會導(dǎo)致整個集群在升級完成后五分鐘內(nèi)出現(xiàn)概率性解析失敗的問題。您可以按以下方式降低IPVS UDP類型的會話保持超時時間至10秒,以減少解析失敗的次數(shù)。如果您ACK集群中包含UDP類型的業(yè)務(wù),需要您提前評估該操作是否有影響再執(zhí)行該操作。如果您無法評估,您可以提交工單咨詢。

說明

如果您的集群不是IPVS類型,請忽略配置IPVS類型集群的UDP超時時間的操作。關(guān)于如何查看kube-proxy代理模式,請參見查看集群信息

K8s 1.18及以上版本集群

控制臺操作方式

  1. 登錄容器服務(wù)管理控制臺

  2. 在控制臺左側(cè)導(dǎo)航欄,單擊集群

  3. 集群列表頁面,單擊目標(biāo)集群名稱或者目標(biāo)集群右側(cè)操作列下的詳情

  4. 在集群管理頁左側(cè)導(dǎo)航欄,選擇配置管理 > 配置項

  5. 在頂部選擇kube-system命名空間,然后單擊配置項kube-proxy-worker右側(cè)的YAML編輯

  6. 查看YAML面板中的ipvs字段下,添加udpTimeout: 10s,然后單擊確定

    apiVersion: v1
    data:
      config.conf: |
        apiVersion: kubeproxy.config.k8s.io/v1alpha1
        kind: KubeProxyConfiguration
        # 其它不相關(guān)字段已省略。
        mode: ipvs
        # 如果ipvs鍵不存在,需要添加此鍵。
        ipvs:
          udpTimeout: 10s
  7. 重建所有名為kube-proxy-worker的容器。

    1. 在集群管理頁左側(cè)導(dǎo)航欄中,選擇工作負(fù)載 > 守護(hù)進(jìn)程集

    2. 在守護(hù)進(jìn)程集列表中,找到并單擊kube-proxy-worker

    3. kube-proxy-worker頁面中的容器組頁簽下對應(yīng)容器組右側(cè),選擇更多 > 刪除,然后單擊確定

      重復(fù)操作刪除所有容器組。刪除容器組后,系統(tǒng)會自動重建所有容器。

  8. 驗證UDP超時時間的配置是否成功。

    1. 執(zhí)行以下命令安裝ipvsadm

      ipvsadm是IPVS模塊的管理工具。更多信息,請參見ipvsadm

      sudo yum install -y ipvsadm
    2. 在集群任意一臺ECS節(jié)點中執(zhí)行以下命令查看第三個數(shù)字。

      sudo ipvsadm -L --timeout

      如果輸出結(jié)果中第三個數(shù)字是10,則說明IPVS類型集群的UDP超時時間變更成功。

      說明

      變更成功后,請觀察至少五分鐘后再進(jìn)行下一步操作。

命令行操作方式

  1. 執(zhí)行以下命令修改kube-proxy的配置文件kube-proxy-worker

    kubectl -n kube-system edit configmap kube-proxy-worker
  2. 在kube-proxy配置文件中的ipvs字段下,添加udpTimeout: 10s并保存退出。

    apiVersion: v1
    data:
      config.conf: |
        apiVersion: kubeproxy.config.k8s.io/v1alpha1
        kind: KubeProxyConfiguration
        # 其它不相關(guān)字段已省略。
        mode: ipvs
        # 如果ipvs鍵不存在,需要添加此鍵。
        ipvs:
          udpTimeout: 10s
  3. 執(zhí)行以下命令重建所有名為kube-proxy-worker的容器。

    1. 執(zhí)行以下命令查看存在的容器組信息。

      kubectl -n kube-system get pod -o wide | grep kube-proxy-worker
    2. 執(zhí)行以下命令刪除上步驟中查看所有容器,系統(tǒng)將會自動重建名為kube-proxy-worker容器。

      kubectl -n kube-system delete pod <kube-proxy-worker-****>
      說明

      將<kube-proxy-worker-****>替換為上述打印的所有容器組名稱。

  4. 驗證UDP超時時間的配置是否成功。

    1. 執(zhí)行以下命令安裝ipvsadm

      ipvsadm是IPVS模塊的管理工具。更多信息,請參見ipvsadm

      sudo yum install -y ipvsadm
    2. 在集群任意一臺ECS節(jié)點中執(zhí)行以下命令查看第三個數(shù)字。

      sudo ipvsadm -L --timeout

      如果輸出結(jié)果中第三個數(shù)字是10,則說明IPVS類型集群的UDP超時時間變更成功。

      說明

      變更成功后,請觀察至少五分鐘后再進(jìn)行下一步操作。

K8s 1.16及以下版本集群

此類版本集群的kube-proxy不支持udpTimeout參數(shù),推薦使用OOS服務(wù)批量在所有集群機(jī)器上執(zhí)行ipvsadm命令以調(diào)整UDP超時時間配置。命令如下:

sudo yum install -y ipvsadm
sudo ipvsadm -L --timeout > /tmp/ipvsadm_timeout_old
sudo ipvsadm --set 900 120 10
sudo ipvsadm -L --timeout > /tmp/ipvsadm_timeout_new
diff /tmp/ipvsadm_timeout_old /tmp/ipvsadm_timeout_new

關(guān)于OOS的批量操作實例介紹,請參見批量操作實例

后續(xù)步驟

升級完成后,您可以對CoreDNS進(jìn)行優(yōu)化,合理配置CoreDNS。具體操作,請參見合理配置CoreDNS