Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Cloud Container Engine/ Guía del usuario/ Red/ Ingresos/ Ingresos de Nginx/ Configuración de certificados de HTTPS para entradas de Nginx
Actualización más reciente 2024-09-10 GMT+08:00

Configuración de certificados de HTTPS para entradas de Nginx

Los certificados de HTTPS se pueden configurar para el ingreso para proporcionar servicios de seguridad.

  1. Utilice kubectl para conectarse al clúster. Para obtener más información, véase Conexión a un clúster con kubectl.
  2. Ingress soporta dos tipos de claves TLS: kubernetes.io/tls y IngressTLS. Se usa como ejemplo IngressTLS. Para obtener más información, véase Creación de un secreto.

    Ejecute el siguiente comando para crear un archivo YAML llamado ingress-test-secret.yaml (el nombre del archivo se puede personalizar):

    vi ingress-test-secret.yaml

    El archivo YAML se configura de la siguiente manera:
    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

    En la información anterior, las tls.crt y tls.key solo son ejemplos. Reemplácelos con los archivos reales. Los valores de tls.crt y tls.key están codificados en Base64.

  3. Cree un secreto.

    kubectl create -f ingress-test-secret.yaml

    Si se muestra información similar a la siguiente, se está creando el secreto:

    secret/ingress-test-secret created

    Vea el secreto creado.

    kubectl get secrets

    Si se muestra la información similar a la siguiente, se ha creado el secreto:

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

  4. Cree un archivo YAML denominado ingress-test.yaml. El nombre del archivo se puede personalizar.

    vi ingress-test.yaml

    Para clústeres de v1.23 y posteriores:
    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: ''
          http:
            paths:
              - path: /
                backend:
                  service:
                    name: <your_service_name>  # Replace it with the name of your target Service.
                    port:
                      number: <your_service_port>  # Replace 8080 with the port number of your target Service.
                property:
                  ingress.beta.kubernetes.io/url-match-mode: STARTS_WITH
                pathType: ImplementationSpecific
      ingressClassName: nginx
    Para clústeres de v1.21 y anteriores:
    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: ''
        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. Cree una entrada.

    kubectl create -f ingress-test.yaml

    Si se muestra la información similar a la siguiente, se ha creado la entrada.

    ingress/ingress-test created

    Vea la entrada creada.

    kubectl get ingress

    Si se muestra la información similar a la siguiente, se ha creado la entrada y se puede acceder a la carga de trabajo.

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

  6. Introduzca https://121.**.**.**:443 en el cuadro de dirección del navegador para acceder a la carga de trabajo (por ejemplo, Carga de trabajo de Nginx).

    121.**.**.** indica la dirección IP del balanceador de carga unificado.