Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ Cloud Container Engine/ Guia de usuário/ Rede/ Ingresses/ Ingresses de Nginx/ Configuração de certificados HTTPS para ingresses do Nginx
Atualizado em 2024-11-28 GMT+08:00

Configuração de certificados HTTPS para ingresses do Nginx

Os certificados HTTPS podem ser configurados para ingress para fornecer serviços de segurança.

  1. Use o kubectl para se conectar ao cluster. Para mais detalhes, consulte Conexão a um cluster usando o kubectl.
  2. Ingress oferece suporte a dois tipos de chave do TLS: kubernetes.io/tls e IngressTLS. IngressTLS é usado como exemplo. Para mais detalhes, consulte Criação de um segredo. Para obter detalhes sobre exemplos do segredo kubernetes.io/tls e sua descrição, consulte Segredos do TLS.

    Execute o seguinte comando para criar um arquivo YAML chamado ingress-test-secret.yaml (o nome do arquivo pode ser personalizado):

    vi ingress-test-secret.yaml

    O arquivo YAML é configurado da seguinte forma:
    apiVersion: v1
    data:
      tls.crt: LS0******tLS0tCg==
      tls.key: LS0tL******0tLS0K
    kind: Secret
    metadata:
      annotations:
        description: test for ingressTLS secrets
      name: ingress-test-secret
      namespace: default
    type: IngressTLS

    Nas informações anteriores, tls.crt e tls.key são apenas exemplos. Substitua-os pelos arquivos reais. Os valores de tls.crt e tls.key são codificados em Base64.

  3. Crie um segredo.

    kubectl create -f ingress-test-secret.yaml

    Se forem exibidas informações semelhantes às seguintes, o segredo foi criado.

    secret/ingress-test-secret created

    Visualize o segredo criado.

    kubectl get secrets

    Se forem exibidas informações semelhantes às seguintes, o segredo foi criado.

    NAME                         TYPE                                  DATA      AGE
    ingress-test-secret          IngressTLS                            2         13s

  4. Crie um arquivo YAML chamado ingress-test.yaml. O nome do arquivo pode ser personalizado.

    vi ingress-test.yaml

    Para clusters da v1.23 ou posterior:
    apiVersion: networking.k8s.io/v1
    kind: Ingress 
    metadata: 
      name: ingress-test
      namespace: default
    spec:
      tls: 
      - hosts: 
        - foo.bar.com
        secretName: ingress-test-secret  # Replace it with your TLS key certificate.
      rules:
        - host: foo.bar.com
          http:
            paths:
              - path: /
                backend:
                  service:
                    name: <your_service_name>  # Replace it with the name of your target Service.
                    port:
                      number: <your_service_port>  # Replace it with the port number of your target Service.
                property:
                  ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH
                pathType: ImplementationSpecific
      ingressClassName: nginx
    Para clusters da v1.21 ou anterior:
    apiVersion: networking.k8s.io/v1beta1
    kind: Ingress 
    metadata: 
      name: ingress-test
      annotations: 
        kubernetes.io/ingress.class: nginx
    spec:
      tls: 
      - hosts: 
        - foo.bar.com
        secretName: ingress-test-secret   # Replace it with your TLS key certificate.
      rules: 
      - host: foo.bar.com
        http: 
          paths: 
          - path: '/'
            backend: 
              serviceName: <your_service_name>  # Replace it with the name of your target Service.
              servicePort: <your_service_port>  # Replace 8080 with the port number of your target Service.
      ingressClassName: nginx

  5. Crie um ingress.

    kubectl create -f ingress-test.yaml

    Se forem exibidas informações semelhantes às seguintes, o ingress foi criado.

    ingress/ingress-test created

    Visualize o ingress criado.

    kubectl get ingress

    Se informações semelhantes às seguintes forem exibidas, o ingress foi criado e a carga de trabalho está acessível.

    NAME             HOSTS     ADDRESS          PORTS   AGE
    ingress-test     *         121.**.**.**     80      10s

  6. Digite https://121.**.**.**:443 na caixa de endereço do navegador para acessar a carga de trabalho (por exemplo, carga de trabalho do Nginx).

    121.**.**.** indica o endereço IP do balanceador de carga unificado.