本文介绍阿里云容器服务ACK在开通集群时常见问题的分析和处理流程。

创建集群时网络插件怎么选择?

有两种模式可供选择:Flannel模式与Terway。

  • Flannel模式
    容器服务ACK中有四个网段:VPC网段、交换机网段、Pod地址段、Service地址段。其中前两个网段,都是IaaS层网络。交换机网段必须是当前VPC网段的子集,而Pod地址段和Service地址段是K8s中特有的,Pod地址段用于选取ECS中的某块资源,不能与VPC网段和Service地址段重叠。Service地址段用于给每个服务分配自己的IP地址、用于集群内部通信,不能与VPC网段和Pod地址段重叠。1
    各网段的互斥关系如下:
    • Pod地址段不能和VPC网段重叠。
    • Pod地址段不能和Service地址段重叠。
    • Service地址只在Kubernetes集群内使用,不能在集群外使用。
    • Service地址段不能和VPC网段重叠。
    • Service地址段不能和Pod地址段重叠。

    如果您拥有多个K8s集群, 需要注意不同集群之间的网络规划问题。更多信息,请参见Kubernetes集群网络规划

  • Terway模式

    Terway模式除了有上述四个网段配置之外,还需增加虚拟交换机配置。

    2
    使用Terway网络插件,您需要在一个VPC网络下创建2个在同一个可用区内的虚拟交换机。
    • 虚拟交换机网段,对应节点所使用网段。
    • Pod虚拟交换机网段,对应Pod所使用的网段。
    快速搭建网络可以使用下表所示的网络规划配置:
    专有网络网段 Node虚拟交换机 Pod虚拟交换机 Service CIDR
    192.168.0.0/16 192.168.0.0/19 192.168.32.0/19 172.21.0.0/20

    更多信息,请参见使用Terway网络插件网络概述

创建一个K8s集群,为什么会多出来两个SLB? Ingress组件需要安装吗?

多出来两个SLB是K8s中组件需要的,组件分别是API Server和Ingress。

  • API Server

    API Server是一个K8s集群核心组件,是整个系统的数据总线和数据中心,位于Master节点上,负责与Master节点内其他组件、以及所有Worker节点的交互。

    由上图可知,API Server起到路由的作用。因此ACK为其创建了一个最小规格的私网型SLB(您可将其配置成大规格SLB实例规格),其为按量付费,一个月15元左右。该SLB必须由ACK创建,且不可更改和删除,否则整个K8s集群都会瘫痪。
    说明
    • 如果需要从公网访问集群,在创建集群的时候选中使用EIP暴露API Server,为API Server绑定一个公网EIP,ACK对应的带宽是按量计费的。
    • 如果集群创建时候没选中使用EIP暴露API Server,需后续手动添加。

    具体操作,请参见控制集群API Server的公网访问能力

  • Ingress
    • 当您在创建集群时候,推荐您安装该组件。ACK通过软件层Nignx Ingress Controller和资源层负载均衡SLB实现该组件功能。 您在创建集群的时候,可以选择默认选中Ingress的规格、公私网类型,默认选中创建的Ingress为按量计费。更多信息,请参见Ingress概述
      说明 您可以手动更改Ingress的SLB配置。具体操作,请参见Service的负载均衡配置注意事项
    • 如果您在创建集群的时候没有选择安装该组件,则需要到容器服务控制台的运维管理 > 组件管理页面中一键安装。具体操作,请参见管理组件

K8s的容器需要访问RDS实例,RDS白名单该如何设置?

怎么把已经购买的ECS添加的K8s集群中?

可以选择将已有的ECS实例(云服务器)加入到集群中,也可以让容器服务创建新的ECS实例(云服务器)。如果是添加已有的ECS实例,请确保添加的云服务器必须与集群在同一地域同一VPC下。具体操作,请参见添加已有节点

说明 在添加现有节点至集群的时候,需要手动添加集群的安全组。建议使用创建集群时创建的默认安全组,不要使用现有安全组。如果涉及到企业安全组和普通安全组的替换,请参见替换ECS实例的安全组