Todos los productos
Search
Centro de documentos

Container Compute Service:Use a custom domain in Knative

Última actualización: Sep 08, 2026

El formato de nombre de dominio predeterminado para un Knative Service es {route}.{namespace}.{default-example.com}, donde {default-example.com} es el sufijo de dominio predeterminado, que generalmente es example.com. ACS admiten dominios personalizados para una configuración de rutas más flexible.

Puede personalizar los dominios de dos maneras:

  • Modifique el ConfigMap para personalizar el dominio de forma global para todos los Knative Services.

  • Use la anotación knative.aliyun.com/serving-ingress para configurar un dominio personalizado rápidamente para un Knative Service específico.

Requisitos previos

Configure un dominio personalizado global

Para aplicar un sufijo de dominio común a todos los Knative Services, siga estos pasos.

  1. Ejecute el comando que se muestra a continuación y edite el objeto ConfigMap config-domain en el espacio de nombres knative-serving.

    kubectl edit cm config-domain --namespace knative-serving
  2. Modifique el archivo de configuración.

    Cambie el nombre de dominio predeterminado example.com en el archivo de configuración por un dominio personalizado y guarde la configuración. En este ejemplo, establezca el dominio personalizado en mydomain.

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: config-domain
      namespace: knative-serving
    data:
      mydomain.com: "" # Replace example.com with mydomain.com. In a real-world scenario, replace this with your own service domain.
  3. Ejecute el comando que se muestra a continuación y compruebe que el nuevo dominio se aplica:

    # Replace helloworld-go with the name of your Knative Service.
    kubectl get route helloworld-go --output jsonpath="{.status.url}" | awk -F/ '{print $3}'

    Salida esperada:

    helloworld-go.default.mydomain.com

    Esta salida confirma que se aplicó el dominio personalizado.

  4. Actualice los registros DNS de su dominio para que apunten a la dirección IP del gateway de Knative.

  5. Ejecute el comando que se muestra a continuación para acceder al Knative Service con el dominio personalizado:

    curl http://helloworld-go.default.mydomain.com

    Salida esperada:

    Hello Knative!

    Esta salida confirma que se puede acceder al Knative Service a través del dominio personalizado.

Configure un dominio y una ruta por servicio

Para definir un nombre de dominio y una ruta específicos para un Knative Service, use la anotación knative.aliyun.com/serving-ingress y especifique un nombre de dominio y una ruta personalizados de manera directa. Por ejemplo, knative.aliyun.com/serving-ingress: cafe.mydomain.com/coffee especifica el nombre de dominio cafe.mydomain.com y la ruta /coffee.

Ejemplo de dominio personalizado

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: coffee-mydomain
  annotations:
    knative.aliyun.com/serving-ingress: cafe.mydomain.com
spec:
  template:
    spec:
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8

Ejemplo de dominio comodín

Separe varios dominios con una coma.
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: coffee-mydomain
  annotations:
    knative.aliyun.com/serving-ingress: "*.mydomain.com"
spec:
  template:
    spec:
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8

Ejemplo de ruta única

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: coffee-mydomain
  annotations:
    knative.aliyun.com/serving-ingress: cafe.mydomain.com/coffee
spec:
  template:
    spec:
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8

Ejemplo de varias rutas

Separe varias rutas con una coma.
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: coffee-mydomain
  annotations:
    knative.aliyun.com/serving-ingress: cafe.mydomain.com/coffee,cafe.mydomain.com/tea
spec:
  template:
    spec:
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8

Reescriba una ruta

El gateway ALB admite la reescritura de rutas. Puede reescribir la ruta de un Knative Service configurando la anotación alb.ingress.kubernetes.io/rewrite-target: . A continuación se muestra un ejemplo de código.

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: coffee-mydomain
  annotations:
    knative.aliyun.com/serving-ingress: cafe.mydomain.com/api/coffee
    alb.ingress.kubernetes.io/rewrite-target: /coffee
spec:
  template:
    spec:
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8

Configure un dominio comodín universal

Para definir un dominio comodín para un Knative Service, establezca el valor de la anotación knative.aliyun.com/serving-ingress en /. Por ejemplo, knative.aliyun.com/serving-ingress: / indica un dominio comodín completo. A continuación se muestra un ejemplo.

Solo los gateways ALB son compatibles.

apiVersion: serving.knative.dev/v1
kind: Service
metadata:
  name: coffee-mydomain
  annotations:
    knative.aliyun.com/serving-ingress: "/"
spec:
  template:
    spec:
      containers:
      - image: registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:160e4dc8