Helm/External Secrets Operator
helm repo add external-secrets https://charts.external-secrets.io
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 external-secrets/external-secrets --version=1.2.0|less
helm show values external-secrets/external-secrets --version=1.2.1|less
| |
export KUBECONFIG="${HOME}/.kube/shahed-ab-kubeconfig.yaml"
kubectl create ns external-secrets-operator-system || true
|
kubectl get ns|grep external-secrets-operator-system
kubectl delete ns external-secrets-operator-system || true
|
| Install | Notes |
cat <<'YML' | \
helm -n=external-secrets-operator-system upgrade \
-i eso external-secrets/external-secrets --version=1.2.1 -f -
---
installCRDs: true
nameOverride: eso
fullnameOverride: eso
replicaCount: 1
revisionHistoryLimit: 5
image:
repository: ghcr.io/external-secrets/external-secrets
tag: v1.2.1
webhook:
replicaCount: 1
revisionHistoryLimit: 5
image:
repository: ghcr.io/external-secrets/external-secrets
tag: v1.2.1
YML
|
|
| Verify | |
helm -n=external-secrets-operator-system status eso
helm -n=external-secrets-operator-system get manifest eso
|
|
Helm » Config
|
Helm » Config | |
|---|---|
| Scale » Down | Scale » Up |
kubectl -n=external-secrets-operator-system \
scale deploy/eso --replicas=0
|
kubectl -n=external-secrets-operator-system \
scale deploy/eso --replicas=1
|
kubectl -n=external-secrets-operator-system \
scale deploy/eso-webhook --replicas=0
|
kubectl -n=external-secrets-operator-system \
scale deploy/eso-webhook --replicas=1
|
kubectl -n=external-secrets-operator-system \
scale deploy/eso-cert-controller --replicas=0
|
kubectl -n=external-secrets-operator-system \
scale deploy/eso-cert-controller --replicas=1
|
Helm » Debug
|
Helm » Debug |
|---|
kubectl -n=external-secrets-operator-system logs -f -l app.kubernetes.io/name=eso-cert-controller
kubectl -n=external-secrets-operator-system logs -f -l app.kubernetes.io/name=eso-webhook
kubectl -n=external-secrets-operator-system logs -f -l app.kubernetes.io/name=eso
kubectl -n=external-secrets-operator-system logs -f svc/eso-webhook -c webhook
kubectl -n=external-secrets-operator-system logs -f svc/eso-webhook
|
Helm » Uninstall
|
Helm » Uninstall | |
|---|---|
helm -n=external-secrets-operator-system status vso
helm -n=external-secrets-operator-system get all vso
helm -n=external-secrets-operator-system uninstall vso
|
kubectl -n=external-secrets-operator-system delete pvc --all
kubectl delete ns external-secrets-operator-system
kubectl delete pv vso-data-vso-0
|
Vault » Config
|
Vault » 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-ext
|
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
| ||||||||||
|
|||||||||||
| Vault » Policy | Vault » Role | ||||||||||
cat <<'INI' | vault policy write policy-shahed-ab-eso -
# Mount : shahed/academia/dev
# Secret: audit
path "shahed/academia/dev/data/audit" {
capabilities = ["read"]
}
INI
vault policy read policy-shahed-ab-eso
|
vault kv get -mount=shahed/academia/dev audit
kubectl get sa -n external-secrets-operator-system
kubectl get --raw /.well-known/openid-configuration|yq -P .issuer
vault write auth/kubernetes/role/role-shahed-ab-eso bound_service_account_names=default \
bound_service_account_namespaces=shahed-academia policies=policy-shahed-ab-eso \
audience='https://kubernetes.default.svc.cluster.local' ttl=24h
vault read auth/kubernetes/role/role-shahed-ab-eso
| ||||||||||
| |||||||||||
| |||||||||||
Playground
|
Playground | |
|---|---|
helm -n=external-secrets-operator-system install eso external-secrets/external-secrets --version=1.2.0
helm -n=external-secrets-operator-system upgrade -i eso external-secrets/external-secrets --version=1.2.1
helm show values external-secrets/external-secrets --version=1.2.1|less
| |
kubectl -n=external-secrets-operator-system logs -f -l app.kubernetes.io/name=eso -c external-secrets
kubectl -n=external-secrets-operator-system logs -f -l app.kubernetes.io/name=eso-cert-controller -c cert-controller
kubectl -n=external-secrets-operator-system logs -f -l app.kubernetes.io/name=eso-webhook -c webhook
kubectl -n=external-secrets-operator-system logs -f -l app.kubernetes.io/name=eso-cert-controller
kubectl -n=external-secrets-operator-system logs -f -l app.kubernetes.io/name=eso-webhook
kubectl -n=external-secrets-operator-system logs -f -l app.kubernetes.io/name=eso
kubectl -n=external-secrets-operator-system logs -f svc/eso-webhook -c webhook
kubectl -n=external-secrets-operator-system logs -f svc/eso-webhook
kubectl -n=external-secrets-operator-system get pods --show-labels
| |
kubectl -n=external-secrets-operator-system delete all --all
kubectl -n=external-secrets-operator-system delete ing --all
kubectl -n=external-secrets-operator-system delete sts --all
|
kubectl delete pv vso-data-vso-0
kubectl -n=external-secrets-operator-system delete svc --all
kubectl -n=external-secrets-operator-system delete pvc --all
|
kubectl -n=external-secrets-operator-system rollout history deploy/eso
kubectl -n=external-secrets-operator-system rollout restart deploy/eso
kubectl -n=external-secrets-operator-system rollout status deploy/eso
| |
kubectl -n=external-secrets-operator-system exec -it svc/eso-webhook -c webhook -- ash
kubectl -n=external-secrets-operator-system logs -f svc/eso-webhook -c webhook
kubectl -n=external-secrets-operator-system logs -f svc/eso-webhook
| |
References
|
References | ||
|---|---|---|