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

更新專有版集群即將過期的證書

本文介紹如何更新專有版集群即將過期的證書。您可以通過控制臺操作,也可以通過命令行自動化一鍵式更新所有節點證書,還可以手動更新Master和Worker節點證書。

前提條件

控制臺更新所有節點證書

  1. 登錄容器服務管理控制臺

  2. 在控制臺左側導航欄,單擊集群

  3. 單擊證書即將過期集群右側的更新證書,進入更新證書頁面。

    說明

    如果集群證書即將在兩個月左右過期,會出現更新證書

    更新證書
  4. 更新證書頁面單擊更新證書

  5. 提示頁面單擊確定

    成功更新集群證書后,您可以看到以下內容:

    • 更新證書頁面,顯示更新成功

    • 集群列表頁面,目標集群沒有更新證書提示。

命令行自動更新所有節點證書

在集群任意Master節點,執行以下命令完成集群所有節點的證書更新。

curl http://aliacs-k8s-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/public/cert-update/renew.sh | bash

結果驗證:

  1. 執行以下命令,查看集群Master和Worker節點狀態。

    kubectl get nodes
    nodes
  2. 執行以下命令,當Master節點對應的COMPLETIONS均為1,Worker節點對應的COMPLETIONS為集群Worker節點數時,所有證書完成更新。

    kubectl -n kube-system get job
    nodes

手動更新Master節點證書

  1. 任意路徑下,復制以下內容,創建job-master.yml文件。

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: ${jobname}
      namespace: kube-system
    spec:
      backoffLimit: 0
      completions: 1
      parallelism: 1
      template:
        spec:
          activeDeadlineSeconds: 3600
          affinity:
            nodeAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
                nodeSelectorTerms:
                - matchExpressions:
                  - key: kubernetes.io/hostname
                    operator: In
                    values:
                    - ${hostname}
          containers:
          - command:
            - /renew/upgrade-k8s.sh
            - --role
            - master
            image: registry.cn-hangzhou.aliyuncs.com/acs/cert-rotate:v1.0.0
            imagePullPolicy: Always
            name: ${jobname}
            securityContext:
              privileged: true
            volumeMounts:
            - mountPath: /alicoud-k8s-host
              name: ${jobname}       
          hostNetwork: true
          hostPID: true
          restartPolicy: Never
          schedulerName: default-scheduler
          securityContext: {}
          tolerations:
          - effect: NoSchedule
            key: node-role.kubernetes.io/master
          volumes:
          - hostPath:
              path: /
              type: Directory
            name: ${jobname}
  2. 獲取集群Master節點個數和hostname

    • 方法一:通過命令行

      執行以下命令:

      kubectl get nodes
      nodes
    • 方法二:通過控制臺

      1. 登錄容器服務管理控制臺

      2. 在控制臺左側導航欄中,單擊集群

      3. 集群列表頁面中,單擊目標集群名稱或者目標集群右側操作列下的詳情

      4. 在集群管理頁的左側導航欄中,選擇節點管理 > 節點獲取Master個數和對應的名稱、IP地址、實例ID。

  3. 執行以下命令替換job-master.yml文件中指定的變量${jobname}${hostname}

    sed 's/${jobname}/cert-job-2/g; s/${hostname}/hostname/g' job-master.yml > job-master2.yml

    其中:

    • ${jobname}為Job的名稱,此處設置為cert-job-2

    • ${hostname}為集群Master節點的名稱,此處請將hostname替換為步驟2中查看到的Master名稱。

  4. 執行以下命令創建Job。

    kubectl create -f job-master2.yml
  5. 執行以下命令查看Job狀態,當COMPLETIONS均為1時,證書完成更新。

    kubectl get job -nkube-system
  6. 重復執行步驟3~5,完成所有Master節點的證書更新。

手動更新Worker節點證書

  1. 任意路徑下,復制以下內容,創建job-node.yml文件。

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: ${jobname}
      namespace: kube-system
    spec:
      backoffLimit: 0
      completions: ${nodesize}
      parallelism: ${nodesize}
      template:
        spec:
          activeDeadlineSeconds: 3600
          affinity:
            podAntiAffinity:
              requiredDuringSchedulingIgnoredDuringExecution:
              - labelSelector:
                  matchExpressions:
                  - key: job-name
                    operator: In
                    values:
                    - ${jobname}
                topologyKey: kubernetes.io/hostname
          containers:
          - command:
            - /renew/upgrade-k8s.sh
            - --role
            - node
            - --rootkey
            - ${key}
            image: registry.cn-hangzhou.aliyuncs.com/acs/cert-rotate:v1.0.0
            imagePullPolicy: Always
            name: ${jobname}
            securityContext:
              privileged: true
            volumeMounts:
            - mountPath: /alicoud-k8s-host
              name: ${jobname}
          hostNetwork: true
          hostPID: true
          restartPolicy: Never
          schedulerName: default-scheduler
          securityContext: {}
          volumes:
          - hostPath:
              path: /
              type: Directory
            name: ${jobname}
    說明

    如果Worker節點帶有Taint,需要在job-node.yml文件中增加對該Taint的tolerations,即在securityContext: {}volumes:之間增加以下內容(若有n個帶有Taint的Worker節點,請復制n次):

          tolerations:
          - effect: NoSchedule
            key: ${key}
            operator: Equal
            value: ${value}

    獲取${name}${value}的方法如下:

    1. 任意路徑下,復制以下內容,創建taint.tml文件。

      {{printf "%-50s %-12s\n" "Node" "Taint"}}
      {{- range .items}}
          {{- if $taint := (index .spec "taints") }}
              {{- .metadata.name }}{{ "\t" }}
              {{- range $taint }}
                  {{- .key }}={{ .value }}:{{ .effect }}{{ "\t" }}
              {{- end }}
              {{- "\n" }}
          {{- end}}
      {{- end}}
    2. 執行以下命令,查詢帶有Taint的Worker節點的${name}${value}

      kubectl get nodes -o go-template-file="taint.tml"
  2. 執行以下命令,獲取集群的CAKey。

    sed '1d' /etc/kubernetes/pki/ca.key | base64 -w 0
  3. 執行以下命令替換job-node.yml文件中指定的變量${jobname}${nodesize}${key}

    sed 's/${jobname}/cert-node-2/g; s/${nodesize}/nodesize/g; s/${key}/key/g' job-node.yml > job-node2.yml

    其中:

    • ${jobname}為Job的名稱,此處設置為cert-node-2

    • ${nodesize}為Worker節點個數,獲取方法可參見手動更新Worker節點證書的步驟1。此處請將nodesize替換為集群的Worker個數。

    • ${key}為集群的CAKey,此處請將key替換為手動更新Worker節點證書步驟2獲取到的CAKey。

  4. 執行以下命令創建Job。

    kubectl create -f job-node2.yml
  5. 執行以下命令查看Job狀態,當COMPLETIONS為集群Worker節點數時,證書完成更新。

    kubectl get job -nkube-system
    nodes