Helm/Reloader: Difference between revisions
Jump to navigation
Jump to search
Created page with "{|class='wikitable' |valign='top' style='width:50%'| <syntaxhighlight lang='bash'> helm repo add stakater https://stakater.github.io/stakater-charts helm repo update && helm repo list kubectl config get-contexts </syntaxhighlight> |valign='top' style='width:50%'| |} ==Helm » Context== {|class='wikitable mw-collapsible' !scope='col' style='text-align:left' colspan='2'| Helm » Context |- |valign='top' style='width:50%'| <syntaxhighlight lang='bash'> export KUBECONFIG="$..." |
No edit summary |
||
| (11 intermediate revisions by the same user not shown) | |||
| Line 6: | Line 6: | ||
kubectl config get-contexts | kubectl config get-contexts | ||
</syntaxhighlight> | </syntaxhighlight> | ||
|valign='top' style='width:50%'| | |valign='top' style='width:50%'| | ||
|- | |||
|valign='top' colspan='2'| | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left'| | |||
Diagram | |||
|- | |||
|valign='top'| | |||
<kroki lang='plantuml'> | |||
@startuml | |||
!theme plain | |||
left to right direction | |||
' Styling for Transparency and Layout | |||
skinparam backgroundColor transparent | |||
skinparam DefaultFontName Helvetica | |||
skinparam componentStyle rectangle | |||
skinparam shadowing false | |||
package "Input Sources" { | |||
[ExternalSecret] --> [Secret] : Creates | |||
[SealedSecret] --> [Secret] : Creates | |||
[Certificate] --> [Secret] : Creates | |||
} | |||
[Secret] --> [Reloader] : Watched by | |||
[ConfigMap] --> [Reloader] : Watched by | |||
package "Workloads" { | |||
[Reloader] --> [Deployment] : Triggers Rollout | |||
[Reloader] --> [DeploymentConfig] : Triggers Rollout | |||
[Reloader] --> [Daemonset] : Triggers Rollout | |||
[Reloader] --> [Statefulset] : Triggers Rollout | |||
[Reloader] --> [ArgoRollout] : Triggers Rollout | |||
[Reloader] --> [CronJob] : Triggers Job | |||
} | |||
[Reloader] --> [Notifications] : Sends Notification | |||
@enduml | |||
</kroki> | |||
|} | |||
|} | |} | ||
| Line 23: | Line 64: | ||
|valign='top' style='width:50%'| | |valign='top' style='width:50%'| | ||
|} | |||
==Helm » Install== | |||
{|class='wikitable mw-collapsible' | |||
!scope='col' style='text-align:left' colspan='2'| | |||
Helm » Install | |||
|- | |||
|valign='top' colspan='2'| | |||
<syntaxhighlight lang='bash'> | |||
helm show values stakater/reloader --version=2.2.6|less | |||
helm show values stakater/reloader --version=2.2.7|less | |||
</syntaxhighlight> | |||
|- | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
export KUBECONFIG="${HOME}/.kube/shahed-ab-kubeconfig.yaml" | |||
kubectl create ns reloader-system || true | |||
</syntaxhighlight> | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl get ns|grep reloader-system | |||
kubectl delete ns reloader-system || true | |||
</syntaxhighlight> | |||
|- | |||
!scope='col'| Install | |||
!scope='col'| Notes | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='yaml'> | |||
cat <<'YML' | \ | |||
helm -n=reloader-system upgrade \ | |||
-i reloader stakater/reloader --version=2.2.7 -f - | |||
--- | |||
nameOverride: reloader | |||
fullnameOverride: reloader | |||
image: | |||
name: stakater/reloader | |||
repository: ghcr.io/stakater/reloader | |||
tag: v1.4.12 | |||
reloader: | |||
watchGlobally: true | |||
deployment: | |||
replicas: 1 | |||
revisionHistoryLimit: 5 | |||
resources: | |||
limits: | |||
cpu: 100m | |||
memory: 512Mi | |||
requests: | |||
cpu: 10m | |||
memory: 128Mi | |||
YML | |||
</syntaxhighlight> | |||
|valign='top'| | |||
|- | |||
!scope='col'| Verify | |||
!scope='col'| | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
helm -n=reloader-system status reloader | |||
helm -n=reloader-system get manifest reloader | |||
</syntaxhighlight> | |||
|valign='top'| | |||
|} | |||
==Helm » Config== | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left' colspan='2'| | |||
Helm » Config | |||
|- | |||
!scope='col' style='width:50%'| Scale » Down | |||
!scope='col' style='width:50%'| Scale » Up | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=reloader-system \ | |||
scale deploy/reloader --replicas=0 | |||
</syntaxhighlight> | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=reloader-system \ | |||
scale deploy/reloader --replicas=1 | |||
</syntaxhighlight> | |||
|} | |||
==Helm » Debug== | |||
{|class='wikitable mw-collapsible' | |||
!scope='col' style='text-align:left'| | |||
Helm » Debug | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
POD_NAME="$(kubectl -n=reloader-system get pods -o=yaml -l app.kubernetes.io/name=reloader |yq -P '.items[].metadata.name')" | |||
kubectl -n=reloader-system exec -it "${POD_NAME}" -c reloader -- sh | |||
kubectl -n=reloader-system logs -f "${POD_NAME}" -c reloader | |||
kubectl -n=reloader-system logs -f "${POD_NAME}" | |||
</syntaxhighlight> | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=reloader-system get pods -o=yaml|yq -P '.items[].spec.containers[].name' | |||
kubectl -n=reloader-system get pods -o=yaml|yq -P '.items[].metadata.labels' | |||
</syntaxhighlight> | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=reloader-system exec -it -l app.kubernetes.io/name=reloader -c reloader -- sh | |||
kubectl -n=reloader-system logs -f -l app.kubernetes.io/name=reloader -c reloader | |||
kubectl -n=reloader-system logs -f -l app.kubernetes.io/name=reloader | |||
</syntaxhighlight> | |||
|} | |||
==Helm » Uninstall== | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left' colspan='2'| | |||
Helm » Uninstall | |||
|- | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
helm -n=reloader-system status reloader | |||
helm -n=reloader-system get all reloader | |||
helm -n=reloader-system uninstall reloader | |||
</syntaxhighlight> | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=reloader-system delete pvc --all | |||
kubectl delete ns reloader-system | |||
kubectl delete pv reloader-data-reloader-0 | |||
</syntaxhighlight> | |||
|} | |||
==Reloader » Config== | |||
{|class='wikitable mw-collapsible' | |||
!scope='col' style='text-align:left' colspan='2'| | |||
Reloader » Config | |||
|- | |||
!scope='col' style='width:50%'| Context | |||
!scope='col' style='width:50%'| Namespace | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
export KUBECONFIG="${HOME}/.kube/shahed-ab-kubeconfig.yaml" | |||
kubectl get service kubernetes -n default | |||
kubectl config get-contexts | |||
kubectl cluster-info | |||
kubectl get --raw /.well-known/openid-configuration|yq -P | |||
kubectl config view -o=yaml|yq '.contexts[0].name' | |||
kubectl get ns shahed-academia | |||
kubectl -n=shahed-academia get SecretStore store-shahed-ab | |||
kubectl -n=shahed-academia get ExternalSecret academia-audit-eso | |||
</syntaxhighlight> | |||
|valign='top'| | |||
<syntaxhighlight lang='yaml'> | |||
cat <<'YML' | \ | |||
kubectl apply -f - | |||
--- | |||
apiVersion: v1 | |||
kind: Namespace | |||
metadata: | |||
name: shahed-academia | |||
labels: | |||
app.kubernetes.io/version: 1.0.0 | |||
app.kubernetes.io/managed-by: kubectl | |||
YML | |||
kubectl get namespace shahed-academia -o=yaml | |||
</syntaxhighlight> | |||
|- | |||
|valign='top'| | |||
{|class='wikitable' | |||
|valign='top'| | |||
* [[Vault#Auth|Skipped » Find More 👉 Vault » Auth]] | |||
---- | |||
* [[Vault#Engine » KV|Skipped » Find More 👉 Vault » Engine » KV]] | |||
|} | |||
|valign='top'| | |||
{|class='wikitable' | |||
|valign='top'| | |||
* [[Helm/Vault Secrets Operator#Vault » Config|Skipped » Find More 👉 Vault » K8s » Config » VSO]] | |||
---- | |||
* [[Helm/External Secrets Operator#Vault » Config|Skipped » Find More 👉 Vault » K8s » Config » ESO]] | |||
|} | |||
|- | |||
|valign='top'| | |||
{|class='wikitable' | |||
!scope='col'| Scope | |||
!scope='col'| Annotation Key | |||
!scope='col'| Value | |||
|- | |||
| '''Global/Auto''' || <code>reloader.stakater.com/auto</code> || <code>true</code> | |||
|- | |||
| '''Specific Secret''' || <code>secret.reloader.stakater.com/reload</code> || <code>name-of-secret</code> | |||
|- | |||
| '''Specific ConfigMap''' || <code>configmap.reloader.stakater.com/reload</code> || <code>name-of-cm</code> | |||
|} | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=shahed-academia annotate deployment <deployment-name> \ | |||
secret.reloader.stakater.com/reload='academia-audit' | |||
kubectl -n=shahed-academia get deploy <deployment-name> -o=yaml \ | |||
| yq -P '.metadata.annotations' | |||
</syntaxhighlight> | |||
|- | |||
!scope='col'| VaultStaticSecret | |||
!scope='col'| ExternalSecret | |||
|- | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=shahed-academia annotate deployment <deployment-name> \ | |||
secret.reloader.stakater.com/reload='academia-audit-vso' | |||
kubectl -n=shahed-academia get deploy <deployment-name> -o=yaml \ | |||
| yq -P '.metadata.annotations' | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=shahed-academia label VaultStaticSecret academia-audit-vso \ | |||
last-sync=$(date +%s) --overwrite | |||
</syntaxhighlight> | |||
|valign='top'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=shahed-academia annotate deployment <deployment-name> \ | |||
secret.reloader.stakater.com/reload='academia-audit-eso' | |||
kubectl -n=shahed-academia get deploy <deployment-name> -o=yaml \ | |||
| yq -P '.metadata.annotations' | |||
</syntaxhighlight> | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=shahed-academia annotate ExternalSecret academia-audit-eso \ | |||
force-sync=$(date +%s) --overwrite | |||
</syntaxhighlight> | |||
|} | |||
==Playground== | |||
{|class='wikitable mw-collapsible mw-collapsed' | |||
!scope='col' style='text-align:left' colspan='2'| | |||
Playground | |||
|- | |||
|valign='top' colspan='2'| | |||
<syntaxhighlight lang='bash'> | |||
helm -n=reloader-system install reloader stakater/reloader --version=2.2.6 | |||
helm -n=reloader-system upgrade -i reloader stakater/reloader --version=2.2.7 | |||
helm show values stakater/reloader --version=2.2.7|less | |||
</syntaxhighlight> | |||
|- | |||
|valign='top' colspan='2'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=reloader-system exec -it -l app.kubernetes.io/name=reloader -c reloader -- sh | |||
kubectl -n=reloader-system logs -f -l app.kubernetes.io/name=reloader -c reloader | |||
kubectl -n=reloader-system logs -f -l app.kubernetes.io/name=reloader | |||
kubectl -n=reloader-system get pods -o=yaml|yq -P '.items[].spec.containers[].name' | |||
kubectl -n=reloader-system get pods -o=yaml|yq -P '.items[].metadata.labels' | |||
kubectl -n=reloader-system get pods --show-labels | |||
</syntaxhighlight> | |||
|- | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=reloader-system delete all --all | |||
kubectl -n=reloader-system delete ing --all | |||
kubectl -n=reloader-system delete sts --all | |||
</syntaxhighlight> | |||
|valign='top' style='width:50%'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl delete pv reloader-data-reloader-0 | |||
kubectl -n=reloader-system delete svc --all | |||
kubectl -n=reloader-system delete pvc --all | |||
</syntaxhighlight> | |||
|- | |||
|valign='top' colspan='2'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=reloader-system rollout history deploy/reloader | |||
kubectl -n=reloader-system rollout restart deploy/reloader | |||
kubectl -n=reloader-system rollout status deploy/reloader | |||
</syntaxhighlight> | |||
|- | |||
|valign='top' colspan='2'| | |||
<syntaxhighlight lang='bash'> | |||
kubectl -n=reloader-system exec -it -l app.kubernetes.io/name=reloader -c reloader -- sh | |||
kubectl -n=reloader-system logs -f -l app.kubernetes.io/name=reloader -c reloader | |||
kubectl -n=reloader-system logs -f -l app.kubernetes.io/name=reloader | |||
</syntaxhighlight> | |||
|} | |} | ||
==References== | ==References== | ||
{|class='wikitable mw-collapsible' | {|class='wikitable mw-collapsible mw-collapsed' | ||
!scope='col' style='text-align:left' colspan='3'| | !scope='col' style='text-align:left' colspan='3'| | ||
References | References | ||
| Line 33: | Line 372: | ||
* [[Helm/External Secrets Operator|Helm » External Secrets Operator]] | * [[Helm/External Secrets Operator|Helm » External Secrets Operator]] | ||
* [[Helm/Vault Secrets Operator|Helm » Vault Secrets Operator]] | * [[Helm/Vault Secrets Operator|Helm » Vault Secrets Operator]] | ||
* [https://github.com/stakater/Reloader Helm » Reloader » GitHub] | |||
* [[Helm/Prometheus Stack|Helm » Prometheus Stack]] | * [[Helm/Prometheus Stack|Helm » Prometheus Stack]] | ||
* [[Helm/Cert Manager|Helm » Cert Manager]] | * [[Helm/Cert Manager|Helm » Cert Manager]] | ||
Latest revision as of 14:30, 25 January 2026
helm repo add stakater https://stakater.github.io/stakater-charts
helm repo update && helm repo list
kubectl config get-contexts
|
|||
| |||
Helm » Context
|
Helm » Context | |
|---|---|
export KUBECONFIG="${HOME}/.kube/aws-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/gcp-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/lke-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/config"
|
|
Helm » Install
|
Helm » Install | |
|---|---|
helm show values stakater/reloader --version=2.2.6|less
helm show values stakater/reloader --version=2.2.7|less
| |
export KUBECONFIG="${HOME}/.kube/shahed-ab-kubeconfig.yaml"
kubectl create ns reloader-system || true
|
kubectl get ns|grep reloader-system
kubectl delete ns reloader-system || true
|
| Install | Notes |
cat <<'YML' | \
helm -n=reloader-system upgrade \
-i reloader stakater/reloader --version=2.2.7 -f -
---
nameOverride: reloader
fullnameOverride: reloader
image:
name: stakater/reloader
repository: ghcr.io/stakater/reloader
tag: v1.4.12
reloader:
watchGlobally: true
deployment:
replicas: 1
revisionHistoryLimit: 5
resources:
limits:
cpu: 100m
memory: 512Mi
requests:
cpu: 10m
memory: 128Mi
YML
|
|
| Verify | |
helm -n=reloader-system status reloader
helm -n=reloader-system get manifest reloader
|
|
Helm » Config
|
Helm » Config | |
|---|---|
| Scale » Down | Scale » Up |
kubectl -n=reloader-system \
scale deploy/reloader --replicas=0
|
kubectl -n=reloader-system \
scale deploy/reloader --replicas=1
|
Helm » Debug
|
Helm » Debug |
|---|
POD_NAME="$(kubectl -n=reloader-system get pods -o=yaml -l app.kubernetes.io/name=reloader |yq -P '.items[].metadata.name')"
kubectl -n=reloader-system exec -it "${POD_NAME}" -c reloader -- sh
kubectl -n=reloader-system logs -f "${POD_NAME}" -c reloader
kubectl -n=reloader-system logs -f "${POD_NAME}"
|
kubectl -n=reloader-system get pods -o=yaml|yq -P '.items[].spec.containers[].name'
kubectl -n=reloader-system get pods -o=yaml|yq -P '.items[].metadata.labels'
|
kubectl -n=reloader-system exec -it -l app.kubernetes.io/name=reloader -c reloader -- sh
kubectl -n=reloader-system logs -f -l app.kubernetes.io/name=reloader -c reloader
kubectl -n=reloader-system logs -f -l app.kubernetes.io/name=reloader
|
Helm » Uninstall
|
Helm » Uninstall | |
|---|---|
helm -n=reloader-system status reloader
helm -n=reloader-system get all reloader
helm -n=reloader-system uninstall reloader
|
kubectl -n=reloader-system delete pvc --all
kubectl delete ns reloader-system
kubectl delete pv reloader-data-reloader-0
|
Reloader » Config
|
Reloader » Config | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Context | Namespace | ||||||||||||
export KUBECONFIG="${HOME}/.kube/shahed-ab-kubeconfig.yaml"
kubectl get service kubernetes -n default
kubectl config get-contexts
kubectl cluster-info
kubectl get --raw /.well-known/openid-configuration|yq -P
kubectl config view -o=yaml|yq '.contexts[0].name'
kubectl get ns shahed-academia
kubectl -n=shahed-academia get SecretStore store-shahed-ab
kubectl -n=shahed-academia get ExternalSecret academia-audit-eso
|
cat <<'YML' | \
kubectl apply -f -
---
apiVersion: v1
kind: Namespace
metadata:
name: shahed-academia
labels:
app.kubernetes.io/version: 1.0.0
app.kubernetes.io/managed-by: kubectl
YML
kubectl get namespace shahed-academia -o=yaml
| ||||||||||||
|
| ||||||||||||
|
kubectl -n=shahed-academia annotate deployment <deployment-name> \
secret.reloader.stakater.com/reload='academia-audit'
kubectl -n=shahed-academia get deploy <deployment-name> -o=yaml \
| yq -P '.metadata.annotations'
| ||||||||||||
| VaultStaticSecret | ExternalSecret | ||||||||||||
kubectl -n=shahed-academia annotate deployment <deployment-name> \
secret.reloader.stakater.com/reload='academia-audit-vso'
kubectl -n=shahed-academia get deploy <deployment-name> -o=yaml \
| yq -P '.metadata.annotations'
kubectl -n=shahed-academia label VaultStaticSecret academia-audit-vso \
last-sync=$(date +%s) --overwrite
|
kubectl -n=shahed-academia annotate deployment <deployment-name> \
secret.reloader.stakater.com/reload='academia-audit-eso'
kubectl -n=shahed-academia get deploy <deployment-name> -o=yaml \
| yq -P '.metadata.annotations'
kubectl -n=shahed-academia annotate ExternalSecret academia-audit-eso \
force-sync=$(date +%s) --overwrite
| ||||||||||||
Playground
|
Playground | |
|---|---|
helm -n=reloader-system install reloader stakater/reloader --version=2.2.6
helm -n=reloader-system upgrade -i reloader stakater/reloader --version=2.2.7
helm show values stakater/reloader --version=2.2.7|less
| |
kubectl -n=reloader-system exec -it -l app.kubernetes.io/name=reloader -c reloader -- sh
kubectl -n=reloader-system logs -f -l app.kubernetes.io/name=reloader -c reloader
kubectl -n=reloader-system logs -f -l app.kubernetes.io/name=reloader
kubectl -n=reloader-system get pods -o=yaml|yq -P '.items[].spec.containers[].name'
kubectl -n=reloader-system get pods -o=yaml|yq -P '.items[].metadata.labels'
kubectl -n=reloader-system get pods --show-labels
| |
kubectl -n=reloader-system delete all --all
kubectl -n=reloader-system delete ing --all
kubectl -n=reloader-system delete sts --all
|
kubectl delete pv reloader-data-reloader-0
kubectl -n=reloader-system delete svc --all
kubectl -n=reloader-system delete pvc --all
|
kubectl -n=reloader-system rollout history deploy/reloader
kubectl -n=reloader-system rollout restart deploy/reloader
kubectl -n=reloader-system rollout status deploy/reloader
| |
kubectl -n=reloader-system exec -it -l app.kubernetes.io/name=reloader -c reloader -- sh
kubectl -n=reloader-system logs -f -l app.kubernetes.io/name=reloader -c reloader
kubectl -n=reloader-system logs -f -l app.kubernetes.io/name=reloader
| |
References
|
References | ||
|---|---|---|