华为云 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 类型,按需导入或填写 CertificatePrivate Key

  4. 点击 Create