kube-apiserver es la puerta de enlace de API para su clúster de ACK. Este componente expone la API de Kubernetes a todos los elementos dentro y fuera del clúster; kubelet, kube-proxy y los clientes externos se comunican con el clúster a través de kube-apiserver.
Descripción general
kube-apiserver valida y configura los datos de los objetos de la API, incluidos pods, Services y ReplicationControllers. Ejecuta operaciones REST y ofrece una vista única y coherente del estado del clúster al resto de los componentes.
En ACK, kube-apiserver se gestiona e instala automáticamente. No se requiere configuración adicional.
Notas de versión
kube-apiserver se actualiza junto con la versión de Kubernetes. Para obtener detalles sobre las versiones compatibles, consulte Overview of Kubernetes versions supported by ACK.
Cómo se conectan los nodos al servidor de API
ACK ha migrado progresivamente desde direcciones IP fijas de Classic Load Balancer (CLB) hacia nuevos métodos para la comunicación entre nodos y el servidor de API. La siguiente tabla relaciona la fecha de creación del clúster con el comportamiento actual y el requisito de security group correspondiente.
|
Fecha de creación del clúster |
Versión de Kubernetes |
Cómo acceden los nodos al servidor de API |
Requisito de security group |
|
Posterior a febrero de 2023 |
1.20 o superior |
Una elastic network interface (ENI) expone los Services en el namespace predeterminado, lo que reemplaza a las instancias de CLB |
Si el security group del clúster difiere del security group de nodos o contenedores, el puerto 6443 debe admitir tráfico entrante en el security group del clúster |
|
Posterior a noviembre de 2024 |
1.20 o superior |
La dirección IP proporcionada por ENI, resuelta desde el nombre de dominio del servidor de API ( |
El puerto 6443 debe admitir tráfico entrante |
Clústeres creados después de febrero de 2023: exposición de servicios mediante ENI
Para los clústeres con Kubernetes 1.20 o superior creados después de febrero de 2023, ACK utiliza elastic network interfaces (ENI) en lugar de instancias de CLB para exponer los Services en el namespace predeterminado. Esto reduce la sobrecarga de rendimiento asociada a los enlaces de reenvío de CLB.
Si el security group de su clúster bloquea el tráfico entrante en el puerto 6443, y el security group de los nodos y contenedores difiere del security group del clúster, es posible que los componentes no puedan comunicarse con kube-apiserver. Asegúrese de que el puerto 6443 admita tráfico entrante en el security group del clúster.
Clústeres creados después de noviembre de 2024: acceso al servidor de API mediante nombre de dominio
Para mejorar la alta disponibilidad (HA) del clúster y eliminar la dependencia de direcciones IP fijas de CLB, ACK utiliza el nombre de dominio del servidor de API (apiserver.{Cluster ID}.{Region ID}.cs.aliyuncs.com) para la comunicación entre nodos y el servidor de API. kubelet y kube-proxy resuelven este nombre de dominio para obtener la dirección IP de la ENI y la utilizan para acceder al servidor de API, en lugar de usar una IP estática de CLB.
Esto aplica a los clústeres que ejecutan Kubernetes 1.20 o superior y se crearon después de noviembre de 2024.
ACK crea y gestiona este nombre de dominio mediante Private DNS. Consúltelo en la sección Cloud Service Defined Zones de la consola de DNS de Alibaba Cloud.
Si el security group de su clúster bloquea el tráfico entrante en el puerto 6443, es posible que los nodos no puedan acceder al servidor de API. Asegúrese de que el puerto 6443 admita tráfico entrante.
La resolución de nombres de dominio depende de las direcciones DNS internas predeterminadas 100.100.2.136 y 100.100.2.138 configuradas en la virtual private cloud (VPC) de Alibaba Cloud. Si configuró una IP de servidor DNS personalizada en sus nodos, asegúrese de que Private DNS en la VPC ascendente resuelva el nombre de dominio del servidor de API. De lo contrario, los nodos podrían no alcanzar el servidor de API.