官术网_书友最值得收藏!

StatefulSets

Deployments are usually used to deploy stateless components of your application. For stateful components, Kubernetes provides another API Object named StatefulSet. The principle of this operation is very similar to Deployment it manages ReplicaSets and Pods in a declarative way and provides smooth rollouts and rollbacks. However, there are some key differences:

  • StatefulSets ensure a deterministic (sticky) ID of Pods, which consists of <statefulSetName>-<ordinal>. For Deployments, you would have a random ID consisting of <deploymentName>-<randomHash>.
  • For StatefulSets, the Pods are started and terminated in a specific, predictable order while scaling the ReplicaSet.
  • In terms of storage, Kubernetes creates PersistentVolumeClaims based on volumeClaimTemplates of the StatefulSet Object for each Pod in the StatefulSet and always attaches this to the Pod with the same ID. For Deployments, if you choose to use volumeClaimTemplates, Kubernetes will create a single PersistentVolumeClaim and attach the same to all the Pods in the Deployment.
  • You need to create a headless Service Object that is responsible for managing the deterministic network identity (DNS names) for Pods. The Headless Service allows us to return all Pod IPs behind the Service as DNS A records instead of a single DNS A record with a Service Cluster IP.

StatefulSets use a similar Spec to Deployments you can find out more regarding StatefulSets by looking at the official documentation: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/.

主站蜘蛛池模板: 鄱阳县| 闵行区| 寻乌县| 车险| 南靖县| 凭祥市| 班玛县| 扬中市| 枣阳市| 郑州市| 扬中市| 巴马| 广丰县| 伊金霍洛旗| 江永县| 遂宁市| 漳平市| 龙井市| 和林格尔县| 远安县| 饶河县| 昭平县| 乐清市| 凤山市| 河南省| 平谷区| 米林县| 忻城县| 图木舒克市| 攀枝花市| 长乐市| 九龙坡区| 临安市| 红原县| 黄骅市| 闽清县| 九江市| 荥阳市| 九江县| 江陵县| 屏山县|