今天 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 。工具