diff --git a/docs/en/solutions/Resolution_for_Conflict_Between_Platform-Exclusive_Scenarios_and_Log_Monitoring_Plugin_in_Upgrade_to_Version_4.2.md b/docs/en/solutions/Resolution_for_Conflict_Between_Platform-Exclusive_Scenarios_and_Log_Monitoring_Plugin_in_Upgrade_to_Version_4.2.md new file mode 100644 index 0000000..69515d3 --- /dev/null +++ b/docs/en/solutions/Resolution_for_Conflict_Between_Platform-Exclusive_Scenarios_and_Log_Monitoring_Plugin_in_Upgrade_to_Version_4.2.md @@ -0,0 +1,290 @@ +--- +products: + - Alauda Container Platform +kind: + - Solution +--- + + +# Resolution for Conflict Between Platform-Exclusive Scenarios and Log Monitoring Plugin in Upgrade to Version 4.2 + +## Background + +When upgrading the ACP version to 4.2.x, conflicts between the platform-exclusive scenario and the self-selected nodes for the log monitoring plugin cause upgrade failures. This solution is required to resolve the issue. + +## Applicable Scenarios + +Upgrading to version 4.2.x. + +## Detection + +### Step 1: Check if it is a Platform-Exclusive Scenario + +```shell +1. Log in to the master node of the global cluster. + +2. Execute the following command. If the return value is Base, it indicates a platform-exclusive scenario. Proceed to the next step of detection. + +➜ kubectl get productbase.v1alpha1.product.alauda.io base -o jsonpath='{.spec.deployType}' +``` + +### Step 2: Check if the Global Log Monitoring Plugin Uses Local Storage and Non-Platform-Exclusive Nodes + +```shell +1. Log in to the master node of the global cluster. + +2. Retrieve the platform-exclusive nodes. + +➜ kubectl get nodes -l node-role.kubernetes.io/cpaas-system -o wide + +3. Execute the following command to confirm if the log monitoring plugin is deployed. + +➜ kubectl get moduleinfo -l 'cpaas.io/cluster-name=global,cpaas.io/module-name in (prometheus,victoriametrics,logcenter,logclickhouse)' -o custom-columns=NAME:'.metadata.name',MODULE:'.metadata.labels.cpaas\.io/module-name' + +4. Confirm whether the deployed log monitoring plugin uses local storage and non-platform-exclusive nodes. + +Prometheus/Victoriametrics Monitoring Plugin: Check if the return indicates LocalVolume and uses non-platform-exclusive nodes. If yes, execute the corresponding operations for this plugin in the Problem Resolution steps. +➜ kubectl get moduleinfo -o jsonpath='Type:{.spec.config.storage.type}{"\n"}Nodes:{.spec.config.storage.nodes}{"\n"}' + +Elasticsearch Log Storage Plugin: Check if the return indicates LocalVolume and uses non-platform-exclusive nodes. If yes, execute the corresponding operations for this plugin in the Problem Resolution steps. +➜ kubectl get moduleinfo -o jsonpath='Type:{.spec.config.components.storageClassConfig.type}{"\n"}ESNodes:{.spec.config.components.elasticsearch.k8sNodes}{"\n"}ESMasterNodes:{.spec.config.components.elasticsearch.masterK8sNodes}{"\n"}KafkaNodes:{.spec.config.components.kafka.k8sNodes}{"\n"}' + +ClickHouse Log Storage Plugin: Check if the return indicates LocalVolume and uses non-platform-exclusive nodes. If yes, execute the corresponding operations for this plugin in the Problem Resolution steps. +➜ kubectl get moduleinfo -o jsonpath='Type:{.spec.config.components.storageClassConfig.type}{"\n"}CKNodes:{.spec.config.components.clickhouse.k8sNodes}{"\n"}' +``` + +## Problem Resolution + +### Prometheus Monitoring Plugin + +```shell +cat <