Welcome to the K-free blog;|

k-free

园龄:5年8个月粉丝:5关注:7

Kubernetes ---- 理论、架构

Kubernetes的特性:


  1. 实现自动装箱(自动完成资源的部署).
  2. 自我修复(kill掉,重新启一个).
  3. 自动实现水平扩展(物力资源要足够支撑).
  4. 服务发现和负载均衡.
  5. 自动发布和回滚.
  6. 秘钥和配置管理.
  7. 存储编排.
  8. 任务批量处理执行...

 

集群:

  master/nodes模型
  一个或一组节点(高可用): master 集群入口
  多组节点: nodes

 

 

Master:

  接收创建启动容器的请求 ->  调度器分析各node节点的可用资源状态,找到最佳适配运行用户所请求的容器的node,容器引擎启动容器

  1. API Server: 负责接收请求、解析请求、处理请求.
  2. Scheduler(预选后优选): 观测每个node上总共可用的物理资源,根据请求创建的容器的资源来评估在哪一个node上合适运行.
  3. Controller manager(做冗余): 监控每个控制器是健康的.

Node:

  所有node组成为一个kube_cluster,将各node上的物理资源整合到一个"资源池"对外提供.

  1. Kubelet: 接收Scheduler调度结果,负责保证容器的状态始终正常.
  2. Docker:作为容器引擎运行Pod中的容器.
  3. kube-proxy: 随时与API Server进行通信,当每一个Pod发生变化的时候,会生成一个事件,事件可被任何关联的组件接收到,结果将保存在API Server中.

  例如Pod中的容器IP地址发生了改变,那么kube-proxy会将结果反映到Service也就是IPtables或ipvs中.

Pod: 存放容器.

  1.自主式Pod: 提交给API Server,接收后借助于调度器调度至指定的node节点,由node启动此Pod,如果Pod中的容器出现故障,需要重启则由kubelet完成
  如果节点故障,则容器消失,无法全局调度.

  2. 控制器管理的Pod: 由调度器将其调度至集群中的某节点运行后.

控制器分类:
  ReplicationController(副本控制器): 控制同一类Pod对象的各种副本,如果副本缺少了,则会自动添加至定义的副本数量.
  ReplicaSet: 副本集控制器,声明式控制器(Deployment).
  Deployment: 管理无状态应用副本集.
  HPA: 灵活增加Pod,当访问量过高,目前Pod不够用可自动增加,如果Pod够用,则会降低至够用的副本数量.
  StatefulSet: 管理有状态应用副本集.
  DaemonSet: 每一个Pod上运行一个副本.
  Job,Cronjob: 作业、周期性作业.

 

Service(主机名和地址在不被删除的情况下不会改变):

  1. IPtables DNAT规则或IPvS(v1.11版以后使用了IPvS).
  2. 访问入口,将客户端请求代理至后端Pod地址.
  3. 负载均衡.
  4. Pod会将提供的服务注册至Service.
  5. 靠标签选择器关联Pod(Pod中拥有标签(label)),关联后Service会动态探测Pod的IP地址及端口,作为后端可用服务器.
  6. 通过kube-proxy管理,在每个节点上创建规则,变动也需使用kube-proxy反映到规则上.

Label: 用来分类、识别、管理Pod.

Label Selector: 根据标签过滤符合条件的资源对象的机制.
Controller (支持众多类型): 通过loop持续性探测所管理的容器是否健康,如果不健康则重新像Scheduler发送创建请求,保证服务可用.

  同一Pod内的多个容器间通信:通过lo  
  各Pod之间的通信: Overlay 叠加网络 转发通信
  Pod与Service间通信: Pod将请求发往网关(docker0桥),检查IPtables转发

 

ETCD(重要):

  1. 键值存储的数据库系统,可选举,类似Zookeeper.
  2. 存储集群中所有的重要信息.
  3. 要做冗余,且使用https通信.
  4. 2380集群内部通信,2379对外进行通信.

 

网络配置:

  flannel: 网络配置.
  calico: 网络配置,网络策略.
  canel: 网络配置,网络策略.

 

在不考虑有状态应用的情况下,下面有一个LNMP的架构图,个人理解,有错误望指出,谢谢。

 

本文作者:k-free

本文链接:https://www.cnblogs.com/k-free-bolg/p/13036345.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   k-free  阅读(161)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 新時代 (ウタ from ONE PIECE FILM RED) Ado
新時代 (ウタ from ONE PIECE FILM RED) - Ado
00:00 / 00:00
An audio error has occurred.

作词 : 中田ヤスタカ

作曲 : 中田ヤスタカ

新時代はこの未来だ

世界中全部 変えてしまえば

変えてしまえば

ジャマモノ やなもの なんて消して

ジャマモノ やなもの なんて消して

この世とメタモルフォーゼしようぜ

ミュージック

キミが起こす マジック

目を閉じれば未来が開いて

目を閉じれば未来が開いて

いつまでも終わりが来ないようにって

この歌を歌うよ

Do you wanna play? リアルゲーム ギリギリ

Do you wanna play? リアルゲーム ギリギリ

綱渡りみたいな旋律

認めない戻れない忘れたい

夢の中に居させて I wanna be free

見えるよ新時代が 世界の向こうへ

さあ行くよ NewWorld

新時代はこの未来だ

新時代はこの未来だ

世界中全部 変えてしまえば

変えてしまえば

果てしない音楽がもっと届くように

夢は見ないわ キミが話した

「ボクを信じて」

あれこれいらないものは消して

あれこれいらないものは消して

リアルをカラフルに越えようぜ

ミュージック

今始まる ライジング

目をつぶりみんなで逃げようよ

目をつぶりみんなで逃げようよ

今よりイイモノを見せてあげるよ

この歌を歌えば

Do you wanna play? リアルゲーム ギリギリ

Do you wanna play? リアルゲーム ギリギリ

綱渡りみたいな運命

認めない戻れない忘れたい

夢の中に居させて I wanna be free

見えるよ新時代が 世界の向こうへ

さあ行くよ NewWorld

新時代わ この未来を

新時代わ この未来を

世界中全部 変えてしまえば 変えてしまえば

果てしない音楽がもっと届くように

夢を見せるよ 夢を見せるよ

新時代だ

新時代だ

新時代だ