Skip to content

Commit 14755da

Browse files
authored
Merge pull request #45347 from jorge-oduber/feature/website-45315
[es] localize content/es/docs/tasks/run-application/force-delete-stateful-set-pod.md to Spanish
2 parents fc52c54 + 69b5bc1 commit 14755da

File tree

1 file changed

+109
-0
lines changed

1 file changed

+109
-0
lines changed
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
---
2+
reviewers:
3+
- ramrodo
4+
title: Eliminación Forzosa de Pods de StatefulSet
5+
content_type: task
6+
weight: 70
7+
---
8+
9+
<!-- overview -->
10+
Esta página muestra cómo eliminar Pods que son parte de un
11+
{{< glossary_tooltip text="StatefulSet" term_id="StatefulSet" >}},
12+
y explica las consideraciones a tener en cuenta al hacerlo.
13+
14+
## {{% heading "prerequisites" %}}
15+
16+
- Esta es una tarea bastante avanzada y tiene el potencial de violar algunas de las propiedades
17+
inherentes de StatefulSet.
18+
- Antes de proceder, familiarízate con las consideraciones enumeradas a continuación.
19+
20+
<!-- steps -->
21+
22+
## Consideraciones de StatefulSet
23+
24+
En la operación normal de un StatefulSet, **nunca** hay necesidad de eliminar forzosamente un Pod de StatefulSet.
25+
El [controlador de StatefulSet](/es/docs/concepts/workloads/controllers/statefulset/) es responsable de
26+
crear, escalar y eliminar miembros del StatefulSet. Intenta asegurar que el número especificado
27+
de Pods, desde el ordinal 0 hasta N-1, estén vivos y listos. StatefulSet asegura que, en cualquier momento,
28+
exista como máximo un Pod con una identidad dada, corriendo en un clúster. Esto se refiere a la semántica de
29+
*como máximo uno* proporcionada por un StatefulSet.
30+
31+
La eliminación manual forzada debe realizarse con precaución, ya que tiene el potencial de violar la
32+
semántica de como máximo uno, inherente a StatefulSet. Los StatefulSets pueden usarse para ejecutar aplicaciones distribuidas y
33+
agrupadas que necesitan una identidad de red estable y almacenamiento estable.
34+
Estas aplicaciones a menudo tienen configuraciones que dependen de un conjunto de un número fijo de
35+
miembros con identidades fijas. Tener múltiples miembros con la misma identidad puede ser desastroso
36+
y puede llevar a pérdida de datos (por ejemplo, escenario de cerebro dividido en sistemas basados en quórum).
37+
38+
## Eliminar Pods
39+
40+
Puedes realizar una eliminación de Pod paulatina con el siguiente comando:
41+
42+
```shell
43+
kubectl delete pods <pod>
44+
```
45+
46+
Para que lo anterior conduzca a una terminación paulatina, el Pod no debe especificar un
47+
`pod.Spec.TerminationGracePeriodSeconds` de 0. La práctica de establecer un
48+
`pod.Spec.TerminationGracePeriodSeconds` de 0 segundos es insegura y se desaconseja rotundamente
49+
para los Pods de StatefulSet. La eliminación paulatina es segura y garantizará que el Pod
50+
se apague de [manera paulatina](/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination), antes de que kubelet elimine el nombre en el apiserver.
51+
52+
Un Pod no se elimina automáticamente cuando un nodo no es accesible.
53+
Los Pods que se ejecutan en un Nodo inaccesible entran en el estado 'Terminating' o 'Unknown' después de un
54+
[tiempo de espera](es/docs/concepts/architecture/nodes/#Estados).
55+
Los Pods también pueden entrar en estos estados cuando el usuario intenta la eliminación paulatina de un Pod
56+
en un nodo inaccesible.
57+
Las únicas formas en que un Pod en tal estado puede ser eliminado del apiserver son las siguientes:
58+
59+
- El objeto Node es eliminado (ya sea por ti, o por el [Controlador de Nodo](/es/docs/concepts/architecture/nodes/#controlador-de-nodos)).).
60+
- Kubelet, en el nodo no responsivo, comienza a responder, mata el Pod y elimina la entrada del apiserver.
61+
- Eliminación forzada del Pod por el usuario.
62+
-
63+
La mejor práctica recomendada es usar el primer o segundo enfoque. Si un nodo está confirmado
64+
como muerto (por ejemplo, desconectado permanentemente de la red, apagado, etc.), entonces elimina
65+
el objeto Node. Si el nodo es afectado de una partición de red, entonces trata de resolver esto
66+
o espera a que se resuelva. Cuando la partición se solucione, kubelet completará la eliminación
67+
del Pod y liberará su nombre en el apiserver.
68+
69+
Normalmente, el sistema completa la eliminación una vez que el Pod ya no se está ejecutando en un nodo, o
70+
el nodo es eliminado por un administrador. Puedes anular esto forzando la eliminación del Pod.
71+
72+
### Eliminación Forzosa
73+
74+
Las eliminaciones forzosas **no** esperan confirmación de kubelet de que el Pod ha sido terminado.
75+
Independientemente de si una eliminación forzosa tiene éxito en matar un Pod, inmediatamente
76+
liberará el nombre del apiserver. Esto permitiría que el controlador de StatefulSet cree un Pod de reemplazo
77+
con esa misma identidad; esto puede llevar a la duplicación de un Pod que aún está en ejecución,
78+
y si dicho Pod todavía puede comunicarse con los otros miembros del StatefulSet,
79+
violará la semántica de como máximo uno que StatefulSet está diseñado para garantizar.
80+
81+
Cuando eliminas forzosamente un Pod de StatefulSet, estás afirmando que el Pod en cuestión nunca
82+
volverá a hacer contacto con otros Pods en el StatefulSet y su nombre puede ser liberado de forma segura para que
83+
se cree un reemplazo.
84+
85+
86+
Si quieres eliminar un Pod de forma forzosa usando la versión de kubectl >= 1.5, haz lo siguiente:
87+
88+
```shell
89+
kubectl delete pods <pod> --grace-period=0 --force
90+
```
91+
92+
Si estás usando cualquier versión de kubectl <= 1.4, deberías omitir la opción `--force` y usar:
93+
94+
```shell
95+
kubectl delete pods <pod> --grace-period=0
96+
```
97+
98+
Si incluso después de estos comandos el pod está atascado en el estado `Unknown`, usa el siguiente comando para
99+
eliminar el Pod del clúster:
100+
101+
```shell
102+
kubectl patch pod <pod> -p '{"metadata":{"finalizers":null}}'
103+
```
104+
105+
Siempre realiza la eliminación forzosa de Pods de StatefulSet con cuidado y con pleno conocimiento de los riesgos involucrados.
106+
107+
## {{% heading "whatsnext" %}}
108+
109+
Aprende más sobre [depurar un StatefulSet](/docs/tasks/debug/debug-application/debug-statefulset/).

0 commit comments

Comments
 (0)