K8S 使用NFS存储 动态创建 PVC/PV

https://blog.csdn.net/mshxuyi/article/details/115314108

1、创建

vim statefulset-redis.yaml

# redis配置
apiVersion: v1
kind: ConfigMap
metadata:
  name: redis-config
data:
  redis.conf: |
    bind 0.0.0.0
    port 6379
    requirepass 123456
    appendonly yes
    protected-mode no
    dir /var/lib/redis

---
# redis容器
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: redis
spec:
  replicas: 1
  serviceName: redis-service
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
    spec:
      containers:
      - name: redis
        image: redis:6.0-alpine
        imagePullPolicy: IfNotPresent
        command:
        - sh
        - -c
        - "exec redis-server /usr/local/etc/redis/redis.conf"
        ports:
        - name: redis
          containerPort: 6379
          protocol: TCP
        resources:
          requests:
            cpu: 1
            memory: 512Mi
          limits:
            cpu: 1
            memory: 512Mi
        volumeMounts:
        - name: redis-config
          mountPath: /usr/local/etc/redis
        - name: redis-data
          mountPath: /var/lib/redis
      volumes:
      - name: redis-config
        configMap:
          name: redis-config
  volumeClaimTemplates:
  - metadata:
      name: redis-data
    spec:
      accessModes: ["ReadWriteOnce"]
      storageClassName: nfs-storage
      resources:
        requests:
          storage: 1Gi

---
# 内部访问的无头服务
apiVersion: v1
kind: Service
metadata:
  name: redis-service
spec:
  selector:
    app: redis
  ports:
  - name: redis
    port: 6379
  clusterIP: None

---
# 外部访问的服务
apiVersion: v1
kind: Service
metadata:
  name: redis-external-service
spec:
  selector:
    app: redis
  ports:
  - name: redis
    protocol: TCP
    port: 6379
    targetPort: 6379
    nodePort: 30003
  type: NodePort

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐