K10 Kanister Support


Documentation regarding Kanister Blueprint support seems either massively old, insufficient, or none existent. A number of examples:

 

ETCD backup here:

https://docs.kasten.io/latest/kanister/etcd/k8s/install.html
Simply doesnt work, ETCD containers dont include TAR and therefore kubectl cp no longer works. Appreciate this is also on Kanister documentation side of things but the K10 documentation is simply out of date too.

Kanister functions when validated with the K10 blueprint interface dont match Kanister documentation, and there doesnt appear to be K10 documentation to identify the differencces. There are many examples but for one:

https://docs.kanister.io/functions.html#:~:text=Kanister%20Functions%20are%20registered%20by,to%20lookup%20a%20Kanister%20Function.

BackupData is listed as ‘Not Required’ in Kanister Functions documentation but provides an error during K10 validation. Other prominent examples regarding backupTag not being supported vs backupIdentifier. As a result, compared to suggestions within documentation, Kanister blueprints simply arent directly useable in K10.


5 comments

Userlevel 7
Badge +20

@Madi.Cristil maybe move this to Kasten K10 group for help?

Furthermore, the below, based almost like for like on the Kanister basic starter blueprint here results in the failure which appears to reference a function not documented by Kanister, nor even discouverable within their source code - atleast as far as I’ve been able to search.

message: '{"message":"Failed to get hostname/username from
Options","function":"kasten.io/k10/kio/kanister/function.(*backupDataFunc).Exec","linenumber":95,"file":"kasten.io/k10/kio/kanister/function/backup_data.go:95","cause":{"message":"Failed
to find hostname
option","function":"kasten.io/k10/kio/kanister/function.getHostAndUserNameFromOptions","linenumber":210,"file":"kasten.io/k10/kio/kanister/function/backup_data.go:210"}}'
---
apiVersion: cr.kanister.io/v1alpha1
kind: Blueprint
metadata:
name: config-path-blueprint
actions:
backup:
outputArtifacts:
backupIdentifier:
keyValue:
id: "{{ .Phases.BackupToObjectStore.Output.backupID }}"
phases:
- func: BackupData
name: BackupToObjectStore
args:
namespace: "{{ .Deployment.Namespace }}"
pod: "{{ index .Deployment.Pods 0 }}"
container: kanister-tools
includePath: /config
backupArtifactPrefix: '{{ .Profile.Location.Bucket }}/{{ index .Deployment.Namespace }}/{{ index .Deployment.Name }}'
encryptionKey: ""

The whole blueprint documentation would benefit from being stripped back to a simple example thats known to function and able to be tested successfully in the latest version of K10. As it is, atleast for me its been a case of wading through error messages, some helpful, most not.

Userlevel 1

Hello,

anyone have a solution for backup etcd with K10? Documentation is still outdated.

Userlevel 3
Badge +1

Hello @rdziwinski 

 

Are you having the problem above? 

 

Thanks

Emmanuel

Userlevel 1

Yes, I performed all steps from documentation.

 Failed while waiting for Pod kanister-job-lrsrg to complete: Pod failed to complete in time: Pod failed or did not transition into complete state: error: Internal error occurred: error executing command in container: failed to exec in container: failed to start exec "5f111737b01a7164db16612d0048ac4d3f7e733c0c42e8fa530b13a231ba1580": OCI runtime exec failed: exec failed: unable to start container process: exec: "tar": executable file not found in $PATH:

Comment