全部产品
Search
文档中心

:Perbarui komponen metrics-server sebelum Anda memperbarui versi Kubernetes ke 1.12

更新时间:Jun 26, 2025

Sebelum memperbarui versi Kubernetes klaster ke 1.12, Anda harus memperbarui komponen metrics-server. Untuk melakukannya, ikuti langkah-langkah berikut: ubah pengumpul metrik, alihkan tautan pemantauan, dan perbarui pengaturan komponen.

Prasyarat

Pastikan bahwa klaster khusus Container Service for Kubernetes (ACK) telah dibuat dan versi Kubernetes klaster tersebut adalah 1.12.6 atau lebih lama.

Ubah pengumpul metrik

Buat file metrics-server.yaml dan salin konten berikut ke dalam file tersebut. Di CLI, jalankan perintah kubectl apply -f metrics-server.yaml untuk mengubah pengumpul metrik dari Heapster menjadi metrics-server.

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin
  namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
  name: admin
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin
  namespace: kube-system
---
apiVersion: v1
kind: Service
metadata:
  labels:
    task: monitoring
    # For use as a Cluster add-on (https://github.com/kubernetes/kubernetes/tree/master/cluster/addons)
    # If you are NOT using this as an addon, you should comment out this line.
    kubernetes.io/cluster-service: 'true'
    kubernetes.io/name: metrics-server
  name: heapster
  namespace: kube-system
spec:
  ports:
  - port: 80
    targetPort: 8082
  selector:
    k8s-app: metrics-server
---
apiVersion: v1
kind: Service
metadata:
  name: metrics-server
  namespace: kube-system
  labels:
    kubernetes.io/name: metrics-server
spec:
  selector:
    k8s-app: metrics-server
  ports:
  - port: 443
    protocol: TCP
    targetPort: 443
---
apiVersion: apiregistration.k8s.io/v1beta1
kind: APIService
metadata:
  name: v1beta1.metrics.k8s.io
spec:
  service:
    name: metrics-server
    namespace: kube-system
  group: metrics.k8s.io
  version: v1beta1
  insecureSkipTLSVerify: true
  groupPriorityMinimum: 100
  versionPriority: 100
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: metrics-server
  namespace: kube-system
  labels:
    k8s-app: metrics-server
spec:
  selector:
    matchLabels:
      k8s-app: metrics-server
  template:
    metadata:
      name: metrics-server
      labels:
        k8s-app: metrics-server
    spec:
      serviceAccountName: admin
      containers:
      - name: metrics-server
        image: registry.##REGION##.aliyuncs.com/acs/metrics-server:v0.2.1-9dd9511-aliyun
        imagePullPolicy: Always
        command:
        - /metrics-server
        - '--source=kubernetes:https://kubernetes.default'
        - '--sink=socket:tcp://monitor.csk.##REGION##.aliyuncs.com:8093?clusterId=##CLUSTER_ID##
&public=true'
Catatan

Ganti ##REGION## dan ##CLUSTER_ID## dengan wilayah (seperti cn-hangzhou) dan ID klaster yang sesuai.

Alihkan tautan pemantauan

  1. Masuk ke Konsol ACK. Di panel navigasi di sebelah kiri, klik Clusters.

  2. Di halaman Clusters, klik nama klaster yang ingin Anda ubah. Di panel navigasi di sebelah kiri, pilih Nodes > Nodes.

  3. Temukan Node master di dalam klaster. Klik ID node master untuk masuk ke halaman Instance Details.

  4. Di bagian Basic Information, klik Connect.

    Kotak dialog Enter VNC Password akan muncul. Masukkan kata sandi VNC dan klik OK. Setelah masuk ke instance, jalankan perintah berikut:

    sed -i 's/--horizontal-pod-autoscaler-use-rest-clients=false/--horizontal-pod-autoscaler-use-rest-clients=true/' /etc/kubernetes/manifests/kube-controller-manager.yaml                            

    切换链路2

  5. Ulangi langkah-langkah sebelumnya untuk mengalihkan tautan pemantauan untuk node master lainnya.

Setelah menjalankan perintah, kubelet akan memperbarui controller manager.

Perbarui pengaturan komponen

  1. Masuk ke Konsol ACK. Di panel navigasi di sebelah kiri, klik Clusters.

  2. Di halaman Clusters, temukan klaster yang Anda inginkan dan klik namanya. Di panel di sebelah kiri, pilih Network > Services.

  3. Pilih namespace kube-system. Temukan Service heapster dan klik View in YAML di kolom Actions dari Service tersebut.

  4. Di kotak dialog yang muncul, atur nilai bidang k8s-app menjadi metrics-server. Klik Update.

    组件兼容适配变更2

  5. Di panel navigasi di sebelah kiri halaman detail, pilih Workloads > Deployments.

  6. Di tab Deployments, pilih namespace kube-system.

  7. Pilih komponen terkait Heapster seperti heapster dan monitoring-influxdb. Di kolom Actions, pilih More > Delete.

  8. Di kotak dialog yang muncul, klik OK.

    Catatan

    Untuk menghapus komponen monitoring-influxdb, di kotak dialog Delete monitoring-influxdb, pilih Delete the associated monitoring-influxdb Service dan klik OK.

  9. Periksa status tautan.

    Dibutuhkan sekitar tiga menit untuk menginisialisasi tautan.

    Di panel navigasi di sebelah kiri, pilih Workload > Pods. Di halaman Pods, jika penggunaan CPU dan memori normal, itu menunjukkan bahwa tautan telah dialihkan.

    Catatan

    Jika penggunaan CPU dan memori semua komponen adalah nol, itu menunjukkan bahwa terjadi kesalahan.