# statefulset

Published articles for statefulset.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Failing to Auto Scale Elasticsearch in Kubernetes

DevFeed: [Failing to Auto Scale Elasticsearch in Kubernetes](<https://devfeed.tech/articles/failing-to-auto-scale-elasticsearch-in-kubernetes-47473.md>)

Original publisher: [Read original article](<https://engineering.zalando.com/posts/2024/06/failing-to-auto-scale-elasticsearch-in-kubernetes.html>)

Author: Juho Vuori

Published: 2024-06-20T22:00:00Z

Content type: article

Language: en

Sources: [Zalando](<https://devfeed.tech/sources/zalando-engineering-blog.md>)

Topics: [elasticsearch](<https://devfeed.tech/topics/elasticsearch.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>)

Tags: [availability](<https://devfeed.tech/tags/availability.md>), [backend](<https://devfeed.tech/tags/backend.md>), [cluster](<https://devfeed.tech/tags/cluster.md>), [culture](<https://devfeed.tech/tags/culture.md>), [elasticsearch](<https://devfeed.tech/tags/elasticsearch.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [logs](<https://devfeed.tech/tags/logs.md>), [on-call](<https://devfeed.tech/tags/on-call.md>), [operational](<https://devfeed.tech/tags/operational.md>), [pod](<https://devfeed.tech/tags/pod.md>), [root-cause-analysis](<https://devfeed.tech/tags/root-cause-analysis.md>), [scale](<https://devfeed.tech/tags/scale.md>), [schedules](<https://devfeed.tech/tags/schedules.md>), [sre](<https://devfeed.tech/tags/sre.md>), [statefulset](<https://devfeed.tech/tags/statefulset.md>), [zalando](<https://devfeed.tech/tags/zalando.md>), [zalando-helsinki](<https://devfeed.tech/tags/zalando-helsinki.md>)

### AI overview

An operational postmortem describes a failed scheduled scale-down of an Elasticsearch cluster running in Kubernetes. Zone-awareness settings prevented shard relocation from the only node in one availability zone, leaving the cluster with an unexpected node count and causing a later scaling alert.

### Source excerpt

A story of operational failure in large scale Elastisearch installation including the root cause analysis and mitigations that followed

## StatefulSets Made Easier With Istio 1.10

DevFeed: [StatefulSets Made Easier With Istio 1.10](<https://devfeed.tech/articles/statefulsets-made-easier-with-istio-1-10-48740.md>)

Original publisher: [Read original article](<https://istio.io/latest/blog/2021/statefulsets-made-easier/>)

Author: Lin Sun (Solo.io), Christian Posta (Solo.io), John Howard (Google), Zhonghu Xu (Huawei)

Published: 2021-05-19T00:00:00Z

Content type: tutorial

Language: en

Sources: [Istio](<https://devfeed.tech/sources/istio-blog.md>)

Topics: [istio](<https://devfeed.tech/topics/istio.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [service-mesh](<https://devfeed.tech/topics/service-mesh.md>), [Stateful](<https://devfeed.tech/topics/stateful.md>), [Gke](<https://devfeed.tech/topics/gke.md>), [Helm charts](<https://devfeed.tech/topics/helm-charts.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [ordering](<https://devfeed.tech/topics/ordering.md>)

Tags: [debugging](<https://devfeed.tech/tags/debugging.md>), [eth0](<https://devfeed.tech/tags/eth0.md>), [gke](<https://devfeed.tech/tags/gke.md>), [helm-charts](<https://devfeed.tech/tags/helm-charts.md>), [istio](<https://devfeed.tech/tags/istio.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [localhost](<https://devfeed.tech/tags/localhost.md>), [loopback](<https://devfeed.tech/tags/loopback.md>), [mesh](<https://devfeed.tech/tags/mesh.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [mtls](<https://devfeed.tech/tags/mtls.md>), [networking](<https://devfeed.tech/tags/networking.md>), [ordering](<https://devfeed.tech/tags/ordering.md>), [scaling](<https://devfeed.tech/tags/scaling.md>), [service-mesh](<https://devfeed.tech/tags/service-mesh.md>), [services](<https://devfeed.tech/tags/services.md>), [stateful](<https://devfeed.tech/tags/stateful.md>), [statefulset](<https://devfeed.tech/tags/statefulset.md>)

### AI overview

A tutorial on deploying Kubernetes StatefulSets with Istio 1.10. It explains how Istio's service-mesh behavior interacts with stateful pods, including persistent pod identities, inter-pod communication, networking, and automatic sidecar injection, using ZooKeeper as an example.

### Source excerpt

Kubernetes StatefulSets are commonly used to manage stateful applications. In addition to managing the deployment and scaling of a set of Pods, StatefulSets provide guarantees about the ordering and uniqueness of those Pods. Common applications used with StatefulSets include ZooKeeper, Cassandra, Elasticsearch, Redis and NiFi. The Istio community has been making gradual progress towards zero-configuration support for StatefulSets; from automatic mTLS, to eliminating the need to create DestinationRule or ServiceEntry resources, to the most recent pod networking changes in Istio 1.10. What is unique about using a StatefulSet with a service mesh? The StatefulSet pods are created from the same spec, but are not interchangeable: each has a persistent identifier that it maintains across any rescheduling. The kind of apps that run in a StatefulSet are often those that need to communicate among their pods, and, as they come from a world of hard-coded IP addresses, may listen on the pod IP only, instead of 0.0.0.0. ZooKeeper, for example, is configured by default to not listen on all IPs for quorum communication: quorumListenOnAllIPs=false Over the last few releases, the Istio community has reported many issues around support for applications running in StatefulSets. StatefulSets in action, prior to Istio 1.10 In a GKE cluster running Kubernetes 1.19, we have Istio 1.9.5 installed. We enabled automatic sidecar injection in the default namespace, then we installed ZooKeeper using the Helm charts provided by Bitnami, along with the Istio sleep pod for interactive debugging: $ helm repo add bitnami https://charts.bitnami.com/bitnami $ helm install my-release bitnami/zookeeper --set replicaCount=3 $ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.31/samples/sleep/sleep.yaml After a few minutes, all pods come up nicely with sidecar proxies: $ kubectl get pods,svc NAME READY STATUS RESTARTS AGE my-release-zookeeper-0 2/2 Running 0 3h4m my-release-zookeeper