Auto Scaling
Overview
When the bursting add-on is used to schedule workloads to CCI 2.0, the Kubernetes Metrics Server add-on cannot collect metric data of these pods, which may affect the HPA. You can use the Cloud Native Cluster Monitoring add-on to replace Kubernetes Metrics Server add-on to ensure that HPA functions properly.
Procedure
- Install the Cloud Native Cluster Monitoring add-on.
- Log in to the CCE console.
- Click the name of the target CCE cluster to go to the cluster console.
- In the navigation pane, choose Add-ons.
- Select the Cloud Native Cluster Monitoring add-on and click Install.
Figure 1 Installing the Cloud Native Cluster Monitoring add-on
- Configure the specifications (Deployment Mode to Server mode).
To use HPA in Agent mode, contact technical support.
- Install the Cloud Native Cluster Monitoring add-on for monitoring.
- If the Kubernetes Metrics Server add-on is not installed in the CCE cluster, enable the Metric API. For details, see Providing Resource Metrics Through the Metrics API. After the configuration is complete, Prometheus is used to collect system resource metrics.
- If the Kubernetes Metrics Server add-on has been installed in the CCE cluster, use either of the following methods to enable the Metric API:
- Method 1: Uninstall the Kubernetes Metrics Server add-on and enable the Metric API.
- Log in to the CCE console.
- Click the name of the target CCE cluster to go to the cluster console.
- In the navigation pane, choose Add-ons.
- Select the Kubernetes Metrics Server add-on and click Uninstall.
- Enable the Metric API. For details, see Providing Resource Metrics Through the Metrics API. After the configuration is complete, Prometheus is used to collect system resource metrics.
- Method 2: Modify the APIService object.
Configuration for updating the APIService object v1beta1.metrics.k8s.io:
apiVersion: apiregistration.k8s.io/v1 kind: APIService metadata: labels: app: custom-metrics-apiserver release: cceaddon-prometheus name: v1beta1.metrics.k8s.io spec: group: metrics.k8s.io groupPriorityMinimum: 100 insecureSkipTLSVerify: true service: name: custom-metrics-apiserver namespace: monitoring port: 443 version: v1beta1 versionPriority: 100
You can save the object as a file, name it metrics-apiservice.yaml, and run the following command:
kubectl apply -f metrics-apiservice.yaml
Run the kubectl top pod -n monitoring command. If the following information is displayed, the Metrics API can be accessed:
# kubectl top pod -n monitoring NAME CPU(cores) MEMORY(bytes) ...... custom-metrics-apiserver-d4f556ff9-l2j2m 38m 44Mi ......
To uninstall the add-on, run the following kubectl command and delete the APIService object first or the add-on cannot be installed due to residual APIService resources.
kubectl delete APIService v1beta1.metrics.k8s.io
- Method 1: Uninstall the Kubernetes Metrics Server add-on and enable the Metric API.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot