Adding suggestions

This commit is contained in:
Eduardo Salazar Carrillo 2024-06-04 09:31:33 -06:00 committed by GitHub
parent e1cac996e5
commit 4347f64369
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 19 additions and 19 deletions

View File

@ -13,18 +13,18 @@ Los sistemas distribuidos suelen necesitar _arrendamientos_, que proporcionan un
y coordinar la actividad entre los miembros de un conjunto.
En Kubernetes, el concepto de arrendamiento está representado por objetos [Lease](/docs/reference/kubernetes-api/cluster-resources/lease-v1/)
en el {{< glossary_tooltip text="grupo API" term_id="api-group" >}} de `coordination.k8s.io`,
que se utilizan para capacidades críticas del sistema, como los latidos del nodo y la elección del líder a nivel de componente.
que se utilizan para capacidades críticas del sistema, como los heartbeats del nodo y la elección del líder a nivel de componente.
<!-- body -->
## Latidos del nodo {#node-heart-beats}
## Heartbeats del nodo {#node-heart-beats}
Kubernetes utiliza la API Lease para comunicar los latidos de los nodos kubelet al servidor API de Kubernetes.
Para cada `Nodo` , existe un objeto `Lease` con un nombre coincidente en el espacio de nombres `kube-node-lease`.
Bajo el capó, cada latido kubelet es una solicitud **update** a este objeto `Lease`, actualizando
Kubernetes utiliza la API Lease para comunicar los heartbeats de los nodos kubelet al servidor API de Kubernetes.
Para cada `Nodo` , existe un objeto `Lease` con un nombre que coincide en el espacio de nombres `kube-node-lease`.
Analizando a detalle, cada hearbeat es una solicitud **update** a este objeto `Lease`, actualizando
el campo `spec.renewTime` del objeto Lease. El plano de control de Kubernetes utiliza la marca de tiempo de este campo
para determinar la disponibilidad de este «Nodo».
Véase [Objetos Lease de nodos](/docs/concepts/architecture/nodes/#heartbeats) para más detalles.
Ve [Objetos Lease de nodos](/docs/concepts/architecture/nodes/#heartbeats) para más detalles.
## Elección del líder
Kubernetes también utiliza Leases para asegurar que sólo una instancia de un componente se está ejecutando en un momento dado.
@ -38,12 +38,12 @@ instancias están en espera.
A partir de Kubernetes v1.26, cada `kube-apiserver` utiliza la API Lease para publicar su identidad al resto del sistema.
Aunque no es particularmente útil por sí mismo, esto proporciona un mecanismo para que los clientes
descubrir cuántas instancias de `kube-apiserver` están operando el plano de control de Kubernetes.
puedan descubrir cuántas instancias de `kube-apiserver` están operando el plano de control de Kubernetes.
La existencia de los objetos leases de kube-apiserver permite futuras capacidades que pueden requerir la coordinación entre
cada kube-apiserver.
Puede inspeccionar los leases de cada kube-apiserver buscando objetos leases en el espacio de nombres `kube-system`
con el nombre `kube-apiserver-<sha256-hash>`. También puede utilizar el selector de etiquetas `apiserver.kubernetes.io/identity=kube-apiserver`:
Puedes inspeccionar los leases de cada kube-apiserver buscando objetos leases en el namespace `kube-system`
con el nombre `kube-apiserver-<sha256-hash>`. También puedes utilizar el selector de etiquetas `apiserver.kubernetes.io/identity=kube-apiserver`:
```shell
kubectl -n kube-system get lease -l apiserver.kubernetes.io/identity=kube-apiserver
@ -55,9 +55,10 @@ apiserver-7be9e061c59d368b3ddaf1376e apiserver-7be9e061c59d368b3ddaf1376e
apiserver-1dfef752bcb36637d2763d1868 apiserver-1dfef752bcb36637d2763d1868_c5ffa286-8a9a-45d4-91e7-61118ed58d2e 4m43s
```
El hash SHA256 utilizado en el nombre del lease se basa en el nombre de host del sistema operativo visto por ese servidor API. Cada kube-apiserver debe ser
configurado para utilizar un nombre de host que es único dentro del clúster. Las nuevas instancias de kube-apiserver que utilizan el mismo nombre de host
asumirán los leases existentes utilizando una nueva identidad de titular, en lugar de instanciar nuevos objetos leases. Puede comprobar el
asumirán los leases existentes utilizando una nueva identidad de titular, en lugar de instanciar nuevos objetos leases. Puedes comprobar el
nombre de host utilizado por kube-apiserver comprobando el valor de la etiqueta `kubernetes.io/hostname`:
```shell
@ -83,21 +84,20 @@ spec:
Los leases caducados de los kube-apiservers que ya no existen son recogidos por los nuevos kube-apiservers después de 1 hora.
Puede desactivar el lease de identidades del servidor API desactivando la opción `APIServerIdentity` de la [puerta de función](/docs/reference/command-line-tools-reference/feature-gates/).
Puedes desactivar el lease de identidades del servidor API desactivando la opción `APIServerIdentity` de los [interruptores de funcionalidades](/docs/reference/command-line-tools-reference/feature-gates/).
## Cargas de trabajo {#custom-workload}
Su propia carga de trabajo puede definir su propio uso de los leases. Por ejemplo, puede ejecutar un
Tu propia carga de trabajo puede definir su propio uso de los leases. Por ejemplo, puede ejecutar un
{{< glossary_tooltip term_id=controller text=controlador >}} en la que un miembro principal o líder
realiza operaciones que sus compañeros no realizan. Usted define un Lease para que las réplicas del controlador puedan seleccionar
realiza operaciones que sus compañeros no realizan. Tú defines un Lease para que las réplicas del controlador puedan seleccionar
o elegir un líder, utilizando la API de Kubernetes para la coordinación.
Si utiliza un lease, es una buena práctica definir un nombre para el lease que esté obviamente vinculado a
el producto o componente. Por ejemplo, si tiene un componente denominado Ejemplo Foo, utilice un lease denominado
Si utilizas un lease, es una buena práctica definir un nombre para el lease que esté obviamente vinculado a
el producto o componente. Por ejemplo, si tienes un componente denominado Ejemplo Foo, utilice un lease denominado
`ejemplo-foo`.
Si un operador de clúster u otro usuario final puede desplegar varias instancias de un componente, seleccione un nombre
prefijo y elija un mecanismo (como el hash del nombre del despliegue) para evitar colisiones de nombres
Si un operador de clúster u otro usuario final puede desplegar varias instancias de un componente, selecciona un nombre
prefijo y elije un mecanismo (como el hash del nombre del despliegue) para evitar colisiones de nombres
para los leases.
Puede utilizar otro enfoque siempre que consiga el mismo resultado: los distintos productos de software no entran en conflicto entre sí.
no entren en conflicto entre sí.
Puedes utilizar otro enfoque siempre que consigas el mismo resultado: los distintos productos de software no entren en conflicto entre sí.