今天 18:30 左右,咱們邁出了 kubernetes 航行的關鍵一步——全站登船,完成了全站應用部署從 docker swarm 集羣向 k8s 集羣的切換,之前所未有的決心與信心從新開起這艘巨輪,而此次航行可否成功就看明天訪問高峯時狂風巨浪下的表現。html
部署在 k8s 上的應用會在頁腳顯示下面的信息,若是航行失敗,"Kubernetes" 會變成 "Linux" 。node
Powered by .NET Core on Kubernetes
Kubernetes 集羣部署狀況以下。nginx
用了3臺2核4G阿里雲服務器做爲 master 搭建了高可用集羣,worker 節點目前用了12臺4核8G阿里雲服務器,明天根據負載狀況看是否須要加服務器。git
Kuberneres 網絡插件使用的是 calico 。github
DNS 服務器使用的是 coredns ,因爲以前遭遇過由於 dns 解析問題形成翻船,此次部署了 nodelocaldns 在每一個節點進行本機 dns 緩存(相關博文)。docker
Ingress Controller 使用的是 kubernetes 社區維護的 kubernetes/ingress-nginx,還有一個 nginx 公司與社區共同維護的 nginxinc/kubernetes-ingress,咱們推薦使用前者(相關博文)。緩存
博客站點的部署採用了 HPA(Horizontal Pod Autoscaler) ,基於 CPU 與 QPS 監控指標進行自動伸縮,監控指標數據來自 prometheus (相關博文)。服務器
部署工具用的是 helm ,helm 強大的模板引擎讓咱們能夠用一個模板搞定 90% 以上應用的部署。網絡
目前一共部署了 115 個應用 pod ,56 個應用 service 。工具