### Pull Kasten Helm Chart Source: https://docs.kasten.io/8.0.6/install/aws/aws_quickstart Downloads a local version of the Kasten Helm chart (version 8.0.6) from the specified OCI registry. This chart will be used for the installation. ```bash helm pull oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/veeam/kasten/payg/k10 --version 8.0.6 ``` -------------------------------- ### Prepare Helm Chart Directory Source: https://docs.kasten.io/8.0.5/install/aws/aws_quickstart Creates a directory named 'awsmp-chart' if it does not exist and changes the current directory into it. This directory will be used to store the Helm chart. ```bash mkdir -p awsmp-chart && cd awsmp-chart ``` -------------------------------- ### Setting Up Primary Cluster via Helm Source: https://docs.kasten.io/7.5.8/multicluster/getting_started Configure a cluster as primary in a Multi-Cluster setup using Helm. This involves setting specific flags during the `helm install` or `helm upgrade` command. Ensure the `ingressURL` is correctly formatted. ```bash helm install \ --set multicluster.primary.create=true \ --set multicluster.primary.name= \ --set multicluster.primary.ingressURL=/ ``` -------------------------------- ### Pull Kasten Helm Chart Source: https://docs.kasten.io/latest/install/aws/aws_quickstart Pulls a local version of the Kasten Helm chart (version 8.0.10) from the specified OCI registry. This downloads the chart's contents to the current directory. ```bash helm pull oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/veeam/kasten/payg/k10 --version 8.0.10 ``` -------------------------------- ### Extract and Clean Helm Chart Source: https://docs.kasten.io/8.0.5/install/aws/aws_quickstart Extracts the contents of the downloaded Helm chart archive using tar and then deletes the original archive file. This prepares the chart for installation. ```bash tar xf $(pwd)/* && find $(pwd) -maxdepth 1 -type f -delete ``` -------------------------------- ### Install Kasten using Helm Source: https://docs.kasten.io/8.0.5/install/aws/aws_quickstart Installs Kasten using the locally pulled Helm chart. It specifies the 'kasten-io' namespace, disables automatic service account creation, and sets the service account name to 'k10-k10'. ```bash helm install k10 \ --namespace kasten-io ./* \ --set serviceAccount.create=false \ --set serviceAccount.name=k10-k10 ``` -------------------------------- ### Pull Kasten Helm Chart Source: https://docs.kasten.io/8.0.7/install/aws/aws_quickstart Pulls a local version of the Kasten Helm chart (version 8.0.7) from the specified OCI repository. The chart is downloaded into the current directory (`awsmp-chart`). ```bash helm pull oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/veeam/kasten/payg/k10 --version 8.0.7 ``` -------------------------------- ### Pull Kasten Helm Chart Source: https://docs.kasten.io/8.0.8/install/aws/aws_quickstart Pulls a local version of the Kasten Helm chart (version 8.0.8) from the specified OCI repository. Requires Helm to be installed. ```shell helm pull oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/veeam/kasten/payg/k10 --version 8.0.8 ``` -------------------------------- ### Pull Kasten Helm Chart Source: https://docs.kasten.io/8.0.5/install/aws/aws_quickstart Pulls a local version of the Kasten Helm chart (version 8.0.5) from the specified OCI registry. This downloads the chart's package for local use. ```bash helm pull oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/veeam/kasten/payg/k10 --version 8.0.5 ``` -------------------------------- ### Create IAM Service Account for Kasten Source: https://docs.kasten.io/8.0.5/install/aws/aws_quickstart Creates an AWS IAM Service Account named 'k10-k10' within the 'kasten-io' namespace and attaches specific AWS marketplace and license manager policies. It also approves the creation and overrides existing service accounts if present. ```bash eksctl create iamserviceaccount \ --name k10-k10 \ --namespace kasten-io \ --cluster \ --attach-policy-arn arn:aws:iam::aws:policy/AWSMarketplaceMeteringFullAccess \ --attach-policy-arn arn:aws:iam::aws:policy/AWSMarketplaceMeteringRegisterUsage \ --attach-policy-arn arn:aws:iam::aws:policy/service-role/AWSLicenseManagerConsumptionPolicy \ --approve \ --override-existing-serviceaccounts ``` -------------------------------- ### Promote Primary Cluster via Helm Source: https://docs.kasten.io/8.0.5/multicluster/getting_started This snippet demonstrates how to set up a primary cluster for Veeam Kasten Multi-Cluster Manager using Helm. It requires specific flags to be set during the `helm install` or `helm upgrade` command, including enabling primary creation, setting a cluster name, and specifying the ingress URL. ```bash helm install kasten-io/kasten-io-backup --namespace kasten-io --create-namespace \ --set multicluster.primary.create=true \ --set multicluster.primary.name= \ --set multicluster.primary.ingressURL=/ ``` -------------------------------- ### Basic Helm Installation of Veeam Kasten Source: https://docs.kasten.io/7.5.10/install/openshift/helm This command installs Veeam Kasten using Helm, creating necessary SecurityContextConstraints. It's a foundational step for most OpenShift installations. ```bash helm install k10 kasten/k10 --namespace=kasten-io \ --set scc.create=true ``` -------------------------------- ### Download and Run Kasten Primer Tool Source: https://docs.kasten.io/8.0.6/install/openshift/operator This script downloads and executes the Kasten primer tool, which performs pre-flight checks for Veeam Kasten installation. It validates Kubernetes settings, catalogs StorageClasses, and checks CSI capabilities. Ensure your oc context is pointed to the target cluster before running. ```bash $ curl https://docs.kasten.io/downloads/8.0.6/tools/k10_primer.sh | bash ``` -------------------------------- ### Install Primary Cluster using Helm Source: https://docs.kasten.io/8.0.0/multicluster/getting_started Configure and install a primary cluster for Veeam Kasten Multi-Cluster Manager using Helm. This involves setting specific Helm flags during the installation or upgrade process. The ingress URL must follow a defined format. ```bash helm install kasten-io/kasten-io --namespace kasten-io --create-namespace \ --set multicluster.primary.create=true \ --set multicluster.primary.name= \ --set multicluster.primary.ingressURL=/ ``` -------------------------------- ### Download and Run Kasten Primer Tool Source: https://docs.kasten.io/8.0.4/install/openshift/operator Downloads and executes the k10_primer.sh script to perform pre-flight checks for Veeam Kasten installation. This script validates Kubernetes settings, catalogs StorageClasses, and checks CSI capabilities. It creates and cleans up necessary Kubernetes resources like ServiceAccount and ClusterRoleBinding. ```shell curl https://docs.kasten.io/downloads/8.0.4/tools/k10_primer.sh | bash ``` -------------------------------- ### Configure Primary Cluster via Helm CLI Source: https://docs.kasten.io/8.0.3/multicluster/getting_started This snippet demonstrates how to set up a primary cluster for Veeam Kasten's Multi-Cluster Manager using Helm. It requires specific flags to be set during the `helm install` or `helm upgrade` command, including enabling the primary role, defining a cluster name, and specifying the ingress URL of the primary cluster. ```bash helm install kasten-io/kasten-io-stack \ --namespace kasten-io \ --create-namespace \ --set "multicluster.primary.create=true" \ --set "multicluster.primary.name=" \ --set "multicluster.primary.ingressURL=/" ``` -------------------------------- ### Setup Primary Cluster with Helm Source: https://docs.kasten.io/8.0.2/multicluster/getting_started This snippet demonstrates how to set up a primary cluster using Helm. It requires specific flags to be set during the Helm installation or upgrade process, including enabling the primary role, defining a cluster name, and specifying the primary cluster's ingress URL. ```shell helm install kasten-io/kasten-io \ --namespace kasten-io \ --create-namespace \ --set "multicluster.primary.create=true" \ --set "multicluster.primary.name=" \ --set "multicluster.primary.ingressURL=/" ``` -------------------------------- ### Download and Run Kasten Primer Tool (Shell) Source: https://docs.kasten.io/7.5.9/install/openshift/operator Downloads and executes the Kasten primer script to perform pre-flight checks for Veeam Kasten installation. This script validates Kubernetes settings, catalogs StorageClasses, and checks CSI capabilities. It creates and cleans up necessary Kubernetes resources like ServiceAccounts and ClusterRoleBindings. ```shell $ curl https://docs.kasten.io/downloads/7.5.9/tools/k10_primer.sh | bash ``` -------------------------------- ### Get Help for k10tools Image Command Source: https://docs.kasten.io/latest/install/offline Displays all available commands and flags for the `k10tools image` command within a specific version of the Veeam Kasten tools container image. This is used to understand image management capabilities for air-gapped setups. ```bash docker run --rm gcr.io/kasten-images/k10tools:8.0.10 image --help ``` -------------------------------- ### Pull Kasten Helm Chart Source: https://docs.kasten.io/8.0.9/install/aws/aws_quickstart Pulls a local version of the Kasten Helm chart from the specified OCI registry. The chart version '8.0.9' is downloaded into the current directory. Requires the chart URL and version. ```bash helm pull oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/veeam/kasten/payg/k10 --version 8.0.9 ``` -------------------------------- ### Download and Run Kasten Primer Tool Source: https://docs.kasten.io/8.0.8/install/openshift/operator Downloads and executes the Kasten primer script to perform pre-flight checks for Veeam Kasten installation. This script validates Kubernetes settings, catalogs StorageClasses, and checks CSI capabilities. It creates and cleans up necessary RBAC resources like ServiceAccount and ClusterRoleBinding. ```bash curl https://docs.kasten.io/downloads/8.0.8/tools/k10_primer.sh | bash ``` -------------------------------- ### Apply Primary Cluster Bootstrap Manifest using kubectl Source: https://docs.kasten.io/7.5.8/multicluster/getting_started Applies the 'sample-primary-bootstrap.yaml' manifest to the Kubernetes cluster using kubectl. This command initiates the setup of the primary cluster for Kasten K10 multi-cluster. ```bash $ kubectl create -f sample-primary-bootstrap.yaml ``` -------------------------------- ### Setup Primary Cluster using Helm Source: https://docs.kasten.io/8.0.9/multicluster/getting_started This snippet demonstrates how to set up a primary cluster for Veeam Kasten Multi-Cluster Manager using Helm. It requires specifying several flags during the Helm installation or upgrade process, including enabling primary creation, defining the cluster name, and providing the primary cluster's dashboard URL. ```bash helm install kasten-io/kasten-io-stack --namespace kasten-io --create-namespace \ --set "multicluster.primary.create=true" \ --set "multicluster.primary.name=" \ --set "multicluster.primary.ingressURL=" ``` -------------------------------- ### Run Kasten Primer Tool - Initial Setup Source: https://docs.kasten.io/latest/install/storage This command downloads and executes the Kasten 'primer' script to discover provisioners, StorageClasses, and VolumeSnapshotClasses in a Kubernetes cluster. It is the first step in setting up CSI pre-flight checks. ```bash curl -s https://docs.kasten.io/downloads/8.0.10/tools/k10_primer.sh | bash ``` -------------------------------- ### Helm Flags for Setting Up Primary Cluster Source: https://docs.kasten.io/7.5.9/multicluster/getting_started This snippet shows the necessary Helm flags to configure a cluster as a primary in a Veeam Kasten Multi-Cluster setup. These flags are used during `helm install` or `helm upgrade` commands. ```bash helm install kasten-io/kasten-io-charts --namespace kasten-io --create-namespace \ --set multicluster.primary.create=true \ --set multicluster.primary.name= \ --set multicluster.primary.ingressURL=/ ``` -------------------------------- ### Setup Primary Cluster via Helm CLI Source: https://docs.kasten.io/8.0.7/multicluster/getting_started This snippet demonstrates how to set up a primary cluster for Veeam Kasten Multi-Cluster Manager using Helm. It requires specific flags to be set during the `helm install` or `helm upgrade` command, including enabling the primary cluster creation, setting a cluster name, and providing the primary cluster's ingress URL. ```bash helm install kasten/k10 \ --namespace \ --set multicluster.primary.create=true \ --set multicluster.primary.name= \ --set multicluster.primary.ingressURL= ``` -------------------------------- ### Set Up Primary Cluster using Helm Source: https://docs.kasten.io/7.5.7/multicluster/getting_started Configure Helm flags to set up a primary cluster for Veeam Kasten's Multi-Cluster Manager. This requires specifying whether to create a primary, its name, and its ingress URL. The ingress URL format is crucial for proper communication. ```bash helm install kasten-io/kasten-io-stack --namespace kasten-io --create-namespace \ --set multicluster.primary.create=true \ --set multicluster.primary.name= \ --set multicluster.primary.ingressURL=/ ``` -------------------------------- ### K10tools Primer Storage Commands (CLI) Source: https://docs.kasten.io/8.0.2/releasenotes This provides examples of using the `k10tools primer storage` command for Day-0/Day-1 checks of storage provider accessibility and snapshot/restore capabilities. It includes sub-commands for connecting to and checking various cloud storage and virtualization platforms. ```bash # Connect to storage providers k10tools primer storage connect azure k10tools primer storage connect gcs k10tools primer storage connect pwx k10tools primer storage connect s3 k10tools primer storage connect vbr k10tools primer storage connect vsphere # Check storage snapshot/restore capabilities k10tools primer storage check awsebs k10tools primer storage check azure k10tools primer storage check csi k10tools primer storage check gcepd k10tools primer storage check vsphere ``` -------------------------------- ### Run Kasten Primer Tool - Shell Source: https://docs.kasten.io/8.0.1/install/storage This command downloads and executes the Kasten primer script to discover provisioners, StorageClasses, and VolumeSnapshotClasses. It's the initial step for running CSI pre-flight checks. ```shell curl -s https://docs.kasten.io/downloads/8.0.1/tools/k10_primer.sh | bash ``` -------------------------------- ### Kasten K10 Tools Storage Primer (CLI) Source: https://docs.kasten.io/7.5.10/releasenotes This example demonstrates the usage of `k10tools primer storage` commands for Day-0/Day-1 checks of storage provider accessibility and snapshot/restore capabilities. It includes sub-commands for connecting to various cloud storage providers and checking CSI, AWS EBS, Azure, GCE PD, and vSphere snapshot functionalities. ```bash # Connect to storage providers k10tools primer storage connect azure k10tools primer storage connect gcs k10tools primer storage connect s3 # Check storage capabilities k10tools primer storage check azure k10tools primer storage check awsebs k10tools primer storage check vsphere ``` -------------------------------- ### Run Kasten Primer Tool - Bash Source: https://docs.kasten.io/7.5.9/install/storage This command downloads and executes the Kasten primer script to derive provisioners, StorageClasses, and VolumeSnapshotClasses. It's a prerequisite for running CSI pre-flight checks. ```bash curl -s https://docs.kasten.io/downloads/7.5.9/tools/k10_primer.sh | bash ``` -------------------------------- ### Install MongoDB with Helm and Configure Kanister Blueprint Source: https://docs.kasten.io/latest/kanister/mongodb/install_logical This snippet demonstrates how to add the Bitnami Helm repository, install the MongoDB chart, and create a Kanister blueprint YAML file for backup and restore. It includes environment setup and configuration for MongoDB and Kanister. ```bash $ helm repo add bitnami https://charts.bitnami.com/bitnami $ kubectl create namespace mongodb-logical $ helm install mongo-logical bitnami/mongodb --namespace mongodb-logical \ --set architecture="replicaset" \ --set global.security.allowInsecureImages=true --set volumePermissions.image.repository=bitnamilegacy/os-shell --set image.repository=bitnamilegacy/mongodb ``` -------------------------------- ### Validate Veeam Kasten Installation with kubectl Source: https://docs.kasten.io/7.5.10/install/digitalocean/digitalocean Verifies the installation of Veeam Kasten by monitoring the status of all pods in the 'kasten-io' namespace. This command allows you to watch the pods as they start up and ensures they reach the 'Running' state. It is useful for troubleshooting if pods get stuck in other states. ```shell $ kubectl get pods --namespace kasten-io --watch ``` ```shell $ kubectl get pods --namespace kasten-io NAMESPACE NAME READY STATUS RESTARTS AGE kasten-io aggregatedapis-svc-b45d98bb5-w54pr 1/1 Running 0 1m26s kasten-io auth-svc-8549fc9c59-9c9fb 1/1 Running 0 1m26s kasten-io catalog-svc-f64666fdf-5t5tv 2/2 Running 0 1m26s ... ``` -------------------------------- ### Run Kasten Primer Tool (Bash) Source: https://docs.kasten.io/8.0.3/install/storage This command fetches and executes the Kasten primer script to discover provisioners, StorageClasses, and VolumeSnapshotClasses. It's the initial step for running CSI pre-flight checks. ```bash curl -s https://docs.kasten.io/downloads/8.0.3/tools/k10_primer.sh | bash ``` -------------------------------- ### Run Veeam Kasten Pre-Check Tool Source: https://docs.kasten.io/latest/install/openshift/operator This command downloads and executes a script to perform pre-flight checks for Veeam Kasten installation. It validates Kubernetes settings, catalogs StorageClasses, and checks CSI capabilities. This tool requires `curl` to download the script and `bash` to execute it. ```bash $ curl https://docs.kasten.io/downloads/8.0.10/tools/k10_primer.sh | bash ``` -------------------------------- ### Display Cluster Info Secret (kubectl) Source: https://docs.kasten.io/7.5.7/multicluster/getting_started This command fetches the `mc-cluster-info` secret from the `kasten-io` namespace. This secret holds essential details for secondary clusters to communicate with the primary cluster after a successful join. ```bash $ kubectl get secret mc-cluster-info --namespace=kasten-io ``` -------------------------------- ### Get Help for k10tools image Command Source: https://docs.kasten.io/7.5.7/install/offline Displays all available commands and flags for the `k10tools image` command. This tool is used to manage Veeam Kasten container images for air-gapped installations and requires matching the version of Veeam Kasten being installed. ```shell $ docker run --rm gcr.io/kasten-images/k10tools:7.5.7 image --help ``` -------------------------------- ### Configure Veeam Kasten SCC Priority Source: https://docs.kasten.io/latest/install/openshift/operator This snippet shows how to configure the priority of Veeam Kasten's SecurityContextConstraints (SCC). This is useful for aligning SCC priority with existing cluster configurations. It provides examples for both Operator-managed and Helm-based installations. ```yaml scc: priority: ``` ```bash helm install ... --set scc.priority= ``` -------------------------------- ### Install Veeam Kasten in Air-Gapped Environment (Local Registry) Source: https://docs.kasten.io/8.0.4/install/offline Installs Veeam Kasten using a local Helm chart and container images from a private repository. Assumes container images are already uploaded to `repo.example.com`. Requires `kubectl` and Helm installed. ```bash $ kubectl create namespace kasten-io $ helm install k10 k10-8.0.4.tgz --namespace kasten-io \ --set global.airgapped.repository=repo.example.com ``` -------------------------------- ### Setup Primary Cluster with Helm CLI Source: https://docs.kasten.io/8.0.6/multicluster/getting_started Configure Helm flags to set up a primary cluster for Veeam Kasten Multi-Cluster Manager. This involves specifying whether to create a primary, its name, and its ingress URL during installation or upgrade. ```bash helm install kasten/kasten-io \ --namespace kasten-io \ --create-namespace \ --set multicluster.primary.create=true \ --set multicluster.primary.name= \ --set multicluster.primary.ingressURL=/ ``` -------------------------------- ### Run k10_primer Tool to List CSI Provisioners and StorageClasses Source: https://docs.kasten.io/8.0.9/install/storage This command fetches the k10_primer script and executes it to list all available provisioners, their associated StorageClasses, and VolumeSnapshotClasses within the Kubernetes cluster. This is a prerequisite for running CSI pre-flight checks. ```bash curl -s https://docs.kasten.io/downloads/8.0.9/tools/k10_primer.sh | bash ``` -------------------------------- ### Veeam Kasten SCC User Access Example Source: https://docs.kasten.io/8.0.5/install/openshift/operator This snippet provides an example of how Veeam Kasten limits access to its SecurityContextConstraints (SCC) by specifying dedicated service accounts in the `users` field. This prevents SCC leakage to unintended workloads. ```yaml users: - system:serviceaccount:kasten-io:executor-svc # example of a Veeam Kasten service account # all Veeam Kasten service accounts will be listed as users ``` -------------------------------- ### K10 Tools Primer Storage Commands (CLI) Source: https://docs.kasten.io/8.0.4/releasenotes This example showcases the `k10tools primer storage` command with its sub-commands for performing Day-0/Day-1 checks on various storage providers and snapshot/restore capabilities. It aids in verifying storage accessibility and functionality before production deployment. ```bash # Day-0/Day-1 checks of storage provider accessibility: k10tools primer storage connect [azure|gcs|pwx|s3|vbr|vsphere] # Day-0/Day-1 checks of storage snapshot/restore capabilities: k10tools primer storage check [awsebs|azure|csi|gcepd|vsphere] ``` -------------------------------- ### Enable CSI Ephemeral Volumes in Veeam Kasten SCC Source: https://docs.kasten.io/latest/install/openshift/operator This snippet demonstrates how to enable the use of CSI ephemeral volumes within Veeam Kasten's SecurityContextConstraints (SCC). This involves updating the `volumes` section of the `k10-scc`. Examples are provided for Operator-managed and Helm-based installations. ```yaml scc: allowCSI: true ``` ```bash helm install ... --set scc.allowCSI=true ``` -------------------------------- ### Download and Execute Veeam Kasten Pre-flight Tool Source: https://docs.kasten.io/8.0.5/install/openshift/operator This command downloads the k10_primer.sh script from the specified URL and executes it. This script performs pre-flight checks to validate Kubernetes settings and catalog storage classes, ensuring the environment meets Veeam Kasten requirements. ```bash $ curl https://docs.kasten.io/downloads/8.0.5/tools/k10_primer.sh | bash ``` -------------------------------- ### Get RestorePointContent Details using kubectl Source: https://docs.kasten.io/8.0.6/api/restorepoints This example shows how to retrieve detailed information about a specific RestorePointContent using the `kubectl get --raw` command. It leverages the `details` sub-resource and uses `yq` for pretty-printing the output. Ensure `yq` is installed for readability. ```bash ## get the details for restorepointcontent 'sample-app-backup-rp-raq923' ## yq only used for readability $ kubectl get --raw /apis/apps.kio.kasten.io/v1alpha1/restorepointcontents/sample-app-backup-rp-raq923/details | yq -y .status.restorePointContentDetails artifacts: ... originatingPolicies: ... ``` -------------------------------- ### Run k10_primer.sh Tool (Shell) Source: https://docs.kasten.io/8.0.2/install/storage This script downloads and executes the k10_primer tool, used for pre-flight checks in Veeam Kasten's CSI integration. It can be run to derive provisioner and StorageClass information. ```shell curl -s https://docs.kasten.io/downloads/8.0.2/tools/k10_primer.sh | bash ``` -------------------------------- ### Run CSI Pre-Flight Check Tool - Shell Source: https://docs.kasten.io/7.5.8/install/storage This command downloads and executes the k10_primer.sh script to derive a list of provisioners, StorageClasses, and VolumeSnapshotClasses for CSI integration. It requires `curl` and `bash` to be installed. ```shell curl -s https://docs.kasten.io/downloads/7.5.8/tools/k10_primer.sh | bash ``` -------------------------------- ### Associate IAM OIDC Provider with EKS Source: https://docs.kasten.io/8.0.5/install/aws/aws_quickstart Associates the AWS IAM OpenID Connect (OIDC) provider with your EKS cluster. This is necessary for IAM roles to authenticate with the cluster. ```bash eksctl utils associate-iam-oidc-provider --region= --cluster= --approve ``` -------------------------------- ### Install Bitnami Helm Repo and MySQL Chart Source: https://docs.kasten.io/8.0.2/kanister/mysql/install Installs the Bitnami Helm repository and then deploys the MySQL chart into a new 'mysql' namespace. This sets up the necessary infrastructure for the database. ```bash $ helm repo add bitnami https://charts.bitnami.com/bitnami $ kubectl create namespace mysql $ helm install --namespace mysql mysql-release bitnami/mysql ``` -------------------------------- ### Configure Primary Cluster with Helm Source: https://docs.kasten.io/8.0.1/multicluster/getting_started This Helm configuration enables the setup of a primary cluster for Veeam Kasten Multi-Cluster Manager. It requires setting specific flags during Helm installation or upgrade, including enabling the primary role, defining a cluster name, and specifying the ingress URL. ```bash helm install kasten-io/kasten-io \ --namespace kasten-io \ --create-namespace \ --set multicluster.primary.create=true \ --set multicluster.primary.name= \ --set multicluster.primary.ingressURL=/ ``` -------------------------------- ### Create On-Demand ExportAction Example Source: https://docs.kasten.io/7.5.8/api/actions Demonstrates how to create an on-demand ExportAction for a specified application ('mysql') in a given namespace ('mysql') using a restore point and profile. This example assumes Veeam Kasten is installed in the 'kasten-io' namespace and requires admin privileges. ```yaml ## create on-demand export that exports RP 'mysql-restore-point-02-11-2019-09-00PST' ## from the 'mysql' namespace using 'sample-profile'. ## Assumes that Veeam Kasten is installed in 'kasten-io' namespace. $ cat > sample-export-action.yaml < | helm registry login \ --username AWS \ --password-stdin 709825985650.dkr.ecr.us-east-1.amazonaws.com ``` -------------------------------- ### Run Kasten Primer Tool Script Source: https://docs.kasten.io/8.0.6/install/storage This script downloads and runs the Kasten primer tool. The tool is used for pre-flight checks for CSI integration. It requires a shell environment and internet access to download the script. ```bash curl -s https://docs.kasten.io/downloads/8.0.6/tools/k10_primer.sh | bash ``` -------------------------------- ### Get Help for k10tools image Command Source: https://docs.kasten.io/7.5.8/install/offline Displays all available commands and flags for the `k10tools image` command, which is used for preparing Veeam Kasten container images for air-gapped use. This command requires a specific version of the `k10tools` image to be run. ```bash $ docker run --rm gcr.io/kasten-images/k10tools:7.5.8 image --help ``` -------------------------------- ### Get Help for k10tools Image Command Source: https://docs.kasten.io/8.0.7/install/offline Displays all available commands and flags for the `k10tools image` command, which is used for preparing Veeam Kasten container images for air-gapped use. This command is run against a specific version of the k10tools image. ```bash docker run --rm gcr.io/kasten-images/k10tools:8.0.7 image --help ``` -------------------------------- ### Run Kasten K10 Primer Tool (Shell) Source: https://docs.kasten.io/8.0.5/install/storage This script downloads and executes the Kasten K10 primer tool. The tool is used for performing pre-flight checks for CSI integration within a Kubernetes cluster. It requires no specific inputs for the initial run to list provisioners and StorageClasses. ```shell curl -s https://docs.kasten.io/downloads/8.0.5/tools/k10_primer.sh | bash ``` -------------------------------- ### Run Pre-Installation Checks with k10tools Primer Source: https://docs.kasten.io/8.0.0/operating/k10tools The `k10tools primer` command executes pre-flight checks for Veeam Kasten installations. It validates Kubernetes version, RBAC, aggregated layer, CSI capabilities, provisioners, and storage classes. Example output provided for a Digital Ocean deployment. ```bash % ./k10tools primer Kubernetes Version Check: Valid kubernetes version (v1.17.13) - OK RBAC Check: Kubernetes RBAC is enabled - OK Aggregated Layer Check: The Kubernetes Aggregated Layer is enabled - OK CSI Capabilities Check: Using CSI GroupVersion snapshot.storage.k8s.io/v1alpha1 - OK Validating Provisioners: kube-rook-ceph.rbd.csi.ceph.com: Is a CSI Provisioner - OK Storage Classes: rook-ceph-block Valid Storage Class - OK Volume Snapshot Classes: csi-rbdplugin-snapclass Has k10.kasten.io/is-snapshot-class annotation set to true - OK Has deletionPolicy 'Retain' - OK dobs.csi.digitalocean.com: Is a CSI Provisioner - OK Storage Classes: do-block-storage Valid Storage Class - OK Volume Snapshot Classes: do-block-storage Has k10.kasten.io/is-snapshot-class annotation set to true - OK Missing deletionPolicy, using default Validate Generic Volume Snapshot: Pod Created successfully - OK GVS Backup command executed successfully - OK Pod deleted successfully - OK ``` -------------------------------- ### Download and Run Veeam Kasten Primer Tool Source: https://docs.kasten.io/7.5.8/install/openshift/operator Downloads and executes the Veeam Kasten primer script to perform pre-flight checks on the Kubernetes cluster. This script validates Kubernetes settings, catalogs StorageClasses, and checks CSI capabilities. Ensure your default oc context is pointed to the target cluster. ```bash $ curl https://docs.kasten.io/downloads/7.5.8/tools/k10_primer.sh | bash ``` -------------------------------- ### Get k10tools image command help Source: https://docs.kasten.io/8.0.8/install/offline Displays all available commands and flags for the `k10tools image` command. This command is used for preparing Veeam Kasten container images for air-gapped use and is supported for versions 7.5.0+. ```bash $ docker run --rm gcr.io/kasten-images/k10tools:8.0.8 image --help ``` -------------------------------- ### Run Kasten Primer Script (Shell) Source: https://docs.kasten.io/7.5.10/install/storage This command downloads and executes the Kasten K10 primer script. The script is used to gather information about provisioners, StorageClasses, and VolumeSnapshotClasses in a Kubernetes cluster. It requires `curl` and `bash` to be installed. ```shell curl -s https://docs.kasten.io/downloads/7.5.10/tools/k10_primer.sh | bash ``` -------------------------------- ### Download and Run Kasten Primer Tool Source: https://docs.kasten.io/8.0.7/install/openshift/operator Downloads and executes the Kasten primer script to perform pre-flight checks for Veeam Kasten installation. This script validates Kubernetes settings, catalogs StorageClasses, and performs basic CSI validation. ```bash $ curl https://docs.kasten.io/downloads/8.0.7/tools/k10_primer.sh | bash ``` -------------------------------- ### Restrict Kasten SCC Access to Dedicated Service Account Source: https://docs.kasten.io/8.0.5/install/openshift/helm Configure the `users` section in the Kasten Operand YAML to limit SCC access to specific Veeam Kasten service accounts, preventing SCC leakage to other workloads. The example shows the `executor-svc`. ```yaml users: - system:serviceaccount:kasten-io:executor-svc # example of a Veeam Kasten service account # all Veeam Kasten service accounts will be listed as users ``` -------------------------------- ### Configure Primary Cluster with Helm Flags Source: https://docs.kasten.io/8.0.8/multicluster/getting_started This snippet shows the necessary Helm flags to configure a cluster as primary when using Helm for installation or upgrade. It includes flags for enabling primary creation, specifying the cluster name, and defining the primary ingress URL. ```bash helm install kasten-io/kasten-io-+ --namespace kasten-io --create-namespace \ --set "multicluster.primary.create=true" \ --set "multicluster.primary.name=" \ --set "multicluster.primary.ingressURL=/" ``` -------------------------------- ### Install Veeam Kasten (Air-Gapped Repository) Source: https://docs.kasten.io/7.5.10/install/offline Installs Veeam Kasten in an air-gapped environment when container images are available in a private repository. It creates the `kasten-io` namespace and deploys the Helm chart, specifying the air-gapped repository using `global.airgapped.repository`. This assumes the Helm chart `.tgz` file is present in the current directory. ```shell $ kubectl create namespace kasten-io $ helm install k10 k10-7.5.10.tgz --namespace kasten-io \ --set global.airgapped.repository=repo.example.com ``` -------------------------------- ### Define Primary Cluster Bootstrap Configuration in YAML Source: https://docs.kasten.io/7.5.8/multicluster/getting_started Defines the bootstrap configuration for the primary cluster in a YAML manifest. This includes cluster name, K10 installation details (namespace, release name, ingress URL), and marks it as the primary cluster. ```yaml apiVersion: dist.kio.kasten.io/v1alpha1 kind: Bootstrap metadata: name: bootstrap-primary namespace: kasten-io-mc spec: clusters: primary-cluster: name: primary: true k10: namespace: kasten-io releaseName: k10 ingress: url: EOF ``` -------------------------------- ### Customize SCC Priority in Helm Installation Source: https://docs.kasten.io/7.5.10/install/openshift/helm This command shows how to set the desired Priority value for SecurityContextConstraints during a Helm-based Veeam Kasten installation. ```bash --set scc.priority= ``` -------------------------------- ### Download and Run Kasten Primer Tool Source: https://docs.kasten.io/8.0.9/install/openshift/operator Downloads the Kasten primer script using curl and executes it to perform pre-flight checks for Veeam Kasten installation. This script validates Kubernetes settings and checks CSI capabilities. ```bash $ curl https://docs.kasten.io/downloads/8.0.9/tools/k10_primer.sh | bash ``` -------------------------------- ### Run CSI Pre-Flight Check Tool - Bash Source: https://docs.kasten.io/8.0.4/install/storage This script downloads and executes the k10_primer tool to perform pre-flight checks for CSI integration. It first derives provisioner and StorageClass information, then runs the tool with a specified StorageClass to test snapshot operations. ```bash curl -s https://docs.kasten.io/downloads/8.0.4/tools/k10_primer.sh | bash ``` ```bash curl -s https://docs.kasten.io/downloads/8.0.4/tools/k10_primer.sh | bash /dev/stdin csi -s ${STORAGE_CLASS} ``` -------------------------------- ### Create Kasten Namespace and Service Account via Kubectl Source: https://docs.kasten.io/8.0.5/install/advanced These commands demonstrate the creation of the 'kasten-io' namespace and a Service Account named 'k10-sa' within it. This setup is necessary for granting Veeam Kasten the required permissions to interact with Kubernetes resources. ```bash # Create kasten-io namespace if have not done it yet. $ kubectl create namespace kasten-io # Create a ServiceAccount for k10 k10-sa $ kubectl --namespace kasten-io create sa k10-sa ``` -------------------------------- ### Customize SCC Priority in Operator-Managed Installation Source: https://docs.kasten.io/7.5.10/install/openshift/helm This YAML snippet demonstrates how to set the desired Priority value for SecurityContextConstraints in an Operator-managed Veeam Kasten installation. ```yaml scc: priority: ``` -------------------------------- ### Install Veeam Kasten with License from File (Helm) Source: https://docs.kasten.io/8.0.0/install/advanced This command shows how to install Veeam Kasten with Helm, specifying a license file path using the `--set-file` option. This method is convenient for managing larger license keys. ```bash helm install . --namespace kasten-io --set-file license= ``` -------------------------------- ### Define Primary Cluster Bootstrap Configuration (YAML) Source: https://docs.kasten.io/7.5.9/multicluster/getting_started Defines the `Bootstrap` object for the primary cluster. This YAML manifest specifies cluster details, K10 installation information, and the primary cluster's ingress URL. It requires editing placeholder values for cluster name and dashboard URL. ```yaml apiVersion: dist.kio.kasten.io/v1alpha1 kind: Bootstrap metadata: name: bootstrap-primary namespace: kasten-io-mc spec: clusters: primary-cluster: name: primary: true k10: namespace: kasten-io releaseName: k10 ingress: url: EOF ``` -------------------------------- ### Display Join Status Secret (kubectl) Source: https://docs.kasten.io/7.5.7/multicluster/getting_started This command retrieves the `mc-join-status` secret from the `kasten-io` namespace, which contains information about the join process, including status messages and timestamps. It is useful for troubleshooting join failures. ```bash $ kubectl get secret mc-join-status --namespace=kasten-io ``` -------------------------------- ### Install Kasten in FIPS Mode using Helm Source: https://docs.kasten.io/8.0.9/install/fips This command installs Kasten version 8.0.9 in FIPS mode using Helm. It specifies the namespace and a URL to a FIPS-specific values file. Ensure you have Helm installed and configured for your Kubernetes cluster. This installation requires FIPS algorithms to be enabled from the start. ```bash helm install k10 kasten/k10 \ --namespace=kasten-io \ --values=https://docs.kasten.io/downloads/8.0.9/fips/fips-values.yaml ``` -------------------------------- ### Kasten CLI Storage Primer Commands Source: https://docs.kasten.io/7.5.7/releasenotes The `k10tools primer storage` command provides Day-0/Day-1 checks for storage provider accessibility and snapshot/restore capabilities. It includes sub-commands for connecting to various storage types and checking specific storage technologies. ```bash k10tools primer storage connect [azure|gcs|pwx|s3|vbr|vsphere] k10tools primer storage check [awsebs|azure|csi|gcepd|vsphere] ``` -------------------------------- ### Install Veeam Kasten on EKS IPv6 Cluster Source: https://docs.kasten.io/8.0.1/install/aws/aws Installs Veeam Kasten on an AWS EKS IPv6 cluster by enabling IPv6 listeners for required services. This command is also applicable for dual-stack setups. ```bash $ helm install k10 kasten/k10 --namespace=kasten-io \ --set secrets.awsAccessKeyId="${AWS_ACCESS_KEY_ID}" \ --set secrets.awsSecretAccessKey="${AWS_SECRET_ACCESS_KEY}" --set global.network.enable_ipv6=true ``` -------------------------------- ### Kasten K10 Tools Auth Primer (CLI) Source: https://docs.kasten.io/7.5.10/releasenotes This example shows how to use the `k10tools primer auth` command for Day-0/Day-1 checks of authentication services like OIDC and LDAP. It provides sub-commands to verify connectivity and access to these third-party authentication providers. ```bash # Check authentication services k10tools primer auth check oidc k10tools primer auth check ldap ``` -------------------------------- ### Helm Installation for OpenShift on AWS Source: https://docs.kasten.io/7.5.10/install/openshift/helm Installs Veeam Kasten on OpenShift on AWS when not using the EBS CSI driver. Requires AWS access key and secret access key for persistent storage configuration. ```bash helm install k10 kasten/k10 --namespace=kasten-io \ --set scc.create=true \ --set secrets.awsAccessKeyId="${AWS_ACCESS_KEY_ID}" \ --set secrets.awsSecretAccessKey="${AWS_SECRET_ACCESS_KEY}" ``` -------------------------------- ### Run Installation Pre-Flight Checks with k10tools primer Source: https://docs.kasten.io/8.0.3/operating/k10tools The `k10tools primer` command executes pre-installation checks on a Kubernetes cluster to ensure compatibility with Veeam Kasten. It verifies Kubernetes version, RBAC, aggregated layer, CSI capabilities, provisioners, and generic volume snapshot functionality. ```bash % ./k10tools primer Kubernetes Version Check: Valid kubernetes version (v1.17.13) - OK RBAC Check: Kubernetes RBAC is enabled - OK Aggregated Layer Check: The Kubernetes Aggregated Layer is enabled - OK CSI Capabilities Check: Using CSI GroupVersion snapshot.storage.k8s.io/v1alpha1 - OK Validating Provisioners: kube-rook-ceph.rbd.csi.ceph.com: Is a CSI Provisioner - OK Storage Classes: rook-ceph-block Valid Storage Class - OK Volume Snapshot Classes: csi-rbdplugin-snapclass Has k10.kasten.io/is-snapshot-class annotation set to true - OK Has deletionPolicy 'Retain' - OK dobs.csi.digitalocean.com: Is a CSI Provisioner - OK Storage Classes: do-block-storage Valid Storage Class - OK Volume Snapshot Classes: do-block-storage Has k10.kasten.io/is-snapshot-class annotation set to true - OK Missing deletionPolicy, using default Validate Generic Volume Snapshot: Pod Created successfully - OK GVS Backup command executed successfully - OK Pod deleted successfully - OK ``` -------------------------------- ### Create Veeam Kasten Namespace Source: https://docs.kasten.io/latest/install/openshift/operator This command creates a new Kubernetes project (namespace) named 'kasten-io' for Veeam Kasten installation. It includes a description and a display name for the project. This command requires `oc` (OpenShift CLI) to be installed and configured. ```bash oc new-project kasten-io \ --description="Kubernetes data management platform" \ --display-name="Veeam Kasten" ```