Integrate Kasten by Veeam K10 with Backblaze B2
    • Dark

    Integrate Kasten by Veeam K10 with Backblaze B2

    • Dark

    Article Summary

    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. You can sign up here. 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.

    1. Sign in to your Backblaze account.
    2. In the left navigation menu under Account, click My Settings.
    3. Under Enabled Products, select the checkbox to enable B2 Cloud Storage.
    4. 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.

    1. Sign in to your Backblaze account.
    2. In the left navigation menu under B2 Cloud Storage, click Buckets.
    3. Click Create a Bucket.
    4. 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.
    5. 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.
    6. If applicable, enable a Backblaze B2 server-side encryption key.
    7. Enable Object Lock to restrict a file from being modified or deleted for a specified period of time.
    8. Click Create a Bucket, and copy the value that is in the Endpoint field; you may need this value for other processes.
    9. Click Lifecycle Settings to control how long to keep the files in your new bucket.
    Copy the S3 endpoint that is displayed for use in another step.

    Create an Application Key

    Application keys control access to your Backblaze B2 Cloud Storage account and the buckets that are contained in your account.

    1. Sign in to your Backblaze account.
    2. In the left navigation menu under Account, click Application Keys.
    3. Click Add a New Application Key, and enter an app key name.
      You cannot search an app key by this name; therefore, app key names are not required to be globally unique. 
    4. In the Allow Access to Bucket(s) dropdown menu, select All or a specific bucket.
    5. Select your access type (for example, Read and Write).
    6. Select the optional Allow List All Bucket Names checkbox (required for the Backblaze B2 S3-compatible API List Buckets operation).
    7. Click Create New Key, and note the resulting keyID and applicationKey values.
    When you create a new app key, the response contains the actual key string, for example N2Zug0evLcHDlh_L0Z0AJhiGGdY. You can always find the keyID on this page, but for security, the applicationKey appears only once. Make sure you copy and securely save this value elsewhere.

    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

    1. Enter the following command to add the official Kasten repository to Helm:
      $ helm repo add kasten

    2. 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. 

    3. 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

    4. 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.

    5. 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

      $ kubectl --namespace kasten-io port-forward service/gateway 8080:8000

      You can now navigate to Kasten K10 at

    Set Up a Location Profile

    1. Navigate to the Kasten K10 dashboard.
    2. Click Settings.
    3. In Locations, click New Profile to configure Backblaze B2 into Kasten using the S3-Compatible API.
    4. Enter a name for your storage profile, and select S3 Compatible as the Cloud Storage Provider.
    5. Enter your keyID as the S3 Access Key.
    6. Enter your applicationKey as the S3 Secret.
    7. Enter your S3 endpoint. 
    8. Enter your bucket name. 
    9. 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.

    1. On the Kasten K10 dashboard, click Policies.
    2. Click Create New Policy.
    3. Configure the settings for your specific policy.
    4. Ensure that the Location Profile for Kanister Actions is set to the Backblaze B2 profile that you created.
    5. Click Create Policy.
    6. To run an initial backup to test your configuration, click run once for the policy that you just created and click Run Policy.
    7. Click See Dashboard for Activity to monitor the status on the main dashboard.

    Was this article helpful?