In dieser Phase werden die Kubernetes-Version und die Add-ons für einen Kubernetes-Cluster aktualisiert.
In dieser Phase wird auch die Upgrade-Aufgabe mz-location-upgrade ausgeführt.
Das Cluster-Upgrade wird jeweils auf einem Knoten des Clusters durchgeführt. Die allgemeinen Schritte für das Cluster-Upgrade sind:
- Es werden Preflight-Prüfungen ausgeführt, um sicherzustellen, dass der Knoten für das Upgrade bereit ist.
- Der Knoten wird entleert, um das Upgrade vorzubereiten.
- Die Kubernetes-Version auf dem Knoten wird aktualisiert.
- Nach dem Upgrade werden Prüfungen durchgeführt, um sicherzustellen, dass das Knoten-Upgrade erfolgreich war.
- Die
InventoryMachine-Ressource für den Knoten wird ausmaintenanceentfernt. Dadurch kann der Knoten wieder Pods annehmen.
Knoten per Drain beenden
Beim Entleeren eines Knotens werden alle auf diesem Knoten ausgeführten Arbeitslasten ordnungsgemäß von diesem Knoten entfernt. Sie umfasst die folgenden Schritte:
- Die
InventoryMachine-Ressource für den Knoten befindet sich untermaintenance. - Die
BaremetalMachine-Ressource wird untermaintenanceplatziert. - Der Kubernetes-Knoten ist mit
baremetal.cluster.gke.io/maintenancemarkiert:NoSchedule - Bei Bare-Metal-Knoten werden alle auf dem Knoten ausgeführten virtuellen Maschinen für den Drain vorbereitet, indem
InventoryMachinefür diese virtuelle Maschine untermaintenancefestgelegt wird. - Die auf dem Kubernetes-Knoten ausgeführten Pods werden ordnungsgemäß entfernt. Jeder Pod hat bis zu 80 Minuten Zeit, um ordnungsgemäß beendet zu werden.
kubeconfig-Datei, Clusternamen und Namespace des Administratorclusters abrufen
Um Probleme in dieser Phase zu beheben, benötigen Sie die KUBECONFIG des Administratorclusters sowie den Namen und Namespace des Clusters, für den das Upgrade durchgeführt wird. Legen Sie ORG_NAME auf die Organisation fest, für die Sie das Upgrade überwachen.
export ORG_NAME=ORG_NAME
Wählen Sie je nach Cluster, der im Namen der Phase angegeben ist, eine der folgenden Optionen aus.
Stagename: root-admin/AnthosBareMetal
export ADMIN_KUBECONFIG=ROOT_ADMIN_KUBECONFIG export CLUSTER_NAME="root-admin" export CLUSTER_NAMESPACE="root"Phasenname: org-admin/AnthosBareMetal
export ADMIN_KUBECONFIG=ROOT_ADMIN_KUBECONFIG export CLUSTER_NAME="${ORG_NAME}-admin" export CLUSTER_NAMESPACE="${ORG_NAME}"Phase: system/AnthosBareMetal
export ADMIN_KUBECONFIG=ORG_ADMIN_KUBECONFIG export CLUSTER_NAME="${ORG_NAME}-system" export CLUSTER_NAMESPACE="${CLUSTER_NAME}-cluster"Staging-Name: service/AnthosBareMetal
export ADMIN_KUBECONFIG=ORG_ADMIN_KUBECONFIG export CLUSTER_NAME="g-${ORG_NAME}-shared-service" export CLUSTER_NAMESPACE="${CLUSTER_NAME}-cluster"Nutzercluster-Upgrade
export ADMIN_KUBECONFIG=ORG_ADMIN_KUBECONFIG export CLUSTER_NAME=USER_CLUSTER_NAME export CLUSTER_NAMESPACE="${CLUSTER_NAME}-cluster"
Zu überwachende Ressourcen
ABM-Clusterressource clusters.baremetal.cluster.gke.io
kubectl get cluster -n "${CLUSTER_NAMESPACE}" "${CLUSTER_NAME}" --kubeconfig=${ADMIN_KUBECONFIG}Beispielausgabe
NAME ABM VERSION DESIRED ABM VERSION CLUSTER STATE root-admin 1.29.400-gke.86 1.29.400-gke.86 RunningABM-BaremetalMachine-Ressourcen
kubectl get baremetalmachines -n "${CLUSTER_NAMESPACE}" --kubeconfig=${ADMIN_KUBECONFIG}Beispielausgabe
NAME CLUSTER READY INSTANCEID MACHINE ABM VERSION DESIRED ABM VERSION 10.8.0.2 root-admin true baremetal://10.8.0.2 10.8.0.2 1.29.400-gke.86 1.29.400-gke.86 10.8.0.3 root-admin true baremetal://10.8.0.3 10.8.0.3 1.29.400-gke.86 1.29.400-gke.86 10.8.0.4 root-admin true baremetal://10.8.0.4 10.8.0.4 1.29.400-gke.86 1.29.400-gke.86Wenn auf einem Computer
ABM VERSIONvonDESIRED ABM VERSIONabweicht oderREADYnicht gleichtrueist, verwenden Sie das Flag-o yaml, um weitere Details zum Computer zu erhalten.HealthChecks, wenn ein Knoten nicht in den Wartungsmodus wechseln oder den Wartungsmodus verlassen kann.
export MACHINE_IP=MACHINE_IP kubectl get healthchecks -n kube-system --kubeconfig=${ADMIN_KUBECONFIG}Beispielausgabe
NAMESPACE NAME COMPONENT NAMESPACE STATUS LAST_COMPLETED kube-system bm-system-10.8.0.2-machine Healthy 14m kube-system bm-system-10.8.0.3-machine Healthy 14m kube-system bm-system-10.8.0.4-machine Healthy 5m43s kube-system bm-system-add-ons-add-ons Healthy 46m kube-system bm-system-add-ons-configdrift Healthy 46mWenn eine Systemdiagnose als fehlerhaft angezeigt wird, verwenden Sie das Flag
-o yaml, um Details zu prüfen.Controller-Logs auf Fehler prüfen
export MACHINE_IP=MACHINE_IP kubectl logs -n kube-system -l baremetal.cluster.gke.io/lifecycle-controller-component=true | grep ${MACHINE_IP} kubectl logs -n capi-system -l baremetal.cluster.gke.io/lifecycle-controller-component=true | grep ${MACHINE_IP}Prüfen Sie, ob in dieser Phase Upgradeaufgaben ausgeführt werden oder fehlgeschlagen sind.
export KUBECONFIG=ROOT_ADMIN_KUBECONFIG kubectl get upgradetaskrequests -n gpc-system -o json | jq '.items[] | select(.status.conditions[].status=="Unknown") | .metadata.name'Beispielausgabe
"upg-task-org-1-os-node-upgrade-task-whg8v"export KUBECONFIG=ROOT_ADMIN_KUBECONFIG export UPGRADE_TASK=$(kubectl get upgradetaskrequests -n gpc-system -o json | jq -r '.items[] | select(.status.conditions[].status=="Unknown") | .metadata.name') kubectl get upgradetaskrequests -n gpc-system "${UPGRADE_TASK}" -o yamlBeispielausgabe
status: conditions: - lastTransitionTime: "2024-09-25T16:26:33Z" message: job gpc-system/v1.13.0-os-7cf810d7a5-upg-task-org-1-os-node-upgra-4n5t6 is running observedGeneration: 1 reason: JobRunning status: Unknown type: Succeeded upgradeTaskResponse: name: upg-task-org-1-os-node-upgrade-task-whg8v-v1.13.0-os-7cf810d7a5Wenn Sie einen laufenden Job in der Ausgabe sehen, können Sie den Job beschreiben oder die Pod-Logs auf Fehler prüfen.