Back to Charts

RELOADER

stable/reloader/README.md

latest8.2 KB
Original Source

RELOADER

This chart has been DEPRECATED. Please use the Chart found here instead.

A Kubernetes controller to watch changes in ConfigMap and Secrets and then restart pods for Deployment, StatefulSet and DaemonSet

Problem

We would like to watch if some change happens in ConfigMap and/or Secret; then perform a rolling upgrade on relevant Deployment, Deamonset and Statefulset

Solution

Reloader can watch changes in ConfigMap and Secret and do rolling upgrades on Pods with their associated Deployments, Deamonsets and Statefulsets.

How to use Reloader

Configmap

For a Deployment called foo have a ConfigMap called foo-configmap. Then add this annotation to main metadata of your Deployment

yaml
kind: Deployment
metadata:
  annotations:
    configmap.reloader.stakater.com/reload: "foo-configmap"
spec:
  template:
    metadata:

Use comma separated list to define multiple configmaps.

yaml
kind: Deployment
metadata:
  annotations:
    configmap.reloader.stakater.com/reload: "foo-configmap,bar-configmap,baz-configmap"
spec:
  template:
    metadata:

Secret

For a Deployment called foo have a Secret called foo-secret. Then add this annotation to main metadata of your Deployment

yaml
kind: Deployment
metadata:
  annotations:
    secret.reloader.stakater.com/reload: "foo-secret"
spec:
  template:
    metadata:

Use comma separated list to define multiple secrets.

yaml
kind: Deployment
metadata:
  annotations:
    secret.reloader.stakater.com/reload: "foo-secret,bar-secret,baz-secret"
spec:
  template:
    metadata:

Usage

The following quickstart let's you set up Reloader quickly:

Update the values.yaml and set the following properties

KeyDescriptionDefault Value
global.imagePullSecretsReference to one or more secrets to be used when pulling images[]
reloader.watchGloballyOption to watch configmap and secrets in all namespacestrue
reloader.matchLabelsAdditional match Labels for selector{}
reloader.deployment.annotationsAnnotations for deployment{}
reloader.deployment.labelsLabels for deploymentprovider
reloader.deployment.image.nameImage name for reloaderstakater/reloader
reloader.deployment.image.tagImage tag for reloaderv0.0.29
reloader.deployment.image.pullPolicyImage pull policy for reloaderIfNotPresent
reloader.deployment.env.openAdditional key value pair as environment variables``
reloader.deployment.env.secretAdditional Key value pair as environment variables. It gets the values based on keys from default reloader secret if any``
reloader.deployment.env.fieldAdditional environment variables to expose pod information to containers.``
reloader.deployment.affinityOptional node affinity for pod assignment{}
reloader.deployment.nodeSelectorOptional node labels for pod assignment{}
reloader.deployment.securityContextDefines deployment security context{}
reloader.deployment.tolerationsOptional tolerations for pod assignment{}
reloader.isOpenshiftOptional flag if we are using Openshift for additional permissionsfalse
reloader.ignoreSecretsIgnores secrets trackingfalse
reloader.ignoreConfigMapsIgnores configmap trackingfalse
reloader.rbac.enabledOption to create rbactrue
reloader.rbac.labelsAdditional labels for rbac{}
reloader.serviceAccount.createOption to create serviceAccounttrue
reloader.serviceAccount.nameName of serviceAccountreloader
reloader.custom_annotationsOptional flags to pass to the Reloader entrypoint{}

Deploying to Kubernetes

You can deploy Reloader by following methods:

Helm Charts

if you have configured helm on your cluster, you can add reloader to helm from public chart repository and deploy it via helm using below mentioned commands

bash
helm repo add stable https://kubernetes-charts.storage.googleapis.com/

helm repo update

helm install stable/reloader

Note: By default reloader watches in all namespaces. To watch in single namespace, please run following command. It will install reloader in test namespace which will only watch Deployments, Deamonsets and Statefulsets in test namespace.

bash
helm install stable/reloader --set reloader.watchGlobally=false --namespace test

Help

Documentation

You can find more documentation here

Have a question?

File a GitHub issue, or send us an email.

Talk to us on Slack

Join and talk to us on Slack for discussing Reloader

Contributing

Bug Reports & Feature Requests

Please use the issue tracker to report any bugs or file feature requests.

Developing

PRs are welcome. In general, we follow the "fork-and-pull" Git workflow.

  1. Fork the repo on GitHub
  2. Clone the project to your own machine
  3. Commit changes to your own branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we can review your changes

NOTE: Be sure to merge the latest from "upstream" before making a pull request!

Changelog

View our closed Pull Requests.

License

Apache2 © Stakater

About

Reloader is maintained by Stakater. Like it? Please let us know at [email protected]

See our other projects or contact us in case of professional services and queries on [email protected]