一、k8s之概念解读

原创
2020/09/25 09:23
阅读数 553

组件&架构

高可用集群副本数目最好是 ≥3 奇数个。

参考

etcd分v2 和 v3两个版本,k8s 1.11及之后弃用已etcd v2版本

  • v2 会将数据写入内存中,因此需要自己进行数据备份操作。

  • v3 会引入一个本地卷持久化的操作,不需要自己进行数据备份操作。

master节点

  • scheduler:负责介绍任务,选择合适的节点进行分配任务
  • replication controller:维持副本期望数目
  • api server:所有服务访问的统一入口
  • etcd:键值对数据库,储存k8s集群所有重要信息
  • kubectl
  • webUI

node节点

  • kubelet:Container Runtime Interface,容器运行时接口。kubelet 创建和管理容器的时候并不是直接调用Docker API 而是通过一组叫做 CRIgRPC 接口来间接执行的。直接和容器引擎进行交互,实现容器生命周期的管理。
  • kubeproxy:
    • 负责写入规则至 iptablesipvs(lvs),实现服务访问映射。即 PodPod 之间的访问,Pod 节点的对外服务,负载均衡等等。
    • kube proxy 默认是操作防火墙 firewall 对容器进行映射。在新的版本中推荐使用 lvs
  • Pod:Pod 里面跑的是容器,如 Docker、Rocket 等。

其他组件:

  • CoreDNS:可以为集群中的svc创建一个域名ip的对应关系解析
  • Dashboard:给k8s集群提供一个B/S结构的访问体系
  • Ingress Controller:官方只能实现四层代理,Ingress能实现七层代理
  • Federation:提供一个可以跨集群中心多k8s的统一管理功能
  • Prometheus:提供k8s集群监控能力
  • Elk:提供k8s集群日志统一分析接入平台

基础概念

Pod

  • Pod类型:
  • 自主式Pod
  • 控制器管理的Pod:

自主式Pod

同一pod内的容器共享network和volume。

控制器管理的Pod

  • ReplicationController(RC) & ReplicaSet(RS) & Deployment

  • HPA(HorizontalPodAutoScale)

  • Statefullset

  • DaemonSet

  • Job、Cronjob

服务发现

Service直接对外提供服务。

1个Service对应多个Pod。

网络通讯方式

  1. 方式1

  1. 方式2

网络解决方案 k8s+flannel

架构

ETCD之Flannel提供说明

不同情况下网络通信方式

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部