一、环境
1、操作系统
Centos 7.4
2、主机信息
K8S Master主机:
kb-master-001 192.168.0.11
kb-master-002 192.168.0.12
kb-master-003 192.168.0.13
K8S Node主机:
kb-node-001 192.168.0.11
kb-node-002 192.168.0.12
kb-node-003 192.168.0.13
kb-node-004 192.168.0.14
K8S etcd主机:
kb-node-001 192.168.0.11
kb-node-002 192.168.0.12
kb-node-003 192.168.0.13
二、K8S组件说明
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 实现
kube-router的网络插件支持,更方便进行路由控制,发布,和安全策略管理
本文转自 aaron428 51CTO博客,原文链接:http://blog.51cto.com/aaronsa/2083362