- Print
- DarkLight
Integrate Kasten by Veeam K10 with Backblaze B2
- Print
- DarkLight
Kasten K10 is a robust backup software purpose-built for Kubernetes. Providing enterprise operations teams a scalable system for backup and restore, disaster recovery, and mobility of their most important Kubernetes applications. You can leverage the Kasten K10 backup pipeline with Backblaze B2 Cloud Storage.
Enable Backblaze B2
Before you begin: You must have a Backblaze B2 Cloud Storage account. If you already have a Backblaze account and the left navigation menu contains a B2 Cloud Storage section, your account is already enabled for Backblaze B2.
- Sign in to the Backblaze web console.
- In the user menu in the upper-right corner of the page, select My Settings.
- Under Enabled Products, select the checkbox to enable B2 Cloud Storage.
- Review the Terms and Conditions, and click OK to accept them.
Create a Bucket
Backblaze does not recommend using server-side encryption if you are using client-side encryption through Kasten. Server-side encryption adds latency to restores of files from Backblaze B2.
- Sign in to the Backblaze web console.
- In the left navigation menu under B2 Cloud Storage, click Buckets.
- Click Create a Bucket.
- Enter a name for your bucket. Bucket names must be at least six characters and globally unique.
A message is displayed if your bucket name is already in use. - Select a privacy setting: Private or Public. Files that are in a private bucket require authentication to perform an action, for example, downloading. Public buckets do not require authentication so you can easily share files. You can change a bucket's privacy settings at any time.
- If applicable, enable a Backblaze B2 server-side encryption key.
- Enable Object Lock to restrict a file from being modified or deleted for a specified period of time.
- Click Create a Bucket, and copy the value that is in the Endpoint field; you may need this value later.
- Click Lifecycle Settings to control how long to keep the files in your new bucket.
1. Verify your email address.
2. Have a payment history on file, or use the credit card form to pay a small fee that is credited to your account balance.
Create an Application Key
- Sign in to the Backblaze web console.
- In the left navigation menu under B2 Cloud Storage, click Application Keys.
- Click Add a New Application Key, and enter an app key name. Please note: You cannot search an app key by this name; therefore, app key names are not required to be globally unique. Key names are limited to 100 characters and can contain letters, numbers, and "-", but not I18N characters, such as é, à, and ü.
- Select All or a specific bucket in the Allow Access to Bucket(s) dropdown menu.
- Optionally, select your access type (Read and Write, Read Only, or Write Only).
- Optionally, select the Allow List All Bucket Names checkbox (required for the B2 Native API b2_list_buckets and the S3-Compatible API S3 List Buckets operations).
- Optionally, enter a file name prefix to restrict application key access only to files with that prefix. Depending on what you selected in step #4, this limits application key access to files with the specified prefix for all buckets or just the selected bucket.
- Optionally, enter a positive integer to limit the time, in seconds, before the application key expires. The value must be less than 1000 days (in seconds).
- Click Create New Key, and note the resulting keyID and applicationKey values.
Install Kasten K10
Before you begin: You must have a Kubernetes cluster configured in a Kubectl command-line interface (CLI). You must also install a Kubernetes package manager such as Helm.
- Enter the following command to add the official Kasten repository to Helm:
$ helm repo add kasten https://charts.kasten.io/
- Enter the following command to create the namespace where Kasten should be installed, for example, Kasten's recommended name
kasten-io
:$ kubectl create namespace kasten-io
Dependencies are added to Helm, and a namespace is created on a cluster.
- Enter the following command to run the Helm install and annotate the VolumeSnapshotClass as specified in Kasten's CSI documentation. This varies depending on where you deployed your Kubernetes cluster.
$ helm install k10 kasten/k10 --namespace=kasten-io $ kubectl annotate volumesnapshotclass do-block-storage k10.kasten.io/is-snapshot-class=true
- Enter the following command to check the status of Kasten's pod deployments by querying the namespace where you installed it:
$ kubectl get pods --namespace kasten-io
After all statuses report back as "Running," Kasten K10 should be fully deployed.
- By default, the Kasten K10 dashboard is not externally exposed. To establish a connection to it, enter the following kubectl command to forward a local port to the Kasten K10 ingress port.
You can now navigate to it at
http://127.0.0.1:8080/k10/#/
.$ kubectl --namespace kasten-io port-forward service/gateway 8080:8000
You can now navigate to Kasten K10 at
http://127.0.0.1:8080/k10/#/
.
Set Up a Location Profile
- Navigate to the Kasten K10 dashboard.
- Click Settings.
- In Locations, click New Profile to configure Backblaze B2 into Kasten using the S3-Compatible API.
- Enter a name for your storage profile, and select S3 Compatible as the Cloud Storage Provider.
- Enter your keyID as the S3 Access Key.
- Enter your applicationKey as the S3 Secret.
- Enter your S3 endpoint.
- Enter your bucket name.
- Click Save Profile.
Set Up a Backup Policy
You can configure and fine tune your settings for a backup policy. This example shows a daily snapshot backup for a default Kubernetes application.
For more information about configuring policy settings, see the Kasten guide.
- On the Kasten K10 dashboard, click Policies.
- Click Create New Policy.
- Configure the settings for your specific policy.
- Ensure that the Location Profile for Kanister Actions is set to the Backblaze B2 profile that you created.
- Click Create Policy.
- To run an initial backup to test your configuration, click run once for the policy that you just created and click Run Policy.
- Click See Dashboard for Activity to monitor the status on the main dashboard.