kind: Service apiVersion: v1 metadata: name: minio-headless namespace: tools labels: app: minio spec: clusterIP: None ports: - name: tcp-9000 protocol: TCP port: 9000 targetPort: 9000 selector: app: minio --- kind: Service apiVersion: v1 metadata: name: minio namespace: tools labels: app: minio spec: ports: - name: tcp-9000 protocol: TCP port: 9000 targetPort: 9000 - name: http-9001 protocol: TCP port: 9001 targetPort: 9001 selector: app: minio --- apiVersion: apps/v1 kind: StatefulSet metadata: name: minio namespace: tools spec: podManagementPolicy: "Parallel" #并行启动pod,不配置的话模式是按顺序启动pod,minio、nacos都需要配置并行启动 serviceName: minio-headless replicas: 4 selector: matchLabels: app: minio template: metadata: labels: app: minio spec: affinity: nodeAffinity: preferredDuringSchedulingIgnoredDuringExecution: - preference: matchExpressions: - key: minio operator: In values: - "1" weight: 100 - preference: matchExpressions: - key: kubernetes.io/os operator: In values: - linux weight: 10 requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: minio operator: In values: - "1" - matchExpressions: - key: kubernetes.io/os operator: In values: - linux containers: - name: minio image: harbor.uenpay.com/base/minio #image: minio/minio imagePullPolicy: IfNotPresent env: - name: MINIO_ROOT_USER value: admin - name: MINIO_ROOT_PASSWORD value: Uenpay@2019 args: - server - "http://minio-{0...3}.minio-headless/data" #- "http://minio-{4...7}.minio-headless/data" #这里是为了扩容副本,只能是4的倍数,上面的replicas要改成8 - --console-address - ":9001" ports: - name: tcp-9000 containerPort: 9000 protocol: TCP - name: http-9001 containerPort: 9001 protocol: TCP volumeMounts: - name: data mountPath: /data volumeClaimTemplates: - metadata: name: data spec: accessModes: [ "ReadWriteOnce" ] storageClassName: cephrbd-sc resources: requests: storage: 100Gi --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/proxy-body-size: 1024m nginx.ingress.kubernetes.io/proxy-connect-timeout: '300' nginx.ingress.kubernetes.io/proxy-read-timeout: '300' nginx.ingress.kubernetes.io/proxy-send-timeout: '300' nginx.ingress.kubernetes.io/ssl-redirect: 'true' name: minio-test.uenpay.com-ingress namespace: tools spec: ingressClassName: nginx rules: - host: minio-test.uenpay.com http: paths: - backend: service: name: minio port: number: 9001 path: / pathType: Prefix tls: - hosts: - minio-test.uenpay.com secretName: uenpay.com