用户指南

基本概念

最近更新时间:2020-06-17 11:49:04

基础概念

集群

集群是指容器运行所需云资源的集合,包含若干台云服务器 CVM、负载均衡器等腾讯云资源。您可以在集群中运行您的应用程序。

托管集群

腾讯云容器服务提供 Master 和 Etcd 全部托管的 Kubernetes 集群管理服务。该模式下 Kubernetes 集群的 Master 和 Etcd 会由腾讯云技术团队集中管理和维护,您只需要购置集群运行负载所需的工作节点即可,无需关心集群的管理面。

独立集群

腾讯云容器服务提供集群完全自主可控的 Master 独立部署模式。该模式下 Kubernetes 集群的 Master 和 Etcd 将会部署在您购置的云服务器上,您拥有 Kubernetes 集群的所有管理和操作权限。

弹性集群

您无须购买节点即可部署工作负载的无服务器 Kubernetes 集群,与容器服务托管集群相同,不收取托管的 Master 和 Etcd 等管理面资源的费用。

边缘集群

支持在同一个集群中管理位于多个机房的节点、一键将应用下发到所有边缘节点,并具备边缘自治和分布式健康检查能力。

节点

节点是组成容器集群的基本元素。节点取决于业务,可以为虚拟机或物理机。每个节点都包含运行 Pod 所需要的基本组件,包括 Kubelet、Kube-proxy 等。

容器

Docker 容器旨在让用户在相对独立的环境中运行独立的程序,一个节点可运行多个容器。

镜像

Docker 镜像用于部署容器服务,每个镜像有特定的唯一标识(镜像的 Registry 地址+镜像名称+镜像 Tag)。目前镜像支持 Docker Hub 官方镜像和用户私有镜像。

进阶概念

节点池

节点池提供统一机型、统一标签、Taint 及节点池动态扩缩容等功能。您可以借助这些能力方便快捷地创建、管理和销毁节点,以及实现节点的动态扩缩容。

应用

可运行在集群中的 Kubernetes 应用程序,容器服务支持创建应用市场应用、第三方应用及私有应用。

镜像仓库

镜像仓库用于存放 Docker 镜像,Docker 镜像可用于部署容器服务。

应用市场

目前可承载适用于多场景的 Kubernetes 社区应用,支持使用应用市场中的应用包在特定集群创建应用并运行。

安全组

安全组是一种虚拟防火墙,具备有状态的数据包过滤功能。它用于设置单台或多台云服务器的网络访问控制,是腾讯云提供的重要的网络安全隔离手段。更多安全组的介绍请参见 安全组

扩展组件

提供事件持久化组件、日志采集组件、GPU 管理组件、对象存储和文件存储组件等,支持用户通过安装上述扩展组件为集群扩展相关功能。

命名空间

一个 Kubernetes 集群支持设置多个命名空间(Namesapce),每个命名空间相当于一个相对独立的虚拟空间,不同空间的资源相互隔离互不干扰。集群可通过命名空间对资源进行分区管理。

工作负载

类型 描述
Deployment 声明了 Pod 的模板和控制 Pod 的运行策略,适用于部署无状态的应用程序。您可以根据业务需求,对 Deployment 中运行的 Pod 的副本数、调度策略、更新策略等进行声明。
StatefulSet 主要用于管理有状态的应用,创建的 Pod 拥有根据规范创建的持久型标识符。Pod 迁移或销毁重启后,标识符仍会保留。在需要持久化存储时,您可以通过标识符对存储卷进行一一对应。如果应用程序不需要持久的标识符,建议您使用 Deployment 部署应用程序。
固定 Pod IP 类型 StatefulSet 腾讯云容器服务提供扩展 StatefulSet 固定 IP 的能力,该类型的 StatefulSet 创建的 Pod 将通过弹性网卡分配真实的私有网络内的 IP 地址。腾讯云容器服务 VPC-CNI 的插件负责 IP 分配,当 Pod 重启或迁移,可实现 IP 地址不变。
DaemonSet 主要用于部署常驻集群内的后台程序,例如节点的日志采集。DaemonSet 保证在所有或部分节点上均运行指定的 Pod。新节点添加到集群内时,也会有自动部署 Pod。节点被移除集群后,Pod 将自动回收。
Job Job 控制器会创建 1 - N 个 Pod,这些 Pod 按照运行规则运行,直至运行结束。
CronJob 根据指定的预定计划周期性地运行一个 Job。

服务

用户在 Kubernetes 中可以部署各种容器,其中一部分是通过 HTTP、HTTPS 协议对外提供七层网络服务,另一部分是通过 TCP、UDP 协议提供四层网络服务。而 Kubernetes 定义的服务(Service)资源是用来管理集群中四层网络的服务访问。基于四层网络,Service 提供了集群内容器服务的暴露能力。

Ingress

Ingress 能够提供七层网络下 HTTP、HTTPS 协议服务的暴露,同时也包括各种七层网络下的常见能力。Ingress 是允许访问到集群内 Service 规则的集合,您可以通过配置转发规则,实现不同 URL 可以访问到集群内不同的 Service。

配置项

  • ConfigMap:key-value 类型的键值对,通过 ConfigMap 您可以将配置和运行的镜像进行解耦,使得应用程序有更强的移植性。
  • Secret:key-value 类型的键值对,用于存储密码、令牌、密钥等敏感信息,降低直接对外暴露的风险。

存储卷

存储卷(Volume)的核心只是一个目录,其中可能包含一些数据,Pod 中的容器可以访问该目录。存储卷的生命周期与 Pod 相同,并且长于该 Pod 下运行的容器,通常会在容器重启时保留数据。

PersistentVolume(PV)

集群内的存储资源。例如,节点是集群的资源。PV 独立于 Pod 的生命周期,根据不同的 StorageClass 类型创建不同类型的 PV。

PersistentVolumeClaim(PVC)

集群内的存储请求。例如,PV 是 Pod 使用节点资源,PVC 则声明使用 PV 资源。当 PV 资源不足时,PVC 也可以动态创建 PV。

StorageClass

描述存储的类型,集群管理员可以为集群定义不同的存储类别。

参考文档

目录