用户指南

最佳实践

API 文档

基本概念

最近更新时间:2020-11-04 15:18:42

基础概念

集群

集群是指容器运行所需云资源的集合,包含若干台云服务器 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 控制器会创建一个或者多个 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

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

参考文档

目录