Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Use a custom domain in Knative

Última atualização: Jun 27, 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

Para aplicar um sufixo de domínio comum a todos os Knative Services, siga estas etapas:

  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 desejado e salve as alterações. Neste exemplo, o domínio personalizado é 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 seu domínio para apontar para o endereço IP do gateway do 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 serviço

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. Reescreva o Path de um Knative Service configurando a anotação alb.ingress.kubernetes.io/rewrite-target: . Veja um 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