Backup and Restore OVHcloud Managed Kubernetes Cluster, Namespace and Applications using TrilioVault for Kubernetes

Introduction

In this tutorial, you will learn how to deploy TrilioVault for Kubernetes (or TVK) to your OVHcloud Managed Kubernetes Cluster, create backups, and recover from a backup if something goes wrong.
You can back up your entire cluster by including mutliple namespaces, or optionally choose a single namespace, label based backups, Helm Releases based backups or Operator based backups.

Advantages of using Trilio:

  • Take full (or incremental) backups of your all namespaces, selective applications and restore in case of data loss.
  • Migrate from one cluster to another.
  • Helm release backups are supported.
  • Backup of Operator based application deployment is also supported.
  • Run pre and post hooks for backup and restore operations.
  • Web management console, that allows you to inspect your backup/restore operations state in detail (and many other features).
  • Define retention policies for your backups.
  • Application lifecycle (meaning, TVK itself) can be managed via a dedicated TrilioVault Operator.
  • Velero integration (Trilio supports monitoring Velero backups, restores, and backup/snapshot locations via its web management console).

How TrilioVault for Kubernetes works

TVK follows a cloud native architecture, meaning that it has several components that together form the Control Plane and Data Plane layers. Everything is managed via CRDs, thus making it fully Kubernetes native. What is nice about Trilio is the clear separation of concerns, and how effective it handles backup and restore operations.

Each TrilioVault application consists of a bunch of "Controllers" and the associated CRDs. Every time a CRD is created or updated, the responsible controller is notified and performs cluster reconciliation. Then, the controller in charge spawns Kubernetes jobs that perform the real operation (like backup, restore, etc) in parallel.

Control Plane consists of:

  • Target Controller: defines the storage backend (S3*, NFS, etc) via specific CRDs.
  • BackupPlan Controller: defines the components to backup, automated backups schedule, retention strategy, etc via specific CRDs.
  • Restore Controller: defines restore operations via specific CRDs.

Data Plane consists of:

  • Datamover Pods, responsible with transferring data between persistent volumes and backup media (or Target). TrilioVault works with Persistent Volumes (PVs) using the CSI interface. For each PV that needs to be backed up, an ephemeral Datamover Pod is created. After each operation finishes, the associated pod is destroyed.
  • Metamover Pods, responsible with transferring Kubernetes API objects data to backup media (or Target). Metamover pods are ephemeral, just like the Datamover ones.

Understanding TrilioVault Application Scope

TrilioVault for Kubernetes works based on scope, meaning you can have a Namespaced or a Cluster type of installation.

A Namespaced installation allows you to backup and restore at the namespace level only. In other words, the backup is meant to protect a set of applications that are bound to a namespace that you own. This is how a "BackupPlan" and the corresponding Backup CRD works. You cannot mutate those CRDs in other namespaces, they must be created in the same namespace where the application to be backed up is located.

On the other hand, a Cluster type installation is not scoped or bound to any namespace or a set of applications. You define cluster type backups via the Cluster prefixed CRDs, like: ClusterBackupPlan, ClusterBackup, etc. Cluster type backups are a little bit more flexible, in the sense that you are not tied to a specific namespace or set of applications to backup and restore. You can perform backup/restore operations for multiple namespaces and applications at once, including PVs as well (you can also backup etcd databased content).

In order to make sure that TVK application scope and rules are followed correctly, TrilioVault is using an Admission Controller. It intercepts and validates each CRD that you want to push for TVK, before it is actually created. In case TVK application scope is not followed, the admission controller will reject CRD creation in the cluster.

Another important thing to consider and remember is that a TVK License is application scope specific. In other words, you need to generate one type of license for either a Namespaced or a Cluster type installation.

Namespaced vs Cluster TVK application scope - when to use one or the other?

It all depends on the use case. For example, a Namespaced scope is a more appropriate option when you don't have access to the whole Kubernetes cluster, only to specific namespaces and applications.

In most of the cases you want to protect only the applications tied to a specific namespace that you own.

On the other hand, a cluster scoped installation type works at the global level, meaning it can trigger backup/restore operations for any namespace or resource from a Kubernetes cluster (including PVs and the etcd database).

To summarize:

  • If you are a cluster administrator, then you will most probably want to perform cluster level operations via corresponding CRDs, like: ClusterBackupPlan, ClusterBackup, ClusterRestore, etc.
  • If you are a regular user, then you will usually perform namespaced only operations (application centric) via corresponding CRDs, like: BackupPlan, Backup, Restore, etc.

The application interface is very similar or uniform when comparing the two types: Cluster vs non-Cluster prefixed CRDs. So, if you're familiar with one type, it's pretty straightforward to use the counterpart.

For more information, please refer to the TVK CRDs official documentation.

Backup and Restore Workflow

Whenever you want to backup an application, you start by creating a BackupPlan (or ClusterBackupPlan) CRD, followed by a Backup (or ClusterBackup) object. Trilio Backup Controller is notified about the change and performs backup object inspection and validation (i.e. whether it is cluster backup, namespace backup, etc.). Then, it spawns worker pods (Metamover, Datamover) responsible with moving the actual data (Kubernetes metadata, PVs data) to the backend storage (or Target), such as OVHcloud Object Storage.

Similarly whenever you create a Restore object, the "Restore Controller" is notified to restore from a Backup object. Then, Trilio Restore Controller spawns worker nodes (Metamover, Datamover), responsible with moving backup data out of the OVHcloud Object Storage (Kubernetes metadata, PVs data). Finally, the restore process is initiated from the particular backup object.

Trilio is ideal for the disaster recoveryuse case, as well as for "snapshotting" your application state, prior to performing system operations on your cluster, like upgrades. For more details on this topic, please visit the Trilio Features and Trilio Use Case official page.

After finishing this tutorial, you should be able to:

  • Configure OVHcloud Object Storage backend for Trilio to use.
  • Backup and restore your applications
  • Backup and restore your entire OVHcloud Managed Kubernetes Cluster.
  • Create scheduled backups for your applications.
  • Create retention policies for your backups.

Table of Contents

Requirements

To complete this tutorial, you need the following:

  1. An OVHcloud Object Storage Container/Bucket and a Object Storage User which will have permission to access the Object Storage Container.
  2. A Git client, to clone the OVHcloud Docs repository.
  3. Helm, for managing TrilioVault Operator releases and upgrades.
  4. Kubectl, for Kubernetes interaction.
  5. krew, for installation of preflight checks plugin.
Warning

Important information:

In order for TrilioVault to work correctly and to backup your PVCs, the OVHcloud Managed Kubernetes Cluster needs to be configured to support the Container Storage Interface (or CSI, for short) and volumesnapshot CustomResourceDefinitions should be deployed.

kubectl get crd | grep volumesnapshot

The output should look similar to below:

volumesnapshotclasses.snapshot.storage.k8s.io    2022-01-20T07:58:05Z
volumesnapshotcontents.snapshot.storage.k8s.io   2022-01-20T07:58:05Z
volumesnapshots.snapshot.storage.k8s.io          2022-01-20T07:58:06Z

Also make sure that the CRD support both v1beta1 and v1 API version. You can run below command to check the API version:

kubectl get crd volumesnapshots.snapshot.storage.k8s.io -o yaml

At the end of the CRD yaml, you should obtain an output similar to below, showing storedVersions as v1beta1 and v1:

...
- lastTransitionTime: "2022-01-20T07:58:06Z"
    message: approved in https://github.com/kubernetes-csi/external-snapshotter/pull/419
    reason: ApprovedAnnotation
    status: "True"
    type: KubernetesAPIApprovalPolicyConformant
  storedVersions:
  - v1beta1
  - v1

User can then install the Hostpath CSI driver and create a storageclass, volumesnapshotclass. You can check the existing storage class using below command:

kubectl get storageclass

The output should look similar to (notice the provisioner is hostpath.csi.k8s.io if you have installed hostpath CSI driver):

NAME                        PROVISIONER                RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
csi-cinder-classic          cinder.csi.openstack.org   Delete          Immediate           true                   3d
csi-cinder-high-speed       cinder.csi.openstack.org   Delete          Immediate           true                   3d
csi-cinder-high-speed-gen2  cinder.csi.openstack.org   Delete          Immediate           true                   3d
csi-hostpath-sc (default)   hostpath.csi.k8s.io        Retain          Immediate           false                  2d

Users should run a preflight check to make sure all the prerequisites for the TVK are fulfilled to proceed safely with installation. Follow the TVK Preflight Checks page to install and run preflight through krew plugin.

Instructions

Step 1 - Installing TrilioVault for Kubernetes

In this step, you will learn how to deploy TrilioVault for Kubernetes for OVHcloud Managed Kubernetes Cluster, and manage TVK installations via Helm. Backups data will be stored in the OVHcloud Object Storage bucket created earlier in the Requirements section.

TrilioVault for Kubernetes consists of TVK Operator and TVM application.

The TrilioVault Operator (installable via Helm) which also installs the TrilioVaultManager CRD and creates a tvm custom resource. TVK Operator handles the installation, post-configuration steps, and future upgrades of the Trilio application components.

Installing TrilioVault Operator and Manager Using Helm

Warning

This tutorial is using the Cluster installation type for the TVK application (applicationScope Helm value is set to "Cluster"). All examples from this tutorial rely on this type of installation to function properly.

Please follow the steps below, to install TrilioVault via Helm:

First, clone the OVHcloud Docs Git repository and change directory to your local copy:

git clone https://github.com/ovh/docs.git
cd docs/pages/public_cloud/containers_orchestration/managed_kubernetes/backup-and-restore-cluster-namespace-and-applications-with-trilio/

Next, add the TrilioVault Helm repository, and list the available charts:

helm repo add triliovault-operator http://charts.k8strilio.net/trilio-stable/k8s-triliovault-operator
helm repo update
helm search repo triliovault-operator

The output looks similar to the following:

NAME                                            CHART VERSION   APP VERSION     DESCRIPTION
triliovault-operator/k8s-triliovault-operator   2.9.3           2.9.3           K8s-TrilioVault-Operator is an operator designe...

The chart of interest is triliovault-operator/k8s-triliovault-operator, which will install TrilioVault for Kubernetes Operator on the cluster. You can run helm install command to install the Operator which will also install the Triliovault Manager CRD. Install TrilioVault for Kubernetes Operator using Helm:

TVK allows user to alter the values to be used by TVK Operator installation using --set option. Check the detailed instructions in the One-click Installation page.

helm install triliovault-operator triliovault-operator/k8s-triliovault-operator --namespace tvk --create-namespace

Now, please check your TVK deployment:

helm ls -n tvk

The output looks similar to the following (STATUS column should display "deployed"):

NAME                    NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
triliovault-manager-tvk tvk             1               2022-06-21 07:15:03.681891176 +0000 UTC deployed        k8s-triliovault-2.9.3           2.9.3
triliovault-operator    tvk             1               2022-06-21 07:13:18.731129339 +0000 UTC deployed        k8s-triliovault-operator-2.9.3  2.9.3

Next, verify that TrilioVault-Operator and Triliovault-Manager application is up and running:

kubectl get deployments -n tvk

The output looks similar to the following (deployment pods must be in the Ready state):

NAME                                            READY   UP-TO-DATE   AVAILABLE   AGE
k8s-triliovault-admission-webhook               1/1     1            1           45d
k8s-triliovault-control-plane                   1/1     1            1           45d
k8s-triliovault-exporter                        1/1     1            1           45d
k8s-triliovault-ingress-nginx-controller        1/1     1            1           13d
k8s-triliovault-web                             1/1     1            1           45d
k8s-triliovault-web-backend                     1/1     1            1           45d
triliovault-operator-k8s-triliovault-operator   1/1     1            1           45d

Now, please check your triliovaultmanagers CRDs, tvm CR as well:

kubectl get crd | grep trilio

The output looks similar to the following:

backupplans.triliovault.trilio.io                     2022-06-21T07:39:38Z
backups.triliovault.trilio.io                         2022-06-21T07:39:38Z
clusterbackupplans.triliovault.trilio.io              2022-06-21T07:39:39Z
clusterbackups.triliovault.trilio.io                  2022-06-21T07:39:39Z
clusterrestores.triliovault.trilio.io                 2022-06-21T07:39:39Z
hooks.triliovault.trilio.io                           2022-06-21T07:39:39Z
licenses.triliovault.trilio.io                        2022-06-21T07:39:39Z
policies.triliovault.trilio.io                        2022-06-21T07:39:40Z
restores.triliovault.trilio.io                        2022-06-21T07:39:40Z
targets.triliovault.trilio.io                         2022-06-21T07:39:40Z
triliovaultmanagers.triliovault.trilio.io             2022-06-21T07:38:30Z

You can also check if the TVM Custom Resource is created.

kubectl get triliovaultmanagers -n tvk 

The output looks similar to the following:

NAME                  TRILIOVAULT-VERSION   SCOPE     STATUS     RESTORE-NAMESPACES
triliovault-manager   2.9.3                 Cluster   Deployed

If the output looks like above, you installed TVK successfully. Next, you will learn how to check license type and validity, as well as how to renew.

TrilioVault Application Licensing

By default, when installing TVK via Helm, there is no Free Trial license generated. This tutorial will help you install the 'Cluster' scoped license which is of type 'Basic' for cluster capacity of 500 CPUs and has expiration time of 5 years.
You can always go to the Trilio website and generate a new license for your cluster that suits your needs.

Installing TVK Application Licensing

Please run below command to see what license is available for your cluster (it is managed via the License CRD):

curl -LO https://raw.githubusercontent.com/ovh/docs/develop/pages/public_cloud/containers_orchestration/managed_kubernetes/backup-and-restore-cluster-namespace-and-applications-with-trilio/manifests/tvk_install_license.yaml
kubectl apply -f tvk_install_license.yaml -n tvk

Run the below command to verify if the license is successfully created for OVHcloud users:

kubectl get license -n tvk

The output looks similar to (notice the STATUS which should be "Active", as well as the license type in the EDITION column and EXPIRATION TIME):

NAMESPACE   NAME             STATUS   MESSAGE                                   CURRENT NODE COUNT   GRACE PERIOD END TIME   EDITION   CAPACITY   EXPIRATION TIME        MAX NODES
tvk         trilio-license   Active   Cluster License Activated successfully.   3                                            Basic     500        2027-06-21T00:00:00Z   3

The license is managed via a special CRD, namely the License object. You can inspect it by running below command:

kubectl describe license test-license-1 -n tvk 

The output looks similar to (notice the Message and Capacity fields, as well as the Edition):

Name:         test-license-1
Namespace:    tvk
Labels:       <none>
Annotations:  generation: 1
              triliovault.trilio.io/creator: kubernetes-admin
              triliovault.trilio.io/instance-id: 46188ee1-8ce1-4c45-96fa-c262f2214ced
              triliovault.trilio.io/updater:
                [{"username":"system:serviceaccount:tvk:k8s-triliovault","lastUpdatedTimestamp":"2022-06-21T10:06:59.796280418Z"}]
API Version:  triliovault.trilio.io/v1
Kind:         License
Metadata:
  Creation Timestamp:  2022-06-21T10:56:14Z
...
  Current Node Count:  3
  Max Nodes:           3
  Message:             Cluster License Activated successfully.
  Properties:
    Active:                        true
    Capacity:                      500
    Company:                       OVHCloud License For Users
    Creation Timestamp:            2022-06-21T00:00:00Z
    Edition:                       Basic
    Expiration Timestamp:          2027-06-21T00:00:00Z
    Kube UID:                      46188ee1-8ce1-4c45-96fa-c262f2214ced
    License ID:                    TVAULT-4ddf3f72-d2ab-11ec-9a22-4b4849af53ee
    Maintenance Expiry Timestamp:  2027-06-21T00:00:00Z
    Number Of Users:               -1
    Purchase Timestamp:            2022-06-21T00:00:00Z
    Scope:                         Cluster
...

The above output will also tell you when the license is going to expire in the Expiration Timestamp field, and the Scope (Cluster based in this case). You can opt for a cluster wide license type, or for a namespace based license. More details can be found on the Trilio Licensing documentation page.

Renewing TVK Application License

To renew the license, you will have to request a new one from the Trilio website, by navigating to the licensing page. After completing the form, you should receive the License YAML manifest, which can be applied to your cluster using kubectl. Below commands assume that TVK is installed in the default tvk namespace (please replace the <> placeholders accordingly, where required):

kubectl apply -f <YOUR_LICENSE_FILE_NAME>.yaml -n tvk

Then, you can check the new license status as you already learned via:

# List available TVK licenses first from the `tvk` namespace
kubectl get license -n tvk

# Get information about a specific license from the `tvk` namespace
kubectl describe license <YOUR_LICENSE_NAME_HERE> -n tvk 

In the next step, you will learn how to define the storage backend for TrilioVault to store backups, called a target.

Step 2 - Creating a TrilioVault Target to Store Backups

TrilioVault needs to know first where to store your backups. TrilioVault refers to the storage backend by using the target term, and it's managed via a special CRD named Target. The following target types are supported: S3 and NFS. For OVHcloud and the purpose of the tutorial, it makes sense to rely on the S3 storage type because it's cheap and scalable. To benefit from an enhanced level of protection you can create multiple target types (for both S3 and NFS), so that your data is kept safe in multiple places, thus achieving backup redundancy.

OVHcloud provides two types of S3 compatible Object Storage solutions:

  • To create Target for the OVHcloud Object Storage using S3 Swift API, use this link.
  • To create Target for the S3 compatible Object Storage, use this link

Create an Object Storage user in the tab next to Object Storage Container. Now, from Users and Roles, assign the Administrator priviledges to the S3 user.

Next, create an Access Key and Secret Key to access the Object Storage Container using the Getting Started with the Swift S3 API tutorial.

Info

If you have created a container with High Performance then follow the Getting started with S3 compatible Object Storage documentation.

Save the Access key and Secret key used in AWS CLI ~/.aws/credentails file. It is required to create a target secret later. Take a note of the Object Storage endpoint URL s3.endpoint_url, and the region name region provided in the AWS CLI ~/.aws/config file. It is required to create a Target later.

To access Object Storage, each target needs to know bucket credentials. A Kubernetes Secret must be created as well:

apiVersion: v1
kind: Secret
metadata:
  name: trilio-ovh-s3-target-secret
  namespace: tvk
type: Opaque
stringData:
  accessKey: <YOUR_OVH_OBJECT_STORAGE_BUCKET_ACCESS_KEY_ID_HERE>	# value must be base64 encoded
  secretKey: <YOUR_OVH_OBJECT_STORAGE_BUCKET_SECRET_KEY_HERE>    	# value must be base64 encoded

Notice that the secret name is trilio-ovh-s3-target-secret.
It's referenced by the spec.objectStoreCredentials.credentialSecret field of the Target CRD explained below. The secret can be in the same namespace where TrilioVault was installed (defaults to tvk), or in another namespace of your choice. Just make sure that you reference the namespace correctly. On the other hand, please make sure to protect the namespace where you store TrilioVault secrets via RBAC, for security reasons.

Typical Target definition looks like below:

apiVersion: triliovault.trilio.io/v1
kind: Target
metadata:
  name: trilio-ovh-s3-target
  namespace: tvk
spec:
  type: ObjectStore
  vendor: Other								# e.g. `AWS` for AWS S3 Storage and `Other` for OVHcloud Object Storage
  enableBrowsing: true
  objectStoreCredentials:
    bucketName: <YOUR_OVH_OBJECT_STORAGE_BUCKET_NAME_HERE>
    region: <YOUR_OVH_OBJECT_STORAGE_BUCKET_REGION_HERE>    # e.g.: `bhs` region for OVHcloud Object Storage or `us-est-1` etc for AWS S3
    url: "https://s3.<REGION_NAME_HERE>.cloud.ovh.net"  	# e.g.: `https://s3.bhs.cloud.ovh.net` for Object Storage Container in `bhs` region
    credentialSecret:
      name: trilio-ovh-s3-target-secret
      namespace: tvk
  thresholdCapacity: 10Gi

Explanation for the above configuration:

  • spec.type: Type of target for backup storage (Object Storage is an object store).
  • spec.vendor: Third party storage vendor hosting the target (for OVHcloud Object Storage you need to use "Other" instead of "AWS").
  • spec.enableBrowsing: Enable browsing for the target to browse through the backups stored on it.
  • spec.objectStoreCredentials: Defines required credentials (via credentialSecret) to access the Object Storage, as well as other parameters such as bucket region and name.
  • spec.thresholdCapacity: Maximum threshold capacity to store backup data.

Steps to create a Target for TrilioVault:

  1. First, change directory where the ovh/docs Git repository was cloned on your local machine:
cd docs/pages/public_cloud/containers_orchestration/managed_kubernetes/backup-and-restore-cluster-namespace-and-applications-with-trilio/
  1. Next, create the Kubernetes secret containing your target Object Storage bucket credentials (please replace the <> placeholders accordingly):
kubectl create secret generic trilio-ovh-s3-target-secret \
  --namespace=tvk \
  --from-literal=accessKey="<YOUR_OVH_OBJECT_STORAGE_BUCKET_ACCESS_KEY_HERE>" \
  --from-literal=secretKey="<YOUR_OVH_OBJECT_STORAGE_BUCKET_SECRET_KEY_HERE>"
  1. Then, open and inspect the Target manifest file provided in the docs repository, using an editor of your choice (preferably with YAML lint support). You can use VS Code for example:
cat manifests/triliovault-ovh-s3-target.yaml
  1. Now, please replace the <> placeholders accordingly to your OVHcloud Object Storage Trilio bucket, like: bucketName, region, url and credentialSecret.
  2. Finally, save the manifest file and create the Target object using kubectl:
kubectl apply -f manifests/triliovault-ovh-s3-target.yaml

What happens next is, TrilioVault will spawn a worker job named trilio-ovh-s3-target-validator responsible with validating your Object Storage bucket (like availability, permissions, etc.). If the job finishes successfully, the bucket is considered to be healthy or available and the trilio-ovh-s3-target-validator job resource is deleted afterwards. If something bad happens, the Object Storage target validator job is left up and running so that you can inspect the logs and find the possible issue.

Now, please go ahead and check if the Target resource created earlier is healthy:

kubectl get target trilio-ovh-s3-target -n tvk

The output looks similar to (notice the STATUS column value - should be "Available", meaning it's in a healthy state):

NAME                   TYPE          THRESHOLD CAPACITY   VENDOR   STATUS      BROWSING ENABLED
trilio-ovh-s3-target   ObjectStore   10Gi                 Other    Available   Enabled

If the output looks like above, then you configured the Object Storage target object successfully.

Hint: In case the target object fails to become healthy, you can inspect the logs from the trilio-ovh-s3-target-validator Pod to find the issue:

First, you need to find the target validator

kubectl get pods -n tvk | grep trilio-ovh-s3-target-validator

The output looks similar to:

trilio-ovh-s3-target-validator-tio99a-6lz4q	1/1     Running     0          104s

Now, fetch logs data

kubectl logs pod/trilio-ovh-s3-target-validator-tio99a-6lz4q -n tvk

The output looks similar to (notice the exception as an example):

...
INFO:root:2022-06-21 09:06:50.595166: waiting for mount operation to complete.
INFO:root:2022-06-21 09:06:52.595772: waiting for mount operation to complete.
ERROR:root:2022-06-21 09:06:54.598541: timeout exceeded, not able to mount within time.
ERROR:root:/triliodata is not a mountpoint. We can't proceed further.
Traceback (most recent call last):
  File "/opt/tvk/datastore-attacher/mount_utility/mount_by_target_crd/mount_datastores.py", line 56, in main
    utilities.mount_datastore(metadata, datastore.get(constants.DATASTORE_TYPE), base_path)
  File "/opt/tvk/datastore-attacher/mount_utility/utilities.py", line 377, in mount_datastore
    mount_s3_datastore(metadata_list, base_path)
  File "/opt/tvk/datastore-attacher/mount_utility/utilities.py", line 306, in mount_s3_datastore
    wait_until_mount(base_path)
  File "/opt/tvk/datastore-attacher/mount_utility/utilities.py", line 328, in wait_until_mount
    base_path))
Exception: /triliodata is not a mountpoint. We can't proceed further.
...

Next, you will discover the TVK web console which is a really nice and useful addition to help you manage backup and restore operations very easily, among many others.

Step 3 - Getting to Know the TVK Web Management Console

While you can manage backup and restore operations from the CLI entirely via kubectl and CRDs, TVK provides a Web Management Console to accomplish the same operations via the GUI. The management console simplifies common tasks via point and click operations, provides better visualization and inspection of TVK cluster objects, as well as to create disaster recovery plans (or DRPs).

The Helm based installation covered in Step 1 - Installing TrilioVault for Kubernetes already took care of installing the required components for the web management console.

Getting Access to the TVK Web Management Console

To be able to access the console and explore the features it offers, you can either user LoadBalancer, NodePort or need to port forward the ingress-nginx-controller service for TVK.

First, you need to identify the ingress-nginx-controller service from the tvk namespace:

kubectl get svc -n tvk

The output looks similar to (search for the k8s-triliovault-ingress-nginx-controller line, and notice that it listens on port 80 in the PORT(S) column):

NAME                                                            TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)                      AGE
k8s-triliovault-admission-webhook                               ClusterIP   10.3.241.124   <none>        443/TCP                      45d
k8s-triliovault-ingress-nginx-controller                        NodePort    10.3.183.125   <none>        80:31879/TCP,443:31921/TCP   13d
k8s-triliovault-ingress-nginx-controller-admission              ClusterIP   10.3.20.89     <none>        443/TCP                      13d
k8s-triliovault-web                                             ClusterIP   10.3.56.86     <none>        80/TCP                       45d
k8s-triliovault-web-backend                                     ClusterIP   10.3.236.30    <none>        80/TCP                       45d
triliovault-operator-k8s-triliovault-operator-webhook-service   ClusterIP   10.3.8.249     <none>        443/TCP                      45d

If you are using LoadBalancer for the ingress-nginx-controller then the output would look like:

NAME                                                            TYPE        	CLUSTER-IP     EXTERNAL-IP   	PORT(S)                      AGE
k8s-triliovault-admission-webhook                               ClusterIP   	10.3.241.124   <none>        	443/TCP                      45d
k8s-triliovault-ingress-nginx-controller                        LoadBalancer    10.3.183.125   51.222.45.171	80:31879/TCP,443:31921/TCP   13d
k8s-triliovault-ingress-nginx-controller-admission              ClusterIP   	10.3.20.89     <none>        	443/TCP                      13d
k8s-triliovault-web                                             ClusterIP   	10.3.56.86     <none>        	80/TCP                       45d
k8s-triliovault-web-backend                                     ClusterIP   	10.3.236.30    <none>        	80/TCP                       45d
triliovault-operator-k8s-triliovault-operator-webhook-service   ClusterIP   	10.3.8.249     <none>        	443/TCP                      45d

TVK is using an Nginx Ingress Controller to route traffic to the management web console services. Routing is host based, and the host name is ovh-k8s-tvk.demo.trilio.io as defined in the Helm values file from the ovh/docs:

# The host name to use when accessing the web console via the TVK ingress controller service
ingressConfig:
  host: "ovh-k8s-tvk.demo.trilio.io"

Having the above information at hand, please go ahead and edit the /etc/hosts file, and add this entry:

127.0.0.1 ovh-k8s-tvk.demo.trilio.io

Next, create the port forward for the TVK ingress controller service:

kubectl port-forward svc/k8s-triliovault-ingress-nginx-controller 8080:80 -n tvk

Finally download the kubeconfig file for your OVHcloud Managed Kubernetes Cluster present under Service tab as Kubeconfig file. This step is required so that the web console can authenticate you using kubeconfig file:

After following the above steps, you can access the console in your web browser by navigating to: http://ovh-k8s-tvk.demo.trilio.io. When asked for the kubeconfig file, please select the one that you created in the last command from above.

Info

Please keep the generated kubeconfig file safe because it contains sensitive data.

Exploring the TVK Web Console User Interface

The home page looks similar to:

TVK Home Cluster Dashboard

Go ahead and explore each section from the left:

  • Cluster Management: This shows the list of primary cluster and other clusters having TVK instances, added to the primary OVHcloud cluster using Multi-Cluster Management feature.
  • Backup & Recovery: This is the main dashboard which gives you a general overview for the whole cluster, like: Discovered namespaces, Applications, Backupplans list, Targets, Hooks, Policies etc.
    • Namespaces:
    TVK Cluster Namespaces
    • Applications:
    TVK Auto-discovered Applications
    • Backupplans:
    TVK Backupplans
    • Targets:
    TVK Target List
    • Scheduling Policy:
    TVK Default Scheduling Policy
    • Retention Policy:
    TVK Default Retention Policy
    • Monitoring: This has two options, TrilioVault Monitoring and Velero Monitoring if user has Velero configured on their OVHcloud cluster.
      • TrilioVault Monitoring: It shows the backup and restore summary of the kubernetes cluster.
    TVK TrilioVault Monitoring Backups and Restores
    • Velero Monitoring:
    TVK Velero Monitoring
  • Disaster Recovery: Allows you to manage and perform disaster recovery operations. TVK Disaster Recovery

You can also see the Object Storage Target created earlier, by navigating to Backup & Recovery > Targets > Select the TVK Namespace from the dropdown on the top (in case of ovh/docs the TVK Namespace is tvk):

TVK Target List

Going further, you can browse the target and list the available backups by clicking on the Actions button from the right, and then select Launch Browser option from the pop-up menu (for this to work the target must have the enableBrowsing flag set to true):

TVK Target Browser

For more information and available features, please consult the TVK Web Management Console User Interface official documentation.

Next, you will learn how to perform backup and restore operations for specific use cases, like:

  • Specific namespace(s) backup and restore.
  • Whole cluster backup and restore.

Step 4 - Helm Release Backup and Restore Example

In this step, you will learn how to create a one-time backup for an entire helm release from your OVHcloud Managed Kubernetes Cluster and restore it afterwards, making sure that all the resources related to the helm release are re-created. The namespace in question is demo-backup-ns. TVK has a neat feature that allows you to perform backups at a higher level than just Helm releases, meaning: complete namespaces, Label based application, and Operator based application. You will learn how to accomplish such a task, in the steps to follow.

Next, you will perform the following tasks:

  • Create the demo-backup-ns namespace and create a mysql-qa helm release for the MySQL Database
  • Perform a namespace backup, via BackupPlan and Backup CRDs.
  • Delete the mysql-qa Helm release.
  • Restore the mysql-qa Helm release, via Restore CRD.
  • Check the mysql-qa Helm release resources restoration.

Creating mysql-qa helm release

helm repo add stable https://charts.helm.sh/stable
helm repo update
helm install mysql-qa --set mysqlRootPassword=triliopass stable/mysql -n demo-backup-ns

To verify if the helm release is deployed correctly, run below command:

helm ls -n demo-backup-ns

The output looks similar to below:

NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION
mysql-qa        demo-backup-ns  1               2022-06-21 08:23:01.849247691 +0000 UTC deployed        mysql-1.6.9     5.7.30

Next, verify that mysql-qa deployment is up and running:

kubectl get deployments -n demo-backup-ns

The output looks similar to below:

NAME       READY   UP-TO-DATE   AVAILABLE   AGE
mysql-qa   1/1     1            1           2m5s

This shows that the mysql-qa helm release is ready to be backedup.

Creating mysql-qa Helm Release Backup

To perform backups for a single application at the namespace level (or Helm release), a BackupPlan followed by a Backup CRD is required. A BackupPlan allows you to:

  • Specify a target where backups should be stored.
  • Define a set of resources to backup (e.g.: namespace or Helm releases).
  • Encryption, if you want to encrypt your backups on the target (this is a very nice feature for securing your backups data).
  • Define schedules for full or incremental type backups.
  • Define retention policies for your backups.
Info

The TrilioVault for Kubernetes has created a few sample scheduling and retention policies for users. Users can create the new policies or utilize the sample policies.

TVK Default Scheduling PolicyTVK Default Retention Policy

In other words a BackupPlan is a definition of "what", "where", "to" and "how" of the backup process, but it doesn't perform the actual backup. The Backup CRD is responsible with triggering the actual backup process, as dictated by the BackupPlan spec.

Typical BackupPlan CRD looks like below:

apiVersion: triliovault.trilio.io/v1
kind: BackupPlan
metadata:
  name: mysql-qa-helm-release-backup-plan
  namespace: demo-backup-ns
spec:
  backupConfig:
    target:
      name: trilio-ovh-s3-target
      namespace: tvk
  backupPlanComponents:
    helmReleases:
      - mysql-qa

Explanation for the above configuration:

  • spec.backupConfig.target.name: Tells TVK what target name to use for storing backups.
  • spec.backupConfig.target.namespace: Tells TVK in which namespace the target was created.
  • spec.backupComponents: Defines a list of resources to back up (can be namespaces or Helm releases).

Typical Backup CRD looks like below:

apiVersion: triliovault.trilio.io/v1
kind: Backup
metadata:
  name: mysql-qa-helm-release-full-backup
  namespace: demo-backup-ns
spec:
  type: Full
  backupPlan:
    name: mysql-qa-helm-release-backup-plan
    namespace: demo-backup-ns

Explanation for the above configuration:

  • spec.type: Specifies backup type (e.g. Full or Incremental).
  • spec.backupPlan: Specifies the BackupPlan which this Backup should use.

Steps to initiate the mysql-qa Helm release one time backup:

  1. First, make sure that the mysql-qa is deployed in your cluster by following these steps.
  2. Next, change directory where the docs Git repository was cloned on your local machine:
cd docs/pages/public_cloud/containers_orchestration/managed_kubernetes/backup-and-restore-cluster-namespace-and-applications-with-trilio/
  1. Then, open and inspect the mysql-qa helm release BackupPlan and Backup manifest files provided in the pages/public_cloud/containers_orchestration/managed_kubernetes/backup-and-restore-cluster-namespace-and-applications-with-trilio/guide.en-us.md repository, using an editor of your choice (preferably with YAML lint support). You can use VS Code for example:
cat manifests/mysql-qa-helm-release-backup-plan.yaml
cat manifests/mysql-qa-helm-release-backup.yaml
  1. Create the BackupPlan resource, using kubectl:
kubectl apply -f manifests/mysql-qa-helm-release-backup-plan.yaml -n demo-backup-ns

Now, inspect the BackupPlan status (targeting the mysql-qa Helm release), using kubectl:

kubectl get backupplan mysql-qa-helm-release-backup-plan -n demo-backup-ns

The output looks similar to (notice the STATUS column value which should be set to "Available"):

NAME                                  TARGET			...   STATUS
mysql-qa-helm-release-backup-plan   trilio-ovh-s3-target	...   Available
  1. Finally, create a Backup resource, using kubectl:
kubectl apply -f manifests/mysql-qa-helm-release-backup.yaml -n demo-backup-ns

Now, inspect the Backup status (targeting the mysql-qa Helm release), using kubectl:

kubect get backup mysql-qa-helm-release-full-backup -n demo-backup-ns

Next, check the Backup object status, using kubectl:

kubectl get backup mysql-qa-helm-release-full-backup -n demo-backup-ns

The output looks similar to (notice the STATUS column value which should be set to "InProgress", as well as the BACKUP TYPE set to "Full"):

NAME                                BACKUPPLAN                          BACKUP TYPE   STATUS       ...
mysql-qa-helm-release-full-backup   mysql-qa-helm-release-backup-plan   Full          InProgress   ...                                  

After all the mysql-qa Helm release components finish uploading to the Object Storage target, you should get below results:

kubectl get backup mysql-qa-helm-release-full-backup -n demo-backup-ns

The output looks similar to (notice that the STATUS changed to "Available", and PERCENTAGE is "100")

NAME                                BACKUPPLAN                          BACKUP TYPE   STATUS      ...   PERCENTAGE
mysql-qa-helm-release-full-backup   mysql-qa-helm-release-backup-plan   Full          Available   ...   100

If the output looks like above, you successfully backed up the mysql-qa Helm release. You can go ahead and see how TrilioVault stores Kubernetes metadata by listing the TrilioVault S3 Bucket contents.

Finally, you can check that the backup is available in the web console as well, by navigating to Backup & Recovery -> Backup Plans and select demo-ns-backup Namespace from the Top dropdown (notice that it's in the "Available" state, and that the mysql-qa Helm release was backed up in the "Component Details" sub-view)

Deleting mysql-qa Helm Release and Resources

Now, go ahead and simulate a disaster, by intentionally deleting the mysql-qa Helm release:

helm delete mysql-qa -n demo-backup-ns

Next, check that the namespace resources were deleted (listing should be empty):

kubectl get all -n demo-backup-ns

Restoring mysql-qa Helm Release Backup

Important notes:

  • If restoring into the same namespace, ensure that the original application components have been removed. Especially the PVC of application are deleted.
  • If restoring to another cluster (migration scenario), ensure that TrilioVault for Kubernetes is running in the remote namespace/cluster as well. To restore into a new cluster (where the Backup CR does not exist), source.type must be set to location. Please refer to the Custom Resource Definition Restore Section to view a restore by location example.
  • When you delete the demo-backup-ns namespace, the load balancer resource associated with the mysql-qa service will be deleted as well. So, when you restore the mysq-qa service, the Load Balancer will be recreated by OVHcloud. The issue is that you will get a New IP address for your Load Balancer, so you will need to adjust the A records for getting traffic into your domains hosted on the cluster.

To restore a specific Backup, you need to create a Restore CRD. Typical Restore CRD looks like below:

apiVersion: triliovault.trilio.io/v1
kind: Restore
metadata:
  name: mysql-qa-helm-release-restore
  namespace: demo-restore-ns
spec:
  source:
    type: Backup
    backup:
      name: mysql-qa-helm-release-full-backup
      namespace: demo-backup-ns
  skipIfAlreadyExists: true

Explanation for the above configuration:

  • spec.source.type: Specifies what backup type to restore from.
  • spec.source.backup: Contains a reference to the backup object to restore from.
  • spec.skipIfAlreadyExists: Specifies whether to skip restore of a resource if it already exists in the namespace restored.

Restore allows you to restore the last successful Backup for an application. It is used to restore a single namespaces or Helm release, protected by the Backup CRD. The Backup CRD is identified by its name: mysql-qa-helm-release-full-backup.

First, inspect the Restore CRD example from the ovh/docs Git repository:

cat manifests/mysql-qa-helm-release-restore.yaml

Then, create the Restore resource using kubectl:

kubectl apply -f manifests/mysql-qa-helm-release-restore.yaml

Finally, inspect the Restore object status:

kubectl get restore mysql-qa-helm-release-restore -n demo-restore-ns

The output looks similar to (notice the STATUS column set to Completed, as well as the PERCENTAGE COMPLETED set to 100):

NAME                            STATUS      DATA SIZE   START TIME             END TIME               PERCENTAGE COMPLETED   DURATION
mysql-qa-helm-release-restore   Completed   0           2022-06-21T15:06:52Z   2022-06-21T15:07:35Z   100                    43.524191306s

If the output looks like above, then the mysql-qa Helm release restoration process completed successfully.

Verifying Applications Integrity after Restoration

Check that all the demo-restore-ns namespace resources are in place and running:

kubectl get all -n demo-restore-ns

The output looks similar to:

NAME                                                           READY   STATUS      RESTARTS   AGE
pod/mysql-qa-665f6fb548-m8tnd                                  1/1     Running     0          91m
pod/mysql-qa-helm-release-full-backup-metamover-9w7s0y-x8867   0/1     Completed   0          9m2s

NAME               TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE
service/mysql-qa   ClusterIP   10.3.227.118   <none>        3306/TCP   91m

NAME                       READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/mysql-qa   1/1     1            1           91m

NAME                                  DESIRED   CURRENT   READY   AGE
replicaset.apps/mysql-qa-665f6fb548   1         1         1       91m

NAME                                                           COMPLETIONS   DURATION   AGE
job.batch/mysql-qa-helm-release-full-backup-metamover-9w7s0y   1/1           28s        9m2s

Next step deals with whole cluster backup and restore, thus covering a disaster recovery scenario.

Step 5 - Backup and Restore Whole Cluster Example

In this step, you will simulate a disaster recovery scenario. The whole OVHcloud Managed Kubernetes Cluster will be deleted, and then the important applications restored from a previous backup.

Next, you will perform the following tasks:

  • Create the multi-namespace backup, using a ClusterBackupPlan CRD that targets all important namespaces from your OVHcloud Managed Kubernetes Cluster.
  • Delete the OVHcloud Managed Kubernetes Cluster, using the OVHcloud Control Panel.
  • Create a new OVHcloud Managed Kubernetes Cluster, using the OVHcloud Control Panel.
  • Re-install TVK and configure the OVHcloud Object Storage bucket as S3 target (you're going to use the same S3 bucket, where your important backups are stored)
  • Restore all the important applications by using the TVK web console.
  • Check the OVHcloud Managed Kubernetes Cluster applications integrity.

Creating the OVHcloud Managed Kubernetes Cluster Backup using TVK Multi-Namespace backup feature

The main idea here is to perform a OVHcloud Managed Kubernetes Cluster backup by including all important namespaces, that hold your essential applications and configurations. Basically, we cannot name it a full cluster backup and restore, but rather a multi-namespace backup and restore operation. In practice this is all that's needed, because everything is "namespaced" in Kubernetes. You will also learn how to perform a cluster restore operation via location from the target. The same flow applies when you need to perform cluster migration.

Typical ClusterBackupPlan manifest targeting multiple namespaces looks like below:

apiVersion: triliovault.trilio.io/v1
kind: ClusterBackupPlan
metadata:
  name: ovh-multi-ns-backup-plan
  namespace: default
spec:
  backupConfig:
    target:
      name: trilio-ovh-s3-target
      namespace: default
  backupComponents:
    - namespace: default
    - namespace: demo-backup-ns
    - namespace: backend
    - namespace: monitoring

Notice that kube-system (or other OVHcloud Managed Kubernetes Cluster related namespaces) is not included in the list. Usually, those are not required, unless there is a special case requiring some settings to be persisted at that level.

Typical ClusterBackup manifest targeting multiple namespaces looks like below:

apiVersion: triliovault.trilio.io/v1
kind: ClusterBackup
metadata:
  name: multi-ns-backup
  namespace: default
spec:
  type: Full
  clusterBackupPlan:
    name: ovh-multi-ns-backup-plan
    namespace: default

Steps to initiate a backup for all important namespaces in your OVHcloud Managed Kubernetes Cluster:

  1. First, change directory where the ovh/docs Git repository was cloned on your local machine:
cd docs
  1. Then, open and inspect the ClusterBackupPlan and ClusterBackup manifest files provided in the docs repository.
cat manifests/multi-ns-backup-plan.yaml
cat manifests/multi-ns-backup.yaml
  1. Create the ClusterBackupPlan resource, using kubectl:
kubectl apply -f manifests/multi-ns-backup-plan.yaml

Now, inspect the ClusterBackupPlan status, using kubectl:

kubectl get clusterbackupplan multi-ns-backup-plan -n default

The output looks similar to (notice the STATUS column value which should be set to "Available"):

NAME                            TARGET                 ...		STATUS
ovh-multi-ns-backup-plan		trilio-ovh-s3-target   ...		Available
  1. Finally, create the ClusterBackup resource, using kubectl:
kubectl apply -f manifests/multi-ns-cluster-backup.yaml

Next, check the ClusterBackup status, using kubectl:

kubectl get clusterbackup multi-ns-cluster-backup -n default

The output looks similar to (notice the STATUS column value which should be set to "Available", as well as the PERCENTAGE COMPLETE set to "100"):

NAME           		BACKUPPLAN             		BACKUP TYPE   STATUS		...		COMPLETE
multi-ns-backup   	ovh-multi-ns-backup-plan	Full          Avilable		...		100                               

If the output looks like above then all your important application namespaces were backed up successfully.

Info

Please bear in mind that it may take a while for the full cluster backup to finish, depending on how many namespaces and associated resources are involved in the process.

You can also open the web console main dashboard and inspect the multi-namespace backup (notice how all the important namespaces that were backed up are highlighted in green color, in a honeycomb structure)

Re-creating the OVHcloud Managed Kubernetes Cluster and Restoring Applications

An important aspect to keep in mind is that whenever you destroy an OVHcloud Managed Kubernetes Cluster and then restore it, a new Load Balancer with a new external IP is created as well when TVK restores your ingress controller. So, please make sure to update your OVHcloud Managed DNS A records accordingly.

Now, delete the whole OVHcloud Managed Kubernetes Cluster using the OVHcloud Control Panel.

Next, re-create the cluster as described in Creating a OVHcloud Managed Kubernetes Cluster.

To perform the restore operation, you need to install the TVK application as described in Step 1 - Installing TrilioVault for Kubernetes. Please make sure to use the same Helm Chart version - this is important!

After the installation finishes successfully, configure the TVK target as described in Step 2 - Creating a TrilioVault Target to Store Backups, and point it to the same OVHcloud Object Storage bucket where your backup data is located. Also, please make sure that target browsing is enabled.

Next, verify and activate a new license as described in the TrilioVault Application Licensing section.

To get access to the web console user interface, please consult the Getting Access to the TVK Web Management Console section.

Then, navigate to Resource Management > TVK Namespace > Targets (in case of ovh/docs the TVK Namespace is tvk).

TVK Target List

Going further, browse the target and list the available backups by clicking on the Actions button from the right. Then, select Launch Browser option from the pop-up menu (for this to work the target must have the enableBrowsing flag set to "true").

TVK Target Browser

Now, click on the multi-ns-backup-plan item from the list, and then click and expand the multi-ns-backup item from the right sub-window similar to:

Multi-Namespace Restore Phase 1

To start the restore process, click on the Restore button. A progress window will be displayed similar to below:

Multi-Namespace Restore Phase 2

After a while, if the progress window looks like below, then the multi-namespace restore operation completed successfully.

Multi-Namespace Restore Phase 3

Checking OVHcloud Managed Kubernetes Cluster Applications State

First, verify all cluster Kubernetes resources (you should have everything in place):

kubectl get all --all-namespaces

In the next step, you will learn how to perform scheduled (or automatic) backups for your OVHcloud Managed Kubernetes Cluster applications.

Step 6 - Scheduled Backups

Taking backups automatically based on a schedule, is a really useful feature to have. It allows you to rewind back time, and restore the system to a previous working state if something goes wrong. This section provides an example for an automatic backup on a 15 minute schedule (the kube-system namespace was picked).

Info

By default TrilioVault for Kubernetes creates the sample daily, weekly, and monthly scheduling policy after installation. Users can use the same scheduling policies if no changes are required. See the default values of the policies in the TVK UI scheduling policy:

TVK Default Scheduling Policies

First, you need to create a Policy CRD of type Schedule that defines the backup schedule in cron format (same as Linux cron). Schedule polices can be used for either BackupPlan or ClusterBackupPlan CRDs. Typical schedule policy CRD looks like below (defines a 15 minute schedule):

kind: Policy
apiVersion: triliovault.trilio.io/v1
metadata:
  name: scheduled-backup-every-15min
  namespace: default
spec:
  type: Schedule
  scheduleConfig:
    schedule:
      - "*/15 * * * *" # trigger every 15 minutes

Next, you can apply the schedule policy to a ClusterBackupPlan CRD for example, as seen below:

apiVersion: triliovault.trilio.io/v1
kind: ClusterBackupPlan
metadata:
  name: multi-ns-backup-plan-5min-schedule
  namespace: default
spec:
  backupConfig:
    target:
      name: trilio-ovh-s3-target
      namespace: default
    schedulePolicy:
      fullBackupPolicy:
        name: scheduled-backup-every-15min
        namespace: default
  backupComponents:
    - namespace: default
    - namespace: demo-backup-ns
    - namespace: backend

Looking at the above, you can notice that it's a basic ClusterBackupPlan CRD, referencing the Policy CRD defined earlier via the spec.backupConfig.schedulePolicy field. You can have separate policies created for full or incremental backups, hence the fullBackupPolicy or incrementalBackupPolicy can be specified in the spec.

Now, please go ahead and create the schedule Policy, using the sample manifest provided by the ovh/docs tutorial (make sure to change directory first, where the ovh/docs Git repository was cloned on your local machine):

kubectl apply -f manifests/triliovault-scheduling-policy-every-15min.yaml

Check that the policy resource was created:

kubectl get policies -n default

The output looks similar to (notice the POLICY type set to Schedule):

NAMESPACE   NAME                           POLICY     DEFAULT
default     scheduled-backup-every-15min   Schedule   false

Finally, create the backupplan resource for the default namespace scheduled backups:

Create the backup plan first for default namespace.

kubectl apply -f manifests/triliovault-multi-ns-backup-plan-every-15min.yaml

Check the scheduled backup plan status for default:

kubectl get clusterbackupplan triliovault-multi-ns-backup-plan-every-15min.yaml -n default

The output looks similar to (notice the FULL BACKUP POLICY value set to the previously created scheduled-backup-every-5min policy resource, as well as the STATUS which should be "Available"):

NAME                                  TARGET                 ...   FULL BACKUP POLICY             STATUS
multi-ns-backup-plan-15min-schedule   trilio-ovh-s3-target   ...   scheduled-backup-every-15min   Available

Create a clusterbackup resource using scheduled policy for every 15 min:

Create and trigger the scheduled backup for default namespace:

kubectl apply -f manifests/triliovault-multi-ns-backup-every-15min.yaml.yaml

Check the scheduled backup status for default:

kubectl get clusterbackup multi-ns-backup-15min-schedule -n default

The output looks similar to (notice the BACKUPPLAN value set to the previously created backup plan resource, as well as the STATUS which should be "Available"):

NAME                             BACKUPPLAN                            BACKUP TYPE   STATUS      ...
multi-ns-backup-15min-schedule   multi-ns-backup-plan-15min-schedule   Full          Available   ...

Now, you can check that backups are performed on a regular interval (15 minutes), by querying the cluster backup resource and inspect the START TIME column (kubectl get clusterbackup -n default). It should reflect the 15 minutes delta.

In the next step, you will learn how to set up a retention policy for your backups.

Step 7 - Backups Retention Policy

The retention policy allows you to define the number of backups to retain and the cadence to delete backups as per compliance requirements. The retention policy CRD provides a simple YAML specification to define the number of backups to retain in terms of days, weeks, months, years, latest etc.

Info

By default TrilioVault for Kubernetes creates the sample retention policy sample-ret-policy after installation. Users can use the same retention policy is no changes is required. See the default values of the policy in the TVK UI Retention policy:

TVK Default Retention Policy

Using Retention Policies

Retention polices can be used for either BackupPlan or ClusterBackupPlan CRDs. Typical Policy manifest for the Retention type looks like below:

apiVersion: triliovault.trilio.io/v1
kind: Policy
metadata:
  name: sample-ret-policy
spec:
  type: Retention
  retentionConfig:
    latest: 2
    weekly: 1
    dayOfWeek: Wednesday
    monthly: 1
    dateOfMonth: 15
    monthOfYear: March
    yearly: 1

Explanation for the above configuration:

  • spec.type: Defines policy type. Can be: Retention or Schedule.
  • spec.retentionConfig: Describes retention configuration, such as what interval to use for backups retention and how many.
  • spec.retentionConfig.latest: Maximum number of latest backups to be retained.
  • spec.retentionConfig.weekly: Maximum number of backups to be retained in a week.
  • spec.retentionConfig.dayOfWeek: Day of the week to maintain weekly backups.
  • spec.retentionConfig.monthly: Maximum number of backups to be retained in a month.
  • spec.retentionConfig.dateOfMonth: Date of the month to maintain monthly backups.
  • spec.retentionConfig.monthOfYear: Month of the backup to retain for yearly backups.
  • spec.retentionConfig.yearly: Maximum number of backups to be retained in a year.

The above retention policy translates to:

  • On a weekly basis, keep one backup each Wednesday.
  • On a monthly basis, keep one backup in the 15th day.
  • On a yearly basis, keep one backup every March.
  • Overall, I want to always have the 2 most recent backups available.

The basic flow for creating a retention policy resource goes the same way as for scheduled backups. You need a BackupPlan or a ClusterBackupPlan CRD defined to reference the retention policy, and then have a Backup or ClusterBackup object to trigger the process.

Typical ClusterBackupPlan example configuration that has retention set, looks like below:

apiVersion: triliovault.trilio.io/v1
kind: ClusterBackupPlan
metadata:
  name: multi-ns-backup-plan-15min-schedule-retention
  namespace: default
spec:
  backupConfig:
    target:
      name: trilio-ovh-s3-target
      namespace: default
    retentionPolicy:
        name: sample-ret-policy
        namespace: default
  backupComponents:
    - namespace: default
    - namespace: backend

Once you apply the ClusterBackupplan, you can check it using:

kubect get clusterbackupplan -n default

Output would look similar to below:

NAME                                            TARGET                 RETENTION POLICY    ...		STATUS
multi-ns-backup-plan-15min-schedule-retention   trilio-ovh-s3-target   sample-ret-policy   ...		Available  

Notice that it uses a retentionPolicy field to reference the policy in question. Of course, you can have a backup plan that has both types of policies set, so that it is able to perform scheduled backups, as well as to deal with retention strategies.

Using Cleanup Policies

Having so many TVK resources (each one responsible with various operations such as: scheduled backups, retention, etc), it is very probable for things to go wrong at some point in time. It means that some of the previously enumerated operations might fail due to various reasons, like: inaccessible storage, network issues for NFS, etc.
So, what happens is that your OVHcloud Managed Kubernetes Cluster will get crowded with many Kubernetes objects in a failed state.

You need a way to garbage collect all those objects in the end and release associated resources, to avoid trouble in the future. Meet the Cleanup Policy CRD:

apiVersion: triliovault.trilio.io/v1
kind: Policy
metadata:
  name: garbage-collect-policy
  namespace: tvk
spec:
  type: Cleanup
  cleanupConfig:
    backupDays: 5

The above cleanup policy must be defined in the TVK install namespace. Then, a cron job is created automatically for you that runs every 30 mins, and deletes failed backups based on the value specified for backupdays within the spec field.

This is a very neat feature that TVK provides to help you deal with this kind of situation.

Conclusion

In this tutorial, you learned how to perform one time, as well as scheduled backups, and to restore everything back. Having scheduled backups in place, is very important as it allows you to revert to a previous snapshot in time, if something goes wrong along the way. You walked through a disaster recovery scenario, as well. Next, backups retention plays an important role as well, because storage is finite and sometimes it can get expensive if too many objects are implied.

All the basic tasks and operations explained in this tutorial, are meant to give you a basic introduction and understanding of what TrilioVault for Kubernetes is capable of. You can learn more about TrilioVault for Kubernetes and other interesting (or useful) topics, by following the links below:

Go further

  • If you need training or technical assistance to implement our solutions, contact your sales representative or click on this link to get a quote and ask our Professional Services experts for assisting you on your specific use case of your project.

Join our community of users.

*: S3 is a trademark of Amazon Technologies, Inc. OVHcloud’s service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies, Inc.

Esta página foi útil?
🚀

Partilhe a sua opinião sobre a nova documentação

O seu feedback ajuda as nossas equipas a melhorar a sua experiência.

2 minutos · Anónimo

Backup and Restore OVHcloud Managed Kubernetes Cluster, Namespace and Applications using TrilioVault for Kubernetes

Webmail Minha conta Suporte 🇵🇹 Portugues Tema Idiomas 🇵🇹 Portugues 🇫🇷 Francais 🇬🇧 English 🇩🇪 Deutsch 🇪🇸 Espanol 🇮🇹 Italiano 🇵🇱 Polski 🇵🇹 Portugues Menu Nesta pagina Search ⌘K Documentation Beta Referencia da API Registo de alteracoes E-Learning e certificacoes Migracao Bare Metal Cloud Servidores dedicados Visao geral Conceitos chave Bare Metal 3-AZ Region - Apresentacao da oferta Clientes Kimsufi e So you Start - Familiarizar-se com a Area de Cliente OVHcloud Shared responsibility for Dedicated Servers (EN) Understanding the dedicated server boot process Primeiros passos Primeiros passos com um servidor dedicado Primeiros passos com um servidor dedicado Kimsufi, So You Start ou Rise Como comecar com as ligacoes SSH Como criar e utilizar chaves de autenticacao para as ligacoes SSH aos servidores OVHcloud Como armazenar as chaves SSH na sua Area de Cliente Como utilizar a consola IPMI com um servidor dedicado Como obter a pegada de carbono dos seus servicos OVHcloud Configuracao Sistema Configuracao das contas utilizadores e do acesso root num servidor Como alterar a chave de produto do Windows Server Alterar a palavra-passe administrador num servidor dedicado Windows Como redefinir a palavra-passe de administrador com o Rescue-Customer-Windows Como gerir Intel SGX num servidor dedicado Atualizacao do hardware num servidor dedicado High Grade ou Scale Como atribuir uma tag a um servidor Bare Metal How to install VMware ESXi 8 on a dedicated server Armazenamento Gestao e reconstrucao do RAID software nos servidores em modo de arranque legado (BIOS) Gestao e reconstrucao de um RAID software nos servidores que utilizam o modo de arranque UEFI Managing hardware RAID (EN) Hot Swap - Hardware RAID (EN) Substituir um disco a quente num servidor com RAID por software Configurar o seu MegaRAID em RAID 0 Configurar um espelho de software (RAID) em Windows OVHcloud API and Storage (EN) Configuring the storage on a HGR-STOR-2 server (EN) Creating a Windows partition on a server with hardware RAID Advance Dedicated Servers - Upgrading your Samsung NVMe PM9A1 firmware (EN) High Grade Dedicated Servers - Upgrading your SSD SAS Western Digital SS300 firmware (EN) High Grade Dedicated Servers - Upgrading your SSD SAS Western Digital SS530 firmware (EN) Dedicated Servers - Upgrading your SSD Solidigm D7-P5520 firmware Dedicated Servers - Upgrading your Micron 7500 PRO firmware Como verificar a versao do firmware BMC num servidor dedicado Rede Criar um DNS secundario num servidor dedicado Como instalar a chave SSH OVHcloud Como configurar a NIC para o OVHcloud Link Aggregation na Area de Cliente OVHcloud Como configurar a NIC para o OVHcloud Link Aggregation em Debian 9 a 11 Como configurar a agregacao de links com LACP em Debian 12 ou Ubuntu 24.04 (EN) Como configurar a NIC para o OVHcloud Link Aggregation em Windows Server 2019 Como configurar o seu NIC para a agregacao de ligacoes OVHcloud no SLES 15 Tutorial - Instalar um servidor web (LAMP) em Debian ou Ubuntu Manage your server reboot with the OVHcloud Link Aggregation feature (EN) Configurar IPv6 em servidores dedicados Configurar um endereco IPv6 numa maquina virtual (EN) Migrar um Additional IP Configurer des Additional IP en mode bridge sur vos machines virtuelles Quais sao os enderecos IP do monitoring OVHcloud? Configurer son adresse IP en alias Como configurar a reverse DNS do seu servidor (registo PTR) Determinar se a funcionalidade dos MAC virtuais e suportada por um servidor dedicado Atribuir um endereco MAC virtual a um Additional IP Configurar a rede em Windows Server com Hyper-V Configurar a rede em Proxmox VE nas gamas High Grade, Scale & Advance (EN) Upgrade and downgrade Bandwidth via the OVHcloud API Improving Network Resilience on Bare Metal servers vRack Configurar varios servidores dedicados no vRack Configurar quadros Jumbo no vRack Configurar um bloco de Additional IP num vRack Configurar um bloco Additional IPv6 num vRack Alterar o anuncio de um bloco IP no vRack Criar varias VLAN no vRack Utilizar Hyper-V com enderecos Additional IP num vRack Configurar o vRack entre o Public Cloud e um servidor dedicado Upgrade and downgrade private bandwidth (vRack) via the OVHcloud API Implantacao OVHcloud API and OS Installation (EN) Bring Your Own Image (BYOI) / Bring Your Own Linux (BYOLinux), a comparison sheet (EN) Bring Your Own Image (BYOI) (EN) Bring Your Own Linux (BYOLinux) (EN) Configurar um script iPXE personalizado para iniciar o seu servidor atraves da API OVHcloud Migracao Migracao dos dados de um servidor dedicado para outro Como copiar dados de um servidor dedicado para outro utilizando rsync Tutoriais Tutorial - Como usar o PuTTY para conexoes SSH e autenticacao Tutorial - Configuring pfSense network bridge (EN) Tutorial - Instalar um servidor web (LAMP) em Debian ou Ubuntu Activating Windows Machines using Hyper-V on an OVHcloud licensed Windows Server Como Instalar a plataforma CUDA num servidor dedicado GPU Fazer o backup das informacoes e das bases de dados para um servidor de armazenamento Como utilizar o SFTP para transferir ficheiros How to create a Palworld compatible server (EN) Installer un environnement de developpement web sur un VPS ou un serveur dedie How to deploy and verify an OpenNebula Hosted Cloud on Bare Metal servers How to install CloudPanel on a VPS or a Dedicated Server How to install WordPress with Docker on a VPS or a dedicated server How to install WordPress with WP-CLI on a VPS or a dedicated server How to install ISPmanager on a VPS or Dedicated Server Como evitar que os seus e-mails sejam marcados como spam Seguranca Hardening Proteger um servidor dedicado Como proteger um servidor com o servico Memcached How to mitigate the Zenbleed vulnerability How to mitigate the Downfall vulnerability How to mitigate the Inception vulnerability Find your patch for Meltdown and Spectre Information about Meltdown and Spectre vulnerability fixes AMD SME/SEV on Ubuntu 20 Dedicated Server Security Specifications Controle e proteja o seu servidor dedicado ESXi desde o seu primeiro comeco (EN) ESXi Dedicated Servers - FAQ Backup Preparing a Bare Metal Server backup with Veeam Enterprise (EN) Backing up a Bare Metal Linux Server with Veeam Enterprise (EN) Backing Up a Bare Metal Windows Server Using Veeam Agent for Windows (EN) Restoring a Bare Metal Server with Veeam Enterprise (EN) Utilizar o Backup Storage num servidor dedicado Rede OVHcloud AntiSpam - Boas praticas e desbloqueio de um endereco IP Configurar a firewall em Linux com iptables Configurar a firewall em Windows Ativar e configurar o Edge Network Firewall Proteger um servidor de jogos com a firewall aplicacional Monitorizacao dos ataques DDoS com o Network Security Dashboard How to configure the Anti-DDos Infrastructure for Solana Diagnostico Como recuperar o acesso ao servidor em caso de perda da palavra-passe do utilizador Ativar e utilizar o modo rescue Como ativar e utilizar o modo rescue Windows Substituicao do par de chaves SSH Substituir um disco com defeito Diagnosticar avarias materiais num servidor dedicado Obter o numero de serie de um disco rigido Finalizar uma intervencao de manutencao no seu servidor dedicado (EN) Desinstalar o sistema de monitorizacao RTM v2 Recuperacao das bases de dados em modo rescue Network - Fixing slow downloads problems inside containers and VMs running on Proxmox VE servers with Broadcom BCM57502 NICs Servidores privados virtuais Visao geral Primeiros passos Primeiros passos com um VPS VPS - Gestao a partir da Area de Cliente OVHcloud OVHcloud VPS Perguntas frequentes Configuracao das contas utilizadores e do acesso root num servidor Como comecar com as ligacoes SSH Como criar e utilizar chaves de autenticacao para as ligacoes SSH aos servidores OVHcloud Como armazenar as chaves SSH na sua Area de Cliente Como fazer evoluir os recursos de um VPS Reparticionar um VPS apos um upgrade de armazenamento Primeiros passos com as aplicacoes pre-instaladas Como utilizar a consola KVM para aceder a um VPS Gerir um VPS legacy Configuracao Backups Utilizar snapshots num alojamento VPS Comment utiliser les sauvegardes automatisees sur un VPS Configurar um disco adicional Aumentar o tamanho de um disco adicional Rede e IP Configurar o IPv6 num VPS Como configurar a reverse DNS do seu servidor (registo PTR) Configurar um endereco de IP alias Configurar um DNS secundario OVHcloud num VPS Utilizacao avancada Implementar o cPanel num VPS Backup automatico - Kernel panic (cPanel) Migracao How to migrate a website from a VPS to a Dedicated Server or a Public Cloud instance (EN) How to migrate an n8n configuration between two VPS Tutoriais Tutorial - Como usar o PuTTY para conexoes SSH e autenticacao Como utilizar o SFTP para transferir ficheiros Recuperacao das bases de dados em modo rescue Como criar um servidor Minecraft num VPS ou num servidor dedicado How to create a Palworld compatible server (EN) Tutorial - Instalar um servidor web (LAMP) em Debian ou Ubuntu Installer un environnement de developpement web sur un VPS ou un serveur dedie How to install CloudPanel on a VPS or a Dedicated Server How to install WordPress with Docker on a VPS or a dedicated server How to install WordPress with WP-CLI on a VPS or a dedicated server Automating the deployment of your website on your VPS via GitHub Actions (EN) Automating the deployment of your website on your VPS via GitLab CI/CD (EN) How to install n8n on an OVHcloud VPS How to migrate an n8n configuration between two VPS Automate SMS sending with n8n via the OVHcloud API How to create and import a Lovable website on an OVHcloud VPS How to install an AI agent on an OVHcloud VPS How to install ISPmanager on a VPS or Dedicated Server How to install Docker and Docker Compose on a VPS How to install Nextcloud on an OVHcloud VPS with Docker How to install Nextcloud on an OVHcloud VPS with Docker and Traefik How to install an OpenClaw agent on a VPS Automated backup with plakar Seguranca Securiser un VPS Como instalar um certificado SSL num VPS Configurar a firewall em Linux com iptables Configurar a firewall em Windows Diagnostico Verificar o sistema de ficheiros num VPS VPS - Ativar os registos de arranque do Windows Mostrar os logs de boot no KVM Ativar e utilizar o modo rescue num VPS Como recuperar o acesso ao servidor em caso de perda da palavra-passe do utilizador Alterar a palavra-passe de administrador num servidor Windows Substituicao do par de chaves SSH Como evitar que os seus e-mails sejam marcados como spam Recursos adicionais Public Cloud & VPS - Image and OS life cycle and end of life/support announcements Fim do suporte Plesk e cPanel para VPS - Assegurar a continuidade dos seus servicos Managed Bare Metal Visao geral Servicos e opcoes da OVHcloud Configuracao de uma VPN para o Zerto DRP OVHcloud Restaurar backups atraves das API OVHcloud Activating and using Veeam Managed Backup Alterar a politica de acesso ao vCenter Autorizar IP a ligar-se ao vCenter FAQ Capacidade tecnica Funcionalidades OVHcloud Adicionar um bloco IP Snapshots horarias OVHcloud Alteracao da palavra-passe de utilizador Criacao da VLAN Utilizar o Managed Bare Metal no seio de um vRack Host de substituicao Eliminar um servidor host Eliminar um datastore Alterar os direitos de um utilizador Adicionar um recurso faturado a hora Associar um e-mail a um utilizador vSphere Utilizar o plugin OVHcloud Network Como rescindir o seu Managed Bare Metal Primeiros passos Apresentacao da Area de Cliente Managed Bare Metal OVHcloud Configurar um endereco IP numa maquina virtual (EN) Boas praticas de seguranca vSphere Web Client Ligar-se a interface vSphere Migrating an infrastructure to a new vDC Migrating an infrastructure to a Managed Bare Metal solution Gestao das maquinas virtuais Modificar os recursos de uma maquina virtual Criar uma snapshot Criar um Alerta Clonar uma VM Escolher o formato do disco Instalacao das VMware Tools Usar um template OVF Windows e SQL Server Implementacao de uma maquina virtual Como evitar a passagem para o modo leitura apenas do disco da sua VM em Linux Funcionalidades VMware vSphere VMware vMotion VMware Storage vMotion VMware HA (High Availability) VMware Fault Tolerance VMware DRS (Distributed Ressource Scheduler) Ativacao da encriptacao das maquinas virtuais (VM Encryption) Utilizacao do SDK vSphere Hosted Private Cloud Public VCF as-a-Service Visao geral Conceitos-chave Capacidade tecnica Hosted Private Cloud VMware Lifecycle Policy Ciclo de vida do VMware on OVHcloud - Determinar as acoes a empreender (EN) Responsibility sharing for the VMware on OVHcloud service Datamotive - Introduction Public VCF as-a-Service - The fundamentals of Public VCF as-a-Service Technical capabilities and limitations of Public VCF as-a-Service Introducao Apresentacao da Area de Cliente Private Cloud OVHcloud Ligar-se a interface vSphere Connexion a l'API OVH Public VCF as-a-Service - Logging in to your organization (EN) Public VCF as-a-Service - Find out how to use the Public VCF as-a-Service user interface (EN) Configuracao Ligar uma imagem ISO a uma VM (EN) How to disconnect an ISO image from a VM (EN) Configurar um endereco IP numa maquina virtual (EN) Public VCF as-a-Service - Network concepts and best practices Public VCF as-a-Service - Creating network components from the Public VCF as-a-Service control panel Public VCF as-a-Service - Linking a public IP block with vRack Public VCF as-a-Service - Declaring the public IP gateway in VCD Migracao Migrating a PCC to Hosted Private Cloud Migrating an infrastructure to a new vDC End-Of-Life management for LV1 and LV2 storage Public VCF as-a-Service - Migrate from VMware vSphere on OVHcloud Public VCF as-a-Service - Setting up your network after vSphere to Public VCF as-a-Service migration Reversibility Policy for the Managed Mutualized Virtualization product Tutoriais Public VCF as-a-Service - Creating a new virtual machine (EN) Public VCF as-a-Service - Backups with Veeam Data Platform (EN) Seguranca Diagnostico Recursos adicionais FAQ Hosted Private Cloud Como obter a pegada de carbono dos seus servicos OVHcloud Public VCF as-a-Service - FAQ (EN) Managed VMware Conceitos-chave SPN Concept Concepts overview Introducao Introducao ao NSX (EN) Activer NSX-T dans un Hosted Private Cloud VMware on OVHcloud Introducao ao vRealize Operations - vROPS (EN) Getting started with your SecNumCloud vSphere Configuracao Maquinas virtuais Implementacao de uma maquina virtual Instalacao das VMware Tools Escolher o formato do disco Modificar os recursos de uma maquina virtual Como evitar a passagem para o modo leitura apenas do disco da sua VM em Linux Ativacao do modo promiscuo numa Maquina Virtual (EN) Changing the MTU size for machines reaching the OVHcloud Gateway SSL (EN) Deploy an OVF template through content libraries (EN) Usar um template OVF Windows e SQL Server OVF Tool (EN) Armazenamento e recursos Como adicionar uma unidade de armazenamento ? (EN) Como adicionar um host ? (EN) Eliminar um datastore Eliminar um servidor host Uploading an ISO in a datastore Rede e conectividade Criacao de VLANs (EN) Compatibilidade do vRack com o Hosted Private Cloud Enable the Private Gateway Adicionar um bloco IP Host de substituicao Gerenciamento de segmentos no NSX (EN) Configuracao de DHCP no NSX (EN) Configurando o DNS Forwarder no NSX (EN) Adicionando um novo gateway de nivel 1 no NSX (EN) Funcionalidades vSphere Utilizacao do SDK vSphere Managing granular rights on vSphere objects Criacao de cluster e ativacao de EVC (EN) Copias de seguranca e replicacao Activating and using Veeam Managed Backup (EN) Setting up Zerto Virtual Replication between two OVHcloud data centres Setting up Zerto multi-site replication on OVHcloud Managed vSphere Using Zerto between OVHcloud and a third-party platform Encrypting backup jobs with Veeam and OKMS Evitar o bloqueio da maquina virtual com a opcao Veeam Managed Backup Migracao Migrating OmniOS datastores Move2Cloud - Migrating VMware Workloads to OVHcloud Hosted Private Cloud with Veeam Replication Move2Cloud - Migrate VMware workloads to OVHcloud Hosted Private Cloud with Zerto Move2Cloud - Migrating VMware Workloads to OVHcloud SecNumCloud with Veeam Replication Move2Cloud - Migrate VMware workloads to OVHcloud SecNumCloud Hosted Private Cloud with Zerto Tutoriais Maquinas virtuais Criar uma snapshot (EN) Clonar uma VM (EN) Reregistar VM num novo PCC Verificar uma maquina virtual em caso de lentidao (EN) Criar um Alerta VMware vCenter Converter Armazenamento e replicacao Snapshots horarias OVHcloud Zmotion Restaurar backups atraves das API OVHcloud Eliminar a copia de uma VM do local de recuperacao Zerto Veeam Cloud Connect - How to migrate data from Veeam Cloud Connect to Object Storage Rede e NSX Utilizar o plugin OVHcloud Network Utilizar o Hosted Private Cloud no seio de um vRack Utilizar o plugin OVHcloud Configurando NAT para redirecionamentos de porta com NSX (EN) Configuracao de balanceamento de carga no NSX (EN) Funcionalidades vSphere Compreender a interface vScope (EN) VMware DRS (Distributed Resource Scheduler) VMware Storage vMotion Implementar a hiperconvergencia VMware com o vSAN (EN) Adicionar um servidor ESXi a um cluster vSAN (EN) Atualizando o formato de disco do vSAN (EN) Gestao de dominios com avarias vSAN VMware vMotion Alta disponibilidade e resiliencia VMware HA (High Availability) VMware Fault Tolerance Seguranca Gestao de identidade e acesso IAM for VMware on OVHcloud - Presentation and FAQ IAM for VMware on OVHcloud - How to activate IAM IAM for VMware on OVHcloud - How to create an IAM vSphere role IAM for VMware on OVHcloud - How to associate a vSphere role with an IAM policy IAM for VMware on OVHcloud - How to associate a user with a global IAM policy How to use IAM policies with vSphere (EN) Alteracao da palavra-passe de utilizador Associar um e-mail a um utilizador vSphere Encriptacao e gestao de chaves vNKP - Enabling virtual machine encryption (EN) Ativacao da encriptacao das maquinas virtuais (VM Encryption) (EN) KMS for VMware on OVHcloud - VM encryption use case scenarios KMS for VMware on OVHcloud - Configuring VM encryption Mise en route du KMS CipherTrust Manager Seguranca de rede (NSX) Gerenciamento de firewall distribuido no NSX (EN) Gerenciamento de firewall de gateway no NSX (EN) Setting up an IPsec Tunnel with NSX (EN) Configure BGP between two PCCs via NSX-T (EN) Endurecimento do sistema e vulnerabilidades Boas praticas de seguranca vSphere Web Client Interface segura Utilizacao da dupla autenticacao (2FA) na sua infraestrutura Hosted Private Cloud Autorizar IP a ligar-se ao vCenter Verificar e bloquear a falha L1TF Checking and applying patches for Spectre/Meltdown vulnerabilities on your hosts Utiliser le protocole SSLv3 sur Private Cloud Conformidade e SecNumCloud Partage de responsabilite sur le service Hosted Private Cloud by VMware sous la qualification SecNumCloud VPN-SPN Concept SPN Connector Concept Diagnostico Manutencao e atualizacoes VMware on OVHcloud maintenance operations (EN) Desativar uma manutencao programada no seu Hosted Private Cloud Updating hosts using vSphere Lifecycle Management (vLCM) Utilizar o VMware Update Manager Expandir um volume no vSphere e num SO (EN) Testar a perda temporaria de um host atraves da ativacao do modo Resiliencia (EN) Monitorizacao e registos Configuring a vROps alert via the SMTP protocol Logs Data Platform - Collect VMware on OVHcloud logs (EN) NSX-T: retrieving logs How to read and filter NSX-T logs Monitorizacao da conformidade Ativar a certificacao PCI DSS no Private Cloud da OVH How to manage Windows licences for virtual machines on your Hosted Private Cloud infrastructure Como alterar a chave de produto do Windows Server Recursos adicionais NSX - FAQ (EN) Pricing and Management of OVHcloud NSX Edges FAQ SecNumCloud Connectivity SNC Cloud Platform Primeiros passos Mise en route de votre projet SNC Cloud Platform Comment sauvegarder une instance SNC Cloud Platform Comment sauvegarder un bucket Object Storage SNC Cloud Platform Bare Metal Pod Primeiros passos Getting started with your Bare Metal Pod SecNumCloud On-Prem Cloud Platform Primeiros passos Getting started with your OPCP Lifecycle of an OPCP Node OPCP - How to use the APIs and obtain the credentials OPCP - How to install an instance from the Horizon interface OPCP - How to Deploy an Instance via OpenStack APIs OPCP - How to setup LACP on a Node OPCP - How to set up Trunk ports on a Node OPCP - How to configure a software RAID on a node OPCP - How to see the node inventory Recursos adicionais OPCP - Object Storage features and specifications Building a custom OpenStack Image on OPCP OPCP - Ceph RBD Block Storage - Performance, Resilience and Scalability with OpenStack Nutanix on OVHcloud Conceitos-chave Nutanix on OVHcloud - Documentacao geral (EN) Nutanix hardware compatibility - OVHcloud configurations Versoes Nutanix AOS suportadas pela OVHcloud (EN) Lista dos licencas incluidos (EN) Plano de Retomada de Atividade em Nutanix (EN) Partilha de responsabilidades - Nutanix on OVHcloud (EN) Nutanix on OVHcloud - Lifecycle Policy Introducao Primeiros passos com o seu cluster Nutanix (EN) Hiperconvergencia Nutanix (EN) Reafectacao personalizada do seu Cluster (EN) Apresentacao do armazenamento em Nutanix (EN) Importar imagens ISO (EN) Gestao das maquinas virtuais (EN) Gestao dos alertas e eventos (EN) Gestao das licencas no seu cluster da oferta Nutanix on OVHcloud BYOL (EN) Rede e seguranca Documentacao da OVHgateway (EN) Adicionar um endereco IP publico a uma nova VM (EN) Upgrade do seu cluster Nutanix (EN) Atualizacao de firmware do cluster Nutanix (EN) Configuracao Modificacao do vRack de um cluster Nutanix (EN) Isolacao das maquinas de gestao da producao (EN) Configurar Fluxo Nutanix (EN) Substituir o OVHgateway por um servidor dedicado (EN) Substituir OVHgateway (EN) KMS configuration with Nutanix on OVHcloud Configurar HYCU Backup (EN) Configurar Veeam Backup para Nutanix (EN) Migracao Migracao para Nutanix atraves da ferramenta Nutanix Move (EN) Tutoriais Ferramentas avancadas (EN) Ativar VMs do Windows instaladas no Nutanix pela OVHcloud (EN) Adicionar ou retirar um no num cluster Nutanix (Scale In/Out) (EN) Substituicao de Prism Central do modo Small pelo modo X-LARGE (EN) Criacao de NCM Self Service (CALM) (EN) Configuracao dos Objects Nutanix (EN) Seguranca Seguranca do acesso Web ao Prism Central (EN) Interligacao IPSec entre dois locais (EN) Interligacao de clusters atraves do vRack (EN) Diagnostico Obter as informacoes do estado da sua instalacao Nutanix (EN) Recursos adicionais Replicacao assincrona ou NearSync atraves de Prism Element (EN) Replicacao avancada com Leap (EN) Configurando a recuperacao de desastres com o Metro (EN) Setting up Multicloud Snapshot Technology (MST) on a Nutanix on OVHcloud infrastructure Configuring Prism Central Point-in-Time Backup to OVHcloud S3-compatible Object Storage SAP on OVHcloud Conceitos SAP HANA on Bare Metal and SAP Application Servers on VMware on OVHcloud SAP infrastructure with VMware on OVHcloud solution SAP infrastructure with SecNumCloud-qualified SAP HANA on Private Cloud Primeiros passos Install SAP HANA on Bare Metal with SLES 15 for SAP Deploy a virtual machine with SAP HANA and OVHcloud Backint Agent pre-installed Deployer un SAProuter avec NSX Shared responsibility for SAP on OVHcloud solutions Implementacoes automaticas Deploy virtual machines of SAP Application Server on VMware on OVHcloud solution with Terraform Deploy virtual machines of SAP HANA database on VMware on OVHcloud solution with Terraform Deploy an SAP system infrastructure on VMware on OVHcloud solution with Terraform SAP pre-installation wizard Resiliencia SAP HANA cluster with SLES on VMware on OVHcloud Backups Install and use OVHcloud Backint Agent for SAP HANA Use OVHcloud Backint Agent with several Object Storage buckets OVHcloud Backint Agent versions Sauvegarder SAP HANA avec Veeam Backup and Replication Observabilidade SAP logs on OVHcloud Logs Data Platform - Configuration SAP logs on OVHcloud Logs Data Platform - Analysez et exploitez vos logs SAP logs on OVHcloud Logs Data Platform - Index des logs SAP Public Cloud Public Cloud - Informacoes gerais Visao geral Conceitos-chave Public Cloud Glossary Limites de debito das API Public Cloud Comparison and resilience of Deployment Modes - Understanding 3-AZ / 1-AZ / Local Zones (EN) 3-AZ resilience: Mechanisms and reference architectures (EN) How do Savings Plans work? Introducao O essencial para comecar com o Public Cloud Familiarizar-se com a interface Public Cloud Criando seu primeiro projeto Public Cloud da OVHcloud Getting started with OVHcloud Shell Getting Started with OVHcloud CLI Configuracao Informacoes de faturacao Aumentar as quotas Public Cloud Comment gerer un Savings Plan Gestao de projectos Public Cloud Best Practices for securing & structuring OVHcloud Public Cloud Projects (EN) Eliminar um projeto Public Cloud Delegar projetos Migracao Public Cloud IaaS Migration - Steps and Best Practices Architecture Reference - Building a Landing Zone with OVHcloud Public Cloud Tutoriais Gestao a partir do Horizon Apresentacao do Horizon Parametros de acesso e de seguranca no Horizon Gestao a partir do Openstack Preparar o ambiente para utilizar a API OpenStack Carregar as variaveis de ambiente OpenStack Utilizacao dos tokens OpenStack Gestao dos tokens How to use service accounts to connect to OpenStack (EN) Gestao dos utilizadores OpenStack Gestao das regras de firewall e port security nas redes que utilizam OpenStack CLI Gestao a partir do Terraform Terraform Tutorial (EN) Seguranca Healthcare (HDS) compliance activation (EN) Diagnostico FAQ Public Cloud OVHcloud Recursos adicionais Informacoes sobre o metodo de faturacao Public Cloud Proper Usage and Limitations of Classic Multi-Attach Block Storage in 3AZ Regions Understanding Landing Zones Understanding metrics in OVHcloud Public Cloud Compute Visao geral Conceitos-chave Public Cloud Instancias - Conceitos-chave Introducao Adicionar um credito cloud Como criar uma instancia Public Cloud e conectar-se a ela Gerir as suas instancias Public Cloud Como iniciar uma instancia Public Cloud num volume de arranque Suspender ou colocar em pausa uma instancia Ativar uma licenca Windows para uma instancia em modo privado Primeiros passos com as aplicacoes pre-instaladas Configuration Gestao do projeto Gestao de contactos de um projeto Public Cloud Compute - Passar de uma faturacao a hora para uma faturacao ao mes Gestao das instancias Guardar uma instancia Criar / Restaurar um servidor virtual a partir de um backup Modificar o hostname de uma instancia Public Cloud Comment activer le mode rescue sur une instance Public Cloud Colocar uma instancia Metal em modo de rescue - (EN) Como substituir um par de chaves SSH numa instancia Public Cloud Criar uma instancia GPU Configurar a reverse DNS de uma instancia Public Cloud Redimensionar uma instancia atraves da Area de Cliente OVHcloud Creating and using a Server Group in Horizon and CLI Gestao a partir do Horizon Criar uma instancia a partir da interface Horizon Gerir as suas instancias Public Cloud atraves do Horizon Criar e configurar um grupo de seguranca no Horizon Gestao de snapshots de uma instancia na interface Horizon Criacao, dar inicio e eliminar imagens no Horizon Redimensionar uma instancia atraves do Horizon Migrar de uma instancia Flex para uma instancia classica Gestao via OpenStack API Primeiros passos com a API OpenStack Comecar com a gestao dos volumes na API OpenStack Importe a sua propria imagem Redimensionar uma instancia de Public Cloud usando a CLI do OpenStack Descarregar e transferir a copia de seguranca de uma instancia de uma regiao OpenStack para outra Launching a script when an instance is created Partilhar um objeto com um endereco temporario Partilhar imagens entre projetos Public Cloud Migracao Migracao de instancias entre zonas de disponibilidade (AZ) Tutoriais Tutorial - Como usar o PuTTY para conexoes SSH e autenticacao Using OVHcloud Object Storage as Terraform Backend to store your Terraform state (EN) Using OVHcloud Object Storage as Pulumi Backend to store your Pulumi state Create a custom OpenStack image with Packer (EN) How To Install ownCloud on a Public Cloud Instance Como instalar o Plesk numa instancia Public Cloud Instalar o WordPress numa instancia Instalar o agente Prometheus numa instancia Public Cloud How to deploy the 3CX IPBX automatically on OVHcloud Public Cloud Tutorial - Instalar um servidor web (LAMP) em Debian ou Ubuntu Local Zone VPN-as-a-Service (VPNaaS) with Tailscale integration (EN) Enterprise File Storage - Connect a Public Cloud instance to an EFS Volume via vRack Private Network Seguranca Como criar e utilizar chaves de autenticacao para as ligacoes SSH as instancias Public Cloud Como configurar chaves SSH suplementares numa instancia Alterar a palavra-passe de administrador num servidor Windows Atualizar o sistema operativo Diagnostico Forensics: How to deal with Public Cloud instances (EN) Reparar o bootloader GRUB Redimensionar o sistema de ficheiros no FreeBSD 12 Recuperacao das bases de dados em modo rescue FAQ - Alteracao do regime de faturacao mensal Recursos adicionais Public Cloud Instances - Shared responsibilities (EN) Public Cloud & VPS - Image and OS life cycle and end of life/support announcements Local Zone Compute - Funcionalidades, capacidades e limites Como obter a pegada de carbono dos seus servicos OVHcloud Como evitar que os seus e-mails sejam marcados como spam Storage and Backup Object Storage S3 compatible Conceitos Object Storage - Choosing the right storage class for your needs Object Storage - Endpoints and Object Storage geoavailability Comparison of Object Storage Deployment Modes - Understanding 3-AZ / 1-AZ / Local Zones Cold Archive - Visao Geral (EN) Introducao Object Storage - Getting started Cold Archive - Getting started with Cold Archive Object Storage - Identity and access management Configuracao Object Storage - Getting Started with Versioning Object Storage - Smart Storage Management with Lifecycle Rules Object Storage - Master asynchronous replication across your buckets Object Storage - Server Access Logging Object Storage - Setting up CORS on Object Storage Object Storage - Bucket ACL Object Storage - Hosting a static website in an Object Storage bucket Object Storage - Restoring an archived object from Cold Archive storage class Object Storage - Enabling HTTPS on a static website using a custom domain Object Storage - How to connect Object Storage buckets with other resources in a vRack Migracao Object Storage - How to migrate from an S3-compatible object storage provider to OVHcloud Object Storage Object Storage - How to migrate from OVHcloud Swift Object Storage to OVHcloud S3-compatible Object Storage Tutoriais Object Storage - Use Object Storage with Rclone Object Storage - Use Object Storage with S3cmd Object Storage - Use Object Storage with WinSCP Object Storage - Utilizar Object Storage com Veeam (EN) Object Storage - Utilizar Object Storage com Nextcloud (EN) Object Storage - Utilizar Object Storage com Owncloud (EN) Object Storage – Use Object Storage with Cohesity NetBackup Object Storage – Use Object Storage with Pure Storage Flashblade Object Storage - Manage an Object Storage bucket with Terraform Object Storage – How to share an object or file externally Seguranca Object Storage - Encrypt your server-side objects with SSE-C or SSE-OMK Object Storage - Managing object immutability with Object Lock (WORM) Object Storage - Identity and access management Diagnostico Object Storage - FAQ Cold Archive - FAQ (EN) Object Storage - Local Zones specifications Object Storage - Compliance Object Storage - Limites tecnicos (EN) Object Storage - Optimising Performance Object Storage - Optimise the sending of your files to Object Storage Recursos adicionais Object Storage - Shared Responsibility Cold Storage - Shared Responsibility for archive and restoration services Object Storage - Third-party applications compatibility Swift Introducao Object Storage Swift - Creating an Object Storage container Object Storage Swift - Os primeiros passos com a API swift Object Storage Swift - Primeiros passos com a API Swift S3 Configuracao Object Storage Swift - Associar um container a um nome de dominio Object Storage Swift - Sincronizando conteineres de objetos (EN) Object Storage Swift - Configurar a eliminacao automatica de objectos Object Storage Swift - Setting up CORS on Object Storage (EN) Cloud Archive Swift - Gerir os seus arquivos a partir de um cliente SFTP/SCP Cloud Archive Swift - Criacao de container Public Cloud Archive Cloud Archive Swift - Descongelar os seus dados armazenados no Public Cloud Archive Cloud Archive Swift - Set up an Access Control List on Public Cloud Archive (EN) Migracao Object Storage - How to migrate from OVHcloud Swift Object Storage to OVHcloud S3-compatible Object Storage Tutoriais Object Storage Swift - Sincronizar uma NAS Synology com o Object Storage Object Storage Swift - Montar um container de objetos com S3QL (EN) Object Storage Swift - Utilizar o Object Storage com CyberDuck Object Storage Swift - Using Object Storage with Rclone Object Storage Swift - Configure o ownCloud com o Object Storage (EN) Cloud Archive Swift - Gerir os seus arquivos a partir de um cliente Swift (Cyberduck) Cloud Archive Swift - Gestao dos seus arquivos com Rsync Seguranca Object Storage Swift - Set up an Access Control List on Object Storage (EN) Diagnostico Object Storage Swift - S3/Swift REST API compatibility (EN) Object Storage Swift - Capabilities and limitations Cloud Archive Swift - Capabilities and limitations Object Storage Swift - Otimizar os uploads para o Object Storage Recursos adicionais Object Storage Swift - Curl Command Memo (EN) Object Storage Swift - Swift commands Memo (EN) Cloud Archive Swift - Curl Command Memo (EN) Cloud Archive Swift - Swift Command Memo (EN) Block Storage Conceitos-chave Escolher a classe correta de Block Storage Proper Usage and Limitations of Classic Multi-Attach Block Storage in 3AZ Regions Introducao Criar e configurar um disco suplementar numa instancia Criar uma copia de seguranca de um volume Criar uma snapshot de um volume Configuracao Criar um volume a partir de um backup Aumentar o tamanho de um disco adicional Testar a velocidade dos discos Migracao Migrer un volume Block Storage vers un volume chiffre LUKS Modificar um Volume Block Storage Recursos adicionais Public Cloud Block Storage - Shared responsibilities (EN) File Storage Key concepts Introducao File Storage Service - Getting started (Beta) Public Cloud Network Services Conceitos-chave Concepts - Public Cloud Networking (EN) Concepts - Additional IP or Floating IP (EN) Concepts - Load Balancer (EN) Public Cloud Network Services - Known limits (EN) Introducao Private Network Creating a private network with Gateway (EN) Configuracao do vRack Public Cloud Configuring vRack on the Public Cloud using the OVHcloud API (EN) Configuracao do vRack Public Cloud com a ajuda da OpenStack CLI Modificar os servidores DNS de uma instancia Public Cloud Load Balancer Getting started with Load Balancer on Public Cloud Public IPs Attaching a Floating IP to a Public Cloud instance (EN) Configuracao Private Network How to share a private network between 2 Public Cloud projects How to extend a private OVHcloud network across Public Cloud regions Update a subnet properties (EN) Changing the MTU size for existing networks using OpenStack CLI/API (EN) Load Balancer Deploying a Public Cloud Load Balancer (EN) Updating a Load Balancer size via the Horizon interface Using the weight feature on a Load Balancer member Public Cloud Load Balancer TCP / HTTP / HTTPS Logs Forwarding (EN) Public IPs Configurar um Additional IP Adicionar um Additional IP Importar um Additional IP Migrar um Additional IP Gateway L3 services SNAT configuration (EN) Configurar o IPv6 numa instancia Public Cloud Configuring a public IP block in a vRack on a Public Cloud instance Tutoriais geral Proteger a sua infraestrutura OVHcloud com o Stormshield Network Security Securing your OVHcloud infrastructure with Ubika WAAP Gateway (EN) Private Network Local Zone VPN-as-a-Service (VPNaaS) with Tailscale integration (EN) Load Balancer Configuring a secure Load Balancer with Let's Encrypt (EN) Seguranca Configuring a secure Load Balancer with Let's Encrypt (EN) Configuring a TERMINATED_HTTPS listener via CLI / Horizon Proteger a sua infraestrutura OVHcloud com o Stormshield Network Security Securing your OVHcloud infrastructure with Ubika WAAP Gateway (EN) Diagnostico Public Cloud Network Services - FAQ (EN) Recursos adicionais How to create and manage a Health Monitor for OVHcloud Public Cloud Load Balancer How to create and manage Level 7 (L7) Policies and Rules for OVHcloud Public Cloud Load Balancers Public Cloud Load Balancer monitoring with Prometheus Containers & Orchestration Managed Kubernetes Service (MKS) Visao geral Key concepts Understanding OVHcloud Managed Kubernetes architecture Limites connues Choosing the right OVHcloud Managed Kubernetes Plan: Free or Standard Available datacenters, worker nodes and persistent storage flavors Exposed APIs, Kubernetes configuration and Feature gates Getting started Creating a cluster Deploying an application Deploying a Hello World application Expose your app deployed on an OVHcloud Managed Kubernetes Service Installing the Kubernetes Dashboard on OVHcloud Managed Kubernetes Installing and using Helm on OVHcloud Managed Kubernetes Installing WordPress on OVHcloud Managed Kubernetes Deploying a GPU application on OVHcloud Managed Kubernetes Service Managed Kubernetes objects (services, deployments, pods...) Configuration Cluster Configuring kubectl on an OVHcloud Managed Kubernetes cluster Configuring the API server flags on an OVHcloud Managed Kubernetes cluster Resetting an OVHcloud Managed Kubernetes cluster Upgrading Kubernetes version on an OVHcloud Managed Kubernetes cluster Add IP restrictions on an OVHcloud Managed Kubernetes cluster Changing the security update policy on an OVHcloud Managed Kubernetes cluster Configuring the OIDC provider on an OVHcloud Managed Kubernetes cluster Personnaliser l'allocation IP sur un cluster OVHcloud Managed Kubernetes Nodepools & Nodes How to manage nodes and node pools on an OVHcloud Managed Kubernetes cluster Dynamically resizing a cluster with the cluster autoscaler Configuring the cluster autoscaler Adding Labels & Taint on Node Pool (Node Pool template) Cluster autoscaler example Deploy applications to specific Nodes and Nodes Pools Taint, cordon and drain specific Nodes and Nodes Pools Adapt your Inotify parameters for your Managed Kubernetes Service deployments Storage Persistent Volumes on OVHcloud Managed Kubernetes Service Resizing Persistent Volumes Configuring multi-attach persistent volumes with OVHcloud NAS-HA Configuring multi-attach persistent volumes with Enterprise File Storage Configuring multi-attach persistent volumes with OVHcloud Cloud Disk Array Formating NVMe disks on IOPS nodes Network Using vRack Private Network Using vRack - Communicating between different private networks Using a custom gateway on an OVHcloud Managed Kubernetes cluster Working with vRack example - Managed Kubernetes and Public Cloud instances Working with vRack example - Communicating between different private networks Using Floating IPs on Managed Kubernetes Service Customizing Kube-proxy on an OVHcloud Managed Kubernetes cluster Customizing CoreDNS on an OVHcloud Managed Kubernetes cluster Customizing Cilium on an OVHcloud Managed Kubernetes cluster Traffic management Installing Nginx Ingress on OVHcloud Managed Kubernetes Expose your applications using OVHcloud Public Cloud Load Balancer Sticky sessions/Session Affinity based on Nginx Ingress on OVHcloud Managed Kubernetes Secure a Nginx Ingress with cert-manager on OVHcloud Managed Kubernetes Getting the source IP behind the LoadBalancer How to migrate from Load Balancer for MKS (IOLB) to Public Cloud Load Balancer (Octavia) Backup and Restore Backup and Restore OVHcloud Managed Kubernetes Cluster, Namespace and Applications using TrilioVault for Kubernetes Backing-up an OVHcloud Managed Kubernetes cluster using CloudCasa Backing up and restoring your Persistent Volume with Volume Snapshots on OVHcloud Managed Kubernetes Backing-up an OVHcloud Managed Kubernetes cluster using Velero Backing-up Persistent Volumes using Stash Monitoring & Observability Monitoring apps with Prometheus and Grafana on an OVHcloud Managed Kubernetes Service Collect metrics from Public Cloud instances with Prometheus on an OVHcloud Managed Kubernetes Service Distributed tracing with Jaeger on an OVHcloud Managed Kubernetes Service Pushing logs from a Kubernetes cluster to Logs Data Platform using Fluent Bit Managed Kubernetes Service Audit Logs Forwarding Monitoring GPU usage on OVHcloud Managed Kubernetes Service Managed Kubernetes Service Audit Logs Forwarding Operators Set up the Kubernetes operator for Public Cloud Databases Deploying a Kubernetes Operator based on Helm on OVHcloud Managed Kubernetes Deploying a Kubernetes Operator written in Golang on OVHcloud Managed Kubernetes Migration Migration Guide – Moving Your Kubernetes cluster to OVHcloud How to migrate from Load Balancer for MKS (IOLB) to Public Cloud Load Balancer (Octavia) Tutorials Installing Agones on OVHcloud Managed Kubernetes Installing Jenkins on OVHcloud Managed Kubernetes Using Codefresh with OVHcloud Managed Kubernetes cluster Deploying Apache Pulsar on an OVHcloud Managed Kubernetes cluster How to install OpenFaaS CE on OVHcloud Managed Kubernetes Run Serverless containers on OVHcloud Managed Kubernetes with Knative Deploying Artifactory on an OVHcloud Managed Kubernetes cluster Enforcing policy management on OVHcloud Managed Kubernetes with Kyverno Scan for vulnerabilities and misconfigurations of your OVHcloud Managed Kubernetes with Trivy Near real-time threats detection with Falco on OVHcloud Managed Kubernetes Sanitize your OVHcloud Managed Kubernetes with Popeye Installing cert-manager on OVHcloud Managed Kubernetes Installing Keycloak, an OIDC Provider, on OVHcloud Managed Kubernetes Installing Istio on OVHcloud Managed Kubernetes Traffic management with Istio on OVHcloud Managed Kubernetes Security Add IP restrictions on an OVHcloud Managed Kubernetes cluster Changing the security update policy on an OVHcloud Managed Kubernetes cluster Configuring the OIDC provider on an OVHcloud Managed Kubernetes cluster Encrypt your Secret for OVHcloud Managed Kubernetes with Sealed Secrets (Kubeseal) Using RBAC to handle limited access to an OVHcloud Managed Kubernetes cluster Troubleshooting ETCD Quotas, usage, troubleshooting and error Troubleshooting permission errors when enabling persistence Additional resources Managed Kubernetes End-of-Sale, End-of-Service and End-of-Life policies Managed Kubernetes - Responsibility model Orchestration product reversibility policy Recommended external resources OVHcloud Managed Kubernetes - Features and roadmap Kubernetes Plugins (CNI, CRI, CSI...) & softwares versions and reserved resources Managed Private Registry (MPR) Visao geral Getting started Creating a private registry Creating a private registry (Harbor) through Terraform Creating a private registry with Pulumi Creating and using a Docker image stored in an OVHcloud Managed Private Registry Connecting to the UI Managing users and projects Configuration Using Private Registry with OVHcloud Managed Kubernetes Managing Helm charts in the OVHcloud Managed Private Registry Deploying a Helm chart from your private registry in Kubernetes Configuring Proxy Cache on an OVHcloud Managed Private Registry Migrate Helm Charts from Chartmuseum to OCI Security Configure the authentication via an OIDC provider on an OVHcloud Managed Private Registry Adding IP restrictions on an OVHcloud Managed Private Registry Sign OCI artifacts with Cosign on OVHcloud Managed Private Registry Scanning Docker images for vulnerabilities with OVHcloud Managed Private Registry Troubleshooting FAQ Managed Private Registry (MPR) Additional resources Managed Private Registry - Responsibility model (EN) Managed OCI artifact Registry Product Reversibility Policy Managed Rancher Service (MRS) Visao geral Getting started Getting Started with Managed Rancher Service Creating, updating and accessing a Managed Rancher Service (EN) Managing users and projects in Managed Rancher Service Importing an existing Kubernetes cluster in MRS Creating a Managed Kubernetes Service (MKS) cluster in MRS Creating a Kubernetes cluster based on OVHcloud Public Cloud Compute Instances in MRS Creating a Kubernetes cluster with existing nodes (Generic) in MRS Configuration Editing the configuration of a Kubernetes cluster in Managed Rancher Service Backing up and restoring a Kubernetes cluster in Managed Rancher Service Deploying a monitoring stack (Prometheus & Grafana) in a Kubernetes cluster in MRS Tutorials How to use Rancher CLI Additional resources Managed Rancher Service supported versions and lifecycle policy Orchestration product reversibility policy Public Cloud Databases Visao geral PostgreSQL Visao geral Conceitos-chave Lifecycle policy for Public Cloud Databases FAQ for Public Cloud Databases Capabilities and Limitations of Public Cloud Databases Capabilities and Limitations of Public Cloud Databases for PostgreSQL Automated Backups for Public Cloud Databases High availability and failure scenarios for Public Cloud Databases for PostgreSQL Introducao Getting started with Public Cloud Databases Getting started with Public Cloud Databases APIs Getting started with Terraform for Public Cloud Databases Configure incoming connections of a Public Cloud Databases for PostgreSQL service Connect using the CLI for Public Cloud Databases for PostgreSQL Connect using PHP for Public Cloud Databases for PostgreSQL Connect using Python for Public Cloud Databases for PostgreSQL Connect using PgAdmin for Public Cloud Databases for PostgreSQL Configuracao Create and use connection pools in Public Cloud Databases for PostgreSQL Maintenance operations for Public Cloud Databases Configurer le reseau prive des bases de donnees Public Cloud (EN) Configure the advanced parameters for Public Cloud Databases Advanced parameters for Public Cloud Databases for PostgreSQL Restore a backup of Public Cloud Databases Detect and terminate long-running queries of Public Cloud Databases for PostgreSQL Resize the storage of Public Cloud Databases Update the flavor of Public Cloud Databases Update the plan of Public Cloud Databases Mettre en place le transfert de logs des bases de donnees Public Cloud (EN) Set up the Kubernetes operator for Public Cloud Databases Set up service integration for Public Cloud Databases Fetch service metrics with Prometheus for Public Cloud Databases Enable deletion protection for Public Cloud Databases Migracao Public Cloud Databases - How to migrate to OVHcloud Database as a Service (DBaaS) Reversibility Policy for Managed Relational Database Product Tutoriais Build a Strapi app connected to Public Cloud Databases for PostgreSQL Install and connect Wagtail to Public Cloud Databases for PostgreSQL Migrate an on-premises database to Public Cloud Databases for PostgreSQL Seguranca Security Overview for Public Cloud Databases Responsibility model for Public Cloud Databases Diagnostico Troubleshoot your Public Cloud Databases Handle 'Disk Full' situations for Public Cloud Databases Recursos adicionais Available extensions for Public Cloud Databases for PostgreSQL MySQL Visao geral Conceitos-chave Lifecycle policy for Public Cloud Databases FAQ for Public Cloud Databases Capabilities and Limitations of Public Cloud Databases Capabilities and Limitations of Public Cloud Databases for MySQL Automated Backups for Public Cloud Databases Introducao Getting started with Public Cloud Databases Getting started with Public Cloud Databases APIs Getting started with Terraform for Public Cloud Databases Configure incoming connections of a Public Cloud Databases for MySQL service Connect using the CLI for Public Cloud Databases for MySQL Connect using PHP for Public Cloud Databases for MySQL Connect using Python for Public Cloud Databases for MySQL Connect using Workbench for Public Cloud Databases for MySQL Configuracao Maintenance operations for Public Cloud Databases Configurer le reseau prive des bases de donnees Public Cloud (EN) Configure the advanced parameters for Public Cloud Databases Advanced parameters for Public Cloud Databases for MySQL Restore a backup of Public Cloud Databases Resize the storage of Public Cloud Databases Update the flavor of Public Cloud Databases Update the plan of Public Cloud Databases Mettre en place le transfert de logs des bases de donnees Public Cloud (EN) Set up the Kubernetes operator for Public Cloud Databases Set up service integration for Public Cloud Databases Fetch service metrics with Prometheus for Public Cloud Databases Enable deletion protection for Public Cloud Databases Migracao Public Cloud Databases - How to migrate to OVHcloud Database as a Service (DBaaS) Reversibility Policy for Managed Relational Database Product Tutoriais Connect Managed Kubernetes to Public Cloud Databases for MySQL Seguranca Security Overview for Public Cloud Databases Responsibility model for Public Cloud Databases Diagnostico Troubleshoot your Public Cloud Databases Handle 'Disk Full' situations for Public Cloud Databases MongoDB Visao geral Conceitos-chave Why choose MongoDB? Cluster sizing for Public Cloud Databases for MongoDB Developer Best Practices with Public Cloud Databases for MongoDB Operational Best Practices with Public Cloud Databases for MongoDB Lifecycle policy for Public Cloud Databases FAQ for Public Cloud Databases Capabilities and Limitations of Public Cloud Databases Capabilities and Limitations of Public Cloud Databases for MongoDB Automated Backups for Public Cloud Databases Understand the connection strings URI format of Public Cloud Databases for MongoDB Introducao Getting started with Public Cloud Databases for MongoDB Getting started with Public Cloud Databases Getting started with Public Cloud Databases APIs Getting started with Terraform for Public Cloud Databases Deploy with Terraform for Public Cloud for MongoDB Configure incoming connections of a Public Cloud Databases for MongoDB service Connect using the CLI for Public Cloud Databases for MongoDB Connect using PHP for Public Cloud Databases for MongoDB Connect using Python for Public Cloud Databases for MongoDB Connect using Compass for Public Cloud Databases for MongoDB Developer Tools for Public Cloud Databases for MongoDB Cluster monitoring for Public Cloud Databases for MongoDB Configuracao Maintenance operations for Public Cloud Databases Configurer le reseau prive des bases de donnees Public Cloud (EN) Configure the advanced parameters for Public Cloud Databases Restore a backup of Public Cloud Databases Backup and restore a service with the CLI for Public Cloud Databases for MongoDB Resize the storage of Public Cloud Databases Update the flavor of Public Cloud Databases Update the plan of Public Cloud Databases Mettre en place le transfert de logs des bases de donnees Public Cloud (EN) Set up the Kubernetes operator for Public Cloud Databases Set up service integration for Public Cloud Databases Fetch service metrics with Prometheus for Public Cloud Databases Enable deletion protection for Public Cloud Databases Migracao Public Cloud Databases - How to migrate to OVHcloud Database as a Service (DBaaS) Migrate to OVHcloud Public Cloud Databases for MongoDB Relational Migrator for Public Cloud Databases for MongoDB Reversibility Policy for Managed Document Database Product Tutoriais Build and connect a Node.js application to Public Cloud Databases for MongoDB Seguranca Security Overview for Public Cloud Databases Responsibility model for Public Cloud Databases Diagnostico Troubleshoot your Public Cloud Databases Handle 'Disk Full' situations for Public Cloud Databases Recursos adicionais Set up BI Connector for Public Cloud Databases for MongoDB Configure an Analytics node for Public Databases for MongoDB Set up a Kafka integration for Public Cloud Databases for MongoDB Understand readPreference and writeConcern of Public Cloud Databases for MongoDB Benchmark Public Cloud Databases for MongoDB Valkey Visao geral Conceitos-chave Lifecycle policy for Public Cloud Databases FAQ for Public Cloud Databases Capabilities and Limitations of Public Cloud Databases Capabilities and Limitations of Public Cloud Databases for Valkey Automated Backups for Public Cloud Databases Introducao Getting started with Public Cloud Databases Getting started with Public Cloud Databases APIs Getting started with Terraform for Public Cloud Databases Configure incoming connections of a Public Cloud Databases for Valkey service Connect using the CLI for Public Cloud Databases for Valkey Connect using PHP for Public Cloud Databases for Valkey Connect using Python for Public Cloud Databases for Valkey Connect using RedisInsight for Public Cloud Databases for Valkey Configuracao Maintenance operations for Public Cloud Databases Configurer le reseau prive des bases de donnees Public Cloud (EN) Configure the advanced parameters for Public Cloud Databases Advanced parameters for Public Cloud Databases for Valkey Restore a backup of Public Cloud Databases Update the flavor of Public Cloud Databases Update the plan of Public Cloud Databases Manage ACLs via API for Public Cloud Databases for Valkey Mettre en place le transfert de logs des bases de donnees Public Cloud (EN) Set up the Kubernetes operator for Public Cloud Databases Set up service integration for Public Cloud Databases Fetch service metrics with Prometheus for Public Cloud Databases Enable deletion protection for Public Cloud Databases Migracao Public Cloud Databases - How to migrate to OVHcloud Database as a Service (DBaaS) Reversibility Policy for the Managed In-Memory Database product Tutoriais Boost your WordPress CMS with caching with Public Cloud Databases for Valkey Seguranca Security Overview for Public Cloud Databases Responsibility model for Public Cloud Databases Diagnostico Troubleshoot your Public Cloud Databases Common Conceitos-chave Lifecycle policy for Public Cloud Databases FAQ for Public Cloud Databases Capabilities and Limitations of Public Cloud Databases Automated Backups for Public Cloud Databases Introducao Getting started with Public Cloud Databases Getting started with Public Cloud Databases APIs Getting started with Terraform for Public Cloud Databases Configuracao Maintenance operations for Public Cloud Databases Configurer le reseau prive des bases de donnees Public Cloud (EN) Configure the advanced parameters for Public Cloud Databases Restore a backup of Public Cloud Databases Resize the storage of Public Cloud Databases Update the flavor of Public Cloud Databases Update the plan of Public Cloud Databases Mettre en place le transfert de logs des bases de donnees Public Cloud (EN) Set up the Kubernetes operator for Public Cloud Databases Set up service integration for Public Cloud Databases Fetch service metrics with Prometheus for Public Cloud Databases Enable deletion protection for Public Cloud Databases Migracao Public Cloud Databases - How to migrate to OVHcloud Database as a Service (DBaaS) Reversibility Policy for Managed Relational Database Product Reversibility Policy for Managed Document Database Product Reversibility Policy for the Managed In-Memory Database product Seguranca Security Overview for Public Cloud Databases Responsibility model for Public Cloud Databases Diagnostico Troubleshoot your Public Cloud Databases Handle 'Disk Full' situations for Public Cloud Databases Analytics Clickhouse Visao geral Key concepts Getting started Configuration Tutorials Kafka Visao geral Conceitos-chave Lifecycle policy for Analytics Capabilities and Limitations of Analytics Capabilities and Limitations of Analytics with Kafka Capabilities and Limitations of Analytics with Kafka Connect Capabilities and Limitations of Analytics with Kafka MirrorMaker Automated Backups for Analytics Introducao Getting started with Analytics with Kafka Getting started with Analytics Getting started with Analytics APIs Getting started with Terraform for Analytics Configuracao Maintenance operations for Analytics Configure the advanced parameters for Analytics Advanced parameters for Analytics with Kafka Advanced parameters for Analytics with Kafka Connect Restore a backup of Analytics Resize the storage of Analytics Update the flavor of Analytics Update the plan of Analytics Set up logs forwarding for Analytics Set up the Kubernetes operator for Analytics Fetch service metrics with Prometheus for Analytics Migracao Reversibility Policy for the Managed Message Broker product Tutoriais Create publisher and consumer applications with Analytics with Kafka Seguranca Presentation de la securite des services Analytics (EN) Partage des responsabilites des services Analytics (EN) Diagnostico Troubleshoot your Analytics Handle 'Disk Full' situations for Analytics OpenSearch OpenSearch - Guides OpenSearch - Capabilities and Limitations OpenSearch - Getting started OpenSearch - Monitor your infra (with Logstash or Fluent Bit) OpenSearch - Advanced parameters references Dashboards Visao geral Dashboards - Guides Dashboards - Capabilities and Limitations Dashboards - Configure your Dashboards instance to accept incoming connections Dashboards - Advanced parameters references Dashboards - Tutorials Dashboards - Tutorial - Expose your Dashboards instance in your private network via a reverse proxy NGINX Dashboards - Tutorial - How to use the Grafana® API Common Conceitos-chave Lifecycle policy for Analytics Capabilities and Limitations of Analytics Automated Backups for Analytics Introducao Getting started with Analytics Getting started with Analytics APIs Getting started with Terraform for Analytics Configuracao Maintenance operations for Analytics Configure the advanced parameters for Analytics Restore a backup of Analytics Resize the storage of Analytics Update the flavor of Analytics Update the plan of Analytics Set up logs forwarding for Analytics Set up the Kubernetes operator for Analytics Fetch service metrics with Prometheus for Analytics Migracao Reversibility Policy for the Managed Message Broker product Reversibility Policy for the Managed Search Engine Software Platform product Reversibility Policy for the Managed Data Visualization product Seguranca Presentation de la securite des services Analytics (EN) Partage des responsabilites des services Analytics (EN) Diagnostico Troubleshoot your Analytics Handle 'Disk Full' situations for Analytics AI & machine learning Visao geral General information Comparative tables - AI Notebooks, AI Training, AI Deploy AI Tools - Lifecycle policy Data - Concept and best practices Data - Compliance between AI Tools and S3 compatible Object Storage AI Dashboard - Getting started Users - Manage AI users and roles Registries - Use & manage your registries AI Tools - Remote SSH Connection AI Tools - Monitor your cloud resources AI Tools - ovhai SDK Reversibility Policy for the AI Managed Container product FAQ - AI Tools Command Line Interface CLI - Installation CLI - Cheat Sheet CLI - Launch an AI notebook CLI - Launch an AI Training job CLI - Manage access tokens CLI - Launch and share an AI Notebook with tokens CLI - Commands reference CLI - Commands reference for data CLI - Use your data in a notebook CLI - Launch an AI Deploy app AI Notebooks Visao geral AI Notebooks - Key concepts AI Notebooks - Notebook concept AI Notebooks - Features, Capabilities and Limitations AI Notebooks - Getting started AI Notebooks - Premiers pas (EN) AI Notebooks - Workspace AI Notebooks - Configuration AI Notebooks - Manage and use data in a notebook via UI AI Notebooks - Politique de reversibilite du produit Notebook Interface AI Notebooks - Tutorials Audio/Speech AI Notebooks - Tutorial - Audio analysis and classification with AI AI Notebooks - Tutorial - Use Speech-to-Text powers on audio and video Computer vision AI Notebooks - Tutorial - Train YOLOv5 on a custom dataset AI Notebooks - Tutorial - Train YOLOv7 for sign language recognition AI Notebooks - Tutorial - Train YOLOv8 to play rock paper scissors (EN) AI Notebooks - Tutorial - Use ResNet for image classification AI Notebooks - Tutorial - Brain tumor segmentation using U-Net AI Notebooks - Tutorial - Create and train an image generation model NLP AI Notebooks - Tutorial - Sentiment analysis on Tweets using Hugging Face AI Notebooks - Tutorial - Build your spam classifier Code assistant AI Notebooks - Using a code assistant (EN) Fine Tuning AI Notebooks - Tutorial - Fine-Tune and export an AI model to ONNX AI Notebooks - Tutorial - Create and train a Rasa chatbot AI Notebooks - Tutorial - Fine-tuning LLaMA 2 MLOps/Monitoring AI Notebooks - Tutorial - Use tensorboard inside notebooks AI Notebooks - Tutorial - Weights & Biases integration AI Notebooks - Tutorial - Track your ML models with MLflow inside notebooks AI Notebooks - Troubleshooting AI Notebooks - Troubleshooting AI Notebooks - Additional resources AI Notebooks - Billing and lifecycle AI Training Visao geral AI Training - Key concepts AI Training - Job concept AI Training - Features, Capabilities and Limitations AI Training - Getting started AI Training - Getting started AI Training - Start a job with a notebook Docker image AI Training - Tutorial - Build & use custom Docker image AI Training - Tutorial - Train your first ML model AI Training - Configuration AI Training - Tutorial - Build & use custom Docker image AI Training - Tutorials MLOps/Monitoring AI Training - Tutorial - Use tensorboard inside a job AI Training - Tutorial - Compare models with W&B for audio classification task NLP AI Training - Tutorial - Train a Rasa chatbot inside a Docker container Audio/Signal processing AI Training - Tutorial - Train a model to recognize marine mammal sounds Computer vision AI Training - Tutorial - Train YOLOv8 to play rock paper scissors (EN) AI Training - Tutorial - Turn a video into a 3D model using NVIDIA Neuralangelo Model export/Inference AI Training - Tutorial - Train a PyTorch model and export it to ONNX AI Training - Tutorial - Get started with NVIDIA Triton Inference Server and AI Training AI Training - Troubleshooting AI Training - Troubleshooting AI Training - Additional resources AI Training - Billing and lifecycle AI Deploy Visao geral AI Deploy - Key concepts AI Deploy - App concept AI Deploy - Features, Capabilities and Limitations AI Deploy - Apps portfolio AI Deploy - Scaling strategies AI Deploy - Getting started AI Deploy - Getting started AI Deploy - Configuration AI Deploy - Accessing your app with tokens (EN) AI Deploy - Scaling strategies AI Deploy - Update custom Docker images AI Deploy - Security AI Deploy - Accessing your app with tokens (EN) AI Deploy - Tutorials AI Deploy - Tutorial - Build & use a custom Docker image AI Deploy - Tutorial - Build & use a Streamlit image AI Deploy - Tutorial - Deploy a simple app with Flask AI Deploy - Tutorial - Deploy an app for audio classification task using Streamlit AI Deploy - Tutorial - Deploy a web service for YOLOv5 using Flask AI Deploy - Tutorial - Deploy a Gradio app for sketch recognition AI Deploy - Tutorial - Deploy an app for sentiment analysis with Hugging Face and Flask AI Deploy - Tutorial - Deploy an interactive app for EDA and prediction using Streamlit AI Deploy - Tutorial - Deploy and call a spam classifier with FastAPI AI Deploy - Tutorial - Create and deploy a Speech to Text application using Streamlit AI Deploy - Tutorial - How to load test your application with Locust AI Deploy - Tutorial - Deploy a Rasa chatbot with a simple Flask app AI Deploy - Tutorial - Create a web service to recognize sign language with YOLOv7 AI Deploy - Tutorial - Deploy a brain tumor segmentation app using Streamlit AI Deploy - Tutorial - Deploy LLaMA 2 in a Streamlit application AI Deploy - Tutorial - Deploy an ONNX model using FastAPI AI Deploy - Tutorial - Create an application to play rock paper scissors with YoloV8 (EN) AI Deploy - Tutorial - Deploy Whisper Speech Recognition Model AI Deploy - Tutorial - Deploy Stable Diffusion WebUI AI Deploy - Tutorial - Deploy FLUX Text-to-Image Models AI Deploy - Troubleshooting AI Deploy - Troubleshooting AI Deploy - Additional resources AI Deploy - Billing and lifecycle AI Endpoints Visao geral AI Endpoints - Key concepts AI Endpoints - Features, Capabilities and Limitations AI Endpoints - Structured Output AI Endpoints - Function Calling AI Endpoints - Responses API AI Endpoints - Getting started AI Endpoints - Getting started AI Endpoints - Tutorials AI Endpoints - Create your own audio summarizer AI Endpoints - Create your own voice assistant AI Endpoints - Using Virtual Models AI Endpoints - Speech to Text Integrations AI Endpoints - Create a code assistant with Continue AI Endpoints - Build a Python Chatbot with LangChain AI Endpoints - Build a JavaScript Chatbot with LangChain AI Endpoints - Create your own AI chatbot using LangChain4j and Quarkus AI Endpoints - Create a Streaming Chatbot with LangChain4j and Quarkus AI Endpoints - Enable conversational memory in your chatbot using LangChain AI Endpoints - Create a Memory Chatbot with LangChain4j AI Endpoints - Build a RAG Chatbot with LangChain AI Endpoints - Build a RAG Chatbot with LangChain4j AI Endpoints - Using Structured Output with LangChain4j AI Endpoints - Using Function Calling with LangChain4J AI Endpoints - Model Context Protocol (MCP) with LangChain4j AI Endpoints - Integration in Python with LiteLLM AI Endpoints - Integration with Apache Airflow AI Endpoints - Integration with Hugging Face Inference Providers AI Endpoints - Integration with Pydantic AI AI Endpoints - Troubleshooting AI Endpoints - Troubleshooting AI Endpoints - Additional resources AI Endpoints - Billing and lifecycle AI Partners Ecosystem Visao geral AI Partners - Key concepts AI Partners Ecosystem - Voxist - Models concept (EN) AI Partners Ecosystem - Lettria - Models concept (EN) AI Partners - Getting started AI Partners Ecosystem - Lettria - Models features, capabilities and billing (EN) AI Partners Ecosystem - Voxist - Models features, capabilities and billing (EN) Quantum computing General information Quantum computing - Features, Capabilities and Limitations Quantum computing - Billing and lifecycle Quantum computing - Troubleshooting Quantum emulators Guides Quantum computing - Getting started with Emulators Notebooks Quantum QPUs Guides Quantum computing - Getting started with QPUs Notebooks Integrations Prefect Prefect - Getting Started Prefect - Tutorial - Emails notification with blocks and automations Prefect - Tutorial - AI pipeline with training job Data Platform Data Platform documentation Sign-up to OVHcloud Data Platform Web Cloud Dominios Visao geral API Visao geral Conceitos-chave Introduction Primeiros passos Order a Domain Name Configuracao Tasks Management Manage Contacts of a Domain Name Managing Eligibility Rules Configure the Display of Contact Data in the Whois Configure the DNS of your Domain Name Migracao Transfer a Domain Name Nomes de dominio Visao geral Primeiros passos FAQ sobre os nomes de dominio & DNS Como criar um subdominio? Reencaminhar um dominio gerido pela OVHcloud Renovar os meus nomes de dominio OVHcloud Como obter informacoes relativas a um dominio com o WHOIS Como configurar a apresentacao do WHOIS de um nome de dominio? Como exportar a lista dos seus nomes de dominio em CSV Configuracao Gestao dos contactos dos dominios Nome de dominio - Como alterar o titular? Nome de dominio - Gestao do contacto titular Changer le proprietaire d'un domaine avec une Demande d'Operation AFNIC (DOA) Diagnostico Resolver um erro num nome de dominio Migracao Transferencia de entrada para a OVHcloud Transferir o nome de dominio para a OVHcloud Transferir um nome de dominio .uk para a OVHcloud Transferring a .pl domain name to OVHcloud Transferir um nome de dominio Hostinger para a OVHcloud Transferir um nome de dominio GoDaddy para a OVHcloud Transferring a home.pl domain name to OVHcloud Transferir um nome de dominio Ionos para a OVHcloud Transferir um nome de dominio O2Switch para a OVHcloud Transferir um dominio Gandi para a OVHcloud Transferir um nome de dominio Wix para a OVHcloud Transferencia de saida a partir da OVHcloud Transferir um nome de dominio para outro agente de registo Transferir um nome de dominio .uk para outro agente de registo Tutoriais Ligar um nome de dominio OVHcloud a um Google Site Ligar um nome de dominio OVHcloud ao Shopify Ligar um nome de dominio OVHcloud ao SquareSpace Ligar um nome de dominio OVHcloud ao Wix Ligar um nome de dominio OVHcloud ao GoDaddy Ligar um nome de dominio OVHcloud ao Webflow How to use an OVHcloud domain with iCloud Mail DNS (Domain Name System) Visao geral Conceitos-chave Saber tudo sobre os servidores DNS Saber tudo sobre a zona DNS Saber tudo sobre os registos DNS Configuracao Servidores DNS Alterar os servidores DNS de um nome de dominio OVHcloud List of IP addresses of OVHcloud DNS servers Zona DNS Criar uma zona DNS da OVHcloud para um dominio Criar uma zona DNS OVHcloud para um subdominio Editar uma zona DNS da OVHcloud Gerir o historico de uma zona DNS Como eliminar uma zona DNS OVHcloud? Registos DNS Adicionar um registo DNS do tipo A para um dominio Adicionar um registo DNS do tipo AAAA para um dominio Como adicionar um registo DNS de tipo CNAME para um subdominio Adicionar um registo DNS do tipo TXT para um dominio Configurar um registo MX para a gestao dos e-mails Opcoes DNS Ativar os DNS Anycast para o seu nome de dominio Personalizar os servidores DNS de um dominio (Hosts) Configurar um DNS dinamico (DynHost/DynDNS) para o seu nome de dominio Seguranca Melhorar a seguranca dos e-mails atraves do registo SPF Ameliorer la securite des e-mails via un enregistrement DKIM Melhorar a seguranca dos e-mails atraves do registo DMARC Proteger o seu nome de dominio com DNSSEC Tutoriais Tutorial - Utilizacao de Zonemaster Alojamento partilhado Primeiros passos Alojamento web - Ativar o alojamento gratuito 100M Como comecar bem com o seu alojamento web Premiers pas avec un hebergement Cloud Web Premiers pas avec la solution Visibilite Pro Visualizar e gerir todos os seus websites a partir da Area de Cliente OVHcloud Como criar um website - Realizar o seu projeto em 5 etapas Alojamentos web - FAQ Publicar um site num alojamento web Alojamento web - Ativar os enderecos de e-mail incluidos Alojamento web - Como conhecer o seu cluster e o seu filer Como encontrar o nome da sua oferta de alojamento web Configuracao Partilhar o alojamento entre varios sites Configurar e utilizar o Git com o seu alojamento web OVHcloud Alojamento web - Alterar um nome de dominio ja associado a um alojamento Alojamento web - Ambiente, versao PHP, .ovhconfig Configure um endereco IPv6 para o seu website Gerir os motores de execucao de um alojamento Cloud Web Recuperar o backup do espaco FTP do seu alojamento Cloud Web Alojamento web - Como fazer evoluir a sua oferta Guia de utilizacao do acelerador CDN num alojamento web Alojamento web - Consultar as estatisticas e logs de um website Alojamento Web - Consultar as estatisticas e logs CDN Como geolocalizar um website num pais especifico? Otimizar o desempenho do seu website Criar tarefas automatizadas (CRON) no seu alojamento Web How to create and manage a web application using the OVHcloud public API (EN) Bases de dados Criar uma base de dados num alojamento web Alterar a palavra-passe da base de dados de um alojamento web Duplicar o conteudo de uma base de dados em outra Recuperar a copia de seguranca da base de dados de um alojamento web Recuperar o backup de uma base de dados eliminada Como identificar o servidor da sua base de dados FTP e SSH Alojamento web - Como utilizar o FileZilla Alojamento web -Como gerir utilizadores FTP Aceder ao espaco de armazenamento FTP do alojamento web Alojamento web - Como ativar o acesso SFTP Alterar a palavra-passe de um utilizador FTP Gerir o seu alojamento web com Visual Studio Code via SFTP Tutorial - Utilizar o Cyberduck com o meu alojamento web Restaurar o espaco de armazenamento do alojamento web Alojamento web - Como utilizar o acesso SSH Tutorial - Como usar o PuTTY para conexoes SSH e autenticacao Utilizar SVN Alojamento Web - Copiar ficheiros com o comando SCP CMS Instalar o seu website com um 'modulo 1 clique' (CMS) Como alterar a palavra-passe de um CMS Como gerir o seu modulo em 1 clique? Migracao Como migrar um website a partir de um alojamento web partilhado para um VPS Importar um backup para a base de dados de um alojamento web Exportar o seu website Migrar o seu website e os seus servicos associados para a OVHcloud Migrar o seu website Xara para a OVHcloud Migrar o seu website WordPress para a OVHcloud Tutoriais Tutorial - Criar a sua pagina web pessoal na OVHcloud Casos de uso - Como alterar o dominio de um site existente Tutorial - Instalacao e configuracao de Cecil, um gerador de sites estaticos (SSG) em PHP Tutorial - Adicionar conteudo dinamico a uma pagina web estatica gerada com Cecil Instalar Composer num alojamento web Tutoriais WordPress Tutorial - Primeiros passos no WordPress Tutorial - Faca o backup do seu site WordPress Tutorial - Utilizar o ficheiro htaccess com WordPress Tutorial - Utilizar WooCommerce com o CMS WordPress Managing multiple WordPress websites with the MainWP plugin Backing up your WordPress websites with MainWP Improving your website's security with the MainWP plugin for WordPress Managing customer information on your WordPress websites with MainWP Tutoriais Cloud Web Instalar o Ghost num alojamento Cloud Web Installer Etherpad sur son hebergement Cloud Web Comment installer Django CMS sur son hebergement Cloud Web Installer Camaleon CMS sur son hebergement Cloud Web Reencaminhamento e autenticacao Tutorial - Proteger um diretorio ou a interface de administracao do seu website por ficheiros .htaccess e .htpasswd Tutorial - Reescrever o URL de acesso ao meu site gracas ao mod_rewrite atraves do ficheiro .htaccess Tutorial - Como bloquear o acesso ao meu site para alguns enderecos IP atraves de um ficheiro .htaccess ? Tutorial - Operacoes realizaveis com um ficheiro .htaccess CMS Tutorial - Instalar manualmente um CMS no meu alojamento Tutorial - Instalar manualmente WordPress Tutorial - Instalar manualmente o Joomla! Tutorial - Instalar manualmente o Pico Tutorial - Instalar manualmente o PrestaShop Tutorial - Instalar manualmente Drupal Tutorial - Instalar manualmente Grav Tutorial - Instalar manualmente o Typo3 Tutorial - Instalar manualmente o SPIP Seguranca Como proteger o seu website? Partilhado: ativacao da firewall Alojamento web - Gerir um certificado SSL Alojamento web - Passar o seu website em HTTPS Alojamento web - Ativar um certificado SSL gratuito Let's Encrypt Alojamento web - Ativar um certificado SSL Sectigo DV Alojamento web - Ativar um certificado SSL Sectigo EV Alojamento web - Instalar um certificado SSL personalizado Erros comuns associados a seguranca do seu website com SSL Diagnostico Casos de uso - Conselhos apos a pirataria do seu website Como mitigar a vulnerabilidade do HTTP/2 Rapid Reset (EN) O que fazer se o meu site esta inacessivel? O meu site e lento. O que fazer? Resolver os erros mais frequentes associados aos modulos 1 clique O que fazer em caso de erro 'Sua conexao nao e particular'? Resolver os erros mais frequentes associados as bases de dados Resolver o erro “Site nao instalado” O que fazer em caso de erro 500 Internal Server Error? O que fazer em caso de pagina "Index of"? O que fazer em caso de pagina "403 forbidden"? O que acontece se a pagina «Your IP has been banned» aparecer? O que acontece se a pagina «Your request has been blocked» aparecer? Alojamento partilhado Seguimento dos emails automatizados How to react to abnormal activity detected on your web hosting Alojamento web - A minha base de dados esta saturada, o que fazer? Resolver os erros recorrentes durante a utilizacao de um programa FTP Recursos adicionais Alojamento web - Lista dos enderecos IP por cluster Especificidades tecnicas relacionadas com os alojamentos partilhados Hebergement web - Versions disponibles des langages Web Hosting Reversibility Policy (DE) Anuncios de fim de venda/vida de base de dados SQL Migracao de MySQL para Percona Server para MySQL Managed Hosting for WordPress Primeiros passos Discover Managed Hosting for WordPress (Beta version) Video Center Primeiros passos Video Center - Manage your videos online SSL Gateway Primeiros passos Encomendar um SSL Gateway Utilizar o SSL Gateway Web Cloud Databases Primeiros passos Web Cloud Databases - Primeira utilizacao Comecar com MySQL e MariaDB Comecar com PostgreSQL Configuracao Web Cloud Databases - Como autorizar um endereco IP? Criar bases de dados e utilizadores no servidor de bases de dados Web Cloud Databases - Alterar as permissoes de um utilizador Web Cloud Databases - Ligar-se a uma base de dados Configurar o servidor de bases de dados Web Cloud Databases - Como gerir os logs? Desassociar a minha solucao Web Cloud Databases de um alojamento web Migracao Backup e exportacao de uma base de dados no servidor de bases de dados Restaurar e importar uma base de dados no servidor de bases de dados Recursos adicionais Anuncios de fim de venda/vida Web Cloud Databases Politica de fim de vida das bases de dados geridas Reversibility Policy for the Managed Database System for Web Hosting product Solucoes de e-mail e Ferramentas Colaborativas Funcionalidades comuns as ofertas de e-mail Gerir a politica de seguranca de um servico de e-mail Utilizar os alias e reencaminhamentos de e-mail Eliminar uma conta de e-mail Utilizacao do Outlook Web Application (OWA) Utilizar o endereco de e-mail a partir do webmail Outlook Web App (OWA) Criar regras inbox no OWA Criar respostas automaticas no OWA Partilhar uma pasta atraves do webmail OWA Partilha de calendarios em OWA Migracao de servicos Migrar um endereco de e-mail MX Plan para uma conta de E-mail Pro, Exchange ou Zimbra Migrar manualmente o seu endereco de e-mail Migrar contas de e-mail com o OVHcloud Mail Migrator Migrar os enderecos de e-mail de uma plataforma de e-mail OVHcloud para outra Diagnostico Envio ou rececao de e-mails impossivel O que fazer no caso de uma conta bloqueada por spam? Obter o cabecalho e o ficheiro .eml de um e-mail Gerir o espaco de armazenamento de uma conta de e-mail Restaurar os elementos eliminados da sua conta de e-mail MX Plan Visao geral Primeiros passos Introducao a oferta MX Plan Criar um endereco de e-mail com a oferta MX Plan Alterar a palavra-passe de um endereco de e-mail Webmail: Guia de utilizacao do Roundcube FAQ e-mails OVHcloud Utilizar o webmail Zimbra FAQ sobre a solucao Zimbra OVHcloud Funcionalidades de enderecos de correio eletronico MX Plan - Criar uma resposta automatica em um endereco de e-mail Gerir e utilizar as mailing lists Criar filtros para os seus enderecos de e-mail MX Plan - Delegue a gestao das suas contas de e-mail a outra pessoa Configurar uma aplicacao de e-mail no seu computador MX Plan / Zimbra Starter - Configurar o seu endereco de e-mail no Outlook classico para Windows MX Plan - Configurar um endereco de e-mail no Outlook para macOS MX Plan - Configure sua conta de e-mail no Mail para macOS MX Plan - Configurar seu endereco de e-mail no Thunderbird para Windows MX Plan - Configurar seu endereco de e-mail no Thunderbird para macOS MX Plan / Zimbra Starter - Adicionar uma conta de e-mail no novo Outlook para Windows Configurar uma aplicacao de e-mail no seu smartphone MX Plan - Configure sua conta de e-mail no Mail para iPhone e iPad MX Plan - Configurar um endereco de e-mail no Gmail para Android MX Plan / Zimbra STARTER - Configurar o Outlook para Android MX Plan - Configurar a sua conta de e-mail no Outlook para iOS Adicionar endereco de correio eletronico a um servico de correio eletronico existente MX Plan - Configurar o seu endereco de e-mail na interface online do Gmail E-mail Pro Visao geral Primeiros passos Primeiros passos com a solucao E-mail Pro Gerir a faturacao das contas E-mail Pro Delegar permissoes numa conta de e-mail Criar assinaturas automaticas Configurar uma aplicacao de e-mail no seu computador E-mail Pro - Configurar uma conta de e-mail no Outlook classico para Windows E-mail Pro - Configure sua conta de e-mail no Outlook para macOS E-mail Pro - Configure sua conta de e-mail no Mail para macOS E-mail Pro - Configurar sua conta de E-mail Pro no novo Outlook para Windows E-mail Pro - Configurar seu endereco de e-mail no Thunderbird para Windows E-mail Pro - Configurar seu endereco de e-mail no Thunderbird para macOS Configurar uma aplicacao de e-mail no seu smartphone E-mail Pro - Configure sua conta de e-mail no Mail para iPhone e iPad E-mail Pro - Configurar um endereco de e-mail no Gmail para Android E-mail Pro - Configurar um endereco de e-mail no Outlook para Android E-mail Pro - Configurar a sua conta de e-mail no Outlook para iOS Adicionar endereco de correio eletronico a um servico de correio eletronico existente E-mail Pro - Configurar o seu endereco de e-mail na interface online do Gmail Microsoft Exchange Visao geral Primeiros passos Primeiros passos com o servico Hosted Exchange Primeiros passos com um servidor Private Private Exchange - Backing up your email accounts with Veeam Backup for Microsoft 365 Gerir a faturacao das contas Exchange Adicionar um dominio a uma plataforma de e-mail Adicionar um registo CNAME para validar o seu dominio na sua oferta de e-mail Responsibility model for the product Managed Email Server on Mutualized Infrastructure (EN) Responsibility model for the product Managed Dedicated E-mail Infrastructure (EN) Funcionalidades de uma conta Exchange Exchange - Utilizacao de grupos de difusao (mailing lists) Delegar permissoes numa conta de e-mail Configurar a dupla autenticacao numa conta Exchange Utilizacao das contas de recurso Criar e utilizar uma conta partilhada Criar assinaturas automaticas Obter uma licenca Outlook para Exchange Configurer un connecteur d'envoi sur votre plateforme Private ou Trusted Exchange Configurar uma aplicacao de e-mail no seu computador Exchange - Configurar uma conta de e-mail no Outlook classico para Windows Exchange - Configure sua conta de e-mail no Outlook para macOS Exchange - Configurar uma conta de e-mail no Mail do macOS Exchange - Configure sua conta de e-mail no Correio para Windows Exchange - Configurar seu endereco de e-mail no Thunderbird para Windows Exchange - Configurar seu endereco de e-mail no Thunderbird para macOS Configurar uma aplicacao de e-mail no seu smartphone Exchange - Configure sua conta de e-mail no Mail para iPhone e iPad Exchange - Configurar um endereco de e-mail no Gmail para Android Diagnostico Utilizacao do diagnostico de erros Exchange Exchange - Como gerir os logs Microsoft Office Gerir um grupo de licencas Microsoft 365 OVHcloud Gerir um grupo de licencas Office 365 Revendedores (CSP2) OVHcloud Utilizar o ambiente de trabalho remoto com Microsoft 365 apps Zimbra Visao geral Primeiros passos Primeiros passos com a oferta Zimbra Utilizar o webmail Zimbra FAQ sobre a solucao Zimbra OVHcloud Configurar um endereco de e-mail Zimbra num software de mensagens Migrar um endereco de e-mail MX Plan para uma conta Zimbra OVHcloud Zimbra - Configurar a sua conta de e-mail na aplicacao movel Zimbra Zimbra - Sincronizar um calendario CalDAV numa aplicacao Zimbra - Configurar uma pasta WebDAV no seu computador Configurar uma aplicacao de e-mail no seu computador Zimbra Pro - Configurar a sua conta de e-mail atraves do AtiveSync no Outlook para Windows Zimbra Pro - Configurar a sua conta de e-mail atraves do EWS no Outlook para Mac Zimbra Pro - Configurar a sua conta de e-mail via EWS no Mail no Mac Configurar uma aplicacao de e-mail no seu smartphone Zimbra Pro - Configurar a sua conta de e-mail atraves do AtiveSync no Outlook para iOS Zimbra Pro - Configurar uma conta de e-mail via AtiveSync no Mail para iPhone ou iPad Zimbra Pro - Configurar sua conta de e-mail via AtiveSync no Outlook para Android Zimbra Pro - Configurar uma conta de e-mail via AtiveSync no Gmail para Android Internet Acesso Internet Visao geral Conceitos-chave La desserte interne Comprendre le cycle de vie des commandes FTTE et FTTO Primeiros passos FAQ solutions Internet OVHcloud Obtenir les identifiants PPPoE Configuracao Configuracao do acesso Configurer sa box a partir de l'espace client OVHcloud Modification du profil de synchronisation Comment configurer le reverse DNS de ma connexion Internet OVHcloud Activer l'adresse IPv6 d'une connexion Internet OVHcloud Gestao da oferta Comment changer mon offre xDSL/Fibre Fin du cuivre - Comment migrer mon offre xDSL vers la Fibre ? Comment demenager mon acces xDSL/Fibre Comment resilier un acces xDSL/Fibre VoIP / Acces Internet - Deroulement d'un RMA Gestao das opcoes Comment activer mes lignes telephoniques ? (Offres ADSL/VDSL/FTTH) Activer les adresses e-mail incluses dans votre offre FTTH/xDSL Configuracao avancada Comment activer le mode bridge sur un modem Zyxel Comment reutiliser le WiFi d'un modem Zyxel avec OverTheBox Activer ou desactiver l'envoi d'e-mails depuis le SMTP OVHcloud Gerer et configurer un bloc IP /29 Comment changer le backend ACS du modem Connectivity API Configurer un routeur manuellement Diagnostico Redemarrer ou reinitialiser une box OVHcloud Depanner son acces Internet fibre Resoudre une interruption ou des lenteurs de navigation Retablir la synchronisation d'une connexion suite a une coupure Retablir un acces a Internet suite a une coupure complete ou partielle Verifier si son lien xDSL est sature Verifier la stabilite de son acces OVHcloud via les logs radius Activer une alerte de monitoring OverTheBox Visao geral Primeiros passos Premiers pas avec OverTheBox Comment installer OverTheBox ? FAQ OverTheBox Configuracao Gestao da oferta Comment changer mon offre OverTheBox Configuracao inicial Comment mettre a jour un appareil OverTheBox ? Comment acceder a distance a une OverTheBox Comment configurer IPv6 sur OverTheBox ? Comment reinitialiser ou restaurer la configuration d'une OverTheBox Comment configurer le pare-feu (firewall) sur OverTheBox ? Comment configurer le reseau local d'une OverTheBox ? Comment configurer une route statique sur OverTheBox ? Comment configurer la qualite de service (QoS) sur OverTheBox ? Comment configurer un lien 4G sur OverTheBox? Configuracao Avancada Comment configurer une interface reseau ? Installer l'image OverTheBox sur votre appareil Configurer un ancien appareil OverTheBox v1 (Intel & IT v1) Telefone e Fax VoIP - Presentation de la documentation Introducao FAQ VoIP OVHcloud Gerer vos services VoIP Gerer vos groupes de telephonie Renseigner les coordonnees d'une ligne ou d'un numero et les faire paraitre en ligne Administrar Valider votre identite pour l'utilisation des services VoIP Valider votre identite pour l'exploitation d'un numero special SVA Gerer les reversements ou les couts de vos numeros speciaux Gestion du depot de garantie et de la limite hors-forfait Effectuer un changement de contacts pour vos groupes de telephonie Comment resilier un service VoIP ou une ligne Fax VoIP / Acces Internet - Deroulement d'un RMA Configuracao Linhas telefonicas Ligne SIP - commander, modifier, rattacher ou detacher un telephone OVHcloud Configurer et consulter le repondeur de sa ligne Configurer la presentation de son numero Filtrer et renvoyer ses appels Configurer des plages horaires et des fermetures exceptionnelles sur une ligne Installer et configurer Softcall Gerer un carnet de contacts sur une ligne SIP Creer des numeros abreges Modifier les musiques et sonneries de votre ligne Activer ou desactiver des services depuis le telephone Gerer et utiliser les appels simultanes Configurer les touches programmables de votre telephone OVHcloud Gerer le mode intercom de votre ligne Configurer et utiliser le Click2Call sur une ligne SIP Statistiques sur la QoS des appels Numeros e alias Demander et suivre une portabilite de numero Demander et suivre une portabilite de numero belge Choisir et appliquer une configuration pour un numero Configurer une redirection d'appels Configurer une file d'appels Configurer un serveur vocal interactif (SVI) Configurer un Contact Center Solution Creer et gerer des conferences telephoniques POPC Installer le logiciel POPC Prise en main du logiciel POPC IPBX How to deploy the 3CX IPBX automatically on OVHcloud Public Cloud Asterisk - configuration et utilisation Comment modifier le temps d’enregistrement d’une ligne sur Asterisk 3CX - Configuration et utilisation Freeswitch - configuration et utilisation Integracao de telefonia informatica (CTI) Integration CTI de la telephonie OVHcloud aux CRM et ERP - exemple avec SugarCRM Documentation technique CTI Projet communautaire CTI Tutoriais Ligne SIP - Configuration sur un softphone / telephone personnel Enregistrer une ligne SIP OVHcloud sur Zoiper Tutoriel - Utiliser une ligne SIP OVHcloud sur Linphone Seguranca Securiser sa ligne SIP OVHcloud Modifier le mot de passe d'une ligne SIP Restreindre sa ligne SIP OVHcloud par IP Diagnostico Tutoriel - Diagnostic du reseau local Depanner son telephone OVHcloud Recursos adicionais Guides d'utilisation de nos precedentes gammes de telephones Utiliser le Cisco 8851 Utiliser le Cisco 7841 Utiliser le Yealink T4X Utiliser le Yealink W56P Utiliser le Yealink CP860 Branchements du C530 IP Utiliser le Gigaset C530IP Depannage C530 IP Branchements SPA112 Adaptateur SPA112 Depannage SPA112 Branchements SPA504G Fonctionalites SPA504G Depannage SPA504G Branchements IP5000 Depannage IP5000 Fax Visao geral Primeiros passos FAQ sur la solution Fax OVHcloud Configuration de votre ligne Fax Utiliser son fax physique avec l'offre Plug & Fax Activation du repondeur Fax EcoFax Pro / Plug & Fax Configuracao Envio e rececao de faxes Envoyer des fax par e-mail Envoyer une campagne de fax depuis l'espace client OVHcloud Envoyer des Fax via l'imprimante virtuelle EcoFax - macOS X Envoyer des Fax via l'imprimante virtuelle EcoFax - Windows Comment resilier un service VoIP ou une ligne Fax Mensagens SMS Visao geral Primeiros passos FAQ SMS OVHcloud Launching your first SMS campaign Time2Chat, la messagerie conversationnelle par SMS pour les entreprises Configuracao Envio de SMS Sending SMS messages via the OVHcloud Control Panel Sending SMS messages via an email address Sending SMS messages with the OVHcloud API in PHP Sending SMS messages with the OVHcloud API in Node.js Sending SMS messages with the OVHcloud API in Java Envoyer des SMS avec l’API OVHcloud en c# Sending SMS messages to the USA Sending SMS messages via a URL - http2sms Gerir a oferta Managing SMS credits and enabling automatic re-crediting Manage your SMS history Everything you need to know about SMS senders Everything you need to know about SMS users How to create an SMS recipient list Managing SMS address books Envoyer des SMS permettant la reponse Utilizacao avancada Tout ce qu'il faut savoir sur le HLR - SMS API SMS Cookbook Automate SMS sending with n8n via the OVHcloud API SMPP Managing an SMS SMPP account SMPP Technical Specifications Armazenamento e backup Object Storage Visao geral S3 compatible Conceitos Object Storage - Choosing the right storage class for your needs Object Storage - Endpoints and Object Storage geoavailability Comparison of Object Storage Deployment Modes - Understanding 3-AZ / 1-AZ / Local Zones Cold Archive - Visao Geral (EN) Introducao Object Storage - Getting started Cold Archive - Getting started with Cold Archive Object Storage - Identity and access management Configuracao Object Storage - Getting Started with Versioning Object Storage - Smart Storage Management with Lifecycle Rules Object Storage - Master asynchronous replication across your buckets Object Storage - Server Access Logging Object Storage - Setting up CORS on Object Storage Object Storage - Bucket ACL Object Storage - Hosting a static website in an Object Storage bucket Object Storage - Enabling HTTPS on a static website using a custom domain Object Storage - How to connect Object Storage buckets with other resources in a vRack Migracao Object Storage - How to migrate from an S3-compatible object storage provider to OVHcloud Object Storage Object Storage - How to migrate from OVHcloud Swift Object Storage to OVHcloud S3-compatible Object Storage Tutoriais Object Storage - Use Object Storage with Rclone Object Storage - Use Object Storage with S3cmd Object Storage - Use Object Storage with WinSCP Object Storage - Utilizar Object Storage com Veeam (EN) Object Storage - Utilizar Object Storage com Nextcloud (EN) Object Storage - Utilizar Object Storage com Owncloud (EN) Object Storage – Use Object Storage with Cohesity NetBackup Object Storage – Use Object Storage with Pure Storage Flashblade Object Storage - Manage an Object Storage bucket with Terraform Object Storage – How to share an object or file externally Seguranca Object Storage - Encrypt your server-side objects with SSE-C or SSE-OMK Object Storage - Managing object immutability with Object Lock (WORM) Object Storage - Identity and access management Diagnostico Object Storage - FAQ Cold Archive - FAQ (EN) Object Storage - Local Zones specifications Object Storage - Compliance Object Storage - Limites tecnicos (EN) Object Storage - Optimising Performance Object Storage - Optimise the sending of your files to Object Storage Recursos adicionais Object Storage - Shared Responsibility Cold Storage - Shared Responsibility for archive and restoration services Object Storage - Third-party applications compatibility Swift Introducao Object Storage Swift - Creating an Object Storage container Object Storage Swift - Os primeiros passos com a API swift Object Storage Swift - Primeiros passos com a API Swift S3 Configuracao Object Storage Swift - Associar um container a um nome de dominio Object Storage Swift - Sincronizando conteineres de objetos (EN) Object Storage Swift - Configurar a eliminacao automatica de objectos Object Storage Swift - Setting up CORS on Object Storage (EN) Cloud Archive Swift - Gerir os seus arquivos a partir de um cliente SFTP/SCP Cloud Archive Swift - Criacao de container Public Cloud Archive Cloud Archive Swift - Descongelar os seus dados armazenados no Public Cloud Archive Cloud Archive Swift - Set up an Access Control List on Public Cloud Archive (EN) Migracao Object Storage - How to migrate from OVHcloud Swift Object Storage to OVHcloud S3-compatible Object Storage Tutoriais Object Storage Swift - Sincronizar uma NAS Synology com o Object Storage Object Storage Swift - Montar um container de objetos com S3QL (EN) Object Storage Swift - Utilizar o Object Storage com CyberDuck Object Storage Swift - Using Object Storage with Rclone Object Storage Swift - Configure o ownCloud com o Object Storage (EN) Cloud Archive Swift - Gerir os seus arquivos a partir de um cliente Swift (Cyberduck) Cloud Archive Swift - Gestao dos seus arquivos com Rsync Seguranca Object Storage Swift - Set up an Access Control List on Object Storage (EN) Diagnostico Object Storage Swift - S3/Swift REST API compatibility (EN) Object Storage Swift - Capabilities and limitations Cloud Archive Swift - Capabilities and limitations Object Storage Swift - Otimizar os uploads para o Object Storage Recursos adicionais Object Storage Swift - Curl Command Memo (EN) Object Storage Swift - Swift commands Memo (EN) Cloud Archive Swift - Curl Command Memo (EN) Cloud Archive Swift - Swift Command Memo (EN) File Storage Visao geral Enterprise File Storage Visao geral Conceitos-chave Enterprise File Storage - Conceitos Enterprise File Storage - Conceitos de performance Enterprise File Storage - FAQ Primeiros passos Enterprise File Storage - Gestao a partir da Area de Cliente OVHcloud Managing Enterprise File Storage with OVHcloud Terraform provider Enterprise File Storage - Primeiros passos com as API Enterprise File Storage - Primeiros passos com Trident CSI Configuracao Enterprise File Storage - Faca a gestao das suas politicas de snapshots Enterprise File Storage - Conservar uma snapshot automatica Enterprise File Storage - Restaurar um volume utilizando a API de restauro de snapshots Enterprise File Storage - Gerir os seus volumes Enterprise File Storage - Gerir os ACL de um volume Enterprise File Storage - Gerir as snapshots de um volume Enterprise File Storage - Particularidades relativas a certos clientes NFS Enterprise File Storage - Connect a Public Cloud instance to an EFS Volume via vRack Private Network Enterprise File Storage - Private network configuration Migracao Enterprise File Storage - Clonar um volume Recursos adicionais File Storage services - Responsibility model (EN) File Storage reversibility policy NAS-HA Visao geral Conceitos-chave Les questions frequentes concernant le service NAS-HA Primeiros passos Primeiros passos com um NAS-HA NAS-HA - Primeiros passos com as API Configuracao Montagem de NAS-HA atraves de NFS Configure o seu NAS-HA no Windows Server atraves do CIFS NAS-HA - Gestao dos ACL atraves da API NAS-HA - Gestao das particoes por API NAS-HA - Gestao das snapshots atraves da API Migracao Migracao de dados de um NAS-HA para outro via NFS Recursos adicionais File Storage reversibility policy File Storage services - Responsibility model (EN) Public Cloud File Storage Key concepts Primeiros passos File Storage Service - Getting started (Beta) Block Storage Visao geral Block volume Conceitos-chave Proper Usage and Limitations of Classic Multi-Attach Block Storage in 3AZ Regions Primeiros passos Criar e configurar um disco suplementar numa instancia Criar uma copia de seguranca de um volume Criar uma snapshot de um volume Configuracao Criar um volume a partir de um backup Aumentar o tamanho de um disco adicional Testar a velocidade dos discos Migracao Migrer un volume Block Storage vers un volume chiffre LUKS Modificar um Volume Block Storage Recursos adicionais Public Cloud Block Storage - Shared responsibilities (EN) Cloud Disk Array Conceitos-chave Perguntas frequentes (EN) Primeiros passos Cloud Disk Array - Criacao de usuario (EN) Cloud Disk Array - Criacao de pool (EN) Cloud Disk Array - Criacao de IP ACL (EN) Configuracao Alterar direitos do usuario (EN) Sistema de arquivos distribuido CephFS (EN) How to upgrade a Cloud Disk Array (CDA) using the OVHcloud API Acesse o cluster usando o cliente rbd (EN) Tutorials Utilizar Ceph com Proxmox (EN) Recursos adicionais Status do cluster (EN) Avaliar o desempenho do armazenamento Benchmarking Backup and disaster recovery solution Backup Agent Conceitos-chave Backup Agent - Apresentacao da oferta Backup Agent - Funcionamento do Vault Primeiros passos Backup Agent - Como configurar a sua primeira copia de seguranca Backup Agent - Gerir as suas copias de seguranca e restauracoes Backup Agent - Conectar-se a VSPC Diagnostico Backup Agent - Diagnostico e resolucao de problemas Backup Agent - Restore a Bare Metal server with Veeam Backup Agent Recursos adicionais Backup Agent - Restricoes conhecidas Backup Agent - Faturacao Backup Agent - Atualizacao do servico Backup Agent - Procedimento de eliminacao Veeam Enterprise Plus Primeiros passos Instalar o Veeam Backup & Replication (EN) Configuracao Preparing a Bare Metal Server backup with Veeam Enterprise (EN) Backing up a Bare Metal Linux Server with Veeam Enterprise (EN) Backing Up a Bare Metal Windows Server Using Veeam Agent for Windows (EN) Restoring a Bare Metal Server with Veeam Enterprise (EN) Seguranca Encrypting backup jobs with Veeam and OKMS Managed Veeam for Public VCF aaS Primeiros passos Public VCF as-a-Service - Backups with Veeam Data Platform (EN) HYCU for OVHcloud Primeiros passos Configurar HYCU Backup (EN) Managed Kubernetes - Data Protection Tutorials Backup and Restore OVHcloud Managed Kubernetes Cluster, Namespace and Applications using TrilioVault for Kubernetes Backing-up an OVHcloud Managed Kubernetes cluster using CloudCasa Backing up and restoring your Persistent Volume with Volume Snapshots on OVHcloud Managed Kubernetes Backing-up an OVHcloud Managed Kubernetes cluster using Velero Backing-up Persistent Volumes using Stash Rede Additional IP Conceitos-chave Concepts - Primary IP and Additional IP Configuracao Migrar um Additional IP Configurar um bloco de Additional IP num vRack Configurar um bloco Additional IPv6 num vRack Guias especificos de produto Servidores dedicados Configurar a rede em Proxmox VE nas gamas High Grade, Scale & Advance (EN) Configurer des Additional IP en mode bridge sur vos machines virtuelles Tutorial - Configuring pfSense network bridge (EN) Configurer son adresse IP en alias Configurar a rede em Windows Server com Hyper-V Atribuir um endereco MAC virtual a um Additional IP Utilizar Hyper-V com enderecos Additional IP num vRack Hosted Private Cloud Adicionar um endereco IP publico a uma nova VM (EN) Adicionar um bloco IP Load Balancer How to route an Additional IP Managed Bare Metal Adicionar um bloco IP Public Cloud Concepts - Additional IP or Floating IP (EN) Configurar um Additional IP Adicionar um Additional IP Migrar um Additional IP Importar um Additional IP Virtual Private Servers Configurar um endereco de IP alias Resolucao de problemas Como remover um endereco IP de uma lista de IPs bloqueados Cancelling an Additional IP service Bring Your Own IP How to use the Bring Your Own IP feature (EN) BGP Service Configuration du service BGP Content Delivery Network (CDN) Infrastructure Primeira configuracao de um dominio Gestao do trafego na CDN Funcionamento do certificado SSL na CDN Lista dos enderecos IP a autorizar para a sua CDN Infrastructure Load Balancer Visao geral Conceitos-chave Introduction to the OVHcloud Load Balancer OVHcloud Load Balancer FAQ Primeiros passos Gestion du service OVHcloud Load Balancer via l'espace client Order a free SSL certificate Load Balancer API Quick Reference OVHcloud Load Balancer TCP / HTTP / HTTPS Logs Forwarding Load balancing methods Configuracao Infraestrutura How to route an Additional IP Configuring the vRack on the load balancer How to configure the OVHcloud Load Balancer in multiple zones Trafego Como configurar o protocolo HTTP/2 no Load Balancer OVHcloud Comment configurer le SMTP sur un service Load Balancer Configuration of an OVHcloud Load Balancer service - HTTP headers Configuring an OVHcloud Load Balancer with ProxyProtocol Configuration of probes on an OVHcloud Load Balancer service Configuring an OVHcloud Load Balancer service with redirects Configuring an OVHcloud Load Balancer with HTTP routes Tracking connections on the OVHcloud Load Balancer Implementacoes Configuration of an OVHcloud Load Balancer service with HTTP/HTTPS Deploying a blue-green infrastructure Recursos adicionais Details of API functions Resolucao de problemas Retrieving server health status Seguranca de rede Ativar e configurar o Edge Network Firewall Proteger um servidor de jogos com a firewall aplicacional Monitorizacao dos ataques DDoS com o Network Security Dashboard OVHcloud Connect Visao geral Conceitos-chave Concepts overview Layer 2 mode Layer 3 mode Primeiros passos Installation of OVHcloud Connect Direct from the OVHcloud Control Panel Installation of OVHcloud Connect Provider from the OVHcloud Control Panel How to initiate a diagnostic for OVHcloud Connect from the OVHcloud Control Panel OVHcloud Connect Logs Forwarding FAQ OVHcloud Connect Configuracao Configuration of OVHcloud Connect using OVHcloud APIv6 Resolucao de problemas Troubleshooting common errors setting up OVHcloud Connect Recursos adicionais Technical capabilities and limitations SecNumCloud Concepts overview SPN Concept VPN-SPN Concept FAQ SecNumCloud Connectivity vRack Private Network Visao geral Configuracao Configurar um bloco de Additional IP num vRack Configurar um bloco Additional IPv6 num vRack Configurar quadros Jumbo no vRack Criar varias VLAN no vRack Alterar o anuncio de um bloco IP no vRack Upgrade and downgrade private bandwidth (vRack) via the OVHcloud API Guias especificos de produto Servidores dedicados Configurar a rede em Proxmox VE nas gamas High Grade, Scale & Advance (EN) Configurar varios servidores dedicados no vRack Configurar a rede em Windows Server com Hyper-V Configurar o vRack entre o Public Cloud e um servidor dedicado Utilizar Hyper-V com enderecos Additional IP num vRack Como configurar a NIC para o OVHcloud Link Aggregation em Debian 9 a 11 Hosted Private Cloud Nutanix on OVHcloud Interligacao de clusters atraves do vRack (EN) Modificacao do vRack de um cluster Nutanix (EN) VMware on OVHcloud Criacao de VLANs (EN) Utilizar o Hosted Private Cloud no seio de um vRack Compatibilidade do vRack com o Hosted Private Cloud Load Balancer Configuring the vRack on the load balancer Managed Bare Metal Utilizar o Managed Bare Metal no seio de um vRack Criacao da VLAN Public Cloud Contentores & Orquestracao Using vRack Private Network Working with vRack example - Communicating between different private networks Using vRack - Communicating between different private networks Working with vRack example - Managed Kubernetes and Public Cloud instances Public Cloud Network Services Configuracao do vRack Public Cloud Configuring vRack on the Public Cloud using the OVHcloud API (EN) Configuracao do vRack Public Cloud com a ajuda da OpenStack CLI Configurar o vRack entre o Public Cloud e um servidor dedicado Configuring a public IP block in a vRack on a Public Cloud instance vRack Services vRack Services - Exposing a Managed Service on your vRack Enterprise File Storage - Private network configuration Enterprise File Storage - Connect a Public Cloud instance to an EFS Volume via vRack Private Network Resolucao de problemas How to troubleshoot your network using OVHcloud tools Como saber se o meu endereco IP e gerido pela OVHcloud? Gerir e operar API Primeiros passos Primeiros passos com as API OVHcloud Exploring the OVHcloud APIs (EN) APIv6 OVHcloud API v2 - Principles of operation Manage services Manage payment and billing of OVHcloud services Create a OVH sub-account and a user account with OVH API Managing OVHcloud service accounts via the API (EN) How to use service accounts to connect to OVHcloud APIs (EN) Generating OVHcloud account logs with Logs Data Platform (EN) Gestao dos utilizadores e da federacao Primeiros passos Apresentacao das identidades que podem interagir dentro de uma conta OVHcloud Criar e gerir utilizadores locais numa conta OVHcloud Managing OVHcloud service accounts via the API (EN) Federacao de identidades Ativar as ligacoes Active Directory Federation Services (AD FS) SSO com a sua conta OVHcloud Ativar as ligacoes SSO do Google Workspace com a sua conta OVHcloud Ativar as ligacoes Entra ID SSO com a sua conta OVHcloud Ativar as ligacoes Okta SSO com a sua conta OVHcloud IAM Utilizacao das politicas IAM com a API OVHcloud (EN) Como utilizar as politicas IAM a partir do seu Espaco Cliente Lista dos grupos de permissoes da OVHcloud (EN) How to manage tags on resources Como criar uma politica IAM para permitir que um utilizador se ligue a Area de Cliente OVHcloud (EN) How to use IAM policies with vSphere (EN) How to use service accounts to connect to OpenStack (EN) How to analyse IAM policy results (EN) Generating OVHcloud account logs with Logs Data Platform (EN) Terraform Using Terraform with OVHcloud (EN) CLI Getting Started with OVHcloud CLI Observability Logs Data Platform Getting Started Introduction to Logs Data Platform Quick start for Logs Data Platform Logs Data Platform - Responsibility model Reversibility Policy for the Managed Log Manager product OVHcloud Service Logs Generating OVHcloud account logs with Logs Data Platform (EN) Logs Data Platform - Collect VMware on OVHcloud logs (EN) Public Cloud Load Balancer TCP / HTTP / HTTPS Logs Forwarding (EN) Mettre en place le transfert de logs des bases de donnees Public Cloud (EN) Web Cloud Databases - Como gerir os logs? Managed Kubernetes Service Audit Logs Forwarding Pushing logs from OVHcloud KMS to Logs Data Platform OVHcloud Connect Logs Forwarding IAM Ingesting your logs Field naming convention Mutualized Inputs Dedicated input - Logstash Mutualized input - OpenSearch API Pushing logs with a SDK - Python 2.x - Djehouty Pushing logs with a SDK - Python 3.x - logging-ldp Pushing logs with a logging library - Rust - gelf_logger and log4rs-gelf Pushing logs with a forwarder - Filebeat (Linux) Pushing logs with a forwarder - Syslog-ng 3.12.1+ (Linux) Pushing logs with a forwarder - NXLog (Windows) Pushing logs from software - Apache Pushing logs from a Kubernetes cluster to Logs Data Platform using Fluent Bit Generating OVHcloud account logs with Logs Data Platform (EN) SAP logs on OVHcloud Logs Data Platform - Configuration Logs Data Platform - Collect VMware on OVHcloud logs (EN) Visualizing, querying and exploiting your logs Exposing your logs to third-party tools via the OpenSearch API Using OpenSearch Dashboards with Logs Data Platform Using Grafana with Logs Data Platform CLI - ldp-tail, a tool to follow your logs in real-time CLI - bonfire, querying graylog from a CLI Alerting - Configuring alerts on your streams Alerting - Using ElastAlert 2 with Logs Data Platform OpenSearch Index as a service OpenSearch Index as a Service Security and conformity Archiving your logs - Cold-storage Encrypting your logs archives Securing Logs Data Platform's APIs with tokens Usecases Tracking slow MySQL queries with Logs Data Platform Supervising your HAProxy deployment with Logs Data Platform Pushing logs from a Kubernetes cluster to Logs Data Platform using Fluent Bit Handling roles and permissions when IAM is not enabled SAP logs on OVHcloud Logs Data Platform - Configuration KMS Getting started with OVHcloud Key Management Service (KMS) Using OVHcloud Key Management Service (KMS) Manage your OKMS access certificate OKMS Architecture overview OKMS - Shared responsibilities How to connect a compatible product using KMIP protocol How to Encrypt Kubernetes ETCD with OVHcloud KMS Pushing logs from OVHcloud KMS to Logs Data Platform Secret Manager Using the Secret Manager in the OVHcloud Control Panel Using the Secret Manager with the REST API Using the Secret Manager with the HashiCorp Vault KV2 compliant API Manage your OKMS access certificate OKMS Architecture overview OKMS - Shared responsibilities How to use Kubernetes External Secret Operator with Secret Manager Gestao de conta Informacoes da conta Visao geral Primeiros passos Criar uma conta OVHcloud Aceder a Area de Cliente OVHcloud Definir e gerir a palavra-passe da sua conta Proteger a minha conta OVHcloud e gerir as minhas informacoes pessoais Como gerir os contactos (gestores) dos servicos OVHcloud Gerir comunicacoes relacionadas com os servicos da OVHcloud Apresentacao da nova navegacao na Area de Cliente OVHcloud Partilhar ficheiros com a ferramenta Plik Criacao e gestao de utilizadores Apresentacao das identidades que podem interagir dentro de uma conta OVHcloud Criar e gerir utilizadores locais numa conta OVHcloud Utilizacao das politicas IAM com a API OVHcloud (EN) Como utilizar as politicas IAM a partir do seu Espaco Cliente Generating OVHcloud account logs with Logs Data Platform (EN) How to analyse IAM policy results (EN) Lista dos grupos de permissoes da OVHcloud (EN) Como criar uma politica IAM para permitir que um utilizador se ligue a Area de Cliente OVHcloud (EN) Managing OVHcloud service accounts via the API (EN) Ativar as ligacoes Active Directory Federation Services (AD FS) SSO com a sua conta OVHcloud Ativar as ligacoes SSO do Google Workspace com a sua conta OVHcloud Ativar as ligacoes Entra ID SSO com a sua conta OVHcloud Ativar as ligacoes Okta SSO com a sua conta OVHcloud How to use IAM policies with vSphere (EN) How to use service accounts to connect to OpenStack (EN) How to use service accounts to connect to OVHcloud APIs (EN) Como adicionar uma chave SSH no Painel de Controle da OVHcloud (generated by AI) FAQ FAQ sobre a gestao da conta OVHcloud FAQ sobre o suporte da OVHcloud Seguranca e conformidade Proteger a sua conta OVHcloud com a dupla autenticacao Limitar o acesso por IP a Area de Cliente OVHcloud Phishing - Como identificar e-mails fraudulentos? Information System Security Policy (ISSP) Dedicated Server Security Specifications Security specification for Private Cloud by VMmare (EN) Block Storage security specifications Security specification for Private Cloud VMmare under SecNumCloud qualification (EN) OVHcloud products ISO27k certifications OVHcloud products HDS certification Representation des garanties de la certification d'Hebergement de Donnees de Sante (HDS) sur les produits OVHcloud Gestao da faturacao, dos pagamentos e dos servicos Renovar um servico Como renovar os meus servicos OVHcloud Renovar os meus nomes de dominio OVHcloud Renovar os seus servicos atraves da API OVHcloud Gestao de servicos As boas praticas para a gestao dos seus servicos e da sua conta OVHcloud Como obter a pegada de carbono dos seus servicos OVHcloud Faturas, faturacao e pagamentos Gerir as encomendas da OVHcloud Gerir os meus metodos de pagamento Gerir as minhas faturas OVHcloud Conceito de Numero de Comando ou Purchase Order (PO) Payer une commande en tant qu’administration publique Hosted Private Cloud Hosted Private Cloud Billing (EN) AI Notebooks AI Notebooks - Billing and lifecycle Public Cloud Adicionar um credito cloud Public Cloud Compute - Passar de uma faturacao a hora para uma faturacao ao mes Rescisao de um servico Como cancelar os meus servicos OVHcloud Hosted Private Cloud Como rescindir o seu Hosted Private Cloud GDPR - How to immediately delete your OVHcloud services FAQ FAQ sobre faturacao e pagamento FAQ sobre o seguimento da encomenda OVHcloud Como saber se o meu endereco IP e gerido pela OVHcloud? API Encomendar um projeto Public Cloud atraves da API OVHcloud Reversibilidade Politicas de reversibilidade Global Reversibility Policy (EN) Web Hosting Reversibility Policy (DE) Public Cloud Reversibility Policy Reversibility Policy for Managed Dedicated Cloud product (EN) Reversibility policy for the service VMware on OVHcloud under SecNumCloud qualification (EN) Dedicated Servers Reversibility Policy (EN) Dedicated Servers 3-AZ Reversibility Policy Reversibility Policy for Managed Document Database Product Reversibility Policy for Managed Relational Database Product Reversibility Policy for the Managed Message Broker product Reversibility Policy for the Managed Data Visualization product File Storage reversibility policy Cold Storage product reversibility policy Object Storage product reversibility policy Politique de reversibilite du produit Object Storage 3AZ Orchestration product reversibility policy Managed OCI artifact Registry Product Reversibility Policy Reversibility Policy for the Managed Log Manager product Reversibility Policy for the Unified Data Platform product AI Notebooks - Politique de reversibilite du produit Notebook Interface Reversibility Policy for the AI Managed Container product Reversibility Policy for the Managed Search Engine Software Platform product Reversibility Policy for the Managed Mutualized Virtualization product Reversibility Policy for the Dedicated PoD-SecNumCloud product Reversibility Policy for the Managed Database System for Web Hosting product Reversibility Policy for the Managed In-Memory Database product Partilha de responsabilidades Shared responsibility for Dedicated Servers (EN) File Storage services - Responsibility model (EN) Cold Storage - Shared Responsibility for archive and restoration services Responsibility sharing for the VMware on OVHcloud service Partage de responsabilite sur le service Hosted Private Cloud by VMware sous la qualification SecNumCloud Partilha de responsabilidades - Nutanix on OVHcloud (EN) Shared responsibility for SAP on OVHcloud solutions Logs Data Platform - Responsibility model Public Cloud Instances - Shared responsibilities (EN) Responsibility model for Public Cloud Databases Public Cloud Block Storage - Shared responsibilities (EN) Object Storage - Shared Responsibility Managed Kubernetes - Responsibility model Managed Private Registry - Responsibility model (EN) Responsibility model for the product Managed Email Server on Mutualized Infrastructure (EN) Responsibility model for the product Managed Dedicated E-mail Infrastructure (EN) OKMS - Shared responsibilities Startup Program Visao geral General information Startup Program - How to apply to our newsletter? How to optimise your application to the Startup Program How to sign your Startup Program contract Support & Communication How to contact a Startup Program manager and/or request a technical consultation Credits & Billing How to check your Startup Program credits How to pay a bill with your Startup Program credits Which products are available to use with Startup Program credits? Technical resources How to increase Public Cloud quotas for a Startup Program member Seguranca e identidade IAM Visao geral Conceitos-chave Primeiros passos Configuracao Gerir politicas (UI) Gerir politicas (API) Grupos de permissoes Contas de servico SSO / SAML Visao geral Conceitos-chave Primeiros passos Configuracao Ligacao com ADFS Ligacao com Azure AD Ligacao com Google Workspace Ligacao com Okta Certificacoes de seguranca Certificacao HDS Politica de seguranca Especificacoes servidores dedicados Especificacoes Block Storage Especificacoes Private Cloud VMware Especificacoes Private Cloud SNC Home › Public Cloud › Containers & Orchestration › Managed kubernetes › Backup and Restore OVHcloud Managed Kubernetes Cluster, Namespace and Applications using TrilioVault for Kubernetes Backup and Restore OVHcloud Managed Kubernetes Cluster, Namespace and Applications using TrilioVault for Kubernetes Copiar Markdown Perguntar a IA Introduction In this tutorial, you will learn how to deploy TrilioVault for Kubernetes (or TVK ) to your OVHcloud Managed Kubernetes Cluster, create backups, and recover from a backup if something goes wrong. You can back up your entire cluster by including mutliple namespaces, or optionally choose a single namespace, label based backups, Helm Releases based backups or Operator based backups. Advantages of using Trilio : Take full (or incremental) backups of your all namespaces, selective applications and restore in case of data loss. Migrate from one cluster to another. Helm release backups are supported. Backup of Operator based application deployment is also supported. Run pre and post hooks for backup and restore operations. Web management console, that allows you to inspect your backup/restore operations state in detail (and many other features). Define retention policies for your backups. Application lifecycle (meaning, TVK itself) can be managed via a dedicated TrilioVault Operator. Velero integration (Trilio supports monitoring Velero backups, restores, and backup/snapshot locations via its web management console). How TrilioVault for Kubernetes works TVK follows a cloud native architecture, meaning that it has several components that together form the Control Plane and Data Plane layers. Everything is managed via CRDs , thus making it fully Kubernetes native. What is nice about Trilio is the clear separation of concerns, and how effective it handles backup and restore operations. Each TrilioVault application consists of a bunch of "Controllers" and the associated CRDs. Every time a CRD is created or updated, the responsible controller is notified and performs cluster reconciliation. Then, the controller in charge spawns Kubernetes jobs that perform the real operation (like , , etc) in parallel. Control Plane consists of: Target Controller : defines the storage backend ( * , , etc) via specific CRDs. BackupPlan Controller : defines the components to backup, automated backups schedule, retention strategy, etc via specific CRDs. Restore Controller : defines restore operations via specific CRDs. Data Plane consists of: Datamover Pods, responsible with transferring data between persistent volumes and backup media (or ). TrilioVault works with Persistent Volumes (PVs) using the CSI interface. For each PV that needs to be backed up, an ephemeral Datamover Pod is created. After each operation finishes, the associated pod is destroyed. Metamover Pods, responsible with transferring Kubernetes API objects data to backup media (or ). Metamover pods are ephemeral, just like the Datamover ones. Understanding TrilioVault Application Scope TrilioVault for Kubernetes works based on scope , meaning you can have a Namespaced or a Cluster type of installation. A Namespaced installation allows you to and at the namespace level only. In other words, the backup is meant to protect a set of applications that are bound to a namespace that you own. This is how a "BackupPlan" and the corresponding Backup CRD works. You cannot mutate those CRDs in other namespaces, they must be created in the same namespace where the application to be backed up is located. On the other hand, a Cluster type installation is not scoped or bound to any namespace or a set of applications. You define cluster type backups via the Cluster prefixed CRDs, like: , , etc. Cluster type backups are a little bit more flexible, in the sense that you are not tied to a specific namespace or set of applications to backup and restore. You can perform backup/restore operations for multiple namespaces and applications at once, including PVs as well (you can also backup databased content). In order to make sure that TVK application scope and rules are followed correctly, TrilioVault is using an Admission Controller . It intercepts and validates each CRD that you want to push for TVK, before it is actually created. In case TVK application scope is not followed, the admission controller will reject CRD creation in the cluster. Another important thing to consider and remember is that a TVK License is application scope specific. In other words, you need to generate one type of license for either a Namespaced or a Cluster type installation. Namespaced vs Cluster TVK application scope - when to use one or the other? It all depends on the use case. For example, a Namespaced scope is a more appropriate option when you don't have access to the whole Kubernetes cluster, only to specific namespaces and applications. In most of the cases you want to protect only the applications tied to a specific namespace that you own. On the other hand, a cluster scoped installation type works at the global level, meaning it can trigger backup/restore operations for any namespace or resource from a Kubernetes cluster (including PVs and the database). To summarize: If you are a cluster administrator, then you will most probably want to perform cluster level operations via corresponding CRDs, like: , , , etc. If you are a regular user, then you will usually perform namespaced only operations (application centric) via corresponding CRDs, like: , , , etc. The application interface is very similar or uniform when comparing the two types: Cluster vs non-Cluster prefixed CRDs. So, if you're familiar with one type, it's pretty straightforward to use the counterpart. For more information, please refer to the TVK CRDs official documentation. Backup and Restore Workflow Whenever you want to backup an application, you start by creating a (or ) CRD, followed by a (or ) object. Trilio Backup Controller is notified about the change and performs backup object inspection and validation (i.e. whether it is backup, backup, etc.). Then, it spawns worker pods (Metamover, Datamover) responsible with moving the actual data (Kubernetes metadata, PVs data) to the backend storage (or ), such as OVHcloud Object Storage. Similarly whenever you create a Restore object, the "Restore Controller" is notified to restore from a Backup object. Then, Trilio Restore Controller spawns worker nodes (Metamover, Datamover), responsible with moving backup data out of the (Kubernetes metadata, PVs data). Finally, the restore process is initiated from the particular backup object. Trilio is ideal for the disaster recoveryuse case, as well as for "snapshotting" your application state, prior to performing system operations on your cluster, like upgrades. For more details on this topic, please visit the Trilio Features and Trilio Use Case official page. After finishing this tutorial, you should be able to: Configure OVHcloud Object Storage backend for Trilio to use. and your applications and your entire OVHcloud Managed Kubernetes Cluster. Create scheduled backups for your applications. Create retention policies for your backups. Table of Contents Introduction How TrilioVault for Kubernetes Works Understanding TrilioVault Application Scope Backup and Restore Workflow Requirements Step 1 - Installing TrilioVault for Kubernetes Installing TrilioVault Operator and Manager Using Helm TrilioVault Application Licensing Installing TVK Application Licensing Renewing TVK Application License Step 2 - Creating a TrilioVault Target to Store Backups Step 3 - Getting to Know the TVK Web Management Console Getting Access to the TVK Web Management Console Exploring the TVK Web Console User Interface Step 4 - Helm Release Backup and Restore Example Creating mysql-qa Helm Release Backup Deleting mysql-qa Helm Release and Resources Restoring mysql-qa Helm Release Backup Verifying Applications Integrity after Restoration Step 5 - Backup and Restore Whole Cluster Example Creating the OVHcloud Managed Kubernetes Cluster Backup Re-creating the OVHcloud Managed Kubernetes Cluster and Restoring Applications Checking OVHcloud Managed Kubernetes Cluster Applications State Step 6 - Scheduled Backups Step 7 - Backups Retention Policy Using Retention Policies Using Cleanup Policies Conclusion Requirements To complete this tutorial, you need the following: An OVHcloud Object Storage Container/Bucket and a User which will have permission to access the Object Storage Container. A Git client, to clone the OVHcloud Docs repository. Helm , for managing TrilioVault Operator releases and upgrades. Kubectl , for Kubernetes interaction. krew , for installation of preflight checks plugin. Warning Important information: In order for TrilioVault to work correctly and to backup your PVCs, the OVHcloud Managed Kubernetes Cluster needs to be configured to support the Container Storage Interface (or CSI, for short) and CustomResourceDefinitions should be deployed. The output should look similar to below: Also make sure that the CRD support both and API version. You can run below command to check the API version: At the end of the CRD yaml, you should obtain an output similar to below, showing as and : User can then install the Hostpath CSI driver and create a storageclass, volumesnapshotclass. You can check the existing storage class using below command: The output should look similar to (notice the provisioner is hostpath.csi.k8s.io if you have installed hostpath CSI driver): Users should run a preflight check to make sure all the prerequisites for the TVK are fulfilled to proceed safely with installation. Follow the TVK Preflight Checks page to install and run preflight through krew plugin. Instructions Step 1 - Installing TrilioVault for Kubernetes In this step, you will learn how to deploy TrilioVault for Kubernetes for OVHcloud Managed Kubernetes Cluster, and manage TVK installations via Helm. Backups data will be stored in the OVHcloud Object Storage bucket created earlier in the Requirements section. TrilioVault for Kubernetes consists of TVK Operator and TVM application. The TrilioVault Operator (installable via Helm) which also installs the TrilioVaultManager CRD and creates a custom resource. TVK Operator handles the installation, post-configuration steps, and future upgrades of the Trilio application components. Installing TrilioVault Operator and Manager Using Helm Warning This tutorial is using the Cluster installation type for the TVK application ( Helm value is set to "Cluster"). All examples from this tutorial rely on this type of installation to function properly. Please follow the steps below, to install TrilioVault via Helm: First, clone the OVHcloud Docs Git repository and change directory to your local copy: Next, add the TrilioVault Helm repository, and list the available charts: The output looks similar to the following: The chart of interest is , which will install TrilioVault for Kubernetes Operator on the cluster. You can run command to install the Operator which will also install the Triliovault Manager CRD. Install TrilioVault for Kubernetes Operator using : TVK allows user to alter the values to be used by TVK Operator installation using option. Check the detailed instructions in the One-click Installation page. Now, please check your deployment: The output looks similar to the following ( column should display "deployed"): Next, verify that TrilioVault-Operator and Triliovault-Manager application is up and running: The output looks similar to the following (deployment pods must be in the state): Now, please check your CRDs, CR as well: The output looks similar to the following: You can also check if the TVM Custom Resource is created. The output looks similar to the following: If the output looks like above, you installed TVK successfully. Next, you will learn how to check license type and validity, as well as how to renew. TrilioVault Application Licensing By default, when installing TVK via Helm, there is no Free Trial license generated. This tutorial will help you install the 'Cluster' scoped license which is of type 'Basic' for cluster capacity of 500 CPUs and has expiration time of 5 years. You can always go to the Trilio website and generate a new license for your cluster that suits your needs. Installing TVK Application Licensing Please run below command to see what license is available for your cluster (it is managed via the License CRD): Run the below command to verify if the license is successfully created for OVHcloud users: The output looks similar to (notice the which should be "Active", as well as the license type in the column and ): The license is managed via a special , namely the object. You can inspect it by running below command: The output looks similar to (notice the and fields, as well as the ): The above output will also tell you when the license is going to expire in the field, and the ( based in this case). You can opt for a cluster wide license type, or for a namespace based license. More details can be found on the Trilio Licensing documentation page. Renewing TVK Application License To renew the license, you will have to request a new one from the Trilio website, by navigating to the licensing page. After completing the form, you should receive the License YAML manifest, which can be applied to your cluster using . Below commands assume that TVK is installed in the default namespace (please replace the placeholders accordingly, where required): Then, you can check the new license status as you already learned via: In the next step, you will learn how to define the storage backend for TrilioVault to store backups, called a . Step 2 - Creating a TrilioVault Target to Store Backups TrilioVault needs to know first where to store your backups. TrilioVault refers to the storage backend by using the target term, and it's managed via a special CRD named . The following target types are supported: and . For OVHcloud and the purpose of the tutorial, it makes sense to rely on the storage type because it's cheap and scalable. To benefit from an enhanced level of protection you can create multiple target types (for both and ), so that your data is kept safe in multiple places, thus achieving backup redundancy. OVHcloud provides two types of S3 compatible Object Storage solutions: To create Target for the , use this link . To create Target for the , use this link Create an Object Storage user in the tab next to Object Storage Container. Now, from , assign the Administrator priviledges to the S3 user. Next, create an Access Key and Secret Key to access the Object Storage Container using the Getting Started with the Swift S3 API tutorial. Info If you have created a container with High Performance then follow the Getting started with S3 compatible Object Storage documentation. Save the Access key and Secret key used in AWS CLI file. It is required to create a target later. Take a note of the Object Storage endpoint URL , and the region name provided in the AWS CLI file. It is required to create a later. To access Object Storage, each target needs to know bucket credentials. A Kubernetes Secret must be created as well: Notice that the secret name is . It's referenced by the field of the Target CRD explained below. The can be in the same where TrilioVault was installed (defaults to ), or in another namespace of your choice. Just make sure that you reference the namespace correctly. On the other hand, please make sure to protect the where you store TrilioVault secrets via , for security reasons. Typical Target definition looks like below: Explanation for the above configuration: : Type of target for backup storage (Object Storage is an object store). : Third party storage vendor hosting the target (for OVHcloud Object Storage you need to use "Other" instead of "AWS"). : Enable browsing for the target to browse through the backups stored on it. : Defines required credentials (via ) to access the Object Storage, as well as other parameters such as bucket region and name. : Maximum threshold capacity to store backup data. Steps to create a for TrilioVault: First, change directory where the Git repository was cloned on your local machine: Next, create the Kubernetes secret containing your target Object Storage bucket credentials (please replace the placeholders accordingly): Then, open and inspect the manifest file provided in the repository, using an editor of your choice (preferably with YAML lint support). You can use VS Code for example: Now, please replace the placeholders accordingly to your OVHcloud Object Storage Trilio bucket, like: , , and . Finally, save the manifest file and create the object using : What happens next is, TrilioVault will spawn a worker job named responsible with validating your Object Storage bucket (like availability, permissions, etc.). If the job finishes successfully, the bucket is considered to be healthy or available and the job resource is deleted afterwards. If something bad happens, the Object Storage target validator job is left up and running so that you can inspect the logs and find the possible issue. Now, please go ahead and check if the resource created earlier is healthy: The output looks similar to (notice the column value - should be "Available", meaning it's in a healthy state): If the output looks like above, then you configured the Object Storage target object successfully. Hint: In case the target object fails to become healthy, you can inspect the logs from the Pod to find the issue: First, you need to find the target validator The output looks similar to: Now, fetch logs data The output looks similar to (notice the exception as an example): Next, you will discover the TVK web console which is a really nice and useful addition to help you manage backup and restore operations very easily, among many others. Step 3 - Getting to Know the TVK Web Management Console While you can manage backup and restore operations from the CLI entirely via and , provides a Web Management Console to accomplish the same operations via the GUI. The management console simplifies common tasks via point and click operations, provides better visualization and inspection of TVK cluster objects, as well as to create disaster recovery plans (or ). The Helm based installation covered in Step 1 - Installing TrilioVault for Kubernetes already took care of installing the required components for the web management console. Getting Access to the TVK Web Management Console To be able to access the console and explore the features it offers, you can either user LoadBalancer, NodePort or need to port forward the ingress-nginx-controller service for TVK. First, you need to identify the service from the namespace: The output looks similar to (search for the line, and notice that it listens on port 80 in the column): If you are using LoadBalancer for the then the output would look like: TVK is using an Nginx Ingress Controller to route traffic to the management web console services. Routing is host based, and the host name is as defined in the Helm values file from the : Having the above information at hand, please go ahead and edit the file, and add this entry: Next, create the port forward for the TVK ingress controller service: Finally download the file for your OVHcloud Managed Kubernetes Cluster present under tab as . This step is required so that the web console can authenticate you using kubeconfig file: After following the above steps, you can access the console in your web browser by navigating to: http://ovh-k8s-tvk.demo.trilio.io . When asked for the file, please select the one that you created in the last command from above. Info Please keep the generated file safe because it contains sensitive data. Exploring the TVK Web Console User Interface The home page looks similar to: Go ahead and explore each section from the left: : This shows the list of primary cluster and other clusters having TVK instances, added to the primary OVHcloud cluster using Multi-Cluster Management feature. : This is the main dashboard which gives you a general overview for the whole cluster, like: Discovered namespaces, Applications, Backupplans list, Targets, Hooks, Policies etc. : : : : : : : This has two options, TrilioVault Monitoring and Velero Monitoring if user has Velero configured on their OVHcloud cluster. : It shows the backup and restore summary of the kubernetes cluster. : : Allows you to manage and perform disaster recovery operations. You can also see the Object Storage Target created earlier, by navigating to > > Select the TVK Namespace from the dropdown on the top (in case of the TVK Namespace is ): Going further, you can browse the target and list the available backups by clicking on the button from the right, and then select option from the pop-up menu (for this to work the target must have the flag set to ): For more information and available features, please consult the TVK Web Management Console User Interface official documentation. Next, you will learn how to perform backup and restore operations for specific use cases, like: Specific namespace(s) backup and restore. Whole cluster backup and restore. Step 4 - Helm Release Backup and Restore Example In this step, you will learn how to create a one-time backup for an entire helm release from your OVHcloud Managed Kubernetes Cluster and restore it afterwards, making sure that all the resources related to the helm release are re-created. The namespace in question is . TVK has a neat feature that allows you to perform backups at a higher level than just Helm releases, meaning: complete namespaces, Label based application, and Operator based application. You will learn how to accomplish such a task, in the steps to follow. Next, you will perform the following tasks: Create the namespace and create a helm release for the MySQL Database Perform a namespace backup , via BackupPlan and Backup CRDs. Delete the Helm release. Restore the Helm release, via Restore CRD. Check the Helm release resources restoration. Creating mysql-qa helm release To verify if the helm release is deployed correctly, run below command: The output looks similar to below: Next, verify that deployment is up and running: The output looks similar to below: This shows that the mysql-qa helm release is ready to be backedup. Creating mysql-qa Helm Release Backup To perform backups for a single application at the namespace level (or Helm release), a BackupPlan followed by a Backup CRD is required. A BackupPlan allows you to: Specify a where backups should be stored. Define a set of resources to backup (e.g.: namespace or Helm releases). Encryption, if you want to encrypt your backups on the target (this is a very nice feature for securing your backups data). Define for full or incremental type backups. Define policies for your backups. Info The TrilioVault for Kubernetes has created a few sample scheduling and retention policies for users. Users can create the new policies or utilize the sample policies. In other words a BackupPlan is a definition of "what", "where", "to" and "how" of the backup process, but it doesn't perform the actual backup. The Backup CRD is responsible with triggering the actual backup process, as dictated by the BackupPlan spec. Typical BackupPlan CRD looks like below: Explanation for the above configuration: : Tells TVK what target name to use for storing backups. : Tells TVK in which namespace the target was created. : Defines a list of resources to back up (can be namespaces or Helm releases). Typical Backup CRD looks like below: Explanation for the above configuration: : Specifies backup type (e.g. or ). : Specifies the which this should use. Steps to initiate the Helm release one time backup: First, make sure that the is deployed in your cluster by following these steps . Next, change directory where the Git repository was cloned on your local machine: Then, open and inspect the mysql-qa helm release BackupPlan and Backup manifest files provided in the repository, using an editor of your choice (preferably with YAML lint support). You can use VS Code for example: Create the BackupPlan resource, using : Now, inspect the BackupPlan status (targeting the Helm release), using : The output looks similar to (notice the column value which should be set to "Available"): Finally, create a Backup resource, using : Now, inspect the Backup status (targeting the Helm release), using : Next, check the object status, using : The output looks similar to (notice the column value which should be set to "InProgress", as well as the set to "Full"): After all the Helm release components finish uploading to the Object Storage target, you should get below results: The output looks similar to (notice that the changed to "Available", and is "100") If the output looks like above, you successfully backed up the Helm release. You can go ahead and see how TrilioVault stores Kubernetes metadata by listing the TrilioVault S3 Bucket contents. Finally, you can check that the backup is available in the web console as well, by navigating to and select Namespace from the Top dropdown (notice that it's in the "Available" state, and that the Helm release was backed up in the "Component Details" sub-view) Deleting mysql-qa Helm Release and Resources Now, go ahead and simulate a disaster, by intentionally deleting the Helm release: Next, check that the namespace resources were deleted (listing should be empty): Restoring mysql-qa Helm Release Backup Important notes: If restoring into the same namespace, ensure that the original application components have been removed. Especially the PVC of application are deleted. If restoring to another cluster (migration scenario), ensure that TrilioVault for Kubernetes is running in the remote namespace/cluster as well. To restore into a new cluster (where the Backup CR does not exist), must be set to . Please refer to the Custom Resource Definition Restore Section to view a by example. When you delete the namespace, the load balancer resource associated with the mysql-qa service will be deleted as well. So, when you restore the service, the Load Balancer will be recreated by OVHcloud. The issue is that you will get a New IP address for your Load Balancer, so you will need to adjust the for getting traffic into your domains hosted on the cluster. To restore a specific Backup, you need to create a Restore CRD. Typical Restore CRD looks like below: Explanation for the above configuration: : Specifies what backup type to restore from. : Contains a reference to the backup object to restore from. : Specifies whether to skip restore of a resource if it already exists in the namespace restored. Restore allows you to restore the last successful Backup for an application. It is used to restore a single namespaces or Helm release, protected by the Backup CRD. The Backup CRD is identified by its name: . First, inspect the Restore CRD example from the Git repository: Then, create the Restore resource using : Finally, inspect the Restore object status: The output looks similar to (notice the STATUS column set to , as well as the PERCENTAGE COMPLETED set to ): If the output looks like above, then the Helm release restoration process completed successfully. Verifying Applications Integrity after Restoration Check that all the namespace resources are in place and running: The output looks similar to: Next step deals with whole cluster backup and restore, thus covering a disaster recovery scenario. Step 5 - Backup and Restore Whole Cluster Example In this step, you will simulate a disaster recovery scenario. The whole OVHcloud Managed Kubernetes Cluster will be deleted, and then the important applications restored from a previous backup. Next, you will perform the following tasks: Create the multi-namespace backup, using a ClusterBackupPlan CRD that targets all important namespaces from your OVHcloud Managed Kubernetes Cluster. Delete the OVHcloud Managed Kubernetes Cluster, using the OVHcloud Control Panel . Create a new OVHcloud Managed Kubernetes Cluster, using the OVHcloud Control Panel . Re-install TVK and configure the OVHcloud Object Storage bucket as S3 target (you're going to use the same S3 bucket, where your important backups are stored) Restore all the important applications by using the TVK web console. Check the OVHcloud Managed Kubernetes Cluster applications integrity. Creating the OVHcloud Managed Kubernetes Cluster Backup using TVK Multi-Namespace backup feature The main idea here is to perform a OVHcloud Managed Kubernetes Cluster backup by including all important namespaces, that hold your essential applications and configurations. Basically, we cannot name it a full cluster backup and restore, but rather a multi-namespace backup and restore operation. In practice this is all that's needed, because everything is "namespaced" in Kubernetes. You will also learn how to perform a cluster restore operation via location from the target. The same flow applies when you need to perform cluster migration. Typical ClusterBackupPlan manifest targeting multiple namespaces looks like below: Notice that (or other OVHcloud Managed Kubernetes Cluster related namespaces) is not included in the list. Usually, those are not required, unless there is a special case requiring some settings to be persisted at that level. Typical ClusterBackup manifest targeting multiple namespaces looks like below: Steps to initiate a backup for all important namespaces in your OVHcloud Managed Kubernetes Cluster: First, change directory where the Git repository was cloned on your local machine: Then, open and inspect the ClusterBackupPlan and ClusterBackup manifest files provided in the repository. Create the ClusterBackupPlan resource, using : Now, inspect the ClusterBackupPlan status, using : The output looks similar to (notice the column value which should be set to "Available"): Finally, create the ClusterBackup resource, using : Next, check the ClusterBackup status, using : The output looks similar to (notice the column value which should be set to "Available", as well as the set to "100"): If the output looks like above then all your important application namespaces were backed up successfully. Info Please bear in mind that it may take a while for the full cluster backup to finish, depending on how many namespaces and associated resources are involved in the process. You can also open the web console main dashboard and inspect the multi-namespace backup (notice how all the important namespaces that were backed up are highlighted in green color, in a honeycomb structure) Re-creating the OVHcloud Managed Kubernetes Cluster and Restoring Applications An important aspect to keep in mind is that whenever you destroy an OVHcloud Managed Kubernetes Cluster and then restore it, a new Load Balancer with a new external IP is created as well when TVK restores your ingress controller. So, please make sure to update your OVHcloud Managed DNS accordingly. Now, delete the whole OVHcloud Managed Kubernetes Cluster using the OVHcloud Control Panel . Next, re-create the cluster as described in Creating a OVHcloud Managed Kubernetes Cluster . To perform the restore operation, you need to install the TVK application as described in Step 1 - Installing TrilioVault for Kubernetes . Please make sure to use the same Helm Chart version - this is important! After the installation finishes successfully, configure the TVK target as described in Step 2 - Creating a TrilioVault Target to Store Backups , and point it to the same OVHcloud Object Storage bucket where your backup data is located. Also, please make sure that is enabled. Next, verify and activate a new license as described in the TrilioVault Application Licensing section. To get access to the web console user interface, please consult the Getting Access to the TVK Web Management Console section. Then, navigate to (in case of the TVK Namespace is ). Going further, browse the target and list the available backups by clicking on the button from the right. Then, select option from the pop-up menu (for this to work the target must have the flag set to "true"). Now, click on the item from the list, and then click and expand the item from the right sub-window similar to: To start the restore process, click on the button. A progress window will be displayed similar to below: After a while, if the progress window looks like below, then the restore operation completed successfully. Checking OVHcloud Managed Kubernetes Cluster Applications State First, verify all cluster Kubernetes resources (you should have everything in place): In the next step, you will learn how to perform scheduled (or automatic) backups for your OVHcloud Managed Kubernetes Cluster applications. Step 6 - Scheduled Backups Taking backups automatically based on a schedule, is a really useful feature to have. It allows you to rewind back time, and restore the system to a previous working state if something goes wrong. This section provides an example for an automatic backup on a 15 minute schedule (the namespace was picked). Info By default TrilioVault for Kubernetes creates the sample daily, weekly, and monthly scheduling policy after installation. Users can use the same scheduling policies if no changes are required. See the default values of the policies in the TVK UI scheduling policy: First, you need to create a Policy CRD of type that defines the backup schedule in format (same as Linux cron). Schedule polices can be used for either BackupPlan or ClusterBackupPlan CRDs. Typical schedule policy CRD looks like below (defines a 15 minute schedule): Next, you can apply the schedule policy to a ClusterBackupPlan CRD for example, as seen below: Looking at the above, you can notice that it's a basic ClusterBackupPlan CRD, referencing the Policy CRD defined earlier via the field. You can have separate policies created for full or incremental backups, hence the or can be specified in the spec. Now, please go ahead and create the schedule , using the sample manifest provided by the tutorial (make sure to change directory first, where the ovh/docs Git repository was cloned on your local machine): Check that the policy resource was created: The output looks similar to (notice the type set to ): Finally, create the resource for the namespace scheduled backups: Create the backup plan first for default namespace. Check the scheduled backup plan status for : The output looks similar to (notice the value set to the previously created policy resource, as well as the which should be "Available"): Create a clusterbackup resource using scheduled policy for every 15 min: Create and trigger the scheduled backup for default namespace: Check the scheduled backup status for : The output looks similar to (notice the value set to the previously created backup plan resource, as well as the which should be "Available"): Now, you can check that backups are performed on a regular interval (15 minutes), by querying the cluster backup resource and inspect the column (). It should reflect the 15 minutes delta. In the next step, you will learn how to set up a retention policy for your backups. Step 7 - Backups Retention Policy The retention policy allows you to define the number of backups to retain and the cadence to delete backups as per compliance requirements. The retention policy CRD provides a simple YAML specification to define the number of backups to retain in terms of days, weeks, months, years, latest etc. Info By default TrilioVault for Kubernetes creates the sample retention policy after installation. Users can use the same retention policy is no changes is required. See the default values of the policy in the TVK UI Retention policy: Using Retention Policies Retention polices can be used for either BackupPlan or ClusterBackupPlan CRDs. Typical manifest for the type looks like below: Explanation for the above configuration: : Defines policy type. Can be: or . : Describes retention configuration, such as what interval to use for backups retention and how many. : Maximum number of latest backups to be retained. : Maximum number of backups to be retained in a week. : Day of the week to maintain weekly backups. : Maximum number of backups to be retained in a month. : Date of the month to maintain monthly backups. : Month of the backup to retain for yearly backups. : Maximum number of backups to be retained in a year. The above retention policy translates to: On a basis, keep one backup each . On a basis, keep one backup in the day. On a basis, keep one backup every . , I want to always have the backups available. The basic flow for creating a retention policy resource goes the same way as for scheduled backups. You need a BackupPlan or a ClusterBackupPlan CRD defined to reference the retention policy, and then have a Backup or ClusterBackup object to trigger the process. Typical ClusterBackupPlan example configuration that has retention set, looks like below: Once you apply the ClusterBackupplan, you can check it using: Output would look similar to below: Notice that it uses a field to reference the policy in question. Of course, you can have a backup plan that has both types of policies set, so that it is able to perform scheduled backups, as well as to deal with retention strategies. Using Cleanup Policies Having so many TVK resources (each one responsible with various operations such as: scheduled backups, retention, etc), it is very probable for things to go wrong at some point in time. It means that some of the previously enumerated operations might fail due to various reasons, like: inaccessible storage, network issues for NFS, etc. So, what happens is that your OVHcloud Managed Kubernetes Cluster will get crowded with many Kubernetes objects in a failed state. You need a way to garbage collect all those objects in the end and release associated resources, to avoid trouble in the future. Meet the CRD: The above cleanup policy must be defined in the TVK install namespace. Then, a cron job is created automatically for you that runs every 30 mins, and deletes failed backups based on the value specified for within the spec field. This is a very neat feature that TVK provides to help you deal with this kind of situation. Conclusion In this tutorial, you learned how to perform one time , as well as scheduled backups, and to restore everything back. Having scheduled backups in place, is very important as it allows you to revert to a previous snapshot in time, if something goes wrong along the way. You walked through a disaster recovery scenario, as well. Next, backups retention plays an important role as well, because storage is finite and sometimes it can get expensive if too many objects are implied. All the basic tasks and operations explained in this tutorial, are meant to give you a basic introduction and understanding of what TrilioVault for Kubernetes is capable of. You can learn more about TrilioVault for Kubernetes and other interesting (or useful) topics, by following the links below: TVK CRD API documentation. How to Integrate Pre/Post Hooks for Backup Operations , with examples given for various databases. Immutable Backups , which restrict backups on the target storage to be overwritten. Helm Releases Backup , which shows examples for Helm releases backup strategies. Backups Encryption , which explains how to encrypt and protect sensitive data on the target (storage). Disaster Recovery Plan . Multi-Cluster Management . Restore Transforms . Velero Integration to Monitor Velero Backups . Go further If you need training or technical assistance to implement our solutions, contact your sales representative or click on this link to get a quote and ask our Professional Services experts for assisting you on your specific use case of your project. Join our community of users . * : S3 is a trademark of Amazon Technologies, Inc. OVHcloud’s service is not sponsored by, endorsed by, or otherwise affiliated with Amazon Technologies, Inc. Esta pagina foi util? Sim Nao Editar esta pagina Ultima atualizacao : 01/04/2026, 12:38:03 Pagina anterior How to migrate from Load Balancer for MKS (IOLB) to Public Cloud Load Balancer (Octavia) Proxima pagina Backing-up an OVHcloud Managed Kubernetes cluster using CloudCasa Nesta pagina Introduction How TrilioVault for Kubernetes works Understanding TrilioVault Application Scope Backup and Restore Workflow Table of Contents Requirements Instructions Step 1 - Installing TrilioVault for Kubernetes Installing TrilioVault Operator and Manager Using Helm TrilioVault Application Licensing Installing TVK Application Licensing Renewing TVK Application License Step 2 - Creating a TrilioVault Target to Store Backups Step 3 - Getting to Know the TVK Web Management Console Getting Access to the TVK Web Management Console Exploring the TVK Web Console User Interface Step 4 - Helm Release Backup and Restore Example Creating mysql-qa helm release Creating mysql-qa Helm Release Backup Deleting mysql-qa Helm Release and Resources Restoring mysql-qa Helm Release Backup Verifying Applications Integrity after Restoration Step 5 - Backup and Restore Whole Cluster Example Creating the OVHcloud Managed Kubernetes Cluster Backup using TVK Multi-Namespace backup feature Re-creating the OVHcloud Managed Kubernetes Cluster and Restoring Applications Checking OVHcloud Managed Kubernetes Cluster Applications State Step 6 - Scheduled Backups Step 7 - Backups Retention Policy Using Retention Policies Using Cleanup Policies Conclusion Go further Editar esta pagina 🚀 Partilhe a sua opiniao sobre a nova documentacao O seu feedback ajuda as nossas equipas a melhorar a sua experiencia. 2 minutos · Anonimo Nao, obrigado Responder