Administración de clústeres de K8S: utilice el espacio de nombres para separar los recursos del sistema

El espacio de nombres de Kubernetes no es un objeto de entidad, sino un concepto lógico. Puede dividir el clúster en áreas independientes, y luego colocamos los objetos en estas áreas para lograr un efecto de aislamiento similar al espacio de nombres en la tecnología de contenedores. La aplicación solo puede asignar recursos y ejecutarse en su propio espacio de nombres. Interferirá con las aplicaciones en otros espacios de nombres.

 Una consideración práctica de Kubernetes cuando se enfrenta a clústeres a gran escala y nodos masivos. Debido a que el clúster es grande y los recursos informáticos son suficientes, muchos usuarios crearán varias aplicaciones en Kubernetes y puede haber millones de pods, lo que aumenta en gran medida la probabilidad de contención de recursos y conflictos de nombres, la situación es muy similar a la de un sistema Linux independiente.

"Localice" correctamente el clúster y cree su propio "espacio de trabajo" para cada tipo de usuario.

Cuando Kubernetes inicializa el clúster, se preestablecen cuatro espacios de nombres: predeterminado, kube-system, kube-public y kube-node-lease. Los dos primeros son de uso común. default es el espacio de nombres predeterminado de los objetos de usuario, y kube-system es el espacio de nombres de los componentes del sistema. Creo que ya está familiarizado con ellos.

La cuota de recursos del espacio de nombres necesita usar un objeto API especial llamado ResourceQuota, denominado cuota, podemos usar el comando kubectl create para crear un archivo de plantilla para él:

export out="--dry-run=client -o yaml"
kubectl create quota dev-qt $out

Debido a que el objeto de cuota de recursos debe adjuntarse a un determinado espacio de nombres, el espacio de nombres debe escribirse explícitamente en su campo de metadatos (de lo contrario, se aplicará al espacio de nombres predeterminado).

Se pueden establecer varias cuotas de recursos en ResourceQuota, y hay muchos campos.

  • Para las cuotas de CPU y memoria, use request.*, limits.*, que son los mismos que los límites de recursos del contenedor.
  • Para las cuotas de capacidad de almacenamiento, Requests.storage limita la capacidad de almacenamiento total de los PVC, y los reclamos de volumen persistentes también se pueden usar para limitar la cantidad de PVC.
  • Para cuotas de objetos principales, use el nombre del objeto (forma plural en inglés), como pods, mapas de configuración, secretos y servicios.
  • Cuotas para otros objetos API, en forma de recuento/nombre.grupo, como recuento/trabajos.lote, recuento/implementaciones.aplicaciones.

Un objeto auxiliar pequeño pero útil: LimitRange, denominado límites, puede agregar límites de cuota de recursos predeterminados para objetos API.

  • spec.limits es su propiedad principal, que describe los límites de recursos predeterminados.
  • type es el tipo de objeto que se va a restringir, que puede ser Container, Pod o PersistentVolumeClaim.
  • default es el límite superior predeterminado de recursos, correspondiente a resources.limits en el contenedor, solo aplicable a Container.
  • defaultRequest Los recursos solicitados por defecto, correspondientes a resources.requests en el contenedor, también solo aplicable a Container.
  • max y min son los valores máximo y mínimo de recursos que el objeto puede utilizar.

1. El espacio de nombres es un concepto lógico sin entidades. Su objetivo es definir un límite lógico para recursos y objetos para evitar conflictos.

2. El objeto ResourceQuota puede agregar cuotas de recursos al espacio de nombres, lo que limita la cantidad de objetos de CPU, memoria y API globales.

3. El objeto LimitRange puede agregar cuotas de recursos predeterminadas para contenedores o Pods, lo que simplifica la creación de objetos.

Este artículo es una nota de estudio para el día 23 de julio. El contenido proviene del "Curso práctico introductorio de Kubernetes" de Geek Time . Se recomienda este curso.

Supongo que te gusta

Origin blog.csdn.net/key_3_feng/article/details/131872569
Recomendado
Clasificación