您可以通过容器服务控制台非常方便的创建安全沙箱容器集群。

前提条件

您需要开通容器服务、资源编排(ROS)服务和访问控制(RAM)服务。

登录 容器服务管理控制台ROS 管理控制台RAM 管理控制台 开通相应的服务。

说明 容器服务 Kubernetes 集群部署依赖阿里云资源编排 ROS 的应用部署能力,所以创建集群前,您需要开通 ROS。

背景信息

集群使用过程中,有如下限制:

  • 用户账户需有 100 元的余额并通过实名认证,否则无法创建按量付费的 ECS 实例和负载均衡。
  • 随集群一同创建的负载均衡实例只支持按量付费的方式。
  • Kubernetes 集群仅支持专有网络 VPC。
  • 每个账号默认可以创建的云资源有一定的配额,如果超过配额创建集群会失败。请在创建集群前确认您的配额。如果您需要提高配额,请提交工单申请。
    • 每个账号默认最多可以创建 5 个集群(所有地域下),每个集群中最多可以添加 40 个节点。如果您需要创建更多的集群或者节点,请提交工单申请。
      说明 Kubernetes 集群中,VPC 默认路由条目不超过 48 条,意味着 Kubernetes 集群使用 VPC 时,默认节点上限是 48 个,如果需要更大的节点数,需要您先对目标 VPC 开工单,提高 VPC 路由条目,再对容器服务提交工单。
    • 每个账号默认最多可以创建 100 个安全组。
    • 每个账号默认最多可以创建 60 个按量付费的负载均衡实例。
    • 每个账号默认最多可以创建 20 个EIP。
  • 创建安全沙箱容器 Kubernetes 集群时,以下界面参数需要按照表中的要求配置,否则创建的集群将无法使用安全沙箱容器的场景。
    参数 配置
    可用区 目前只有神龙实例支持安全沙箱容器,请确保所选可用区有神龙实例。
    kubernetes 版本 1.14.6-aliyun.1 或更高版本。
    容器运行时 安全沙箱容器
    Worker 实例 新增实例
    节点类型 包年包月
    实例规格 神龙裸金属服务器(神龙)
    挂载数据盘 请至少挂载一块不小于 200GiB 的数据盘,建议 1T+。
    操作系统类型 Linux
    网络插件 Terway

操作步骤

  1. 登录容器服务管理控制台
  2. 在 Kubernetes 菜单下, 单击左侧导航栏中的集群 > 集群,单击页面右上角的创建 Kubernetes 集群
  3. 在弹出的选择集群模板页面,选择标准托管版集群页面,并单击创建,进入Kubernetes 托管版页面。
    集群配置页面
  4. 可选: 选择集群所在的资源组。
    资源组
  5. 填写集群的名称。

    集群名称应包含 1~63 个字符,可包含数字、汉字、英文字符或连字符(-)。

    集群名称
  6. 选择集群所在的地域。
    地域
  7. 设置集群的网络。Kubernetes 集群仅支持专有网络。
    您可以在已有 VPC 列表中选择所需的 VPC。如果没有您需要的专有网络,可以通过单击创建专有网络进行创建,请参见创建专有网络
    专有网络
  8. 设置虚拟交换机。
    您可以在已有 VSwitch 列表中,根据可用区选择 1~3 个交换机 。如果没有您需要的交换机,可以通过单击创建虚拟交换机进行创建,请参见创建交换机
  9. 选择 Kubernetes 版本和容器运行时。
    版本
    说明
    • Kubernetes 版本:选择 1.14.6-aliyun.1 或更高版本。
    • 容器运行时:必须选择安全沙箱容器(公测)
  10. 设置 Worker 节点的配置信息。
    安全沙箱容器场景下, Worker 节点仅支持神龙工作节点,选择神龙型号为 ecs.ebmg5s.24xlarge
    配置worker节点
    • Worker实例:只支持新增实例,暂不支持添加已有实例。
    • 节点类型:神龙实例付费模式只支持包年包月,不支持按量付费。
    • 购买时长:Worker 实例提供服务的时长。
    • 实例规格:目前机型仅支持神龙裸金属服务器(神龙),该机型的实例规格均可使用。
    • 已选规格:已选的实例规格。只能选择一个规格。
    • 数量:新增 Worker 实例的数量。
    • 系统盘:支持 SSD 云盘和高效云盘。默认120 GiB。
    • 挂载数据盘:支持 SSD 云盘、高效云盘和普通云盘。
      说明 挂载的数据盘用于存储节点上所有容器的根文件系统。因此,请至少挂载一块不小于 200 GiB 的数据盘,建议 1T 以上。
  11. 设置操作类型系统。安全沙箱容器集群仅支持 Linux 系统。
  12. 配置登录方式。
    • 设置密钥。
      您需要在创建集群的时候选择密钥对登录方式,单击新建密钥对,跳转到 ECS 云服务器控制台,创建密钥对,参见创建SSH密钥对。密钥对创建完毕后,设置该密钥对作为登录集群的凭据。
      登录方式
    • 设置密码。
      • 登录密码:设置节点的登录密码。
      • 确认密码:确认设置的节点登录密码。
  13. 设置网络插件。
    1. 安全沙箱容器集群的网络类型目前仅支持 Terway 。具体请参见如何使用Terway网络插件
      指定 Terway 网络插件需要为 Pod 选择可用的 VSwitch,这些 VSwitch 的网段掩码必须小于或等于 19,例如 172.17.128.0/19;当集群创建 Pod 时,会为 Pod 从选定的那些 VSwitch 网段中分配 IP。配置网络插件
    2. 设置 Pod 虚拟交换机Service CIDR
      • Pod 虚拟交换机:您需要为 Pod 分配 IP 的虚拟交换机。每个 Pod 虚拟交换机分别对应一个 Worker 实例的虚拟交换机。
      • Service CIDR:您需要指定 Service CIDR,网段不能与 VPC 及 VPC 内已有 Kubernetes 集群使用的网段重复,创建成功后不能修改。而且 Service 地址段也不能和 Pod 地址段重复,有关 Kubernetes 网络地址段规划的信息,请参见VPC下 Kubernetes 的网络地址段规划
  14. 设置是否为专有网络配置 SNAT 网关。
    • 如果您使用的 VPC 中当前已有 NAT 网关,容器服务会使用已有的 NAT 网关。
    • 如果 VPC 中没有 NAT 网关,系统会默认自动为您创建一个 NAT 网关。如果您不希望系统自动创建 NAT 网关,可以取消勾选页面下方的为专有网络配置 SNAT。此时您需要自行配置 NAT 网关实现 VPC 安全访问公网环境,或者手动配置 SNAT,否则 VPC 内实例将不能正常访问公网,会导致集群创建失败。
  15. 设置是否开放使用 EIP 暴露 API Server
    API Server 提供了各类资源对象(Pod,Service 等)的增删改查及 watch 等 HTTP Rest 接口。
    公网访问
    • 如果选择开放,会创建一个 EIP,并挂载到内网 SLB 上。此时,Master 节点的 6443 端口(对应 API Server)暴露出来,用户可以在外网通过 kubeconfig 连接并操作集群。
    • 如果选择不开放,则不会创建 EIP,用户只能在 VPC 内部用 kubeconfig 连接并操作集群。
  16. 设置是否启用云监控插件。
    您可以选择在 ECS 节点上安装云监控插件,从而在云监控控制台查看所创建 ECS 实例的监控信息。
    云监控插件
  17. 设置是否启用日志服务,您可使用已有 Project 或新建一个 Project。
    勾选使用日志服务,会在集群中自动配置日志服务插件。创建应用时,您可通过简单配置,快速使用日志服务,详情参见 使用日志服务进行Kubernetes日志采集日志服务
  18. 设置是否安装 Ingress 组件。
    默认勾选安装 Ingress 组件 ,请参见Ingress 支持
    ingress
  19. 设置存储插件,支持 Flexvolume 和 CSI。
    Kubernetes 集群通过 Pod 可自动绑定阿里云云盘、NAS、 OSS 存储服务。请参见存储管理-Flexvolume存储管理-CSI
  20. 设置是否启用集群删除保护。
    说明 为防止通过控制台或 API 误释放集群,默认启用集群删除保护。
  21. 设置 RDS 白名单。
    将节点 IP 添加到 RDS 实例的白名单。RDS白名单
    说明 允许白名单 RDS 访问 Kubernetes 集群,RDS 必须在当前集群的 VPC 内。
  22. 为集群绑定标签。

    输入键和对应的值,单击添加

    标签
    说明
    • 是必需的,而 是可选的,可以不填写。
    • 不能是 aliyun、http:// 、https:// 开头的字符串,不区分大小写,最多 64 个字符。
    • 不能是 http:// 或 https://,可以为空,不区分大小写,最多 128 个字符。
    • 同一个资源,标签键不能重复,相同标签键(Key)的标签会被覆盖。
    • 如果一个资源已经绑定了 20 个标签,已有标签和新建标签会失效,您需要解绑部分标签后才能再绑定新的标签。
  23. 是否启用高级选项。
    1. 设置安全组。
      单击请选择安全组,在弹出的页面选中目标安全组,单击确定

      详细内容请参见安全组概述

    2. 设置 kube-proxy 代理模式,支持 iptables 和 IPVS 两种模式。
      Kube-proxy代理
      • iptables:成熟稳定的 kube-proxy 代理模式,Kubernetes service 的服务发现和负载均衡使用 iptables 规则配置,但性能一般,受规模影响较大,适用于集群存在少量的 service。
      • IPVS:高性能的 kube-proxy 代理模式,Kubernetes service 的服务发现和负载均衡使用 Linux ipvs 模块进行配置,适用于集群存在大量的 service,对负载均衡有高性能要求的场景。
    3. 是否开启自定义节点名称
      节点名称由前缀 + 节点 IP 地址子串 + 后缀三部分组成:
      • 前缀和后缀均可由.分隔的一个或多个部分构成,每个部分可以使用小写字母、数字和-,且首尾必须为小写字母和数字。
      • IP 地址段长度指截取节点 IP 地址末尾的位数,取值范围 5-12。
      例如:节点 IP 地址为 192.168.0.55,指定前缀为 aliyun.com,IP 地址段长度为 5,后缀为 test,则节点名称为 aliyun.com00055test
    4. 设置 CPU policy。
      CPU策略
      • none:默认策略,表示启用现有的默认 CPU 亲和方案。
      • static:允许为节点上具有某些资源特征的 Pod 赋予增强的 CPU 亲和性和独占性。
    5. 是否配置集群本地域名。

      默认域名为 cluster.local,可自定义域名。

      域名由两段组成,每段不超过 63 个字符,且只能使用大小写字母和数字,不能为空。
    6. 设置是否使用 AGS
      • 如果勾选 AGS,则创建集群时系统自动安装 AGS 工作流插件。
      • 如果不勾选,则需要手动安装 AGS 工作流插件,请参见 AGS命令行帮助
  24. 单击创建集群,在弹出的当前配置确认页面,单击创建,启动部署。
    说明 一个包含多节点的 Kubernetes 集群的创建时间一般约为 5 分钟。

执行结果

集群创建成功后,您可以在容器服务管理控制台的 Kubernetes 集群列表页面查看所创建的集群。集群列表
  1. 您可以单击操作列的查看日志,进入集群日志信息页面查看集群的日志信息。 您也可以在集群日志信息页面中,单击资源栈事件查看更详细的信息。集群日志详情
  2. 集群列表页面中,找到刚创建的集群,单击操作列中的管理,查看集群的基本信息和连接信息。集群基本信息
    其中:
    • API Server 公网连接端点:Kubernetes 的 API Server 对公网提供服务的地址和端口,可以通过此服务在用户终端使用 kubectl 等工具管理集群。
    • API Service 内网连接端点:Kubernetes 的 API server 对集群内部提供服务的地址和端口,此 IP 为负载均衡的地址。
    • Pod网络CIDR:Kubernetes 的 Pod CIDR 定义集群内 Pod 的网段范围。
    • Service CIDR:Kubernetes 的 Service CIDR 定义集群内暴露服务的网段范围。
    • 测试域名:为集群中的服务提供测试用的访问域名。服务访问域名后缀是 <cluster_id>.<region_id>.alicontainer.com
    • kube-proxy 代理模式:Kubernetes service 的服务发现和负载均衡需要通过服务代理进行配置,支持 iptables 和 IPVS 两种模式。
    • 节点 Pod 数量:单个节点可运行 Pod 数量的上限,默认值为 128。
  3. 您可以通过 kubectl 连接 Kubernetes 集群,执行 kubectl get node查看集群的节点信息。
您可以通过 kubectl 连接 Kubernetes 集群,执行 kubectl get node查看集群的节点信息。集群结果