文章目录
跑太快了,容易扯着蛋
不要想着我咋反复横跳,一会儿 mesh简介一会儿又跑回 docker,然后又 istio 简介又跑回 kubernetes 架构。看上面。
Kubernetes中提供灵活和松耦合的机制用于服务发现,像大多数分布式集群平台,Kubernetes集群中至少包含一个主节点和多个工作节点。
Kubernetes组件:
- etcd
etcd的官方将它定位成一个可信赖的分布式键值存储服务,它能够为整个分布式集群存储一些关键数据,协助分布式集群的正常运转。
Raft从一开始就被设计成一个易于理解和实现的共识算法。每一个Raft集群中都包含多个服务器,在任何时刻,每一台服务器只可能处于Leader、Follower以及Candidate三种状态;在处于正常的状态时,集群中只会存在一个Leader,其余的服务器都是Follower
推荐在Kubernetes集群中使用etcd v3,v2版本已在Kubernetes v.11中弃用
- Kubernetes API Server
作为Kubernetes系统的入口,其封装了核心对象的增删改查操作,以Restful API接口方式提供给外部客户和内部组件调用。维护的REST对象持久化到Etcd中存储
- Kubernetes Scheduler
新建立的Pod进行节点(node)选择(即分配机器),负责集群的资源调度。组件抽离,可以方便替换成其他调度器
- Controller Manager
负责维护集群的状态,比如故障检测、自动扩展、滚动更新等
- Kubelet
负责维护容器的生命周期,同时也负责Volume(CSI)和网络(CNI)的管理
- Container runtime
负责镜像管理以及Pod和容器的真正运行(CRI)
- Kube-proxy
负责为Service提供cluster内部的服务发现和负载均衡
- CoreDNS
负责为整个集群提供DNS服务
- Ingress Controller
为K8S中的服务提供外网入口
- Prometheus
为整个集群提供资源监控能力
- Dashboard
提供B/S的访问体系,允许用户通过web进行集群管理及设置
- Federation
提供跨可用区的集群,提供不同数据中心的K8S集群的管理能力
扯点别的吧,为什么这篇叫 “浅析” 呢,为啥我会又转回来整 k8s 的基础呢? 没有自己一个一个安装过去,都不好意思说自己看过 k8s 架构图,我说的是 源码安装。 为啥转回来,昨天 istio 弄得好好的,安装不了,排查一下发现我的 k8s 集群给丢了好几个组件,coredns 和 cni… 那可真是“连根拔起”啊,连配置文件都消失了。。。