All Products
Search
Document Center

Container Service for Kubernetes:Perbarui Sertifikat yang Akan Kedaluwarsa untuk Kluster ACK Edisi Khusus

Last Updated:Mar 11, 2026

Topik ini menjelaskan cara memperbarui sertifikat yang akan kedaluwarsa untuk ACK dedicated clusters. Anda dapat memperbarui semua sertifikat node melalui Konsol atau kubectl, atau memperbarui sertifikat node master dan node pekerja secara manual.

Catatan

ACK secara otomatis memperbarui sertifikat node master di ACK managed clusters. Tidak diperlukan intervensi manual.

Perbarui Semua Sertifikat Node Menggunakan Konsol

  1. Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.

  2. Di sebelah kanan kluster yang sertifikatnya akan kedaluwarsa, klik Update Certificate. Halaman Update Certificate akan muncul.

    Catatan

    Opsi Update Certificate muncul jika sertifikat kluster akan kedaluwarsa dalam waktu sekitar dua bulan.

    更新证书

  3. Di halaman Update Certificate, klik Update Certificate. Ikuti petunjuk di layar untuk memperbarui sertifikat.

    Setelah sertifikat kluster diperbarui, perubahan berikut terjadi:

    • Halaman Update Certificate menampilkan The certificate has been updated..

    • Di halaman Clusters, prompt Update Certificate tidak lagi ditampilkan untuk kluster tersebut.

Perbarui Secara Otomatis Semua Sertifikat Node Menggunakan kubectl

Perbarui Sertifikat

Di salah satu node master dalam kluster, jalankan perintah berikut untuk memperbarui sertifikat semua node dalam kluster.

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

Verifikasi Hasil

Anda harus terhubung ke kluster menggunakan kubectl. Untuk informasi selengkapnya, lihat Connect to a Kubernetes cluster using kubectl.
  1. Jalankan perintah berikut untuk melihat status node master dan node pekerja dalam kluster.

    kubectl get nodes

    nodes

  2. Jalankan perintah berikut. Sertifikat telah diperbarui ketika nilai COMPLETIONS untuk node master adalah 1 dan nilai COMPLETIONS untuk node pekerja sesuai dengan jumlah node pekerja dalam kluster.

    kubectl -n kube-system get job

    nodes

Perbarui Secara Manual Sertifikat Node Master

  1. Di direktori mana pun, salin konten berikut untuk membuat file bernama 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. Dapatkan informasi tentang kluster, seperti jumlah node master dan nama nodenya.

    • Metode 1: Gunakan command line

      Jalankan perintah berikut:

      kubectl get nodes

      nodes

    • Metode 2: Gunakan Konsol

      1. Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.

      2. Di halaman Clusters, klik nama kluster tersebut atau klik View Details di kolom Actions.

      3. Di panel navigasi kiri halaman detail kluster, pilih Nodes > Nodes untuk melihat jumlah node master, nama, alamat IP, dan ID instansnya.

  3. Jalankan perintah berikut untuk mengganti variabel ${jobname} dan ${hostname} dalam file job-master.yml.

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

    dengan keterangan:

    • ${jobname}: nama job. Tetapkan nilai ini menjadi cert-job-2.

    • ${hostname}: nama node master dalam kluster. Ganti hostname dengan nama node master yang Anda peroleh pada Langkah 2.

  4. Jalankan perintah berikut untuk membuat job.

    kubectl create -f job-master2.yml
  5. Jalankan perintah berikut untuk melihat status job. Pembaruan sertifikat selesai ketika nilai COMPLETIONS adalah 1.

    kubectl get job -nkube-system
  6. Ulangi Langkah 3 hingga Langkah 5 untuk memperbarui sertifikat semua node master.

Perbarui Secara Manual Sertifikat Node Pekerja

  1. Di direktori mana pun, salin konten berikut untuk membuat file bernama 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}
    Catatan

    Jika node pekerja Anda memiliki taint, Anda harus menambahkan tolerations untuk taint tersebut ke file job-node.yml. Untuk melakukannya, tambahkan konten berikut di antara securityContext: {} dan volumes:. Jika Anda memiliki n node pekerja dengan taint, salin konten ini sebanyak n kali.

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

    Untuk mendapatkan nilai ${name} dan ${value}, lakukan langkah-langkah berikut:

    1. Di direktori mana pun, salin konten berikut untuk membuat file bernama 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. Jalankan perintah berikut untuk menanyakan nilai ${name} dan ${value} untuk node pekerja yang memiliki taint.

      kubectl get nodes -o go-template-file="taint.tml"

  2. Jalankan perintah berikut untuk mendapatkan CAKey kluster.

    sed '1d' /etc/kubernetes/pki/ca.key | base64 -w 0
  3. Jalankan perintah berikut untuk mengganti variabel ${jobname}, ${nodesize}, dan ${key} dalam file job-node.yml.

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

    Di mana:

  4. Jalankan perintah berikut untuk membuat job.

    kubectl create -f job-node2.yml
  5. Jalankan perintah berikut untuk melihat status job. Pembaruan sertifikat selesai ketika nilai COMPLETIONS sesuai dengan jumlah node pekerja dalam kluster.

    kubectl get job -nkube-system

    nodes