從 v1.2.1 升級到 v1.2.2
一般資訊
每當有可供升級的新 Harvester 版本時,Dashboard 畫面上就會出現 Upgrade 按鈕。如需更多資訊,請參閱開始升級。
對於離線環境,請參閱準備離線升級。
已知問題
1. 升級卡在 Upgrading System Service 狀態
某些系統服務的憑證過期可能會導致升級長時間卡在 Upgrading System Service 狀態。要解決此問題,請執行以下步驟:
-
識別
apply-manifest任務的名稱。kubectl get jobs -n harvester-system -l harvesterhci.io/upgradeComponent=manifest範例輸出:
NAME COMPLETIONS DURATION AGE
hvst-upgrade-9gmg2-apply-manifests 0/1 46s 46s -
檢查
apply-manifest任務的日誌。kubectl logs jobs/hvst-upgrade-9gmg2-apply-manifests -n harvester-system如果日誌中出現以下訊息,請繼續下一步:
Waiting for CAPI cluster fleet-local/local to be provisioned (current phase: Provisioning, current generation: 30259)...
Waiting for CAPI cluster fleet-local/local to be provisioned (current phase: Provisioning, current generation: 30259)...
Waiting for CAPI cluster fleet-local/local to be provisioned (current phase: Provisioning, current generation: 30259)...
Waiting for CAPI cluster fleet-local/local to be provisioned (current phase: Provisioning, current generation: 30259)... -
檢查 Cluster API(CAPI)叢集的狀態。
kubectl get clusters.provisioning.cattle.io local -n fleet-local -o yaml如果輸出類似於以下範例,則叢集中可能存在此問題。
- lastUpdateTime: "2023-01-17T16:26:48Z"
message: 'configuring bootstrap node(s) custom-24cb32ce8387: waiting for probes:
kube-controller-manager, kube-scheduler'
reason: Waiting
status: Unknown
type: Updated -
識別受影響節點的主機名,並實施解決方法以查看服務憑證是否過期。
kubectl get machines.cluster.x-k8s.io -n fleet-local <machine_name> -o yaml | yq .status.nodeRef.name將
<machine_name>替換為受影響節點的名稱(如上一步驟的輸出中所述)。備註如果多個節點大約在同一時間加入叢集,您必須在所有這些節點上實施解決方法。
- 相關 issue:
- 解決方法:
2. harvester-seeder addon 未升級
當從 v1.2.1 升級 Harvester 叢集到 v1.2.2 時,harvester-seeder addon 不會完全升級,因為 Helm chart 版本不符。Harvester v1.2.2 捆綁的 harvester-seeder chart 為 v0.1.1,而 harvester-seeder addon 使用 v0.1.0 chart。
Error: chart "harvester-seeder" matching 0.1.0 not found in harvester-seeder index. (try 'helm repo update'): no chart version found for harvester-seeder-0.1.0
如果您在升級到 Harvester v1.2.2 後啟用 addon,則由於上述不符,安裝 chart 也會不可能。
解決方法是使用以下命令手動更新 harvester-seeder addon 清單。您必須在修補之前停用 addon。
kubectl -n harvester-system patch addons.harvesterhci harvester-seeder --type=json -p '[{"op": "replace", "path": "/spec/version", "value": "0.1.1"}]'