Kubernetes系列(二)架构及特性

        在了解了k8s的发展历程之后,正式进入到学习k8s的阶段,本文主要内容是K8S的整体架构的说明和K8S一些特性的概括。

架构

        如下图是K8S的整体架构图,Kubernetes属于主从分布式架构,主要由Master Node和Worker Node组成,还包括客户端命令行工具kubectl和其它组件。
k8s整体架构.png

组件

        如上图所示是k8s的架构图,Master和Work节点的组成部分如下:

  • Master节点 作为控制节点,对集群进行调度管理,不存储容器,包括:
  1. Kubectl:通过命令行与API Server进行交互,对集群中的各种资源进行增删改查等操作。
  2. APIServer :K8S的网关,所有访问的统一入口。所有组件都会与他交互,会造成很大压力,所以各个组件都会设置自己的缓存。
  3. Scheduler:负责分配任务,选择符合的node节点分配任务。
  4. Relplication Crontroller:根据用户的期望数维护pod的副本数,不多也不会少。
  5. ETCD:键值对数据库,存储集群需要持久化的配置信息,并且天生支持集群化,可借助ETCD恢复K8S集群,ETCD坏掉会导致K8S集群瘫痪。
  • Node节点作为工作节点,运行业务应用容器的,不仅仅只有容器,还包括:
  1. kubelet:与容器引擎交互,操作容器引擎创建continer,维持pod的生命周期。
  2. kube proxy:写入规则到iptables或者IPVS,实现pod之间的映射访问与负载均衡。
  3. fluentd: 日志收集服务。
  4. pod :k8s的最小服务单元,pod内部是具体的docker容器,k8s通过操作pod来操作容器。
  • 其他组件
  1. coredns:为集群中的SVC(service服务)创建域名和IP对应关系,直接使用CORE为他生成的域名访问,而不需要IP。
  2. dashboard:B/S架构访问K8S,例如kubesphere
  3. Incress Controler :官方只实现四层代理,但是Incress可以实现七层代理
  4. federation:跨集群中心,多个K8S统一管理
  5. prometheus :提供K8S集群资源的监控,例如CPU,内存,磁盘的监控
  6. ELK:提供K8S集群日志统一分析介入平台

特性

  • 弹性伸缩: 通过监控容器的cpu负载值,如果负载值高于80%,增加容器副本的数量,如果低于10%,则减少容器副本的数量。将CPU和内存等资源的利用率最大化。
  • 自愈:自动重启失败的容器,在节点上容器不可用时,替换和重新调度其他节点上的容器,还可以利用 Liveness 和 Readiness 探测机制设置更精细的健康检查。当容器未通过监控检查时,会关闭此容器;直到容器正常运行时,才会对外提供服务。
  • 服务发现:K8s集群内置一个dns服务器,k8s将Service的名称当做域名注册到dns中,通过Service的名称就可以访问。
  • 负载均衡:运行在每个节点上的kube-proxy进程其实就是一个智能的软件负载均衡器,负责把service的请求转发到后端的某个pod实例。
  • 滚动升级和回滚:升级的过程,当v2版本启动后,v1版本才会退出,但是V1版本并没有被删除,而是被停用了,再回滚的时候,会重新启用v1版本。
  • 保密和配置管理:在不需要重新构建镜像的情况下,可以部署和更新保密和应用配置。
  • 存储编排:自动挂接存储系统,这些存储系统可以来自于本地、公共云提供商(例如:GCP和AWS)、网络存储(例如:NFS、iSCSI、Gluster、Ceph、Cinder和Floker等)。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值