Skip to content

Commit cd6b046

Browse files
Spanish translation of the document leases
1 parent bfa1214 commit cd6b046

File tree

1 file changed

+103
-0
lines changed
  • content/es/docs/concepts/architecture

1 file changed

+103
-0
lines changed
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
---
2+
title: Arrendamientos
3+
api_metadata:
4+
- apiVersion: "coordination.k8s.io/v1"
5+
kind: "Lease"
6+
content_type: concept
7+
weight: 30
8+
---
9+
10+
<!-- overview -->
11+
12+
Los sistemas distribuidos suelen necesitar _arrendamientos_, que proporcionan un mecanismo para bloquear recursos compartidos
13+
y coordinar la actividad entre los miembros de un conjunto.
14+
En Kubernetes, el concepto de arrendamiento está representado por objetos [Lease](/docs/reference/kubernetes-api/cluster-resources/lease-v1/)
15+
en el {{< glossary_tooltip text="grupo API" term_id="api-group" >}} de `coordination.k8s.io`,
16+
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.
17+
<!-- body -->
18+
19+
## Latidos del nodo {#node-heart-beats}
20+
21+
Kubernetes utiliza la API Lease para comunicar los latidos de los nodos kubelet al servidor API de Kubernetes.
22+
Para cada `Nodo` , existe un objeto `Lease` con un nombre coincidente en el espacio de nombres `kube-node-lease`.
23+
Bajo el capó, cada latido kubelet es una solicitud **update** a este objeto `Lease`, actualizando
24+
el campo `spec.renewTime` del objeto Lease. El plano de control de Kubernetes utiliza la marca de tiempo de este campo
25+
para determinar la disponibilidad de este «Nodo».
26+
27+
Véase [Objetos Lease de nodos](/docs/concepts/architecture/nodes/#heartbeats) para más detalles.
28+
29+
## Elección del líder
30+
Kubernetes también utiliza Leases para asegurar que sólo una instancia de un componente se está ejecutando en un momento dado.
31+
Esto lo utilizan componentes del plano de control como `kube-controller-manager` y `kube-scheduler` en configuraciones de
32+
HA, donde sólo una instancia del componente debe estar ejecutándose activamente mientras las otras
33+
instancias están en espera.
34+
35+
## Identidad del servidor API
36+
37+
{{< feature-state feature_gate_name="APIServerIdentity" >}}
38+
39+
A partir de Kubernetes v1.26, cada `kube-apiserver` utiliza la API Lease para publicar su identidad al resto del sistema.
40+
Aunque no es particularmente útil por sí mismo, esto proporciona un mecanismo para que los clientes
41+
descubrir cuántas instancias de `kube-apiserver` están operando el plano de control de Kubernetes.
42+
La existencia de los objetos leases de kube-apiserver permite futuras capacidades que pueden requerir la coordinación entre
43+
cada kube-apiserver.
44+
45+
Puede inspeccionar los leases de cada kube-apiserver buscando objetos leases en el espacio de nombres `kube-system`
46+
con el nombre `kube-apiserver-<sha256-hash>`. También puede utilizar el selector de etiquetas `apiserver.kubernetes.io/identity=kube-apiserver`:
47+
48+
```shell
49+
kubectl -n kube-system get lease -l apiserver.kubernetes.io/identity=kube-apiserver
50+
```
51+
```
52+
NAME HOLDER AGE
53+
apiserver-07a5ea9b9b072c4a5f3d1c3702 apiserver-07a5ea9b9b072c4a5f3d1c3702_0c8914f7-0f35-440e-8676-7844977d3a05 5m33s
54+
apiserver-7be9e061c59d368b3ddaf1376e apiserver-7be9e061c59d368b3ddaf1376e_84f2a85d-37c1-4b14-b6b9-603e62e4896f 4m23s
55+
apiserver-1dfef752bcb36637d2763d1868 apiserver-1dfef752bcb36637d2763d1868_c5ffa286-8a9a-45d4-91e7-61118ed58d2e 4m43s
56+
57+
```
58+
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
59+
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
60+
asumirán los leases existentes utilizando una nueva identidad de titular, en lugar de instanciar nuevos objetos leases. Puede comprobar el
61+
nombre de host utilizado por kube-apiserver comprobando el valor de la etiqueta `kubernetes.io/hostname`:
62+
63+
```shell
64+
kubectl -n kube-system get lease apiserver-07a5ea9b9b072c4a5f3d1c3702 -o yaml
65+
```
66+
```yaml
67+
apiVersion: coordination.k8s.io/v1
68+
kind: Lease
69+
metadata:
70+
creationTimestamp: "2023-07-02T13:16:48Z"
71+
labels:
72+
apiserver.kubernetes.io/identity: kube-apiserver
73+
kubernetes.io/hostname: master-1
74+
name: apiserver-07a5ea9b9b072c4a5f3d1c3702
75+
namespace: kube-system
76+
resourceVersion: "334899"
77+
uid: 90870ab5-1ba9-4523-b215-e4d4e662acb1
78+
spec:
79+
holderIdentity: apiserver-07a5ea9b9b072c4a5f3d1c3702_0c8914f7-0f35-440e-8676-7844977d3a05
80+
leaseDurationSeconds: 3600
81+
renewTime: "2023-07-04T21:58:48.065888Z"
82+
```
83+
84+
Los leases caducados de los kube-apiservers que ya no existen son recogidos por los nuevos kube-apiservers después de 1 hora.
85+
86+
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/).
87+
88+
## Cargas de trabajo {#custom-workload}
89+
90+
Su propia carga de trabajo puede definir su propio uso de los leases. Por ejemplo, puede ejecutar un
91+
{{< glossary_tooltip term_id=«controller» text=«controlador» >}} en la que un miembro principal o líder
92+
realiza operaciones que sus compañeros no realizan. Usted define un Lease para que las réplicas del controlador puedan seleccionar
93+
o elegir un líder, utilizando la API de Kubernetes para la coordinación.
94+
Si utiliza un lease, es una buena práctica definir un nombre para el lease que esté obviamente vinculado a
95+
el producto o componente. Por ejemplo, si tiene un componente denominado Ejemplo Foo, utilice un lease denominado
96+
`ejemplo-foo`.
97+
98+
Si un operador de clúster u otro usuario final puede desplegar varias instancias de un componente, seleccione un nombre
99+
prefijo y elija un mecanismo (como el hash del nombre del despliegue) para evitar colisiones de nombres
100+
para los leases.
101+
102+
Puede utilizar otro enfoque siempre que consiga el mismo resultado: los distintos productos de software no entran en conflicto entre sí.
103+
no entren en conflicto entre sí.

0 commit comments

Comments
 (0)