Kubernetes核心概念

什么是K8S

  • K8S是容器编排平台。
  • 其希腊语含义是“舵手”
  • 运送管理容器的轮船

  • 自动化的容器编排平台
    • 应用的部署、管理、弹性
  • 核心功能
    • 服务发现、负载均衡
    • 容器的自动装箱。(上线)
    • 存储编排
    • 自动容器恢复
    • 自动发布与回滚
    • 配置管理
    • 批量执行、水瓶伸缩

调度

K8S会观察集群的状态。然后把容器放置到合适的机器上。

自动恢复

如果宿主机出现故障。就会把宿主机上的容器迁移到健康的宿主机上。

水平伸缩

如果负载过高,就会对水平扩容。然后负载均衡。

K8S的架构

Master架构

  • API server:与所有组件联建。用来处理API处理
  • Controller:自动恢复,自动扩容
  • scheduler:调度器。把容器放置在合适的机器上
  • ETCD:分布式的存储系统。api server需要的信息全都存在ETCD中。

node架构

node上面真正运行业务负载。

  • pod:每个业务负载运行在pod中。一个pod中运行一个或多个容器。
  • kubelet:node上真正运行pod的组件。关键组件。通过api server得到pod运行需要的状态,然后提交到container runtime组件,在宿主机上创建容器运行需要的组件。并把容器运行起来。
  • 对网络和存储的操作以插件的形式实现。比如CSI(container storage interface)定义一个存储的RPC接口,然后定义好每个接口的功能和要求。之后各个厂商可以实现对于自己存储系统的插件。
  • kube-proxy使用ip table来实现serverless组网。

架构例子

  1. 用户提交一个pod
  2. api server先把相关信息写到etcd
  3. scheduler通过watch(notification)机制得知有一个pod需要调度。
  4. scheduler根据pod的需求和宿主机的状态来做一个调度决策。然后通知api server这个pod需要调度到什么什么地方。
  5. api server把sheduler给的调度信息写入ETCD(服务注册?)。然后通知相应node。
  6. 相应node通过container runtime组件来把容器运行起来。并通过一些插件来配置网络和存储。

K8S的核心概念和API

pod

  • 最小的调度以及资源单元。用户提交pod之后K8S就会把pod运行起来。
  • pod是对一组容器和资源的抽象。
  • 定义容器运行的方式(command、环境变量等)
  • pod为里面的容器提供了共享的运行环境(网络,进程空间)
  • pod之间是隔离的

volume

  • 用来管理pod的存储
  • 什么在pod中容器可以访问的文件目录
  • volume可以挂载在容器的指定目录下面
  • volume支持多种存储的抽象
    • 本地存储,分布式存储,云存储...

Deployment

 

  • 定义一组pod的数目、版本等
  • 通过controller维持pod的数量
    • 自动恢复失败的pod
  • 通过controller来控制pod的版本
    • 滚动升级、重新生成、回滚等

service

  • 提供一组pod的稳定访问地址。负载均衡,流量转发。将一个deployment的pod的ip抽象成一个第三方的带负载均衡的ip地址。
  • 多种组网:
    • ClusterIP:kube proxy方式组网
    • node port??
    • loadBalencer??

namespace

  • 一个集群内部逻辑隔离(鉴权、资源额度)
  • 每个资源属于一个namespace
  • 同一个namespace中的资源命名唯一
  • 不同namespace中资源可重名

 API 基础知识

访问某个namespace的pod资源。

spec下面还会有一个status来指定pod的状态。

  • HTTP + JSON/YAML组成。
  • kubectl:cli接口
  • UI
  • curl:通过http请求交互

label

  • 一组key:value
  • 可以被select查询
    • select color=red
  • 通过label就可以对资源进行筛选
    • service对于一组pod。通过labal selector来选取一系列pod

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值