Skip to content

Commit 0d53f1c

Browse files
authored
Merge branch 'MichaelCade:main' into add-tr
2 parents 2326932 + 765f7ff commit 0d53f1c

7 files changed

Lines changed: 378 additions & 297 deletions

File tree

2022/es/Days/day86.md

Lines changed: 63 additions & 62 deletions
Large diffs are not rendered by default.

2022/es/Days/day87.md

Lines changed: 62 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
## Hands-On Backup & Recovery
1+
## Respaldo y Recuperación Práctica
22

3-
In the last session, we touched on [Kopia](https://kopia.io/) an Open-Source backup tool that we used to get some important data off to a local NAS and off to some cloud-based object storage.
3+
En la última sesión, hablamos sobre [Kopia](https://kopia.io/), una herramienta de respaldo de código abierto que utilizamos para extraer algunos datos importantes a un NAS local y a un almacenamiento de objetos basado en la nube.
44

5-
In this section, I want to get into the world of Kubernetes backup. It is a platform we covered [The Big Picture: Kubernetes](Days/day49.md) earlier in the challenge.
5+
En esta sección, vamos a adentrarnos en el mundo del respaldo de Kubernetes. Es una plataforma que cubrimos anteriormente en el [panorama general](Days/day49.md): Kubernetes durante el desafío.
66

7-
We will again be using our minikube cluster but this time we are going to take advantage of some of those addons that are available.
7+
Nuevamente, utilizaremos nuestro clúster minikube, pero esta vez vamos a aprovechar algunos de los complementos disponibles.
88

9-
### Kubernetes cluster setup
9+
### Configuración del clúster de Kubernetes
1010

11-
To set up our minikube cluster we will be issuing the `minikube start --addons volumesnapshots,csi-hostpath-driver --apiserver-port=6443 --container-runtime=containerd -p 90daysofdevops --kubernetes-version=1.21.2` you will notice that we are using the `volumesnapshots` and `csi-hostpath-driver` as we will make full use of these for when we are taking our backups.
11+
Para configurar nuestro clúster minikube, emitiremos el siguiente comando: `minikube start --addons volumesnapshots,csi-hostpath-driver --apiserver-port=6443 --container-runtime=containerd -p 90daysofdevops --kubernetes-version=1.21.2`. Observarás que estamos utilizando `volumesnapshots` y `csi-hostpath-driver`, ya que haremos un uso completo de ellos cuando realicemos nuestros respaldos.
1212

13-
At this point I know we have not deployed Kasten K10 yet but we want to issue the following command when your cluster is up, we want to annotate the volumesnapshotclass so that Kasten K10 can use this.
13+
En este punto, sé que aún no hemos implementado Kasten K10, pero queremos emitir el siguiente comando cuando tu clúster esté activo para anotar la clase de volumesnapshot, de modo que Kasten K10 pueda utilizarla.
1414

1515
```Shell
1616
kubectl annotate volumesnapshotclass csi-hostpath-snapclass \
1717
k10.kasten.io/is-snapshot-class=true
1818
```
1919

20-
We are also going to change over the default storageclass from the standard default storageclass to the csi-hostpath storageclass using the following.
20+
También vamos a cambiar la storageclass predeterminada de la storageclass predeterminada estándar a la storageclass de csi-hostpath utilizando lo siguiente.
2121

2222
```Shell
2323
kubectl patch storageclass csi-hostpath-sc -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
@@ -27,35 +27,37 @@ kubectl patch storageclass standard -p '{"metadata": {"annotations":{"storagecla
2727

2828
![](Images/Day87_Data1.png)
2929

30-
### Deploy Kasten K10
3130

32-
Add the Kasten Helm repository
31+
### Implementar Kasten K10
3332

34-
`helm repo add kasten https://charts.kasten.io/`
35-
36-
We could use `arkade kasten install k10` here as well but for the demo, we will run through the following steps. [More Details](https://blog.kasten.io/kasten-k10-goes-to-the-arkade)
37-
38-
Create the namespace and deploy K10, note that this will take around 5 mins
39-
40-
`helm install k10 kasten/k10 --namespace=kasten-io --set auth.tokenAuth.enabled=true --set injectKanisterSidecar.enabled=true --set-string injectKanisterSidecar.namespaceSelector.matchLabels.k10/injectKanisterSidecar=true --create-namespace`
41-
42-
![](Images/Day87_Data1.png)
33+
Agrega el repositorio de Helm de Kasten.
34+
```shell
35+
helm repo add kasten https://charts.kasten.io/
36+
```
4337

44-
You can watch the pods come up by running the following command.
38+
Aquí también podríamos usar arkade kasten install k10, pero para la demostración, seguiremos los siguientes pasos. [Más detalles](https://blog.kasten.io/kasten-k10-goes-to-the-arkade)
4539

46-
`kubectl get pods -n kasten-io -w`
40+
Crea el espacio de nombres y despliega K10. Ten en cuenta que esto tomará aproximadamente 5 minutos.
4741

48-
![](Images/Day87_Data3.png)
42+
```shell
43+
helm install k10 kasten/k10 --namespace=kasten-io --set auth.tokenAuth.enabled=true --set injectKanisterSidecar.enabled=true --set-string injectKanisterSidecar.namespaceSelector.matchLabels.k10/injectKanisterSidecar=true --create-namespace
44+
```
4945

50-
Port forward to access the K10 dashboard, open a new terminal to run the below command
46+
Puedes observar cómo se inician los pods ejecutando el siguiente comando.
47+
```shell
48+
kubectl get pods -n kasten-io -w
49+
```
5150

52-
`kubectl --namespace kasten-io port-forward service/gateway 8080:8000`
51+
Reenvía el puerto para acceder al panel de control de K10. Abre una nueva terminal y ejecuta el siguiente comando.
52+
```shell
53+
kubectl --namespace kasten-io port-forward service/gateway 8080:8000
54+
```
5355

54-
The Kasten dashboard will be available at `http://127.0.0.1:8080/k10/#/`
56+
El panel de control de Kasten estará disponible en `http://127.0.0.1:8080/k10/#/`
5557

5658
![](Images/Day87_Data4.png)
5759

58-
To authenticate with the dashboard we now need the token which we can get with the following commands.
60+
Para autenticarte en el panel de control, ahora necesitamos obtener el token, que podemos obtener con los siguientes comandos.
5961

6062
```Shell
6163
TOKEN_NAME=$(kubectl get secret --namespace kasten-io|grep k10-k10-token | cut -d " " -f 1)
@@ -67,114 +69,112 @@ echo $TOKEN
6769

6870
![](Images/Day87_Data5.png)
6971

70-
Now we take this token and we input that into our browser, you will then be prompted for an email and company name.
72+
Ahora toma este token e ingrésalo en tu navegador, luego se te solicitará un correo electrónico y el nombre de la empresa.
7173

7274
![](Images/Day87_Data6.png)
7375

74-
Then we get access to the Kasten K10 dashboard.
76+
Luego accederás al panel de control de Kasten K10.
7577

7678
![](Images/Day87_Data7.png)
7779

78-
### Deploy our stateful application
80+
### Implementar nuestra aplicación persistente
7981

80-
Use the stateful application that we used in the Kubernetes section.
82+
Utiliza la aplicación persistente que usamos en la sección de Kubernetes.
8183

8284
![](Images/Day55_Kubernetes1.png)
8385

84-
You can find the YAML configuration file for this application here-> [pacman-stateful-demo.yaml](Kubernetes/pacman-stateful-demo.yaml)
86+
Puedes encontrar el archivo de configuración YAML para esta aplicación aquí-> [pacman-stateful-demo.yaml](Kubernetes/pacman-stateful-demo.yaml)
8587

8688
![](Images/Day87_Data8.png)
8789

88-
We can use `kubectl get all -n pacman` to check on our pods coming up.
90+
Podemos utilizar `kubectl get all -n pacman` para verificar que nuestros pods se estén iniciando.
8991

9092
![](Images/Day87_Data9.png)
9193

92-
In a new terminal we can then port forward the pacman front end. `kubectl port-forward svc/pacman 9090:80 -n pacman`
94+
En una nueva terminal, reenviemos el frontend de Pacman. `kubectl port-forward svc/pacman 9090:80 -n pacman`
9395

94-
Open another tab on your browser to http://localhost:9090/
96+
Abre otra pestaña en tu navegador e ingresa a http://localhost:9090/
9597

9698
![](Images/Day87_Data10.png)
9799

98-
Take the time to clock up some high scores in the backend MongoDB database.
100+
Tómate el tiempo para acumular algunas puntuaciones altas en la base de datos MongoDB de la parte posterior de la aplicación.
99101

100102
![](Images/Day87_Data11.png)
101103

102-
### Protect our High Scores
104+
### Proteger nuestras puntuaciones altas
103105

104-
Now we have some mission-critical data in our database and we do not want to lose it. We can use Kasten K10 to protect this whole application.
106+
Ahora tenemos algunos datos críticos en nuestra base de datos y no queremos perderlos. Podemos utilizar Kasten K10 para proteger toda esta aplicación.
105107

106-
If we head back into the Kasten K10 dashboard tab you will see that our number of applications has now increased from 1 to 2 with the addition of our Pacman application to our Kubernetes cluster.
108+
Si volvemos a la pestaña del panel de control de Kasten K10, verás que el número de aplicaciones ha aumentado de 1 a 2 con la adición de nuestra aplicación Pacman a nuestro clúster de Kubernetes.
107109

108110
![](Images/Day87_Data12.png)
109111

110-
If you click on the Applications card you will see the automatically discovered applications in our cluster.
112+
Si haces clic en la tarjeta de Aplicaciones, verás las aplicaciones descubiertas automáticamente en nuestro clúster.
111113

112114
![](Images/Day87_Data13.png)
113115

114-
With Kasten K10 we can leverage storage-based snapshots as well export our copies out to object storage options.
116+
Con Kasten K10, podemos aprovechar los snapshots basados en almacenamiento y también exportar nuestras copias a opciones de almacenamiento de objetos.
115117

116-
For the demo, we will create a manual storage snapshot in our cluster and then we can add some rogue data to our high scores to simulate an accidental mistake being made or is it?
118+
Para la demostración, crearemos un snapshot de almacenamiento manual en nuestro clúster y luego agregaremos algunos datos incorrectos a nuestras puntuaciones altas para simular un error accidental. ¿O será intencional?
117119

118-
Firstly we can use the manual snapshot option below.
120+
En primer lugar, podemos utilizar la opción de snapshot manual a continuación.
119121

120122
![](Images/Day87_Data14.png)
121123

122-
For the demo, I am going to leave everything as the default
124+
Para la demostración, dejaré todo como está por defecto.
123125

124126
![](Images/Day87_Data15.png)
125127

126-
Back on the dashboard, you get a status report on the job as it is running and then when complete it should look as successful as this one.
127-
128-
![](Images/Day87_Data16.png)
128+
De vuelta en el panel de control, obtendrás un informe de estado sobre el trabajo a medida que se ejecuta y, cuando se complete, debería aparecer como exitoso como este.
129129

130-
### Failure Scenario
130+
### Escenario de error
131131

132-
We can now make that fatal change to our mission-critical data by simply adding in a prescriptive bad change to our application.
132+
Ahora podemos hacer ese cambio fatal a nuestros datos críticos simplemente agregando un cambio incorrecto y preescrito a nuestra aplicación.
133133

134-
As you can see below we have two inputs that we probably don't want in our production mission-critical database.
134+
Como puedes ver a continuación, tenemos dos entradas que probablemente no queremos en nuestra base de datos de producción crítica.
135135

136136
![](Images/Day87_Data17.png)
137137

138-
### Restore the data
138+
### Restaurar los datos
139139

140-
This is a simple demo and in a way not realistic although have you seen how easy it is to drop databases?
140+
Esta es una demostración sencilla y de alguna manera no realista, aunque ¿has visto lo fácil que es eliminar bases de datos?
141141

142-
Now we want to get that high score list looking a little cleaner and how we had it before the mistakes were made.
142+
Ahora queremos que la lista de puntuaciones altas luzca un poco más limpia, como estaba antes de que se cometieran los errores.
143143

144-
Back in the Applications card and on the Pacman tab, we now have 1 restore point we can use to restore from.
144+
En la tarjeta de Aplicaciones y en la pestaña de Pacman, ahora tenemos 1 punto de restauración que podemos utilizar para restaurar.
145145

146146
![](Images/Day87_Data18.png)
147147

148-
When you select restore you can see all the associated snapshots and exports to that application.
148+
Cuando selecciones la opción de restauración, verás todos los snapshots asociados y las exportaciones de esa aplicación.
149149

150150
![](Images/Day87_Data19.png)
151151

152-
Select that restore and a side window will appear, we will keep the default settings and hit restore.
152+
Selecciona esa restauración y aparecerá una ventana lateral, mantendremos la configuración predeterminada y haremos clic en restaurar.
153153

154154
![](Images/Day87_Data20.png)
155155

156-
Confirm that you want to make this happen.
156+
Confirma que deseas realizar esto.
157157

158158
![](Images/Day87_Data21.png)
159159

160-
You can then go back to the dashboard and see the progress of the restore. You should see something like this.
160+
Luego puedes volver al panel de control y ver el progreso de la restauración. Deberías ver algo como esto.
161161

162162
![](Images/Day87_Data22.png)
163163

164-
But more importantly, how is our High-Score list looking in our mission-critical application. You will have to start the port forward again to Pacman as we previously covered.
164+
Pero lo más importante, ¿cómo se ve nuestra lista de puntuaciones altas en nuestra aplicación crítica? Deberás volver a iniciar el reenvío de puertos hacia Pacman como mencionamos anteriormente.
165165

166166
![](Images/Day87_Data23.png)
167167

168-
A super simple demo and only really touching the surface of what Kasten K10 can achieve when it comes to backup. I will be creating some more in-depth video content on some of these areas in the future. We will also be using Kasten K10 to highlight some of the other prominent areas around Data Management when it comes to Disaster Recovery and the mobility of your data.
168+
Una demostración muy simple y que apenas rasca la superficie de lo que Kasten K10 puede lograr en términos de copias de seguridad. Crearé contenido de video más detallado sobre algunas de estas áreas en el futuro. También utilizaremos Kasten K10 para destacar algunas de las otras áreas prominentes en la gestión de datos cuando se trata de la recuperación ante desastres y la movilidad de tus datos.
169169

170-
Next, we will take a look at Application consistency.
170+
A continuación, echaremos un vistazo a la consistencia de la aplicación.
171171

172-
## Resources
172+
## Recursos
173173

174174
- [Kubernetes Backup and Restore made easy!](https://www.youtube.com/watch?v=01qcYSck1c4&t=217s)
175175
- [Kubernetes Backups, Upgrades, Migrations - with Velero](https://www.youtube.com/watch?v=zybLTQER0yY)
176176
- [7 Database Paradigms](https://www.youtube.com/watch?v=W2Z7fbCLSTw&t=520s)
177177
- [Disaster Recovery vs. Backup: What's the difference?](https://www.youtube.com/watch?v=07EHsPuKXc0)
178178
- [Veeam Portability & Cloud Mobility](https://www.youtube.com/watch?v=hDBlTdzE6Us&t=3s)
179179

180-
See you on [Day 88](day88.md)
180+
Nos vemos en el [Día 88](day88.md)

0 commit comments

Comments
 (0)