Skip to content

Commit f30e82f

Browse files
committed
typos and extra files
1 parent 0739fff commit f30e82f

File tree

3 files changed

+87
-48
lines changed

3 files changed

+87
-48
lines changed

content/es/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch.md

Lines changed: 47 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
title: Actualiza Objetos del API sin reemplazo (in Place) usando kubectl patch
3-
description: Usa kubectl patch para actualizar objetos del API de kubernetes sin reemplazarlos. usa strategic merge patch o JSON merge patch.
3+
description: Usa kubectl patch para actualizar objetos del API de kubernetes sin reemplazarlos. Usa strategic merge patch o JSON merge patch.
44
content_type: task
55
weight: 50
66
---
77

88
<!-- overview -->
99

10-
esta tarea muestra como utilizar `kubectl patch` para actualizar un objeto del API sin reemplazarlo.
11-
los ejercicios de esta tarea demuestran e uso de "strategic merge patch" y "JSON merge patch"
10+
Esta tarea muestra cómo utilizar `kubectl patch` para actualizar un objeto del API sin reemplazarlo.
11+
Los ejercicios de esta tarea demuestran el uso de "strategic merge patch" y "JSON merge patch"
1212

1313
## {{% heading "prerequisites" %}}
1414

@@ -23,7 +23,7 @@ los ejercicios de esta tarea demuestran e uso de "strategic merge patch" y "JSON
2323
## Usa strategic merge patch para actualizar un Deployment
2424

2525
Aquí está el archivo de configuración para un Deployment con dos réplicas.
26-
cáda réplica es un pod que tiene un contenedor:
26+
Cada réplica es un pod que tiene un contenedor:
2727

2828
{{% code_sample file="application/deployment-patch.yaml" %}}
2929

@@ -38,7 +38,7 @@ Revisa los Pods asociados con tu Deployment:
3838
```shell
3939
kubectl get pods
4040
```
41-
El resultado muestra que el Deployment tiene dos Pods. el `1/1` indica
41+
El resultado muestra que el Deployment tiene dos Pods. El `1/1` indica
4242
que cada Pod tiene un contenedor:
4343

4444

@@ -48,10 +48,10 @@ patch-demo-28633765-670qr 1/1 Running 0 23s
4848
patch-demo-28633765-j5qs3 1/1 Running 0 23s
4949
```
5050

51-
Toma nota de los nombres de los Pods que se están ejecutando. Verás que estos pods son
51+
Toma nota de los nombres de los Pods que se están ejecutando. Verás que estos Pods son
5252
terminados y reemplazados posteriormente.
5353

54-
En este punto cada Pod tiene un contenedor que ejecuta una imágen de nginx. Ahora
54+
En este punto cada Pod tiene un contenedor que ejecuta una imagen de nginx. Ahora
5555
supón que quieres que cada pod tenga dos contenedores: uno que ejecute nginx
5656
y otro que ejecute redis.
5757

@@ -78,7 +78,7 @@ Revisa el Deployment modificado:
7878
kubectl get deployment patch-demo --output yaml
7979
```
8080

81-
el resultado muestra que el PodSpec del Deployment tiene dos contenedores:
81+
El resultado muestra que el PodSpec del Deployment tiene dos contenedores:
8282

8383
```yaml
8484
containers:
@@ -100,7 +100,7 @@ kubectl get pods
100100

101101
El resultado muestra que los Pods tienen un nombre distinto a los que se estaban
102102
ejecutando anteriormente. El Deployment terminó los Pods viejos y creo dos nuevos
103-
que cumplen con la especificación actualizada del Deployment. el `2/2` indica que
103+
que cumplen con la especificación actualizada del Deployment. El `2/2` indica que
104104
cada Pod tiene dos contenedores:
105105

106106
```
@@ -109,13 +109,13 @@ patch-demo-1081991389-2wrn5 2/2 Running 0 1m
109109
patch-demo-1081991389-jmg7b 2/2 Running 0 1m
110110
```
111111

112-
Un vistazo mas de cerca a uno de los Pods del patch-demo:
112+
Un vistazo más de cerca a uno de los Pods del patch-demo:
113113

114114
```shell
115115
kubectl get pod <your-pod-name> --output yaml
116116
```
117117

118-
El resultado muestra que los pods tienen dos contenedores: uno ejecutando nginx y otro redis:
118+
El resultado muestra que el Pod tienen dos contenedores: uno ejecutando nginx y otro redis:
119119

120120
```
121121
containers:
@@ -128,14 +128,14 @@ containers:
128128
### Notas acerca de strategic merge patch
129129

130130
El patch que hiciste en el ejercicio anterior se llama *strategic merge patch*.
131-
Toma en cuenta que el path no reemplazó la lista `containers`. si no que agregó
131+
Toma en cuenta que el path no reemplazó la lista `containers`. Sino que agregó
132132
un contenedor nuevo a la lista. En otras palabras, la lista en el patch fue agregada
133133
a la lista ya existente. Esto no es lo que pasa siempre que se utiliza strategic merge patch
134-
en una lista. en algunos casos la lista existente podría ser reemplazada en lugar de unir ambas.
134+
en una lista. En algunos casos la lista existente podría ser reemplazada en lugar de unir ambas.
135135

136136
Con strategic merge patch, la lista existente puede ser reemplazada o unida con la nueva
137137
dependiendo de la estrategia de patch. La estrategia de patch se especifica en el valor del key
138-
`patchStrategy`en un field tag del código fuente de Kubernetes. por ejemplo el
138+
`patchStrategy`en un field tag del código fuente de Kubernetes. Por ejemplo el
139139
campo `Containers` de la struct `PodSpec` tiene un valor de `merge` en su key `patchStrategy`:
140140

141141
```go
@@ -145,7 +145,7 @@ type PodSpec struct {
145145
...
146146
}
147147
```
148-
También se puede consultar la estrategia de patch en
148+
También puedes consultar la estrategia de patch en
149149
[OpenApi spec](https://raw.githubusercontent.com/kubernetes/kubernetes/master/api/openapi-spec/swagger.json):
150150

151151
```yaml
@@ -160,7 +160,7 @@ También se puede consultar la estrategia de patch en
160160
```
161161
<!-- for editors: intentionally use yaml instead of json here, to prevent syntax highlight error. -->
162162

163-
Y se puede conlsultar la estrategia de patch en la
163+
Y puedes conlsultar la estrategia de patch en la
164164
[Documentación del API Kubernetes](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#podspec-v1-core).
165165

166166
Crea un archivo llamado `patch-file-tolerations.yaml` que tenga el siguiente contenido:
@@ -196,7 +196,7 @@ tolerations:
196196
```
197197
198198
Toma en cuenta que la lista de `tolerations` en el PodSpec fue reemplazada, no unida.
199-
esto es por que el campo de Tolerations del PodSpec no tiene un key `patchStrategy` en su field tag.
199+
Esto es porque el campo de Tolerations del PodSpec no tiene un key `patchStrategy` en su field tag.
200200
por lo tanto strategic merge patch utiliza la estrategia de patch de default, la cual es `replace`.
201201

202202
```go
@@ -216,7 +216,7 @@ Con JSON merge patch, si quieres actualizar una lista
216216
tienes que especificar la lista nueva en su totalidad
217217
y reemplazar la lista existente con la lista nueva.
218218

219-
el comando `kubectl patch` tiene un parámetro `type` que acepta los siguientes valores:
219+
El comando `kubectl patch` tiene un parámetro `type` que acepta los siguientes valores:
220220

221221
<table>
222222
<tr><th>Valor del parámetro</th><th>tipo de unión</th></tr>
@@ -228,10 +228,10 @@ el comando `kubectl patch` tiene un parámetro `type` que acepta los siguientes
228228
Para una comparación entre JSON patch y JSON merge patch, revisa
229229
[JSON Patch y JSON Merge Patch](https://erosb.github.io/post/json-patch-vs-merge-patch/).
230230

231-
El valor predeterminado para el vparametro `type` es `strategic`. entonces en el ejercicio
231+
El valor predeterminado para el parametro `type` es `strategic`. Entonces en el ejercicio
232232
anterior hiciste un strategic merge patch.
233233

234-
A continuación has un JSON merge path en el mismo Deployment. crea un archivo llamado
234+
A continuación haz un JSON merge path en el mismo Deployment. Crea un archivo llamado
235235
`patch-file-2.yaml` que tenga el siguiente contenido:
236236

237237
```yaml
@@ -243,7 +243,7 @@ spec:
243243
image: gcr.io/google-samples/node-hello:1.0
244244
```
245245
246-
en el comando patch configura el valor de `type` como `merge`
246+
En el comando patch configura el valor de `type` como `merge`
247247

248248
```shell
249249
kubectl patch deployment patch-demo --type merge --patch-file patch-file-2.yaml
@@ -255,8 +255,8 @@ Revisa el Deployment modificado:
255255
kubectl get deployment patch-demo --output yaml
256256
```
257257

258-
la lista `containers` que especificaste en el patch solo tiene un contenedor.
259-
el resultado muestra que tu lista con un contenedor reemplazo a la lista `containers` preexistente.
258+
La lista `containers` que especificaste en el patch solo tiene un contenedor.
259+
el resultado muestra que tu lista con un contenedor reemplazó a la lista `containers` preexistente.
260260

261261
```yaml
262262
spec:
@@ -265,14 +265,14 @@ spec:
265265
...
266266
name: patch-demo-ctr-3
267267
```
268-
revisa los Pods en ejecución:
268+
Revisa los Pods en ejecución:
269269

270270
```shell
271271
kubectl get pods
272272
```
273273

274-
En el resultado se puede ver que los Pods existentes fueron temrinados y se
275-
crearon Pods nuevos. el `1/1` indica que cada Pod nuevo esta ejecutando un solo
274+
En el resultado se puede ver que los Pods existentes fueron terminados y se
275+
crearon Pods nuevos. El `1/1` indica que cada Pod nuevo esta ejecutando un solo
276276
contenedor.
277277

278278
```shell
@@ -283,17 +283,17 @@ patch-demo-1307768864-c86dc 1/1 Running 0 1m
283283

284284
## Usa strategic merge patch para actualizar un Deployment utilizando la estrategia retainKeys
285285

286-
Aquí esta el archivo de configuración para un deployment que usa la estrategia `RollingUpdate`:
286+
Aquí esta el archivo de configuración para un Deployment que usa la estrategia `RollingUpdate`:
287287

288288
{{% code_sample file="application/deployment-retainkeys.yaml" %}}
289289

290-
Crea el deployment:
290+
Crea el Deployment:
291291

292292
```shell
293293
kubectl apply -f https://k8s.io/examples/application/deployment-retainkeys.yaml
294294
```
295295

296-
En este punto, el deployment es creado y está usando la estrategia `RollingUpdate`.
296+
En este punto, el Deployment es creado y está usando la estrategia `RollingUpdate`.
297297

298298
Crea un archivo llamado `patch-file-no-retainkeys.yaml` con el siguiente contenido:
299299

@@ -315,9 +315,9 @@ En el resultado se puede ver que no es posible definir el `type` como `Recreate`
315315
The Deployment "retainkeys-demo" is invalid: spec.strategy.rollingUpdate: Forbidden: may not be specified when strategy `type` is 'Recreate'
316316
```
317317

318-
La forma para quitar el value para `spec.strategy.rollingUpdate` al momento de cambiar el valor `type` es usar la estrategia `retainKeys` para el stragegic merge.
318+
La forma para quitar el value para `spec.strategy.rollingUpdate` al momento de cambiar el valor `type` es usar la estrategia `retainKeys` para el strategic merge.
319319

320-
Crea otro archivo llamaod `patch-file-retainkeys.yaml` con el siguiente contenido:
320+
Crea otro archivo llamado `patch-file-retainkeys.yaml` con el siguiente contenido:
321321

322322
```yaml
323323
spec:
@@ -327,7 +327,7 @@ spec:
327327
type: Recreate
328328
```
329329
330-
Con este Patch definimos que solo queremos conservar el key `type` del objeto `strategy`. por lo tanto la llave `rollingUpdate` será eliminado durante la operación de modificación.
330+
Con este Patch definimos que solo queremos conservar el key `type` del objeto `strategy`. Por lo tanto la llave `rollingUpdate` será eliminada durante la operación de modificación.
331331

332332
Modifica tu Deployment de nuevo con este nuevo Patch:
333333

@@ -339,28 +339,27 @@ Revisa el contenido del Deployment:
339339
```shell
340340
kubectl get deployment retainkeys-demo --output yaml
341341
```
342-
El resultado muestra que el objeto `strategy` en el Deployment ya no contiene la llave `rollingUpdate`
343-
The output shows that the strategy object in the Deployment does not contain the `rollingUpdate` key anymore:
342+
El resultado muestra que el objeto `strategy` en el Deployment ya no contiene la llave `rollingUpdate`:
344343

345344
```yaml
346345
spec:
347346
strategy:
348347
type: Recreate
349348
template:
350349
```
351-
### Notas a cerca de strategic merge patch utilizando la estrategia retainKeys
350+
### Notas acerca de strategic merge patch utilizando la estrategia retainKeys
352351

353-
La modificación realizada en el ejercicio anterior tiene el nombre de *strategic merge patch con estrategia retainKeys*. este metodo introduce una
352+
La modificación realizada en el ejercicio anterior tiene el nombre de *strategic merge patch con estrategia retainKeys*. Este método introduce una
354353
nueva directiva `$retainKeys` que tiene las siguientes estrategias:
355354

356-
- contiene una lista de strings.
355+
- Contiene una lista de strings.
357356
- Todos los campos que necesiten ser preservados deben estar presentes en la lista `$retainKeys`.
358-
- Todos los campos que estén presentes serán convinados con el objeto existente.
357+
- Todos los campos que estén presentes serán combinados con el objeto existente.
359358
- Todos los campos faltantes serán removidos o vaciados al momento de la modificación.
360-
- todos los campos en la lista `$retainKeys` deberan ser un superconjunto o idéntico a los campos presentes en el Patch.
359+
- Todos los campos en la lista `$retainKeys` deberán ser un superconjunto o idéntico a los campos presentes en el Patch.
361360

362-
La estrategia `retainKeys` no funciona para todos los objetos. solo funciona cuando el valor de la key `patchStrategy`en el field tag de el código fuente de
363-
kubernetes contenga `retainKeys`. Por ejemplo, el campo `Strategy` del struct `DeploymentSpec` tiene un valor de `retainKeys` en tu tag `patchStrategy`
361+
La estrategia `retainKeys` no funciona para todos los objetos. Solo funciona cuando el valor de la key `patchStrategy`en el field tag de el código fuente de
362+
Kubernetes contenga `retainKeys`. Por ejemplo, el campo `Strategy` del struct `DeploymentSpec` tiene un valor de `retainKeys` en tu tag `patchStrategy`
364363

365364

366365
```go
@@ -386,11 +385,11 @@ También puedes revisar la estrategia `retainKeys` en la especificación de [Ope
386385
```
387386
<!-- para los editiores: intencionalmente se utilizó yaml en lugar de json para evitar errores de resaltado por sintaxis. -->
388387

389-
A demás de revisar la estrategia `retainKeys` en la [documentación del API de k8s](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#deploymentspec-v1-apps).
388+
Además puedes revisar la estrategia `retainKeys` en la [documentación del API de k8s](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#deploymentspec-v1-apps).
390389

391390
### Formas alternativas del comando kubectl patch
392391

393-
el comando `kubectl patch` toma como entrada un archivo en formato YAML o JSON desde el filesystem o la linea de comandos.
392+
El comando `kubectl patch` toma como entrada un archivo en formato YAML o JSON desde el filesystem o la línea de comandos.
394393

395394
Crea un archivo llamado `patch-file.json` que contenga lo siguiente:
396395

@@ -411,7 +410,7 @@ Crea un archivo llamado `patch-file.json` que contenga lo siguiente:
411410
}
412411
```
413412

414-
los siguientes comandos son equivalentes:
413+
Los siguientes comandos son equivalentes:
415414

416415

417416
```shell
@@ -428,7 +427,7 @@ kubectl patch deployment patch-demo --patch '{"spec": {"template": {"spec": {"co
428427

429428
La bandera `--subresource=[subresource-name]` es utilizada con comandos de kubectl como get,
430429
patch y replace para obtener y actualizar los subrecursos `status` y `scale` de los recursos
431-
(aplicable para las versiones de kubectl de v1.24 en adelante). esta bandera se utiliza con
430+
(aplicable para las versiones de kubectl de v1.24 en adelante). Esta bandera se utiliza con
432431
todos los recursos del API (incluidos en k8s o CRs) que tengan los subrecursos `status` or `scale`.
433432
Deployment es un ejemplo de un objeto con estos subrecursos.
434433

@@ -474,7 +473,7 @@ Revisa los Pods asociados al Deployment modificado:
474473
kubectl get pods -l app=nginx
475474
```
476475

477-
en el resultado se puede apreciar que se ha creado un pod nuevo. ahora tienes 3 Pods en ejecución.
476+
En el resultado se puede apreciar que se ha creado un Pod nuevo. Ahora tienes 3 Pods en ejecución.
478477

479478
```
480479
NAME READY STATUS RESTARTS AGE
@@ -503,13 +502,13 @@ status:
503502
504503
{{< note >}}
505504
Si ejecutas `kubectl patch` y especificas la bandera `--subresource` para un recurso que no soporte
506-
un subrecurso en particular, el servidor del api regresará un error 404 Not found.
505+
un subrecurso en particular, el servidor del API regresará un error 404 Not Found.
507506
{{< /note >}}
508507

509508
## Resumen
510509

511510
En este ejercicio utilizaste `kubectl patch` para cambiar la configuración en ejecución de
512-
un objeto de tipo deployment. No hubo cambios al archivo de configuración que se utilizó
511+
un objeto de tipo Deployment. No hubo cambios al archivo de configuración que se utilizó
513512
originalmente para crear el Deployment. Otros comandos utilizados para actualizar objetos del API
514513
incluyen:
515514
[kubectl annotate](/docs/reference/generated/kubectl/kubectl-commands/#annotate),
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: patch-demo
5+
spec:
6+
replicas: 2
7+
selector:
8+
matchLabels:
9+
app: nginx
10+
template:
11+
metadata:
12+
labels:
13+
app: nginx
14+
spec:
15+
containers:
16+
- name: patch-demo-ctr
17+
image: nginx
18+
tolerations:
19+
- effect: NoSchedule
20+
key: dedicated
21+
value: test-team
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: retainkeys-demo
5+
spec:
6+
selector:
7+
matchLabels:
8+
app: nginx
9+
strategy:
10+
rollingUpdate:
11+
maxSurge: 30%
12+
template:
13+
metadata:
14+
labels:
15+
app: nginx
16+
spec:
17+
containers:
18+
- name: retainkeys-demo-ctr
19+
image: nginx

0 commit comments

Comments
 (0)