Skip to content

Commit 7a2f531

Browse files
committed
Update Blog “how-to-backup-and-restore-stateful-applications-on-kubernetes-using-kasten-k10-in-hpe-greenlake-for-private-cloud-enterprise”
1 parent 2351a57 commit 7a2f531

File tree

1 file changed

+25
-7
lines changed

1 file changed

+25
-7
lines changed

content/blog/how-to-backup-and-restore-stateful-applications-on-kubernetes-using-kasten-k10-in-hpe-greenlake-for-private-cloud-enterprise.md

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ date: 2024-01-18T07:33:24.381Z
55
author: Guoping Jia
66
authorimage: /img/guoping.png
77
disable: false
8+
tags:
9+
- Backup and restore
10+
- Volume snapshots
11+
- Stateful applications
12+
- Kubernetes
13+
- HPE GreenLake for Private Cloud Enterprise
14+
- hpe-greenlake-for-private-cloud-enterprise
815
---
916
This blog post describes how to backup and restore using Kasten K10 the stateful applications running in a Kubernetes (K8s) cluster in HPE GreenLake for Private Cloud Enterprise. Using pre-installed HPE CSI driver for K8s in the cluster, Kasten K10 works seamlessly for
1017

@@ -18,6 +25,15 @@ Before starting, make sure you meet the following requirements:
1825
* The kubectl CLI tool, together with the kubeconfig file for accessing the K8s cluster
1926
* The optional mysql CLI tool, for accessing the deployed sample MySQL database service
2027

28+
### Kasten K10
29+
30+
Kasten K10 is a data management platform purpose-built for K8s that was developed by Kasten. Following Veeam acquisition of Kasten early in 2020, Kasten K10 is often referred to as Kasten by Veeam.
31+
32+
33+
34+
Kasten K10 has been named [a Leader and Outperformer in GigaOm’s K8s Data Protection report for the third consecutive year]( https://www.veeam.com/news/kasten.html). It offers an easy-to-use, scalable, and secure system for K8s backup/restore, disaster recovery and mobility of K8s applications.
35+
36+
2137
### HPE CSI driver for K8s
2238

2339
The Container Storage Interface (CSI) defines a standard interface for container orchestration systems, like K8s, to expose arbitrary block and file storage systems to their containerized workloads. Support for CSI in K8s was introduced as *alpha* in its v1.9 release, and promoted to *beta* in its v1.10 release. Since v1.13 release, the implementation of the CSI has been in *GA* in K8s. With the adoption of CSI, the K8s volume layer becomes truly extensible. Using CSI, 3rd party storage providers, such as HPE, can write and deploy plugins exposing new storage systems in K8s without ever having to touch the core K8s code. This gives K8s users more options for storage and makes the system more secure and reliable.
@@ -83,9 +99,9 @@ gl-sbp-frank-gl1-sstor01 csi.hpe.com Delete 56d
8399

84100
### Install Kasten K10
85101

86-
Following the [Kasten K10 installation page](https://docs.kasten.io/latest/index.html), the Kasten K10 can be installed to the K8s cluster using the following commands with helm:
102+
Following the [Kasten K10 installation page](https://docs.kasten.io/latest/index.html), the Kasten K10 can be installed to the K8s cluster using the following commands using helm:
87103

88-
```markdown
104+
```shell
89105
$ helm repo add kasten https://charts.kasten.io/
90106
$ helm repo update
91107

@@ -135,7 +151,7 @@ prometheus-server-689ccf5f57-j9hpz 2/2 Running 0 15m
135151
state-svc-b4b996d9b-jnbrl 3/3 Running 0 15m
136152
```
137153

138-
After all the Pods are in running states, edit the service *gateway* to change its service type from *ClusterIP* to *NodePort*. This will generate a service port and expose the service via the configured gatway host plus the port.
154+
After all the Pods are in running states, edit the service *gateway* to change its service type from *ClusterIP* to *NodePort*. This will generate a service port and expose the service via the configured gatway host name plus the generated the port.
139155

140156
```markdown
141157
$ kubectl edit svc gateway -n kasten-io
@@ -163,26 +179,28 @@ spec:
163179
service/gateway edited
164180
```
165181

166-
Typing the following command to get the service endpoint:
182+
Typing the following command to get the *gateway* service endpoint:
167183

168184
```markdown
169185
$ kubectl get svc gateway -n kasten-io -o jsonpath={.metadata.annotations.hpecp-internal-gateway/8000}
170186
gl-tor-upc-cp-gw-node1.customer.yyz.gl-hpe.local:10021
171187
```
172188

173-
The Kasten K10 service dashboard can be accessed by pointing the browser to the URL *http://gl-tor-upc-cp-gw-node1.customer.yyz.gl-hpe.local:10021/k10/#/*:
189+
The Kasten K10 service dashboard can then be accessed by pointing your browser to the URL *http://gl-tor-upc-cp-gw-node1.customer.yyz.gl-hpe.local:10021/k10/#/*:
174190

175191
![](/img/k10-login.png)
176192

177-
Click *Accept Terms* after specifying your email and company name, you will be landed to Kasten K10 Dashboard:
193+
Clicking *Accept Terms* after specifying your email and company name, you will be landed to Kasten K10 Dashboard:
178194

179195
![](/img/k10-dashboard.png)
180196

197+
Kasten K10 automatically discovers all the applications and their data across namespaces in the cluster. The K10 dashboard displays a list of applications that are mapped to namespaces. It also displays a summary of the cluster’s backup data footprint, showing *0.0 B* when accessing the dashboard for the first time.
198+
181199
### Deploy MySQL database
182200

183201
In order to show backup and restore process, an MySQL database from [my GitHub repo](https://github.com/GuopingJia/mysql-app) will be deployed as a sample stateful application to the cluster.
184202

185-
1. Install MySQL application
203+
1. Install MySQL database
186204

187205

188206
MySQL database requires a persistent volume to store data. Here is the PVC YAML manifest file:

0 commit comments

Comments
 (0)