K8s 開船記-全站登船:Powered by .NET Core on Kubernetes


今天 18:30 左右,我們邁出了 kubernetes 航行的關鍵一步——全站登船,完成了全站應用部署從 docker swarm 集群向 k8s 集群的切換,以前所未有的決心與信心重新開起這艘巨輪,而這次航行能否成功就看明天訪問高峰時狂風巨浪下的表現。

部署在 k8s 上的應用會在頁腳顯示下面的信息,如果航行失敗,"Kubernetes" 會變成 "Linux" 。

Powered by .NET Core on Kubernetes

Kubernetes 集群部署情況如下。

用了3台2核4G阿里雲服務器作為 master 搭建了高可用集群,worker 節點目前用了12台4核8G阿里雲服務器,明天根據負載情況看是否需要加服務器。

Kuberneres 網絡插件使用的是 calico 。

DNS 服務器使用的是 coredns ,由於之前遭遇過因為 dns  解析問題造成翻船,這次部署了 nodelocaldns 在每個節點進行本機 dns 緩存(相關博文)。

Ingress Controller 使用的是 kubernetes 社區維護的 kubernetes/ingress-nginx,還有一個 nginx 公司與社區共同維護的 nginxinc/kubernetes-ingress,我們推薦使用前者(相關博文)。

博客站點的部署采用了 HPA(Horizontal Pod Autoscaler) ,基於 CPU 與 QPS 監控指標進行自動伸縮,監控指標數據來自 prometheus (相關博文)。

部署工具用的是 helm ,helm 強大的模板引擎讓我們可以用一個模板搞定 90% 以上應用的部署(相關博文)。

目前一共部署了 115 個應用 pod ,56 個應用 service 。

【更新】

11:06~11:10 左右,博客后台出現 502 ,原因是運行中的博客后台 pod 健康檢查失敗,重新啟動的 pod 也健康檢查失敗,博客后台暫時切換到 docker swarm 。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM