前言
因為阿里雲的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解決問題的三劍客。