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.
Cómputo
Elastic Cloud Server
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Redes
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Gestión y gobernanza
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
Cloud Operations Center
Resource Governance Center
Migración
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Análisis
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
IoT
IoT Device Access
Otros
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Seguridad y cumplimiento
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Situation Awareness
Managed Threat Detection
Blockchain
Blockchain Service
Servicios multimedia
Media Processing Center
Video On Demand
Live
SparkRTC
Almacenamiento
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Contenedores
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Bases de datos
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Aplicaciones empresariales
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Data Lake Factory
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Distribución de contenido y cómputo de borde
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Soluciones
SAP Cloud
High Performance Computing
Servicios para desarrolladores
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
Cloud Application Engine
aPaaS MacroVerse
KooPhone
KooDrive

Creación de ELB Ingress en la consola

Actualización más reciente 2024-09-10 GMT+08:00

Requisitos previos

  • Un ingreso proporciona acceso a la red para cargas de trabajo backend. Asegúrese de que una carga de trabajo esté disponible en un clúster. Si no hay ninguna carga de trabajo disponible, despliegue una carga de trabajo haciendo referencia a Creación de una Deployment, Creación de un StatefulSet o Creación de un DaemonSet.
  • Los balanceadores de carga dedicados deben ser del tipo de aplicación (HTTP/HTTPS) que admita las redes privadas (con una IP privada).
  • En las redes de paso a través de ELB (clúster de Turbo de CCE + balanceador de carga dedicado), ELB Ingress admite servicios ClusterIP. En otros escenarios, ELB Ingress admite los servicios de NodePort.

Precauciones

  • Se recomienda que otros recursos no utilicen el balanceador de carga creado automáticamente por un ingreso. De lo contrario, el balanceador de carga estará ocupado cuando se elimine la entrada, dando como resultado recursos residuales.
  • Después de crear una entrada, actualice y mantenga la configuración de los balanceadores de carga seleccionados en la consola de CCE. No modifique la configuración en la consola de ELB. De lo contrario, el servicio de entrada puede ser anormal.
  • El URL registrado en una política de reenvío de ingreso debe ser la misma que la dirección URL utilizada para acceder al Service de backend. De lo contrario, se devolverá un error 404.
  • En un clúster que usa el modo proxy IPVS, si el ingreso y el Service usan el mismo balanceador de carga de ELB, no se puede acceder a la entrada desde los nodos y contenedores en el clúster porque kube-proxy monta la dirección de LoadBalancer Service en el puente ipvs-0. Este puente intercepta el tráfico del balanceador de carga conectado a la entrada. Se recomienda utilizar diferentes balanceadores de carga de ELB para la entrada y el Service.
  • No conecte el ingreso y el Service usando HTTP al mismo oyente del mismo balanceador de carga. De lo contrario, se produce un conflicto de puerto.

Adición de un ingreso de ELB

Esta sección utiliza una carga de trabajo de Nginx como ejemplo para describir cómo agregar un ingreso de ELB.

  1. Inicie sesión en la consola de CCE y acceda a la consola del clúster.
  2. Elija Networking en el panel de navegación, haga clic en la ficha Ingresses y haga clic en Create Service en la esquina superior derecha.
  3. Establezca los parámetros de entrada.

    • Name: Especifique el nombre de una entrada, por ejemplo, ingress-demo.
    • Interconnect with Nginx: Esta opción solo se muestra después de instalar el complemento nginx-ingress. Si esta opción está disponible, se ha instalado el complemento nginx-ingress. Al activar esta opción se creará una entrada de Nginx. Desactívela si desea crear una entrada de ELB. Para obtener más información, véase Creación de entradas de Nginx en la consola.
    • Load Balancer

      Seleccione el balanceador de carga que desea interconectar. Solo se admiten balanceadores de carga en la misma VPC que el clúster. Si no hay ningún balanceador de carga disponible, haga clic en Create Load Balancer para crear uno en la consola de ELB.

      Los balanceadores de carga dedicados deben admitir HTTP y el tipo de red debe admitir las redes privadas.

      La consola de CCE admite la creación automática de balanceadores de carga. Seleccione Auto create en el cuadro de lista desplegable y establezca los siguientes parámetros:
      • Instance Name: Ingrese un nombre de balanceador de carga.
      • Public Access: Si está habilitado, se creará una EIP con ancho de banda de 5 Mbit/s. De forma predeterminada, se cobra por el tráfico.
      • AZ, Subnet y Specifications (disponible solo para balanceadores de carga dedicados): Establezca la AZ, la subred y las especificaciones. Actualmente, solo se pueden crear automáticamente los balanceadores de carga dedicados del tipo de red (TCP/UDP).
    • Listener Configuration: Ingreso configura un oyente para el balanceador de carga, que escucha las solicitudes del balanceador de carga y distribuye el tráfico. Una vez completada la configuración, se crea un oyente en el balanceador de carga. El nombre de oyente predeterminado es k8s__<Protocol type>_<Port number>, por ejemplo, k8s_HTTP_80.
      • Front-End Protocol: HTTP y HTTPS están disponibles.
      • External Port: Número de puerto abierto a la dirección de servicio de ELB. El número de puerto se puede especificar aleatoriamente.
      • Certificate Source: Se admite el secreto de TLS y el certificado de servidor de ELB.
      • Server Certificate: Cuando se crea un oyente de HTTPS para un balanceador de carga, debe vincular un certificado al balanceador de carga para admitir la autenticación cifrada para la transmisión de datos de HTTPS.
        • TLS secret: Para obtener más información sobre cómo crear un certificado secreto, consulte Creación de un secreto.
        • ELB server certificate: Utilice el certificado creado en el servicio de ELB.
        NOTA:

        Si ya hay un ingreso de HTTPS para el puerto elegido en el balanceador de carga, el certificado del nuevo ingreso de HTTPS debe ser el mismo que el certificado del ingreso existente. Esto significa que un oyente solo tiene un certificado. Si se agregan dos certificados, cada uno con una entrada diferente, al mismo oyente del mismo balanceador de carga, solo el certificado agregado más temprano tiene efecto en el balanceador de carga.

      • SNI: Server Name Indication (SNI) es un protocolo extendido de TLS. Permite proporcionar múltiples nombres de dominio de acceso basados en TLS para sistemas externos que utilizan la misma dirección IP y puerto. Diferentes nombres de dominio pueden utilizar diferentes certificados de seguridad. Después de habilitar el SNI, el cliente puede enviar el nombre de dominio solicitado al iniciar una solicitud de handshake de TLS. Después de recibir la solicitud de TLS, el balanceador de carga busca el certificado basado en el nombre de dominio en la solicitud. Si se encuentra el certificado correspondiente al nombre de dominio, el balanceador de carga devuelve el certificado para la autorización. De lo contrario, se devuelve el certificado predeterminado (certificado de servidor) para la autorización.
        NOTA:
        • La opción SNI solo está disponible cuando se selecciona HTTPS.
        • Esta función solo se admite para clústeres de v1.15.11 y posteriores.
        • Especifique el nombre de dominio para el certificado de SNI. Solo se puede especificar un nombre de dominio para cada certificado. Se admiten los certificados de dominio comodín.
    • Forwarding Policies: Cuando la dirección de acceso de una solicitud coincide con la política de reenvío (una política de reenvío consiste en un nombre de dominio y un URL, por ejemplo, 10.117.117.117:80/helloworld), la solicitud se reenvía al Service de destino correspondiente para su procesamiento. Puede hacer clic en para agregar varias políticas de reenvío.
      • Domain Name: nombre de dominio real. Asegúrese de que el nombre de dominio ha sido registrado y archivado. Una vez configurada una regla de nombre de dominio, debe usar el nombre de dominio para tener acceso.
      • Regla de coincidencia para direcciones URL
        • Prefix match: Si el URL está establecido en /healthz, se puede acceder al URL que cumple con el prefijo. Por ejemplo, /healthz/v1 y /healthz/v2.
        • Exact match: Se puede acceder al URL solo cuando está totalmente coincidente. Por ejemplo, si el URL está establecido en /healthz, solo se puede acceder a /healthz.
        • Regular expression: El URL se hace coincidir en función de la expresión regular. Por ejemplo, si la expresión regular es /[A-Za-z0-9_.-]+/test, se puede acceder a todos los URL que cumplan con esta regla, por ejemplo, /abcA9/test y /v1-Ab/test. Se admiten dos estándares de expresión regular: POSIX y Perl.
      • URL: ruta de acceso a registrar, por ejemplo, /healthz.
        NOTA:

        La ruta de acceso agregada aquí debe existir en la aplicación de backend. De lo contrario, el reenvío falla.

        Por ejemplo, el URL de acceso predeterminado de la aplicación Nginx es /usr/share/nginx/html. Al agregar /test a la política de reenvío de ingreso, asegúrese de que su aplicación de Nginx contiene el mismo URL, es decir, /usr/share/nginx/html/test, de lo contrario, se devuelve 404.

      • Destination Service: Seleccione un Service existente o cree un Service. Los Service que no cumplen los criterios de búsqueda se eliminan automáticamente.
      • Destination Service Port: Seleccione el puerto de acceso del Service de destino.
      • Set ELB:
        • Distribution Policy: Hay tres algoritmos disponibles: Round robin ponderado, algoritmo de conexiones mínimas ponderadas o hash de IP de origen.
          NOTA:
          • Round robin ponderado: las solicitudes se reenvían a diferentes servidores en función de sus pesos, lo que indica el rendimiento del procesamiento del servidor. Los servidores backend con mayores pesos reciben proporcionalmente más solicitudes, mientras que los servidores con igual peso reciben el mismo número de solicitudes. Este algoritmo se utiliza a menudo para las conexiones cortas, como los servicios de HTTP.
          • Conexiones mínimas ponderadas: Además del peso asignado a cada servidor, también se considera el número de conexiones procesadas por cada servidor backend. Las solicitudes se reenvían al servidor con la relación de conexiones/peso más baja. Basado en las conexiones mínimas, el algoritmo conexiones mínimas ponderadas asigna un peso a cada servidor basado en su capacidad de procesamiento. Este algoritmo se utiliza a menudo para las conexiones persistentes, tales como las conexiones de base de datos.
          • Hash de IP de origen: La dirección IP de origen de cada solicitud se calcula usando el algoritmo hash para obtener una clave hash única, y todos los servidores backend están numerados. La clave generada asigna el cliente a un servidor determinado. Esto permite que las solicitudes de diferentes clientes se distribuyan en modo de equilibrio de carga y garantiza que las solicitudes del mismo cliente se reenvíen al mismo servidor. Este algoritmo se aplica a las conexiones de TCP sin cookies.
        • Sticky Session: Esta función está deshabilitada por defecto. Las opciones son las siguientes:
          • Load balancer cookie: Ingrese la Stickness Duration que va de 1 a 1,440 minutos.
          • Application cookie: Este parámetro solo está disponible para los balanceadores de carga compartidos. Además, debe introducir Cookie Name que oscila entre 1 y 64 caracteres.
          NOTA:

          Cuando la política de distribución utiliza el hash IP de origen, no se puede establecer la sesión adhesiva.

        • Health Check: Establezca la configuración de comprobación de estado del balanceador de carga. Si esta función está habilitada, se admiten las siguientes configuraciones:

          Parámetro

          Descripción

          Protocol

          Cuando el protocolo del puerto de servicio de destino se establece en TCP, se admiten TCP y HTTP. Cuando se establece en UDP, solo se admite UDP.

          • Check Path (soportado únicamente por el protocolo de comprobación de estado HTTP): especifica el URL de comprobación de estado. La ruta de comprobación debe comenzar con un (/) de barra diagonal y contener entre 1 y 80 caracteres.

          Port

          De forma predeterminada, el puerto de Service (Puerto de nodo y puerto contenedor del Service) se utiliza para la comprobación de estado. También puede especificar otro puerto para la comprobación de estado. Después de especificar el puerto, se agregará un puerto de servicio llamado cce-healthz para el Service.

          • Node Port: si se utiliza un balanceador de carga compartido o no se asocia ninguna instancia ENI, el puerto de nodo se utiliza como puerto de comprobación de estado. Si no se especifica este parámetro, se utiliza un puerto aleatorio. El valor oscila entre 30000 y 32767.
          • Container Port: Cuando un balanceador de carga dedicado está asociado a una instancia ENI, el puerto contenedor se utiliza para la comprobación de estado. El valor varía de 1 a 65535.

          Check Interval (s)

          Especifica el intervalo máximo entre las comprobaciones de estado. El valor varía de 1 a 50.

          Timeout (s)

          Especifica la duración máxima del tiempo de espera para cada comprobación de estado. El valor varía de 1 a 50.

          Max. Retries

          Especifica el número máximo de reintentos de comprobación de estado. El valor varía de 1 a 10.

      • Operation: Haga clic en Delete para eliminar la configuración.
    • Annotation: Las entradas proporcionan algunas funciones avanzadas de CCE, que se implementan mediante anotaciones. Cuando se usa kubectl para crear un contenedor se usarán anotaciones. Para más detalles, véase Creación de una entrada - Creación automática de un balanceador de carga y Creación de un ingreso - interconexión con un balanceador de carga existente.

  4. Una vez completada la configuración, haga clic en OK. Después de crear la entrada, se muestra en la lista de entrada.

    En la consola de ELB, puede ver el ELB creado automáticamente con CCE. El nombre predeterminado es cce-lb-ingress.UID. Haga clic en el nombre del ELB para acceder a su página de detalles. En la página de ficha Listeners, vea la configuración de la ruta del ingreso, incluidos el URL, el puerto de oyente y el puerto del grupo de servidores backend.

    AVISO:

    Después de crear la entrada, actualice y mantenga el balanceador de carga seleccionado en la consola de CCE. No mantenga el balanceador de carga en la consola de ELB. De lo contrario, el servicio de entrada puede ser anormal.

    Figura 1 Configuración de enrutamiento de ELB

  5. Acceda a la interfaz /healthz de la carga de trabajo, por ejemplo, carga de trabajo defaultbackend.

    1. Obtenga la dirección de acceso de la interfaz /healthz de la carga de trabajo. La dirección de acceso consiste en la dirección IP del balanceador de carga, el puerto externo y el URL de asignación, por ejemplo, 10.**.**.**:80/healthz.
    2. Ingrese el URL de la interfaz /healthz, por ejemplo http://10**.**.**:80/healthz, en el cuadro de direcciones del navegador para acceder a la carga de trabajo, como se muestra en Figura 2.
      Figura 2 Acceso a la interfaz /healthz de defaultbackend

Operaciones relacionadas

La estructura de entrada de Kubernetes no contiene el campo property. Por lo tanto, la entrada creada por la API invocada por client-go no contiene el campo property. CCE proporciona una solución para garantizar la compatibilidad con Kubernetes client-go. Para obtener más información sobre la solución, consulte ¿Cómo puedo lograr la compatibilidad entre la propiedad de Ingress y el cliente-go de Kubernetes?

Utilizamos cookies para mejorar nuestro sitio y tu experiencia. Al continuar navegando en nuestro sitio, tú aceptas nuestra política de cookies. Descubre más

Comentarios

Comentarios

Comentarios

0/500

Seleccionar contenido

Enviar el contenido seleccionado con los comentarios