华为云 CCE 集群网络初始化配置

Support Overview

FeatureSupport StatusRequirements
LoadBalancer ServiceDefault Support无需额外部署。
IngressDefault Support可选启用 Ingress Class 功能(启用后,可通过表单界面创建 ingress 时手动选择 ingress 类)。无需额外部署。

Prerequisites

如果您已创建 CCE 集群,请导入 CCE 集群(公有云)。

Configuration Steps

您可以同时创建 ingress 和 LoadBalancer 服务,或根据需求选择其中一种。

Create Ingress

创建 ingress 有两种方式。推荐使用方式一:手动选择 Ingress Class。

注意:避免创建两个具有相同 path 的 ingress 资源。

(推荐)方式一:手动选择 Ingress Class

  1. 在 Container Platform 中,点击左侧导航的 Network > Ingress。

  2. 点击 Create Ingress,并在 Ingress Class 中选择 CCE Ingress Class。

  3. 选择 Protocol,默认是 HTTP。若选择 HTTPS,请先创建证书并选择该证书。

  4. 切换到 YAML,根据您的默认 Ingress Controller 类型添加以下注解。注解详情请参见使用注解配置负载均衡器:

    注意:请将下表注解中的 values 替换为实际环境值。

    默认 Ingress Controller 类型注解
    Shared (自动创建)kubernetes.io/elb.autocreate: '{"type":"public","bandwidth_name":"{random}","bandwidth_chargemode":"traffic","bandwidth_size":5,"bandwidth_sharetype":"PER","eip_type":"5_bgp"}'
    kubernetes.io/elb.class: union
    Shared (复用)kubernetes.io/elb.class: union
    kubernetes.io/elb.id: <Load Balancer Instance ID>
    kubernetes.io/elb.port: '80'
    Dedicated (自动创建)kubernetes.io/elb.autocreate: '{"type":"public","bandwidth_name":"<Bandwidth Name>","bandwidth_chargemode":"traffic","bandwidth_size":5,"bandwidth_sharetype":"PER","eip_type":"5_bgp","available_zone":["<AZ A>","<AZ B>","<AZ C>"],"elb_virsubnet_ids":["<ELB Virtual Subnet ID>"],"l7_flavor_name":"L7_flavor.elb.s1.small","l4_flavor_name":"L4_flavor.elb.s1.small"}'
    kubernetes.io/elb.class: performance
    kubernetes.io/elb.port: "80"
    Dedicated (复用)kubernetes.io/elb.class: performance
    kubernetes.io/elb.id: <Load Balancer Instance ID>
    kubernetes.io/elb.port: "80"
  5. 点击 Create。创建完成后,即可通过 ELB 访问集群服务。

方式二:使用默认 Ingress Class

  1. 创建一个 IngressClass YAML 文件,内容如下。详情请参见默认 Ingress Class:

    apiVersion: networking.k8s.io/v1
    kind: IngressClass
    metadata:
      annotations:
        ingressclass.kubernetes.io/is-default-class: "true"
      name: cce
    spec:
      controller: alauda/cce
  2. 保存文件并应用到导入的集群,替换 <filename.yaml> 为实际 YAML 文件名:

    kubectl apply -f <filename.yaml>
  3. 在 Container Platform 中,点击左侧导航的 Network > Ingress。

  4. 选择 Protocol,默认是 HTTP。若选择 HTTPS,请先创建证书并选择该证书。

  5. 点击 Create。创建完成后,即可通过 ELB 访问集群服务。

Create LoadBalancer Service

  1. 在 Container Platform 中,点击左侧导航的 Network > Services。

  2. 点击 Create Service,并在 External Access 中选择 LoadBalancer。

  3. 展开 annotations,根据需要填写 LoadBalancer 服务注解。

  4. 点击 Create。

Create Certificate

使用 HTTPS 协议时,请提前将 HTTPS 证书凭据以 Secret(TLS 类型)形式保存。

  1. 在 Container Platform 中,点击左侧导航的 Configuration > Secrets。

  2. 点击 Create Secret。

  3. 选择 TLS 类型,按需导入或填写 Certificate 和 Private Key。

  4. 点击 Create。