如monitor namespace统一管理诸如监控告警和日志管理方面的pod、service、pvc、ingress等
首先,我们来梳理下Kubernetes出产架构,其设计适用于绝大大都环境。如下图所示
在该架构中,我们可以将其分为四层,如下:
Client层:即Kubernetes集群外部用户、客户端等;
处事访谒层:即由Traefik ingress实现处事发明、负载均衡和路由法则界说等;
业务应用层:即基于Kubernetes平台构建和运行企业业务应用,如CI/CD连续集成、微处事项目、监控告警和日志打点、私有镜像货仓等处事;
根本设施层:即由Kubernetes容器打点平台和Ceph数据长期化存储等系统构成的根本设施处事。
下面,我们分袂来谈谈各层的具体实现方案。
根本设施层
Kubernetes平台
部署打点:Kubernetes平台除了直接使用公有云如阿里云、AWS等云处事供给商的K8s处事外,我们还可以本身部署和打点等,如使用Kubespray工具。
网络通信:在容器和容器之间、容器和主机网络方面,可以使用Calico或Flannel等方案。
HA高可用:Kubernetes节点分为Master和Node两种类型节点,前者卖力运行集群相关的控制打点处事,而后者卖力运行Pod容器。在多Node节点模式下,由于Kubernetes Pod具有天然的容灾冗余HA高可用实现,因此,我们并不需要关心Node节点的HA高可用,而只需关心Master节点的HA即可,Master节点的HA高可用,通过多Master节点+HAProxy方案实现即可。从Kubernetes 1.12版本起,kube-proxy处事默认使用ipvs实现,打消了之前的iptables。这有助于提升K8s大规模集群环境下的性能和不变性。
Docker和操纵系统优化:在出产环境中,Docker和操纵系统版本该当使用较新的release版本。并且,主机操纵系统该当做必然水平的优化配置,如封锁swap内存交换分区,预留必然的CPU核数和内存资源给宿主机使用等。
Ceph/NFS数据存储
Kubernetes平台的数据长期化存储,可以使用Ceph、NFS等存储方案。此中,Ceph适用于有其技术配景或大容量存储需求的公司;而NFS适用于存储容量需求相对较小,无专业存储技术配景的公司。
业务应用层
镜像打点:使用Harbor私有镜像货仓处事;
日志打点:使用Elasticsearch、Filebeat 和 Kibana技术栈;
监控告警打点:使用Cadvisor、Prometheus和Grafana技术栈;
微处事架构:使用Service Mesh处事网格中的Istio方案;
Devops:使用Gitlab、Jenkins等连续集成工具;
单体应用:无状态类处事使用deployment,有状态类处事则使用Statefulset,如果关联的处事较多且庞大则使用Helm。
规划好Namespace:该当做到每个namespace专属用于某类型的应用,如monitor namespace统一打点诸如监控告警和日志打点方面的pod、service、pvc、ingress等资源。这样,可以较为便利的打点和区分K8s上的各类应用。
处事访谒层外部客户端访谒K8s集群内的处事、负载均衡和路由法则界说使用Traefik Ingress实现。别的,该当实现Ingress处事HA高可用,可以想象在K8s集群中,大量的收支口流量都进过Ingress,其负载长短常大的,其重要水平不言而喻,因此实现HA就非常重要。ingress controller节点(无论是基于nginx还是traefik实现)该当至少为2个节点,并在这些节点上,部署Keepalived和HAproxy配合维护一个VIP地点,将其供给给ingress使用。
架构如下图所示
在该架构中,Ingress节点一般使用独立的处事器,即只做将集群外部流量接入到集群内部。除了使用external Ip来袒露ingress的Service到集群外部,,还可以使用hostNetwork,如果是公有云,还可以使用LoadBalance。这样Ingress Controller将监听节点的80和443端口,通过热备的形式部署多个ingress节点,并在每个节点上部署Keepalived,多个节点配合维护一个VIP,实现Ingress处事的高可用。
如上图所示,部署两个ingress节点172.16.10.11和172.16.10.12。公网ip映射或转发到内网的VIP地点172.16.10.10上(如果VIP自己是公网IP则可以不用转发)。ingress controller的副本数replicaCount为2,将被调理到node1和node2这两个节点上。同时,使用pod反亲和性禁止ingress pod调理在同一个节点上。
我们来梳理下Kubernetes出产架构,其设计适用于绝大大都环境
标签:
原文地点:https://www.cnblogs.com/xiexun/p/12116669.html
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32729.html