Kubernetes-Statefullset

Statefullset

  • 特点
1. 用于部署有状态应用,如mysql
2. pod重启后pod名,挂载的卷不变,ip会变,可以通过
3. statefullset不能关联常规的svc,不具有负载均衡的能力,但可以关联无头svc
4. 无头svc通过,pod名.svc名访问
  • statefullset
trnuser@k8s:~/pod/sts$ cat sts.yaml 
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: web
spec:
  selector:
    matchLabels:
      app: nginx 
  serviceName: "nginx"
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx 
    spec:
      containers:
      - name: nginx
        image: nginx
        volumeMounts:
        - name: www
          mountPath: /usr/share/nginx/html
  volumeClaimTemplates: 
  - metadata:
      name: www
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "xx" 
      resources:
        requests:
          storage: 1Gi
  • svc
trnuser@k8s:~/pod/sts$ cat svc.yaml 
apiVersion: v1
kind: Service
metadata:
  name: nginx
  labels:
    app: nginx
spec:
  ports:
  - port: 80
    name: web
  clusterIP: None
  selector:
    app: nginx
posted @ 2021-03-15 15:15  独孤云翔  阅读(233)  评论(0)    收藏  举报