Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Use a custom domain in Knative

Última atualização: Aug 25, 2026

O formato padrão de nome de domínio para um Knative service é {route}.{namespace}.{default-example.com}, em que {default-example.com} representa o sufixo de domínio padrão, geralmente example.com. O ACK permite usar domínios personalizados para oferecer maior flexibilidade na configuração de rotas.

Há duas formas de personalizar domínios:

  • Personalize o domínio globalmente para todos os Knative services modificando o ConfigMap.

  • Use a anotação knative.aliyun.com/serving-ingress para configurar rapidamente um domínio personalizado em um Knative service específico.

Pré-requisitos

Configure um domínio personalizado global

Siga as etapas abaixo para aplicar um sufixo de domínio comum a todos os Knative services.

  1. Execute o comando a seguir para edite o objeto ConfigMap config-domain no namespace knative-serving.

    kubectl edit cm config-domain --namespace knative-serving
  2. Modifique o arquivo de configuração.

    Altere o nome de domínio padrão example.com no arquivo de configuração para o domínio personalizado e salve a alteração. Neste exemplo, o domínio personalizado está definido como 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. Execute o comando a seguir para verifique se o novo domínio foi aplicado:

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

    Saída esperada:

    helloworld-go.default.mydomain.com

    Essa saída confirma a aplicação do domínio personalizado.

  4. Atualize os registros DNS do domínio para apontar para o endereço IP do gateway Knative.

  5. Execute o comando a seguir para acessar o Knative service com o domínio personalizado:

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

    Saída esperada:

    Hello Knative!

    Essa saída confirma que o Knative service está acessível pelo domínio personalizado.

Configure domínio e caminho por service

Para defina um nome de domínio e um caminho específicos para um Knative service, use a anotação knative.aliyun.com/serving-ingress e especifique diretamente o domínio e o caminho desejados. Por exemplo, knative.aliyun.com/serving-ingress: cafe.mydomain.com/coffee define o nome de domínio cafe.mydomain.com e o caminho /coffee.

Exemplo de domínio 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

Exemplo de domínio curinga

Separe vários domínios com vírgula.
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

Exemplo de caminho único

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

Exemplo de vários caminhos

Separe vários caminhos com vírgula.
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

Reescrever um caminho

O gateway ALB oferece suporte à reescrita de caminhos. Você pode reescrever o Path de um Knative service configurando a anotação alb.ingress.kubernetes.io/rewrite-target: . Veja o exemplo de código a seguir.

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 um domínio curinga universal

Para defina um domínio curinga para um Knative service, defina o valor da anotação knative.aliyun.com/serving-ingress como /. Por exemplo, knative.aliyun.com/serving-ingress: / indica um domínio totalmente curinga. Confira o exemplo a seguir.

Somente gateways ALB são compatíveis.

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

Tópicos relacionados