# k8s **Repository Path**: robot/k8s ## Basic Information - **Project Name**: k8s - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2018-03-07 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Kubernetes架构介绍 RELEASE NOTE | 版本号 | 时间 | 更新人 | 内容 | | :---: | :---: | :---: | :--- | | V1.9.X | 2018-4-10 | 夏琨 | 创建文档 | | V1.10.X | 2018-5-12 | 夏琨 | 增加监控等章节 | | V1.11.X | 2018-8-2 | 夏琨 | K8S 1.11.x版本探索 | Master和Node为kubernetes以后简称k8s中的两种角色。 Master包含API server,Scheduler等,主要负责集群啊管理与调度。高可用的etcd提供保障。Node 主要运行Pod。 ![](/assets/architecture-k8s.png)核心组件的HA架构 ![](/assets/import.png) k8s 高可用2个核心apiserver master、etcd * apiserver master:(需高可用)集群核心,集群API接口、集群各个组件通信的中枢;集群安全控制; * etcd:(需高可用)集群的数据中心,用于存放集群的配置以及状态信息,非常重要,如果数据丢失那么集群将无法恢复;因此高可用集群部署首先就是etcd是高可用集群; * kube-scheduler:调度器 (内部自选举)集群Pod的调度中心;默认kubeadm安装情况下–leader-elect参数已经设置为true,保证master集群中只有一个kube-scheduler处于活跃状态; * kube-controller-manager: 控制器 (内部自选举)集群状态管理器,当集群状态与期望不同时,kcm会努力让集群恢复期望状态,比如:当一个pod死掉,kcm会努力新建一个pod来恢复对应replicas set期望的状态;默认kubeadm安装情况下–leader-elect参数已经设置为true,保证master集群中只有一个kube-controller-manager处于活跃状态; * kubelet: agent node注册apiserver * kube-proxy: 每个node上一个,负责service vip到endpoint pod的流量转发,老版本主要通过设置iptables规则实现,新版1.9基于kube-proxy-lvs 实现