首页  

K8S简介     所属分类 k8s 浏览量 896
K8S介绍

容器与容器编排
常见的编排工具
K8S 介绍
  k8s能做什么
  k8s 优势

K8S架构
  网络结构
  Master 节点
    组件介绍
  Node节点
    组件介绍


⼀个容器,就是⼀个进程 容器镜像就是这个系统⾥的安装包 编排 多个容器组成一个集群 常见的编排工具 docker 官方编排工具 docker-machine docker官方 docker-compose 单机编排工具 docker-swarm 解决多主机多个容器调度部署 Apache Mesos 开源的分布式资源管理框架,分布式系统的内核,底层使用marathon编排框架 Google Kubernetes 开源的自动化容器操作平台,操作包括部署,调度和节点集群间扩展等 目前最流行的容器编排工具
Kubernetes k8s 容器本身没有价值,有价值的是“容器编排” k8s能做什么 可以动态的对应用进行扩容 可以仅仅使用需要的资源(模块化),达到优化硬件的目的 可以无缝的发布应用,包括自动发布,自动重启,自动复制.... k8s 优势 Go语言开发 轻量级-消耗资源小 开源 弹性伸缩 负载均衡 Kubernetes 是一个集群,整合多台计算机的计算能力 K8S 集群中主机分为两种角色 Master 集群的管理节点,有一个或者一组节点,一般 3 个足够 node 提供计算资源的节点,就是运行容器的节点,可以扩展 客户端创建启动容器的请求交给 Master ,Master 上有一个调度器它能分析各 nodes 节点上的资源状态, 找一个最适合运行用户容器的节点,并在这个节点上使用 Docker 启动这个容器, node 节点的 Docker 在启动容器时候会首先检查本地有没有镜像,如果没有就从仓库中 pull 然后运行。 Master 节点 APISERVER 所有服务访问统一入口, API Server 对外暴露了 k8s API,提供 HTTP REST 服务。 提供了认证、授权、访问控制、API 注册和发现等机制 Controller Manager 维持副本期望数目,Controller 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等 Scheduler 负责接收任务,选择合适的节点进行分配任务, Scheduler 负责资源的调度,按照预定的调度策略将 Pod 调度到相应的机器上 Etcd 分布式键值对数据库,存储K8S集群所有重要数据(持久化),是一个高可用的键值对存储系统,被用作 k8s 的后端存储, 所有集群配置数据都存储在里面,用于服务发现和集群管理,可以说是存了整个集群的状态 Node节点 Pod 在 k8s 里面最小的部署单元不是容器而是 Pod,所以将dockfile 需要「转化」成 Pod 对象,再交由 k8s 创建 Kubelet 直接跟容器引擎交互实现容器的生命周期管理,它和 Master 节点协作,实现 Pod 的创建、启动、监控、重启、销毁等集群管理工作 Kube-Proxy 负责写入规则至Iptables, IPVS(IP Virtual Server) 实现服务映射访问的, 维护主机上的网络规则并执行连接转发,实现服务的负载均衡和反向代理 Docker 负责用于运行容器 (或者说 Pod) fluentd fluentd 是一个守护进程,它有助于提供集群层面日志 集群层面的日志
其他组件: CoreDNS Dashboard 给K8S提供一个B/S结构的访问体系 Ingress Controller 官方只能实现四层代理,Ingress可以实现七层代理 Federation 提供一个可以跨集群中心多K8S统一管理功能 Prometheus 提供监控能力 ELK 提供K8S集群日志统一分析平台

上一篇     下一篇
shiro实例

职场修炼心法

Java 位运算实例

十六条实用的人生经验

dubbo 分布式追踪 traceId 传递要点

dubbo之RpcContext