When using Kops on AWS to deploy your Kubernetes cluster you'll find yourself with multiple elastic block storage volumes which are the PersistentVolumeClaim implementation on AWS. Snapshots are then a great way to provide backups, and especially so if coupled with lifecycle manager which can define your backup schedule and retention.
Usually when defining a life-cycle policy you create a tag filter to select specifics volumes and then a schedule to snapshot them and how many you want to keep.
So it would be great to add tags to volumes provisioned by Kubernetes that way you could create a life cycle policy to backup them automatically when marked with a specific tag.
Unfortunately that's currently not possible on the standard provisioner:
- https://github.com/kubernetes/kubernetes/pull/49390
- https://github.com/kubernetes/kubernetes/issues/50898
But you can use the AWS EBS CSI driver instead of the k8s in-tree one (which looks like will be deprecated one day), then you can add tags this way:
In fact the AWS EBS CSI provisioner ability to add extra tags got merged to master branch sometime in 2019 (https://github.com/kubernetes-sigs/aws-ebs-csi-driver/issues/333).