Kubernetes基本概念(一)

不问归期 提交于 2020-03-09 11:34:17

一、Kubernetes核心组件

  • etcd:保存整个集群的状态。
  • apiserver:提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制
  • controller manager:负责维护集群的状态,比如故障检测、自动扩展、滚动更新等。
  • scheduler:负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上。
  • kubelet:负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理。
  • Container runtime:负责镜像管理以及Pod和容器的真正运行(CRI)。
  • kube-proxy:负责为Service提供cluster内部的服务发现和负载均衡。

Kubernetes基本架构

二、Kubernetes基本概念

  • Cluster:集群,是指由Kubernetes使用一系列的物理机、虚拟机和其他基础资源来运行你的应用程序(下图)。
    cluster描述
  • Node:一个node就是运行着Kubernetes的物理机或虚拟机,并且pod可以在上面被调度。
  • Pod:一个pod对应一个由相关容器和卷组成的容器组:(下图)
    Pod描述
  • Label:一个label是一个被附加到资源上的键/值对,譬如附加到一个Pod上,为它传递一个用户自定的并且可以识别的属性。Label还可以被应用来组织和选择子网中的资源。
  • selector:是一个通过匹配labels来定义资源之间关系的表达式,例如为一个负载均衡的service指定目标Pod。
  • Replication
    Controller:为了保证一定数量被指定的Pod的复制品在任何时候都能正常工作。它不仅允许复制的系统易于扩展,还会处理当pod在机器发生重启或故障的时候再创建一个。
  • ReplicaSet:取代ReplicationCtronller,持集合式的selector
  • Deployment:为Pod和ReplicaSet提供一个声明式定义(declarative)方法,用来代替以前的
  • ReplictionController来方便管理应用。其应用场景:
    (1)定义Deployment来创建Pod和ReplicaSet
    (2)滚动升级和回滚应用
    (3)扩容和缩容
    (4)暂停和继续Deployment
  • Service:一个service定义了访问pod方式,就像单个固定的IP地址和与其相对应的DNS名之间的关系。(下图)

Service描述

  • Volume:一个Volume是一个目录,可能会被容器作为未见系统的一部分来访问。Kubernetes volume构建在Docker
    Volumes之上,并且支持添加和配置volume目录或者其他存储设备。

三、kubectl命令

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!