Created
August 31, 2023 14:44
-
-
Save joejulian/d0fff62b01369b20c7ae9e69907bb9e4 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| apiVersion: v1 | |
| items: | |
| - apiVersion: apps/v1 | |
| kind: StatefulSet | |
| metadata: | |
| annotations: | |
| meta.helm.sh/release-name: redpanda | |
| meta.helm.sh/release-namespace: rn | |
| creationTimestamp: "2023-08-29T23:34:32Z" | |
| generation: 2 | |
| labels: | |
| app.kubernetes.io/component: redpanda | |
| app.kubernetes.io/instance: redpanda | |
| app.kubernetes.io/managed-by: Helm | |
| app.kubernetes.io/name: redpanda | |
| helm.sh/chart: redpanda-5.1.6 | |
| name: redpanda | |
| namespace: rn | |
| resourceVersion: "203432" | |
| uid: 8e8e5bec-e979-482c-b41a-5fda1a37029a | |
| spec: | |
| persistentVolumeClaimRetentionPolicy: | |
| whenDeleted: Retain | |
| whenScaled: Retain | |
| podManagementPolicy: Parallel | |
| replicas: 1 | |
| revisionHistoryLimit: 10 | |
| selector: | |
| matchLabels: | |
| app.kubernetes.io/component: redpanda-statefulset | |
| app.kubernetes.io/instance: redpanda | |
| app.kubernetes.io/name: redpanda | |
| serviceName: redpanda | |
| template: | |
| metadata: | |
| annotations: | |
| checksum/config: 79e4f455c29a50a61110786f8c139ba682d128ccd3ac4dc29436ed31a2fdd703 | |
| creationTimestamp: null | |
| labels: | |
| app.kubernetes.io/component: redpanda-statefulset | |
| app.kubernetes.io/instance: redpanda | |
| app.kubernetes.io/name: redpanda | |
| redpanda.com/poddisruptionbudget: redpanda | |
| spec: | |
| affinity: | |
| podAntiAffinity: | |
| requiredDuringSchedulingIgnoredDuringExecution: | |
| - labelSelector: | |
| matchLabels: | |
| app.kubernetes.io/component: redpanda-statefulset | |
| app.kubernetes.io/instance: redpanda | |
| app.kubernetes.io/name: redpanda | |
| topologyKey: kubernetes.io/hostname | |
| containers: | |
| - command: | |
| - rpk | |
| - redpanda | |
| - start | |
| - --smp=1 | |
| - --memory=2048M | |
| - --reserve-memory=205M | |
| - --default-log-level=info | |
| - --advertise-rpc-addr=$(SERVICE_NAME).redpanda.rn.svc.cluster.local.:33145 | |
| env: | |
| - name: SERVICE_NAME | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: metadata.name | |
| - name: POD_IP | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: status.podIP | |
| - name: HOST_IP | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: status.hostIP | |
| image: docker.redpanda.com/redpandadata/redpanda:v23.2.6 | |
| imagePullPolicy: IfNotPresent | |
| lifecycle: | |
| postStart: | |
| exec: | |
| command: | |
| - /bin/bash | |
| - -c | |
| - | | |
| timeout -v 45 bash -x /var/lifecycle/postStart.sh | |
| true | |
| preStop: | |
| exec: | |
| command: | |
| - /bin/bash | |
| - -c | |
| - | | |
| timeout -v 45 bash -x /var/lifecycle/preStop.sh | |
| true # do not fail and cause the pod to terminate | |
| livenessProbe: | |
| exec: | |
| command: | |
| - /bin/sh | |
| - -c | |
| - curl --silent --fail -k --cacert /etc/tls/certs/default/tls.crt "https://${SERVICE_NAME}.redpanda.rn.svc.cluster.local.:9644/v1/status/ready" | |
| failureThreshold: 3 | |
| initialDelaySeconds: 10 | |
| periodSeconds: 10 | |
| successThreshold: 1 | |
| timeoutSeconds: 1 | |
| name: redpanda | |
| ports: | |
| - containerPort: 9644 | |
| name: admin | |
| protocol: TCP | |
| - containerPort: 9645 | |
| name: admin-default | |
| protocol: TCP | |
| - containerPort: 8082 | |
| name: http | |
| protocol: TCP | |
| - containerPort: 8083 | |
| name: http-default | |
| protocol: TCP | |
| - containerPort: 9093 | |
| name: kafka | |
| protocol: TCP | |
| - containerPort: 9094 | |
| name: kafka-default | |
| protocol: TCP | |
| - containerPort: 33145 | |
| name: rpc | |
| protocol: TCP | |
| - containerPort: 8081 | |
| name: schemaregistry | |
| protocol: TCP | |
| - containerPort: 8084 | |
| name: schema-default | |
| protocol: TCP | |
| readinessProbe: | |
| exec: | |
| command: | |
| - /bin/sh | |
| - -c | |
| - | | |
| set -x | |
| rpk cluster health --api-urls ${SERVICE_NAME}.redpanda.rn.svc.cluster.local.:9644 --admin-api-tls-enabled --admin-api-tls-truststore /etc/tls/certs/default/ca.crt | |
| rpk cluster health --api-urls ${SERVICE_NAME}.redpanda.rn.svc.cluster.local.:9644 --admin-api-tls-enabled --admin-api-tls-truststore /etc/tls/certs/default/ca.crt | grep 'Healthy:.*true' | |
| failureThreshold: 3 | |
| initialDelaySeconds: 1 | |
| periodSeconds: 10 | |
| successThreshold: 1 | |
| timeoutSeconds: 1 | |
| resources: | |
| limits: | |
| cpu: "1" | |
| memory: 2560Mi | |
| securityContext: | |
| runAsGroup: 101 | |
| runAsUser: 101 | |
| startupProbe: | |
| exec: | |
| command: | |
| - /bin/sh | |
| - -c | |
| - | | |
| set -e | |
| RESULT=$(curl --silent --fail -k --cacert /etc/tls/certs/default/tls.crt "https://${SERVICE_NAME}.redpanda.rn.svc.cluster.local.:9644/v1/status/ready") | |
| echo $RESULT | |
| echo $RESULT | grep ready | |
| failureThreshold: 120 | |
| initialDelaySeconds: 1 | |
| periodSeconds: 10 | |
| successThreshold: 1 | |
| timeoutSeconds: 1 | |
| terminationMessagePath: /dev/termination-log | |
| terminationMessagePolicy: File | |
| volumeMounts: | |
| - mountPath: /var/lifecycle | |
| name: lifecycle-scripts | |
| - mountPath: /var/lib/redpanda/data | |
| name: datadir | |
| - mountPath: /etc/redpanda | |
| name: config | |
| - mountPath: /etc/tls/certs/default | |
| name: redpanda-default-cert | |
| - mountPath: /etc/tls/certs/external | |
| name: redpanda-external-cert | |
| - args: | |
| - -c | |
| - trap "exit 0" TERM; exec /etc/secrets/config-watcher/scripts/sasl-user.sh | |
| & wait $! | |
| command: | |
| - /bin/sh | |
| image: docker.redpanda.com/redpandadata/redpanda:v23.2.6 | |
| imagePullPolicy: IfNotPresent | |
| name: config-watcher | |
| resources: {} | |
| terminationMessagePath: /dev/termination-log | |
| terminationMessagePolicy: File | |
| volumeMounts: | |
| - mountPath: /etc/secrets/config-watcher/scripts | |
| name: redpanda-config-watcher | |
| readOnly: true | |
| - mountPath: /etc/tls/certs/default | |
| name: redpanda-default-cert | |
| readOnly: true | |
| - mountPath: /etc/tls/certs/external | |
| name: redpanda-external-cert | |
| readOnly: true | |
| dnsPolicy: ClusterFirst | |
| initContainers: | |
| - args: | |
| - | | |
| rpk redpanda tune all | |
| command: | |
| - bash | |
| - -c | |
| image: docker.redpanda.com/redpandadata/redpanda:v23.2.6 | |
| imagePullPolicy: IfNotPresent | |
| name: tuning | |
| resources: {} | |
| securityContext: | |
| capabilities: | |
| add: | |
| - SYS_RESOURCE | |
| privileged: true | |
| runAsGroup: 0 | |
| runAsUser: 0 | |
| terminationMessagePath: /dev/termination-log | |
| terminationMessagePolicy: File | |
| volumeMounts: | |
| - mountPath: /etc/redpanda | |
| name: redpanda | |
| - args: | |
| - | | |
| set -xe | |
| CONFIG=/etc/redpanda/redpanda.yaml | |
| POD_ORDINAL=${SERVICE_NAME##*-} | |
| # Setup config files | |
| cp /tmp/base-config/redpanda.yaml "${CONFIG}" | |
| cp /tmp/base-config/bootstrap.yaml /etc/redpanda/.bootstrap.yaml | |
| NODE_INDEX=`expr $POD_ORDINAL + 1` | |
| LISTENER_INDEX=1 | |
| LISTENER=`echo $ADVERTISED_KAFKA_ADDRESSES | cut -d ' ' -f $NODE_INDEX | cut -d ';' -f $LISTENER_INDEX` | |
| until [ "$LISTENER" == "" ]; do | |
| rpk redpanda config --config "$CONFIG" set redpanda.advertised_kafka_api[$(($LISTENER_INDEX-1))] "$LISTENER" | |
| let "LISTENER_INDEX+=1" | |
| LISTENER=`echo $ADVERTISED_KAFKA_ADDRESSES | cut -d ' ' -f $NODE_INDEX | cut -d ';' -f $LISTENER_INDEX` | |
| done | |
| LISTENER_INDEX=1 | |
| LISTENER=`echo $ADVERTISED_HTTP_ADDRESSES | cut -d ' ' -f $NODE_INDEX | cut -d ';' -f $LISTENER_INDEX` | |
| until [ "$LISTENER" == "" ]; do | |
| rpk redpanda config --config "$CONFIG" set pandaproxy.advertised_pandaproxy_api[$(($LISTENER_INDEX-1))] "$LISTENER" | |
| let "LISTENER_INDEX+=1" | |
| LISTENER=`echo $ADVERTISED_HTTP_ADDRESSES | cut -d ' ' -f $NODE_INDEX | cut -d ';' -f $LISTENER_INDEX` | |
| done | |
| command: | |
| - /bin/bash | |
| - -c | |
| env: | |
| - name: SERVICE_NAME | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: metadata.name | |
| - name: ADVERTISED_KAFKA_ADDRESSES | |
| value: '{"address":"$(SERVICE_NAME).redpanda.rn.svc.cluster.local.","name":"internal","port":9093};{"address":"$(SERVICE_NAME).my.foo.bar","name":"default","port":31092}' | |
| - name: ADVERTISED_HTTP_ADDRESSES | |
| value: '{"address":"$(SERVICE_NAME).redpanda.rn.svc.cluster.local.","name":"internal","port":8082};{"address":"$(SERVICE_NAME).my.foo.bar","name":"default","port":30082}' | |
| - name: KUBERNETES_NODE_NAME | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: spec.nodeName | |
| image: docker.redpanda.com/redpandadata/redpanda:v23.2.6 | |
| imagePullPolicy: IfNotPresent | |
| name: redpanda-configurator | |
| resources: {} | |
| securityContext: | |
| runAsGroup: 101 | |
| runAsUser: 101 | |
| terminationMessagePath: /dev/termination-log | |
| terminationMessagePolicy: File | |
| volumeMounts: | |
| - mountPath: /tmp/base-config | |
| name: redpanda | |
| - mountPath: /etc/redpanda | |
| name: config | |
| restartPolicy: Always | |
| schedulerName: default-scheduler | |
| securityContext: | |
| fsGroup: 101 | |
| fsGroupChangePolicy: OnRootMismatch | |
| serviceAccount: default | |
| serviceAccountName: default | |
| terminationGracePeriodSeconds: 90 | |
| topologySpreadConstraints: | |
| - labelSelector: | |
| matchLabels: | |
| app.kubernetes.io/component: redpanda-statefulset | |
| app.kubernetes.io/instance: redpanda | |
| app.kubernetes.io/name: redpanda | |
| maxSkew: 1 | |
| topologyKey: topology.kubernetes.io/zone | |
| whenUnsatisfiable: ScheduleAnyway | |
| volumes: | |
| - name: lifecycle-scripts | |
| secret: | |
| defaultMode: 509 | |
| secretName: redpanda-sts-lifecycle | |
| - name: datadir | |
| persistentVolumeClaim: | |
| claimName: datadir | |
| - configMap: | |
| defaultMode: 420 | |
| name: redpanda | |
| name: redpanda | |
| - emptyDir: {} | |
| name: config | |
| - name: redpanda-default-cert | |
| secret: | |
| defaultMode: 420 | |
| items: | |
| - key: tls.key | |
| path: tls.key | |
| - key: tls.crt | |
| path: tls.crt | |
| - key: ca.crt | |
| path: ca.crt | |
| secretName: redpanda-default-cert | |
| - name: redpanda-external-cert | |
| secret: | |
| defaultMode: 420 | |
| items: | |
| - key: tls.key | |
| path: tls.key | |
| - key: tls.crt | |
| path: tls.crt | |
| - key: ca.crt | |
| path: ca.crt | |
| secretName: redpanda-external-cert | |
| - name: redpanda-config-watcher | |
| secret: | |
| defaultMode: 509 | |
| optional: false | |
| secretName: redpanda-config-watcher | |
| updateStrategy: | |
| type: RollingUpdate | |
| volumeClaimTemplates: | |
| - apiVersion: v1 | |
| kind: PersistentVolumeClaim | |
| metadata: | |
| creationTimestamp: null | |
| labels: | |
| app.kubernetes.io/component: redpanda | |
| app.kubernetes.io/instance: redpanda | |
| app.kubernetes.io/name: redpanda | |
| name: datadir | |
| spec: | |
| accessModes: | |
| - ReadWriteOnce | |
| resources: | |
| requests: | |
| storage: 20Gi | |
| volumeMode: Filesystem | |
| status: | |
| phase: Pending | |
| status: | |
| availableReplicas: 1 | |
| collisionCount: 0 | |
| conditions: | |
| - lastTransitionTime: "2023-08-29T16:27:57Z" | |
| status: Foo | |
| type: Fubar | |
| currentReplicas: 1 | |
| currentRevision: redpanda-d57449f | |
| observedGeneration: 2 | |
| readyReplicas: 1 | |
| replicas: 1 | |
| updateRevision: redpanda-d57449f | |
| updatedReplicas: 1 | |
| kind: List | |
| metadata: | |
| resourceVersion: "" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment