k8s基础知识点

一、K8s概述:

  • Kubernetes是Google在2014年开源的一个容器集群管理系统,Kubernetes简称K8S。
  • K8S用于容器化应用程序的部署,扩展和管理。
  • K8S提供了容器编排,资源调度,弹性伸缩,部署管理,服务发现等一系列功能。
  • K8s目标是让部署容器化应用简单高效。
    1、mesos+zookeeper+marathon 架构(早期)
    2、Docker+swarm 容器群集管理 (中期)
    3、Kubernetes 开源框架 >二次开发 API接口方便设计开发 (后期)
名词解释 含义与功能
容器编排 类似compose.写好yaml文件自动创建容器
资源调度 1、调度器自己调度资源分配到资源丰富的节点上。 2、人工手动指定
弹性伸缩 按量计费。灵活使用资源池的资源(磁盘、cpu、内存)
部署管理 控制器控制有状态、无状态。。。
服务发现 ETCD(分布式数据库),具备自动地服务发现的功能。全局信息都在此!!!

二、K8s的特性:

  • 1、自我修复:
    在节点故障时重新启动失败的容器,替换和重新部署,保证预期的副本数量,杀死健康检查失败的容器,并且在未准备好之前不会处理客户端请求,确保线上服务不中断。
  • 2、弹性伸缩:
    使用命令、UI或者基于CPU使用情况自动快速扩容和缩容应用程序实例,保证应用业务高峰并发时的高可用性,业务低峰时回收资源,以最小成本运行服务。
  • 3、自动部署和回滚:
    K8S采用滚动更新策略更新应用,一次更新一个Pod,而不是同时测除所有Pod,如果更新过程中出现问题,将回滚更改,确保升级不受影响业务。
    • 部署的两种方式:
      1、蓝绿部署:(海豚)将可用区分为两大块:A、B动静兼来。
      2、灰度部署:(金丝雀)可用区周期滚动部署 devops(运维开发) jenkins(钩子服务)
  • 4、服务发现和负载均衡:
    K8S为多个容器提供一个统一访问入口(内部IP地址和一个DNS名称),并且负载均衡关联的所有容器(调度),使得用户无需考虑容器IP问题。
  • 5、机密和配置管理(安全):
    管理机密数据和应用程序配置,而不需要把敏感数据暴露在镜像里,提高敏感数据安全性。并可以将一些常用的配置存储在K8S中,方便应用程序使用。
  • 6、存储编排:
    挂载外部存储系统,无论是来自本地存储,公有云(如AWS),还是网络存储(如NFS、GFS、Ceph)都作为集群资源的一部分使用,极大提高存储使用灵活性。
  • 7、批处理:
    提供一次性任务,定时任务;满足批量数据处理和分析的场景。

三、K8S的群集架构与组件:(单节点)

k8s基础知识点_第1张图片各节点名词解释:

  • 在master上: API Server Scheduler controller-manager
    1、kubectl: 管理员的管理入口、yaml文件。
    2、Auth: 管理员的身份验证。令牌验证。
    3、API Server: 资源创建、删除、更新、管理容器、任务分配的人。K8s核心组件!!!
    4、ETCD: 容器的状态信息:类型,数量,停止、运行。服务的安装地址、容器的网段。
    5、scheduler: 调度器,监控node节点的状态,来调度分配资源。人工指定就跳过此关节。
    6、controller-manager: 定义资源类型、数量。
  • 在node上: Kubelet Kube-proxy
    1、Kubelet: master执行代理管理容器
    2、Kube-proxy: 对接客户端、接待用户的请求、做负载均衡(SLB)四层
    3、Pod: k8s的基本管理单元、容器的集合。一个pod里面放一个容器(生产环境)
    4、Container: docker容器
    5、Service:做端口映射将服务提供出去。
    k8s基础知识点_第2张图片

你可能感兴趣的:(k8s,kubernetes,docker)