天天看點

基于阿裡雲托管kubernetes的版本更新

前言

因為阿裡雲的knative對應得k8s版本大于1.15,而我們目前得叢集環境是1.14.8,是以需要對預發環境進行版本更新。基于aliyun托管的kubernetes叢集版本更新本沒有什麼可寫,以aliyun的官方文檔為指引就可以實作。然而我今天在更新時發現并沒有那麼簡單,而且讓我學到了一個我認為很重要的點:一切的問題都有解決的方案。

問題

阿裡雲控制台

點選更新,就會進入更新前的檢查

可以看到問題出現,有一個api service異常。檢視詳細資訊

哦是因為我之前借助于cert-manager 給服務配置https 然後沒有删除幹淨。

處理

檢視apiservice

kubectl get apiservice
NAME                                   SERVICE                                    AVAILABLE                 AGE
......
v1alpha1.certmanager.webhook.alidns    cert-manager/cert-manager-webhook-alidns   False (ServiceNotFound)   7d
......
           

果然這個API Service是存在問題的,反正現在也不用了,先删除它吧

kubectl delete apiservice v1alpha1.certmanager.webhook.alidns
apiservice.apiregistration.k8s.io "v1alpha1.certmanager.webhook.alidns" deleted
           

再次執行更新

🆗!

感想

對于托管的k8s 老實講 沒什麼可操作的,因為托管一切變的簡單化,也因為托管造成了一些操作上的障礙。能自建還是自建吧。

通過此次更新,讓我再一次感受到在k8s中一切的問題都不叫問題,通過報錯就能解決絕大多數問題。

get、describe、logs k8s解決問題的三劍客。

過手如登山,一步一重天