|
| 1 | +--- |
| 2 | +title: SKE Health Agent |
| 3 | +description: Documentation about the SKE Health Agent |
| 4 | +--- |
| 5 | + |
| 6 | +The SKE Health Agent is a health check agent to be installed in Kubernetes Destinations where health checks can be executed. |
| 7 | + |
| 8 | +The Agent is released separately from SKE. Its releases can be found [here](../releases/ske-health-agent). |
| 9 | + |
| 10 | +## Features |
| 11 | + |
| 12 | +The Agent will: |
| 13 | + |
| 14 | +* Schedule the execution of Health Check Workflows from the Destination |
| 15 | +* Persist the data from a health check into a state store |
| 16 | + |
| 17 | +## Requirements |
| 18 | + |
| 19 | +The Agent will write the health information to a state store. The Platform cluster must have a GitOps agent listening to the state store, so the resource health can be applied back to the Platform cluster. |
| 20 | + |
| 21 | +## Install |
| 22 | + |
| 23 | +To install, run the command below, replacing VERSION with the target version: |
| 24 | + |
| 25 | +``` |
| 26 | +kubectl apply -f https://syntasso-enterprise-releases.s3-website.eu-west-2.amazonaws.com/#k8s-health-agent/<VERSION>/manifests/ske-health-agent.yaml |
| 27 | +``` |
| 28 | + |
| 29 | +:::warning |
| 30 | + |
| 31 | +For the SKE Health Agent to work, you will need to make sure that your Destination cluster can access the Image Registry. |
| 32 | + |
| 33 | +::: |
| 34 | + |
| 35 | +You will also need to create a ConfigMap and Secret with the credentials to access the state store. The format will depend on the type os state store you wish to use. The agent currently support two different types of state stores: S3-compatible buckets and Git repositories. |
| 36 | + |
| 37 | +To configure a Git repository, create a ConfigMap and Secret with the following content: |
| 38 | + |
| 39 | +```yaml |
| 40 | +apiVersion: v1 |
| 41 | +kind: ConfigMap |
| 42 | +metadata: |
| 43 | + name: health-state-store-config |
| 44 | + namespace: k8s-health-agent-system |
| 45 | +data: |
| 46 | + stateStoreKind: "GitStateStore" |
| 47 | + url: # address |
| 48 | + secretName: <secret name> |
| 49 | + branch: # optional (default: main) |
| 50 | +--- |
| 51 | +apiVersion: v1 |
| 52 | +kind: Secret |
| 53 | +metadata: |
| 54 | + name: <secret name> |
| 55 | + namespace: k8s-health-agent-system |
| 56 | +type: kubernetes.io/basic-auth |
| 57 | +stringData: |
| 58 | + # for basicAuth |
| 59 | + username: # username |
| 60 | + password: # password / API Token |
| 61 | +``` |
| 62 | +
|
| 63 | +:::info |
| 64 | +
|
| 65 | +`ssh` method for authentication is not currently supported. |
| 66 | + |
| 67 | +::: |
| 68 | + |
| 69 | +To configure a S3-compatible bucket, create a ConfigMap and Secret with the following content: |
| 70 | + |
| 71 | +```yaml |
| 72 | +apiVersion: v1 |
| 73 | +kind: ConfigMap |
| 74 | +metadata: |
| 75 | + name: health-state-store-config |
| 76 | + namespace: k8s-health-agent-system |
| 77 | +data: |
| 78 | + stateStoreKind: "BucketStateStore" |
| 79 | + endpoint: # address |
| 80 | + bucketName: # bucket name |
| 81 | + authMethod: # accessKey or IAM (default: accessKey) |
| 82 | + secretName: <secret name> # required for accessKey |
| 83 | + path: # path within the bucket; optional |
| 84 | + insecure: # true or false (default: false); optional |
| 85 | +--- |
| 86 | +apiVersion: v1 |
| 87 | +kind: Secret |
| 88 | +metadata: |
| 89 | + name: <secret name> |
| 90 | + namespace: k8s-health-agent-system |
| 91 | +type: kubernetes.io/basic-auth |
| 92 | +stringData: |
| 93 | + accessKeyID: # accessKey ID |
| 94 | + secretAccessKey: # secret access key |
| 95 | +``` |
| 96 | + |
| 97 | +:::warning |
| 98 | + |
| 99 | +The configuration should be created _after_ installing agent, otherwise the namespace will not exist. |
| 100 | + |
| 101 | +::: |
0 commit comments