Crear secciones de puntos finales de Kubernetes

Crear Secciones De Puntos Finales De Kubernetes



Un segmento de punto final le permite rastrear el punto final de la red que está conectada con el clúster de Kubernetes. Puede obtener más información sobre EndpointSlices en el entorno de Kubernetes a través de este artículo que creamos para usted. En este tutorial, lo ayudaremos a aprender qué es un EndpointSlice en el clúster de Kubernetes y cómo puede crear un EndpointSlice en Kubernetes. Demostraremos algunos comandos de kubectl que nos permiten crear un punto final en el clúster de Kubernetes.

¿Qué es un EndpointSlice en Kubernetes?

EndpointSlice en Kubernetes es un rastreador de puntos finales de red. Hace posible monitorear los puntos finales de la red en un clúster de Kubernetes. En palabras simples, es un objeto que obtiene las direcciones IP de cada pod que se le asigna. El servicio de Kubernetes hace referencia a este objeto para obtener el registro de las direcciones IP internas del módulo para la comunicación. Además, estos puntos finales son utilizados por los pods para exponerse a un servicio.

En el ámbito de Kubernetes, estos puntos finales funcionan como una capa de abstracción que ayuda al servicio de Kubernetes a asegurarse de que haya una distribución de tráfico a los pods en el clúster. Sin embargo, cuando aumenta la carga de tráfico, se produce el problema de escalado de tráfico. Esto se debe a que un solo punto final contiene todos los puntos finales de la red para cada servicio. Y cuando estas fuentes crecen hasta un tamaño inaceptable, el rendimiento de Kubernetes se ve afectado negativamente. En otras palabras, cuando la cantidad de puntos finales de la red crece enormemente, la capacidad de Kubernetes para escalar la implementación se ve afectada negativamente. Entendamos esto con la ayuda de la siguiente imagen gráfica:









Aquí puede ver que un Endpoint contiene todos los pods en el clúster y EndpointSlices son la alternativa extensible y escalable al Endpoint existente. Solo hay un recurso de Endpoint para todo el servicio, pero hay más de un EndpointSlices para el mismo servicio. Los EndpointSlices lo ayudan a escalar sus recursos de red de esta manera. Para comprender cuán importante es este problema de escalabilidad, tomemos un ejemplo.



Por ejemplo, el servicio de Kubernetes tiene unos 9000 pods que de alguna manera terminan en 2 MB de recursos de Endpoint. Un solo Endpoint tiene todos estos recursos de Endpoint de los servicios. Si algún punto final de la red cambia en el punto final, todo el recurso del punto final debe distribuirse entre cada nodo del clúster. Cuando se trata de lidiar con un clúster que tiene 3000 nodos, se convierte en un gran problema ya que es necesario enviar una gran cantidad de actualizaciones a cada nodo. Por lo tanto, cuando se escala más en un solo punto final, se vuelve más difícil escalar la red.





Sin embargo, EndpointSlices resuelve este problema al permitir que Kubernetes escale tanto como sea necesario. En lugar de usar un solo punto final que contenga una lista enorme de direcciones IP y sus números de puerto asociados, use varios EndpointSlices. Estos EndpointSlices son pequeños fragmentos de un gran punto final único. Estos segmentos son mucho más pequeños, pero mitigan la carga causada por el gran punto final. Puede almacenar hasta 100 pods en un EndpointSlice. Estos EndpointSlices lo ayudan a distribuir el servicio a un pod específico. Si algún extremo de la red cambia, solo necesita enviar actualizaciones a un EndpointSlice que contiene un máximo de 100 pods. Todos los demás pods en la red permanecen intactos.

Ahora, aprendamos cómo podemos crear un Kubernetes EndpointSlice.



¿Cómo se crean EndpointSlices en Kubernetes?

Kubernetes EndpointSlices es la mejor alternativa a un punto final único en el clúster de Kubernetes. No solo lo ayuda a rastrear todos los puntos finales de la red de manera fácil y eficiente, sino que también brinda un mejor rendimiento en comparación con un solo punto final. También muestra el tráfico de red más bajo al tiempo que ofrece confiabilidad escalable. Además, el uso de múltiples EndpointSlices le permite dedicar menos trabajo al plano de control y los nodos en el clúster de Kubernetes.

Puede tener los pasos que le permiten aprender a crear EndpointSlices en el clúster de Kubernetes en los siguientes ejemplos.

Paso 1: Inicie el clúster de Minikube

El primer y más importante paso es asegurarse de que el clúster de minikube esté activo. Un clúster de minikube inactivo no le permitirá realizar ningún trabajo en el entorno de Kubernetes, así que asegúrese de que esté en modo activo. Para asegurarse de que el clúster de minikube esté en funcionamiento, use el siguiente comando:

> iniciar minikube

Si su clúster de minikube no se ha iniciado antes o si está en modo de suspensión, este comando lo activa y lo pone en funcionamiento. Ahora, tiene un clúster minikube activo. Está listo para crear EndpointSlice en su entorno de Kubernetes.

Paso 2: Cree una implementación con el archivo YAML

El archivo YAML se usa más comúnmente en Kubernetes para crear implementaciones. Puede usar el archivo YAML de implementación preexistente o puede crear uno nuevo con el siguiente comando:

> punto final nano.yaml

Esto crea un nuevo archivo YAML llamado 'endpoint.yaml' donde puede guardar la definición de implementación para la configuración. Consulte la definición de implementación en la siguiente captura de pantalla:

Paso 3: Cree EndpointSlice utilizando el archivo YAML

Ahora que tenemos un archivo YAML que contiene la definición de implementación, lo usamos para crear EndpointSlices en nuestro clúster de Kubernetes. Necesitamos implementar el archivo de configuración para que podamos tener EndpointSlices en el clúster de Kubernetes. Usamos el siguiente comando para implementar el archivo de configuración:

> kubectl create -f endpoint.yaml

En el entorno de Kubernetes, los recursos se crean mediante el comando 'kubectl create'. Por lo tanto, usamos el comando 'kubectl create' para crear EndpointSlices desde el archivo de configuración YAML.

Conclusión

Exploramos EndpointSlices en el entorno de Kubernetes. EndpointSlice en Kubernetes es un objeto que se usa para rastrear todos los puntos finales de la red en el clúster de Kubernetes. Es la mejor alternativa a un enorme y único Endpoint en el clúster de Kubernetes, ya que permite mejores opciones de escalabilidad y extensibilidad. Estos EndpointSlices permiten que el clúster de Kubernetes brinde un mejor rendimiento al colocar menos mano de obra en los nodos y el plano de control. Con la ayuda de un ejemplo, aprendimos cómo crear EndpointSlices en el clúster de Kubernetes.