Reloader可以观察ConfigMap和Secret的变化,并对Pod及其相关的DeploymentConfigs、Deployments、Daemonsets Statefulsets和Rollout进行滚动升级。
部署到kubernetes
- 直接部署
kubectl apply -f https://raw.githubusercontent.com/stakater/Reloader/master/deployments/kubernetes/reloader.yaml
- Kustomize部署
编辑kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
bases:
- https://github.com/stakater/Reloader/deployments/kubernetes
namespace: reloader
- Helm部署
helm repo add stakater https://stakater.github.io/stakater-charts
helm repo update
helm install stakater/reloader
或者下载helm 根据需要修改values.yaml
helm pull https://stakater.github.io/stakater-charts stakater/reloader
tar xvf reloader-v1.0.24.tar
helm install -name reloader -n default ./reloader
详细参数可查看:Reloader, 默认:Reloader watches in all namespaces
配置annotations
- 自动检测所有命名空间下的变化,实现滚动升级
可以在DeploymentConfigs,Deployments,Daemonsets,Statefulsets 和 Rollouts 中的 annotations添加如下内容:
kind: Deployment
metadata:
annotations:
reloader.stakater.com/auto: "true"
spec:
template:
metadata:
- 限制只检查带有特殊annotations的变化,实现滚动升级
先在DeploymentConfigs,Deployments,Daemonsets,Statefulsets 和 Rollouts 中的 annotations添加如下内容:
kind: Deployment
metadata:
annotations:
reloader.stakater.com/search: "true"
spec:
template:
metadata:
其次在 ConfigMap 或者 Secret 中的 annotations 中添加如下内容:
kind: ConfigMap
metadata:
annotations:
reloader.stakater.com/match: "true"
data:
key: value
- 检测指定的 ConfigMap 或者 Secret 的变化,实现滚动升级
在DeploymentConfigs,Deployments,Daemonsets,Statefulsets 和 Rollouts 中的 annotations添加如下内容:
kind: Deployment
metadata:
annotations:
configmap.reloader.stakater.com/reload: "foo-configmap,bar-configmap,baz-configmap"
secret.reloader.stakater.com/reload: "foo-secret,bar-secret,baz-secret"
spec:
template:
metadata: