NAME: super LAST DEPLOYED: Thu Apr 7 17:49:18 2022 NAMESPACE: default STATUS: pending-install REVISION: 1 TEST SUITE: None HOOKS: MANIFEST: --- # Source: redis/templates/serviceaccount.yaml apiVersion: v1 kind: ServiceAccount automountServiceAccountToken: true metadata: name: my-redis namespace: "default" labels: app.kubernetes.io/name: redis helm.sh/chart: redis-16.8.4 app.kubernetes.io/instance: super app.kubernetes.io/managed-by: Helm --- # Source: redis/templates/secret.yaml apiVersion: v1 kind: Secret metadata: name: my-redis namespace: "default" labels: app.kubernetes.io/name: redis helm.sh/chart: redis-16.8.4 app.kubernetes.io/instance: super app.kubernetes.io/managed-by: Helm type: Opaque data: redis-password: "djJyeVN0ckBuZ1BhLnNz" --- # Source: redis/templates/configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: my-redis-configuration namespace: "default" labels: app.kubernetes.io/name: redis helm.sh/chart: redis-16.8.4 app.kubernetes.io/instance: super app.kubernetes.io/managed-by: Helm data: redis.conf: |- # User-supplied common configuration: # Enable AOF https://redis.io/topics/persistence#append-only-file appendonly yes # Disable RDB persistence, AOF persistence already enabled. save "" # End of common configuration master.conf: |- dir /data # User-supplied master configuration: rename-command FLUSHDB "" rename-command FLUSHALL "" # End of master configuration replica.conf: |- dir /data slave-read-only yes # User-supplied replica configuration: rename-command FLUSHDB "" rename-command FLUSHALL "" # End of replica configuration --- # Source: redis/templates/health-configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: my-redis-health namespace: "default" labels: app.kubernetes.io/name: redis helm.sh/chart: redis-16.8.4 app.kubernetes.io/instance: super app.kubernetes.io/managed-by: Helm data: ping_readiness_local.sh: |- #!/bin/bash [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")" [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD" response=$( timeout -s 3 $1 \ redis-cli \ -h localhost \ -p $REDIS_PORT \ ping ) if [ "$?" -eq "124" ]; then echo "Timed out" exit 1 fi if [ "$response" != "PONG" ]; then echo "$response" exit 1 fi ping_liveness_local.sh: |- #!/bin/bash [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")" [[ -n "$REDIS_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_PASSWORD" response=$( timeout -s 3 $1 \ redis-cli \ -h localhost \ -p $REDIS_PORT \ ping ) if [ "$?" -eq "124" ]; then echo "Timed out" exit 1 fi responseFirstWord=$(echo $response | head -n1 | awk '{print $1;}') if [ "$response" != "PONG" ] && [ "$responseFirstWord" != "LOADING" ] && [ "$responseFirstWord" != "MASTERDOWN" ]; then echo "$response" exit 1 fi ping_readiness_master.sh: |- #!/bin/bash [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")" [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD" response=$( timeout -s 3 $1 \ redis-cli \ -h $REDIS_MASTER_HOST \ -p $REDIS_MASTER_PORT_NUMBER \ ping ) if [ "$?" -eq "124" ]; then echo "Timed out" exit 1 fi if [ "$response" != "PONG" ]; then echo "$response" exit 1 fi ping_liveness_master.sh: |- #!/bin/bash [[ -f $REDIS_MASTER_PASSWORD_FILE ]] && export REDIS_MASTER_PASSWORD="$(< "${REDIS_MASTER_PASSWORD_FILE}")" [[ -n "$REDIS_MASTER_PASSWORD" ]] && export REDISCLI_AUTH="$REDIS_MASTER_PASSWORD" response=$( timeout -s 3 $1 \ redis-cli \ -h $REDIS_MASTER_HOST \ -p $REDIS_MASTER_PORT_NUMBER \ ping ) if [ "$?" -eq "124" ]; then echo "Timed out" exit 1 fi responseFirstWord=$(echo $response | head -n1 | awk '{print $1;}') if [ "$response" != "PONG" ] && [ "$responseFirstWord" != "LOADING" ]; then echo "$response" exit 1 fi ping_readiness_local_and_master.sh: |- script_dir="$(dirname "$0")" exit_status=0 "$script_dir/ping_readiness_local.sh" $1 || exit_status=$? "$script_dir/ping_readiness_master.sh" $1 || exit_status=$? exit $exit_status ping_liveness_local_and_master.sh: |- script_dir="$(dirname "$0")" exit_status=0 "$script_dir/ping_liveness_local.sh" $1 || exit_status=$? "$script_dir/ping_liveness_master.sh" $1 || exit_status=$? exit $exit_status --- # Source: redis/templates/scripts-configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: my-redis-scripts namespace: "default" labels: app.kubernetes.io/name: redis helm.sh/chart: redis-16.8.4 app.kubernetes.io/instance: super app.kubernetes.io/managed-by: Helm data: start-master.sh: | #!/bin/bash [[ -f $REDIS_PASSWORD_FILE ]] && export REDIS_PASSWORD="$(< "${REDIS_PASSWORD_FILE}")" if [[ ! -f /opt/bitnami/redis/etc/master.conf ]];then cp /opt/bitnami/redis/mounted-etc/master.conf /opt/bitnami/redis/etc/master.conf fi if [[ ! -f /opt/bitnami/redis/etc/redis.conf ]];then cp /opt/bitnami/redis/mounted-etc/redis.conf /opt/bitnami/redis/etc/redis.conf fi ARGS=("--port" "${REDIS_PORT}") ARGS+=("--requirepass" "${REDIS_PASSWORD}") ARGS+=("--masterauth" "${REDIS_PASSWORD}") ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf") ARGS+=("--include" "/opt/bitnami/redis/etc/master.conf") exec redis-server "${ARGS[@]}" --- # Source: redis/templates/headless-svc.yaml apiVersion: v1 kind: Service metadata: name: my-redis-headless namespace: "default" labels: app.kubernetes.io/name: redis helm.sh/chart: redis-16.8.4 app.kubernetes.io/instance: super app.kubernetes.io/managed-by: Helm annotations: spec: type: ClusterIP clusterIP: None ports: - name: tcp-redis port: 6379 targetPort: redis selector: app.kubernetes.io/name: redis app.kubernetes.io/instance: super --- # Source: redis/templates/master/service.yaml apiVersion: v1 kind: Service metadata: name: my-redis-master namespace: "default" labels: app.kubernetes.io/name: redis helm.sh/chart: redis-16.8.4 app.kubernetes.io/instance: super app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: master spec: type: ClusterIP ports: - name: tcp-redis port: 6379 targetPort: redis nodePort: null selector: app.kubernetes.io/name: redis app.kubernetes.io/instance: super app.kubernetes.io/component: master --- # Source: redis/templates/master/application.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: my-redis-master namespace: "default" labels: app.kubernetes.io/name: redis helm.sh/chart: redis-16.8.4 app.kubernetes.io/instance: super app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: master spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: redis app.kubernetes.io/instance: super app.kubernetes.io/component: master serviceName: my-redis-headless updateStrategy: rollingUpdate: {} type: RollingUpdate template: metadata: labels: app.kubernetes.io/name: redis helm.sh/chart: redis-16.8.4 app.kubernetes.io/instance: super app.kubernetes.io/managed-by: Helm app.kubernetes.io/component: master annotations: checksum/configmap: 7c7c6028fc85cf1e1756377bffc24b890365ba8bca0c35deae62d7d7278e8422 checksum/health: 576b85cfa72e785733dd4d4100baf014d614b98bd244198030802100f32b8486 checksum/scripts: 8ee76f90553b0c070879d80ff4267e3c6131d364f7fedeeb249466a802bb3029 checksum/secret: 3a8be27fd1d767bc4a19724cd844afd4c53d91966c699edf29003bc740bbc614 spec: securityContext: fsGroup: 5001 serviceAccountName: my-redis affinity: podAffinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchLabels: app.kubernetes.io/name: redis app.kubernetes.io/instance: super app.kubernetes.io/component: master namespaces: - "default" topologyKey: kubernetes.io/hostname weight: 1 nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - "node-tokyo-1" terminationGracePeriodSeconds: 30 containers: - name: redis image: docker.io/bitnami/redis:6.2.6-debian-10-r178 imagePullPolicy: "Always" securityContext: runAsUser: 5001 command: - /bin/bash args: - -c - /opt/bitnami/scripts/start-scripts/start-master.sh env: - name: BITNAMI_DEBUG value: "false" - name: REDIS_REPLICATION_MODE value: master - name: ALLOW_EMPTY_PASSWORD value: "no" - name: REDIS_PASSWORD valueFrom: secretKeyRef: name: my-redis key: redis-password - name: REDIS_TLS_ENABLED value: "no" - name: REDIS_PORT value: "6379" ports: - name: redis containerPort: 6379 livenessProbe: initialDelaySeconds: 20 periodSeconds: 5 # One second longer than command timeout should prevent generation of zombie processes. timeoutSeconds: 6 successThreshold: 1 failureThreshold: 5 exec: command: - sh - -c - /health/ping_liveness_local.sh 5 readinessProbe: initialDelaySeconds: 20 periodSeconds: 5 timeoutSeconds: 2 successThreshold: 1 failureThreshold: 5 exec: command: - sh - -c - /health/ping_readiness_local.sh 1 resources: limits: {} requests: {} volumeMounts: - name: start-scripts mountPath: /opt/bitnami/scripts/start-scripts - name: health mountPath: /health - name: redis-data mountPath: /data subPath: - name: config mountPath: /opt/bitnami/redis/mounted-etc - name: redis-tmp-conf mountPath: /opt/bitnami/redis/etc/ - name: tmp mountPath: /tmp volumes: - name: start-scripts configMap: name: my-redis-scripts defaultMode: 0755 - name: health configMap: name: my-redis-health defaultMode: 0755 - name: config configMap: name: my-redis-configuration - name: redis-tmp-conf emptyDir: {} - name: tmp emptyDir: {} - name: redis-data emptyDir: {} NOTES: CHART NAME: redis CHART VERSION: 16.8.4 APP VERSION: 6.2.6 ** Please be patient while the chart is being deployed ** Redis™ can be accessed via port 6379 on the following DNS name from within your cluster: my-redis-master.default.svc.wdd.io To get your password run: export REDIS_PASSWORD=$(kubectl get secret --namespace default my-redis -o jsonpath="{.data.redis-password}" | base64 --decode) To connect to your Redis™ server: 1. Run a Redis™ pod that you can use as a client: kubectl run --namespace default redis-client --restart='Never' --env REDIS_PASSWORD=$REDIS_PASSWORD --image docker.io/bitnami/redis:6.2.6-debian-10-r178 --command -- sleep infinity Use the following command to attach to the pod: kubectl exec --tty -i redis-client \ --namespace default -- bash 2. Connect using the Redis™ CLI: REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h my-redis-master To connect to your database from outside the cluster execute the following commands: kubectl port-forward --namespace default svc/my-redis-master : & REDISCLI_AUTH="$REDIS_PASSWORD" redis-cli -h 127.0.0.1 -p