Activación de clusters para IPv4 y IPv6
Descubra lo que necesita saber sobre las direcciones IPv4 y IPv6 al utilizar Kubernetes Engine (OKE).
Al utilizar Kubernetes Engine para crear clusters de Kubernetes (versión 1.29 o posterior), especifique qué familia de direcciones IP utilizar al asignar direcciones IP para permitir la comunicación con el cluster y dentro del cluster. Puede especificar:
- solo la familia de direcciones IPv4
- tanto la familia de direcciones IPv4 como IPv6
Acerca de IPv4
El protocolo de Internet IPv4 es un estándar para identificar dispositivos en una red mediante la asignación de una dirección IP única a cada dispositivo. IPv4 tiene un espacio de direcciones de 32 bits (232), que proporciona más de 4,2 mil millones de direcciones IP únicas. Una dirección IPv4 es un valor de 32 bits, comúnmente formateado como cuatro segmentos de 8 bits (conocidos como octetos) separados por un punto, donde cada segmento es un valor decimal entre 0 y 255. Por ejemplo, 203.0.113.2.
Una dirección IPv4 tiene dos partes, una parte de red (o 'prefijo') para identificar una red y una parte de host para identificar un dispositivo individual en esa red. La cantidad de la dirección IPv4 que está disponible para su uso, ya que la parte de red se indica mediante un sufijo CIDR agregado a la dirección IPv4 después de un carácter de barra diagonal. Por ejemplo, /24 indica que los primeros 24 bits (los primeros tres segmentos de ocho bits) de la dirección IPv4 forman la parte de red de la dirección, dejando los 8 bits restantes (el segmento final) disponibles para formar la parte de host de la dirección.
Tomando 203.0.113.2/24 como ejemplo:
- 203.0.113 es la parte de la red (o "prefijo") de la dirección
- .2 es la parte del host de la dirección
- 203.0.113.2 es la dirección de un dispositivo individual
- 203.0.113.0/24 es un 'bloque CIDR', que representa todo el rango de direcciones que pueden compartir el mismo prefijo de red. En este caso, el bloque CIDR incluye todas las direcciones IP entre 203.0.113.0 y 203.0.113.255
La proliferación de dispositivos conectados a Internet está agotando la agrupación de direcciones IPv4 disponibles y es una de las razones de la adopción a gran escala de IPv6.
Acerca de IPv6
IPv6 es el sucesor de IPv4 y tiene un espacio de dirección mucho mayor de 128 bits (2128), que proporciona direcciones IP únicas de 3,4 x 1038. Una dirección IPv6 es un valor de 128 bits, formateado como ocho grupos de 16 bits (conocidos como hectets), separados por dos puntos, donde cada grupo es un valor hexadecimal entre 0000 y ffff. Por ejemplo, 2001:0db8:0123:1111:abcd:ef01:2345:6789.
Una dirección IPv6 tiene dos partes, una parte de red (o 'prefijo') para identificar una red y una parte de host para identificar un dispositivo individual en esa red. La cantidad de la dirección IPv6 que está disponible para su uso, ya que la parte de red se indica mediante un sufijo CIDR agregado a la dirección IPv6 después de un carácter de barra diagonal. Por ejemplo, /64 indica que los primeros 64 bits (los primeros cuatro grupos de 16 bits) forman la parte de red de la dirección, dejando los 64 bits restantes (los segundos cuatro grupos de 16 bits) disponibles para formar la parte de host de la dirección.
Tomando 2001:0db8:0123:1111:abcd:ef01:2345:6789/64 como ejemplo:
- 2001:0db8:0123:1111 es la parte de la red (o "prefijo") de la dirección
- abcd:ef01:2345:6789 es la parte de host de la dirección
- 2001:0db8:0123:1111:abcd:ef01:2345:6789 es la dirección de un dispositivo individual
- 2001:0db8:0123:1111:0000:0000:0000:0000/64 es un "bloque CIDR", que representa toda la gama de direcciones que pueden compartir el mismo prefijo de red. En este caso, el bloque CIDR incluye todas las direcciones IP entre 2001:0db8:0123:1111:0000:0000:0000:0000 y 2001:0db8:0123:1111:ffff:ffff:ffff:ffff:ffff
El espacio de direcciones IPv6 se organiza en categorías, como la categoría de unidifusión. La categoría de unidifusión incluye:
- Direcciones de unidifusión globales (GUA), que son únicas globalmente y enrutables a Internet.
- Direcciones de unidifusión locales únicas (ULA), que son para la comunicación local dentro de una red.
Además de tener un espacio de direcciones mucho más grande que resuelve el problema del agotamiento de direcciones IPv4, IPv6 tiene otras ventajas sobre IPv4, que incluyen:
- IPv6 es más seguro que IPv4, con soporte incorporado para el cifrado y la autenticación de datos.
- IPv6 ofrece un enrutamiento más eficaz que IPv4.
- IPv6 ofrece velocidades de transmisión de datos más rápidas que IPv4.
Soporte de OCI para IPv6
Oracle Cloud Infrastructure soporta las direcciones IPv4 y IPv6.
Las redes virtuales en la nube de OCI soportan direcciones solo IPv4 y también direcciones IPv4 y IPv6 de "pila doble". Cada VCN siempre tiene al menos un CIDRIPv4 CIDR IPv4 privado y puede activar IPv6 durante la creación de la VCN. También puede agregar un prefijo IPv6 a una VCN solo con IPv4 a la vez que activa IPv6. Al crear una subred de una VCN activada para IPv6, puede activar la subred para que tenga:
- Solo direcciones IPv4 (denominadas subred IPv4 de pila única)
- direcciones IPv4 y IPv6 (denominadas subred de doble pila IPv4/IPv6)
- Solo direcciones IPv6 (denominadas subred IPv6 de pila única)
Una VCN con IPv6 activado puede tener una combinación de subredes IPv4 de pila única, subredes IPv6 de pila única y subredes IPv4/IPv6 de pila doble.
Para obtener más información sobre IPv6 y OCI en general, consulte Direcciones IPv6.
Soporte de Kubernetes para IPv4 y IPv6
Kubernetes proporciona soporte para redes IPv4 de pila única, redes IPv6 de pila única o redes de pila doble.
Para obtener más información sobre el soporte de IPv4 y IPv6 en Kubernetes, consulte pila doble IPv4/IPv6 en la documentación de Kubernetes.
Soporte de Kubernetes Engine para IPv4 y IPv6
En versiones anteriores de Kubernetes Engine (que soporta clusters que ejecutan versiones de Kubernetes anteriores a la versión 1.29), solo puede crear clusters activados para IPv4. En un cluster activado para IPv4, al punto final de API de Kubernetes del cluster, al equilibrador de carga, a los nodos de trabajador y a los pods y servicios que se ejecutan en el cluster se les asignan direcciones IPv4. La comunicación con el cluster y dentro del cluster utiliza solo direcciones IPv4 (se ignoran todas las direcciones IPv6 asignadas).
En las versiones de Kubernetes Engine que soportan clusters que ejecutan versiones 1.29 o posteriores de Kubernetes, puede crear:
- IPv4 clusters de pila única, activados solo para IPv4.
- IPv4/IPv6 clusters de pila doble, activados para IPv4 y IPv6 (a veces denominados simplemente clusters de pila doble).
Al crear un cluster, especifique la familia de direcciones IP del cluster:
- Si especifica solo IPv4 como familia de direcciones IP del cluster, creará un cluster de pila única IPv4.
- Si especifica IPv4 y IPv6 como familias de direcciones IP del cluster, creará un cluster de pila doble IPv4/IPv6.
Al crear un cluster de pila única IPv4, puede especificar una VCN activada para IPv4 para el cluster o puede especificar una VCN activada para IPv4 y IPv6.
Al crear un cluster de pila doble IPv4/IPv6, la VCN que especifique para el cluster debe estar activada para IPv4 y IPv6. Además, para crear un cluster de pila doble IPv4/IPv6:
- Los nodos de plano de control y los nodos de trabajador deben ejecutar la versión 1.29 o posterior de Kubernetes.
- Los nodos de trabajador deben estar basados en una imagen de OKE con un número de compilación de 754 o superior.
- Cualquier subred de pila doble IPv4/IPv6 que especifique para el punto final de API de Kubernetes, el equilibrador de carga, los nodos de trabajador y la comunicación de pod deben ser subredes públicas.
- El cluster debe ser un nuevo cluster o un "cluster nativo de VCN". Es decir, un cluster que tiene su punto final de API de Kubernetes integrado en su propia VCN (consulte Migración a clusters nativos de VCN). Los clusters con puntos finales de API de Kubernetes que no están integrados en su propia VCN no pueden ser clusters de pila doble IPv4/IPv6.
Creación de clusters de pila única IPv4 y clusters de pila doble IPv4/IPv6
Al crear un cluster, especifique la familia de direcciones IP del cluster como solo IPv4 o como IPv4 y IPv6.
Puede crear clusters de pila única IPv4 y clusters de pila doble IPv4/IPv6 mediante:
- Consola: utilice el flujo de trabajo de creación personalizada para crear el cluster. Las familias de direcciones IP del cluster se infieren a partir de las selecciones que realice.
- CLI: utilice el comando oci ce cluster create para crear el cluster e incluir el parámetro
--ip-families
para especificar explícitamente las familias de direcciones IP del cluster, con el formato:oci ce cluster create --compartment-id <compartment-ocid> --kubernetes-version <kubernetes-version> --name <cluster-name> --vcn-id <vcn-ocid> --ip-families='["<ip-family-1>", "<ip-family-2>"]' [OPTIONS]
Por ejemplo:
oci ce cluster create --compartment-id ocid1.compartment.oc1..aaaaaaaay______t6q --kubernetes-version v1.31.1 --name Finance-Cluster --vcn-id ocid1.vcn.oc1.iad.aaaaaae___yja --ip-families='["IPv4", "IPv6"]'
- la API: ejecute la operación CreateCluster para crear el cluster y especificar las familias de direcciones IP del cluster.
Direcciones IP y recursos relacionados con el cluster
El punto final de API de Kubernetes de un cluster, los nodos de trabajador y la comunicación de pod heredan la familia de direcciones IP especificada para el cluster. Por lo tanto, en un cluster de pila doble IPv4/IPv6, el punto final de API de Kubernetes, los nodos de trabajador y la comunicación de pod utilizan tanto la familia de direcciones IPv4 como la familia de direcciones IPv6.
Las subredes que especifique para el punto final de API de Kubernetes del cluster, para sus nodos de trabajador y para la comunicación de pod deben ser compatibles con la familia de direcciones IP del cluster de la siguiente forma:
- Un cluster de pila única IPv4 es compatible tanto con una subred de pila única IPv4 como con una subred de pila doble IPv4/IPv6. Por lo tanto, puede especificar una subred de pila única IPv4 o una subred de pila doble IPv4/IPv6 para el punto final de API de Kubernetes del cluster, para sus nodos de trabajador y para la comunicación de pod.
- Un cluster de pila doble IPv4/IPv6 solo es compatible con una subred de pila doble IPv4/IPv6. Por lo tanto, debe especificar una subred pública de doble pila IPv4/IPv6 para el punto final de API de Kubernetes del cluster, para sus nodos de trabajador y para la comunicación de pod. No puede especificar una subred de pila única IPv4 para un punto final de API de Kubernetes del cluster de pila doble IPv4/IPv6, para sus nodos de trabajador y para la comunicación de pod.
Habiendo especificado subredes para el punto final de API de Kubernetes del cluster, nodos de trabajador y comunicación de pod que son compatibles con la familia de direcciones IP del cluster:
- Si selecciona una única subred IPv4 de pila para el recurso, al recurso solo se le proporciona una dirección IPv4.
- Si selecciona una subred IPv4/IPv6 de pila doble para el recurso, se le proporciona al recurso una dirección IPv4 y una dirección IPv6.
Tenga en cuenta lo siguiente:
- Puede especificar la familia de direcciones IP del equilibrador de carga de un cluster independientemente de la familia de direcciones IP del cluster. Por ejemplo, puede crear un equilibrador de carga de doble pila IPv4/IPv6 para un cluster de pila única IPv4 (consulte Especificación de familias de direcciones IP para equilibradores de carga y equilibradores de carga de red).
- Cualquier subred IPv4/IPv6 de pila doble que especifique para el punto final de API de Kubernetes, el equilibrador de carga, los nodos de trabajador y la comunicación de pod deben ser una subred pública. La subred pública necesita un gateway de NAT para las direcciones IPv4 y un gateway de Internet para las direcciones IPv6.
- Si se asignan varios prefijos IPv6 a una subred de doble pila IPv4/IPv6, Kubernetes Engine utiliza el primer prefijo IPv6 definido para la subred.
- Kubernetes Engine soporta los prefijos IPv6 de GUA y ULA.
Política de IAM adicional para acceder a los recursos con direcciones IPv6
Para permitir que un cluster utilice direcciones IPv6 para acceder a los recursos, incluya una sentencia de política similar a la siguiente en una política de IAM:
Allow any-user to use ipv6s in compartment <compartment-ocid-of-network-resources> where all { request.principal.id = '<cluster-ocid>' }
Direcciones IP de punto final de API de Kubernetes
El punto final de API de Kubernetes de un cluster hereda la familia de direcciones IP especificada para el cluster. Por lo tanto, en un cluster de pila doble IPv4/IPv6, el punto final de API de Kubernetes utiliza la familia de direcciones IPv4 y la familia de direcciones IPv6.
Por lo tanto, especifique una subred para el punto final de API de Kubernetes que sea compatible con la familia de direcciones IP del cluster:
- Al especificar una subred para el punto final de API de Kubernetes configurado para soportar direcciones IPv4 (ya sea una subred de pila única IPv4 o una subred de pila doble IPv4/IPv6), una dirección IPv4 disponible en la subred se asigna automáticamente al punto final de API de Kubernetes como una dirección privada.
- Para asignar una dirección IPv4 pública al punto final de API de Kubernetes, debe especificar una subred pública para el punto final de API de Kubernetes configurado para soportar direcciones IPv4 (ya sea una subred de una sola pila IPv4 o una subred de doble pila IPv4/IPv6). Una vez especificada dicha subred pública, si especifica que desea asignar una dirección IPv4 pública, se asigna automáticamente una dirección IPv4 disponible en la subred al punto final de API de Kubernetes como dirección pública.
- Para asignar una dirección IPv4 y una dirección IPv6 al punto final de API de Kubernetes, debe especificar una subred pública de doble pila IPv4/IPv6 para el punto final de API de Kubernetes. Una dirección IPv4 disponible y una dirección IPv6 en la subred se asignan automáticamente al punto final de API de Kubernetes.
Tenga en cuenta que la familia de direcciones de la subred que especifique para el punto final de API de Kubernetes debe ser compatible con la familia de direcciones IP del cluster. Un cluster de pila única IPv4 es compatible con una subred de pila única IPv4 y una subred de pila doble IPv4/IPv6. Un cluster de pila doble IPv4/IPv6 solo es compatible con una subred de pila doble IPv4/IPv6.
Direcciones IP del equilibrador de carga
Por defecto, el equilibrador de carga de un cluster hereda la familia de direcciones IP especificada para el cluster. Por lo tanto, en un cluster de pila doble IPv4/IPv6, el equilibrador de carga utiliza tanto la familia de direcciones IPv4 como la familia de direcciones IPv6.
Especifique una subred para el equilibrador de carga del cluster de la siguiente manera:
- Para asignar solo una dirección IPv4 al equilibrador de carga, especifique una subred de pila única IPv4 o una subred de pila doble IPv4/IPv6. Se asigna automáticamente una dirección IPv4 disponible en la subred al equilibrador de carga.
- Para asignar una dirección IPv4 y una dirección IPv6 al equilibrador de carga, especifique una subred de doble pila IPv4/IPv6. Se asignan automáticamente al equilibrador de carga una dirección IPv4 disponible y una dirección IPv6 en la subred.
Tenga en cuenta que la familia de direcciones de la subred que especifique para un equilibrador de carga no debe ser compatible con la familia de direcciones IP del cluster. Puede crear un equilibrador de carga de doble pila IPv4/IPv6 para un cluster de pila única IPv4 (consulte Especificación de familias de direcciones IP para equilibradores de carga y equilibradores de carga de red).
Para obtener más información, consulte:
Direcciones IP de nodo de trabajador
Los pools de nodos y los nodos de trabajador de un cluster heredan la familia de direcciones IP especificada para el cluster. Por lo tanto, en un cluster de pila doble IPv4/IPv6, un pool de nodos y sus nodos de trabajador utilizan tanto la familia de direcciones IPv4 como la familia de direcciones IPv6.
Por lo tanto, especifique una subred para los nodos de trabajador que sea compatible con la familia de direcciones IP del cluster:
- Para asignar solo direcciones IPv4 a nodos de trabajador, especifique una subred de pila única IPv4 o una subred de pila doble IPv4/IPv6 para el pool de nodos. Las direcciones IPv4 disponibles en la subred se asignan automáticamente a los nodos de trabajador.
- Para asignar tanto direcciones IPv4 como direcciones IPv6 a los nodos de trabajador, especifique una subred de doble pila IPv4/IPv6 para el pool de nodos. Las direcciones IPv4 y IPv6 disponibles en la subred se asignan automáticamente a los nodos de trabajador.
Tenga en cuenta que la familia de direcciones de la subred que especifique para los nodos de trabajador debe ser compatible con la familia de direcciones IP del cluster. Un cluster de pila única IPv4 es compatible con una subred de pila única IPv4 y una subred de pila doble IPv4/IPv6. Un cluster de pila doble IPv4/IPv6 solo es compatible con una subred de pila doble IPv4/IPv6.
Direcciones IP de comunicación de pod
Un pod de cluster utiliza la familia de direcciones IP especificada para el cluster para la comunicación de pod. Por lo tanto, en un cluster de pila doble IPv4/IPv6, la comunicación de pod utiliza tanto la familia de direcciones IPv4 como la familia de direcciones IPv6.
Por lo tanto, especifique una subred para la comunicación de pod que sea compatible con la familia de direcciones IP del cluster:
- Si desea que los pods tengan y utilicen solo direcciones IPv4, especifique una subred de pila única IPv4 o una subred de pila doble IPv4/IPv6. Las direcciones IPv4 disponibles en la subred se asignan automáticamente a los pods.
- Si desea que los pods tengan y utilicen direcciones IPv4 y IPv6, especifique una subred de pila doble IPv4/IPv6. Las direcciones IPv4 y IPv6 disponibles en la subred se asignan automáticamente a los pods.
Tenga en cuenta que la familia de direcciones de la subred que especifique para la comunicación de pod debe ser compatible con la familia de direcciones IP del cluster. Un cluster de pila única IPv4 es compatible con una subred de pila única IPv4 y una subred de pila doble IPv4/IPv6. Un cluster de pila doble IPv4/IPv6 solo es compatible con una subred de pila doble IPv4/IPv6.
Consideraciones adicionales para la configuración de red de pod
Al configurar la comunicación de pod en un entorno IPv4 o IPv6, determinados valores de host pueden afectar al reenvío de tráfico. Específicamente, los siguientes parámetros del núcleo pueden estar desactivados (establecidos en 0
), lo que afecta al tráfico de red de pod para sus respectivas familias de direcciones IP:
/proc/sys/net/ipv4/ip_forward
(para tráfico de pod IPv4)/proc/sys/net/ipv6/conf/all/forwarding
(para tráfico de pod IPv6)
Si se desactiva esta configuración, la comunicación de pod para la familia de direcciones IP correspondiente no puede recorrer las interfaces de red del host. Se realizan intentos para activar estos parámetros mediante la definición de sus valores en 1
, lo que garantiza el correcto reenvío de tráfico de pod para IPv4 y IPv6. Sin embargo, las configuraciones de host personalizadas (por ejemplo, los archivos en /etc/sysctl.d/
) pueden sustituir esta configuración, lo que provoca interrupciones de red.
Si observa problemas con la comunicación de pod, como que el tráfico no se reenvíe entre pods o de pods al host, verifique los valores de los parámetros relevantes del núcleo. Asegúrese de que estén definidos en 1
para la familia de direcciones IP afectada. Ajuste las configuraciones en conflicto en /etc/sysctl.d/
o los archivos relacionados para resolver el problema.
Despliegue de servicios en clusters activados para IPv4 y clusters activados para IPv6
Al desplegar un servicio en un cluster de Kubernetes, al servicio se le asigna una dirección IP (y una familia de direcciones) del rango de IP del cluster de servicio. Un rango de IP de cluster de servicios es un rango de direcciones IP desde las que se pueden asignar direcciones IP virtuales (ClusterIPs) a los servicios, lo que permite acceder a los servicios dentro del cluster. Un cluster de Kubernetes puede tener:
- solo un rango de IP de cluster de servicio IPv4
- un rango de IP de cluster de servicio IPv4 y un rango de IP de cluster de servicio IPv6
El motor de Kubernetes crea rangos de IP de cluster de servicio para un cluster según las familias de direcciones IP especificadas al definir el cluster:
- Si ha especificado IPv4 como familia de IP del cluster, Kubernetes Engine crea un rango de IP de cluster de servicio IPv4 para el cluster.
- Si ha especificado IPv4 y IPv6 como familias de IP del cluster, Kubernetes Engine crea un rango de IP de cluster de servicio IPv4 y un rango de IP de cluster de servicio IPv6 para el cluster.
Por defecto, a los nuevos servicios desplegados en un cluster se les asigna una dirección IP desde el primer rango de IP del cluster de servicios especificado para el cluster. Sin embargo, puede utilizar el campo spec.ipFamilyPolicy
en el manifiesto de servicio para especificar qué rango de IP de cluster de servicio se utiliza (IPv4 o IPv6):
- Defina
ipFamilyPolicy: SingleStack
para asignar direcciones IP para el servicio desde el primer rango de IP de cluster de servicio especificado para el cluster. Si el cluster tiene un rango de IP de cluster de servicio IPv4 y un rango de IP de cluster de servicio IPv6, defina el campospec.ipFamilies
en el manifiesto de servicio si desea especificar explícitamente qué rango de IP de cluster de servicio utilizar. -
Defina
ipFamilyPolicy: PreferDualStack
para asignar tanto direcciones IPv4 como IPv6 al servicio si el servicio se despliega en un cluster con un rango de IP de cluster de servicio IPv4 y IPv6. Defina el campospec.ipFamilies
en el manifiesto de servicio si desea especificar explícitamente cuál de las dos direcciones IP se utilizará como dirección IP principal del servicio.De lo contrario, si el servicio se despliega en un cluster que solo tiene un rango de IP de cluster de servicio, se asigna una dirección IP al servicio desde ese rango de IP de cluster de servicio.
-
Defina
ipFamilyPolicy: RequireDualStack
para asignar tanto direcciones IPv4 como IPv6 al servicio si el servicio se despliega en un cluster con un rango de IP de cluster de servicio IPv4 y IPv6. Defina el campospec.ipFamilies
en el manifiesto de servicio si desea especificar explícitamente cuál de las dos direcciones IP se utilizará como dirección IP principal del servicio.De lo contrario, si el cluster solo tiene un rango de IP de cluster de servicio, no despliegue el servicio.
En la tabla, se muestra la interacción entre la familia de direcciones IP del cluster, la configuración de spec.ipFamilyPolicy
y spec.ipFamilies
en el manifiesto de servicio y la familia de direcciones IP de la que se asignan las direcciones IP al servicio. Tenga en cuenta que solo se muestran combinaciones válidas.
Familia de direcciones IP del cluster | ipFamilyPolicy definido en: |
ipFamilies definido en: |
Direcciones IP asignadas de servicio de esta familia de direcciones IP |
---|---|---|---|
IPv4 | SingleStack |
IPv4 |
IPv4 |
IPv4 e IPv6 | SingleStack |
IPv4 |
IPv4 |
IPv4 e IPv6 | SingleStack |
IPv6 |
IPv6 |
IPv4 | PreferDualStack |
IPv4 |
IPv4 |
IPv4 e IPv6 | PreferDualStack |
IPv4 |
IPv4 |
IPv4 e IPv6 | PreferDualStack |
IPv6 |
IPv6 |
IPv4 e IPv6 | PreferDualStack |
IPv4,IPv6 |
IPv4(primario) y IPv6 |
IPv4 e IPv6 | PreferDualStack |
IPv6,IPv4 |
IPv6(primario) y IPv4 |
IPv4 e IPv6 | RequireDualStack |
IPv4,IPv6 |
IPv4(primario) y IPv6 |
IPv4 e IPv6 | RequireDualStack |
IPv6,IPv4 |
IPv6(primario) y IPv4 |
Tenga en cuenta que a los servicios del sistema kubernetes.default y kube-dns.kube, que se despliegan automáticamente en cada cluster, se les asignan direcciones IP que coinciden con la familia IP del cluster.
Para obtener más información sobre el soporte de IPv4 y IPv6 en Kubernetes, consulte pila doble IPv4/IPv6 en la documentación de Kubernetes.