继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Kubernetes基础(未完待更新)

IT小学徒
关注TA
已关注
手记 6
粉丝 19
获赞 51
  1. 应用部署运行模式变迁
    应用部署运行模式:物理单机->虚拟机->容器->云原生
    应用部署运行:更敏捷、更自动化、更有效率、更低成本
    开发者:更聚焦于应用本身
  2. K8S是什么?
    Kubernetes是以Google内部容器编排管理平台Borg为原型的开源实现。
    容器编排管理平台:以Pod(容器组)为基本的编排和调度单元以及声明式的对象配置模型(控制器、configmap、secret);资源配额与分配管理;健康检查、自愈、伸缩与滚动升级。
    微服务支撑平台:服务发现、服务编排与内部路由支持;服务快速部署和自动负载均衡;提供对“有状态”服务的支持。
    可移植的“云平台”:新一代应用云化的事实标准,成为面向云原生应用的新可移植层,即新“云平台”;为用户提供简单且一致的容器化应用部署、伸缩和管理机制,形成新的、通用的应用云化模型;云厂商锁定的问题得以解决,云应用支持跨云迁移。

  3. Kubernetes的架构与组件
    架构图:待补充图
    Master:Kubernetes集群大脑,控制平面:
    所有集群的控制命令都传递给Master组件并在其上执行
    每个Kubernetes集群至少有一套Master组件(当前默认:一个)
    每套master组件包括三个核心组件(apiserver、scheduler和controller manager)以及集群数据配置中心etcd
    API Server:
    集群控制的唯一入口,是提供Kubernetes集群控制RESTful API的核心组件
    集群内各个组件之间数据交互和通信的中枢
    提供集群控制的安全机制(身份认证、授权以及admission control)
    Scheduler:
    通过API Server的Watch接口监听新建Pod副本信息,并通过调度算法为该Pod选择一个最合适的Node
    支持自定义调度算法provider
    默认调度算法内置预选策略和优选策略,决策考量资源需求、服务质量、软硬件约束、亲缘性、数据局部性等指标参数
    Controller Manager:
    集群内各种资源controller的核心管理者
    针对每一种具体的资源、都有相应的Controller
    保证其下管理的每个Controller所对应的资源始终处于“期望状态”
    Etcd:
    Kubernetes集群的主数据库,存储着所有资源对象及状态
    默认与Master组件部署在一个Node上
    Etcd的数据变更都是通过API Server进行的
    Node:Kubernetes集群中真正的工作负载节点
    Kubernetes集群由多个Node共同承担工作负载,Pod被分配到某个具体的Node上执行
    Kubernetes通过node controller对node资源进行管理,支持动态在集群中添加和删除Node
    每个集群Node上都会部署Kubelet和Kube-proxy两个组件
    Kubelet:
    位于集群中每个Node上的非容器形式的服务进程组件,Master和Node之间的桥梁
    处理Master下发到Node上的Pod创建、启停等管理任务,向API Server注册Node信息
    监控本Node上容器和节点资源情况,并定期向Master汇报节点资源占用情况
    Kube-proxy:运行在每个Node上
    Service抽象概念的实现,将到Service的请求按策略(负载均衡)算法分发到后端Pod(Endpoint)上
    默认使用iptables mode模式
    支持nodeport模式,实现从外部访问集群内service
    Kubernetes对象:是一种持久化的、用于表示集群状态的实体
    一种声明式的意图记录,一般使用yaml文件描述对象
    Kubernetes集群使用Kubernetes对象来表示集群的状态
    通过API/kubectl管理Kubernetes对象
打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP