github.com/alibaba/sealer@v0.8.6-0.20220430115802-37a2bdaa8173/applications/minio/minio-manifest.yaml (about)

     1  ---
     2  apiVersion: v1
     3  kind: Namespace
     4  metadata:
     5    name: minio-system
     6    labels:
     7      app.kubernetes.io/name: minio
     8      app.kubernetes.io/instance: my-minio
     9  ---
    10  # Source: minio/templates/serviceaccount.yaml
    11  apiVersion: v1
    12  kind: ServiceAccount
    13  metadata:
    14    name: my-minio
    15    namespace: minio-system
    16    labels:
    17      app.kubernetes.io/name: minio
    18      app.kubernetes.io/instance: my-minio
    19  secrets:
    20    - name: my-minio
    21  ---
    22  # Source: minio/templates/secrets.yaml
    23  apiVersion: v1
    24  kind: Secret
    25  metadata:
    26    name: my-minio
    27    namespace: minio-system
    28    labels:
    29      app.kubernetes.io/name: minio
    30      app.kubernetes.io/instance: my-minio
    31  type: Opaque
    32  data:
    33    access-key: "bWluaW8="
    34    secret-key: "bWluaW8xMjM="
    35    key.json: ""
    36  ---
    37  # Source: minio/templates/distributed/headless-svc.yaml
    38  apiVersion: v1
    39  kind: Service
    40  metadata:
    41    name: my-minio-headless
    42    namespace: minio-system
    43    labels:
    44      app.kubernetes.io/name: minio
    45      app.kubernetes.io/instance: my-minio
    46  spec:
    47    type: ClusterIP
    48    clusterIP: None
    49    ports:
    50      - name: minio
    51        port: 9000
    52        targetPort: minio
    53    publishNotReadyAddresses: true
    54    selector:
    55      app.kubernetes.io/name: minio
    56      app.kubernetes.io/instance: my-minio
    57  ---
    58  # Source: minio/templates/service.yaml
    59  apiVersion: v1
    60  kind: Service
    61  metadata:
    62    name: my-minio
    63    namespace: minio-system
    64    labels:
    65      app.kubernetes.io/name: minio
    66      app.kubernetes.io/instance: my-minio
    67  spec:
    68    type: ClusterIP
    69    ports:
    70      - name: minio
    71        port: 9000
    72        targetPort: minio
    73    selector:
    74      app.kubernetes.io/name: minio
    75      app.kubernetes.io/instance: my-minio
    76  ---
    77  # Source: minio/templates/distributed/statefulset.yaml
    78  apiVersion: apps/v1
    79  kind: StatefulSet
    80  metadata:
    81    name: my-minio
    82    namespace: minio-system
    83    labels:
    84      app.kubernetes.io/name: minio
    85      app.kubernetes.io/instance: my-minio
    86  spec:
    87    selector:
    88      matchLabels:
    89        app.kubernetes.io/name: minio
    90        app.kubernetes.io/instance: my-minio
    91    serviceName: my-minio-headless
    92    replicas: 4
    93    podManagementPolicy: Parallel
    94    updateStrategy:
    95      type: RollingUpdate
    96    template:
    97      metadata:
    98        labels:
    99          app.kubernetes.io/name: minio
   100          app.kubernetes.io/instance: my-minio
   101        annotations:
   102          checksum/credentials-secret: c4c5a5e63b2425f9d7d8ca67d4be0e3440afe5645e4c98c6eb1683c1f9676870
   103      spec:
   104        serviceAccountName: my-minio
   105        affinity:
   106          podAntiAffinity:
   107            preferredDuringSchedulingIgnoredDuringExecution:
   108              - podAffinityTerm:
   109                  labelSelector:
   110                    matchLabels:
   111                      app.kubernetes.io/name: minio
   112                      app.kubernetes.io/instance: my-minio
   113                  namespaces:
   114                    - "minio-system"
   115                  topologyKey: kubernetes.io/hostname
   116                weight: 1
   117        securityContext:
   118          fsGroup: 1001
   119        containers:
   120          - name: minio
   121            image: docker.io/bitnami/minio:2021.6.17-debian-10-r38
   122            imagePullPolicy: "IfNotPresent"
   123            securityContext:
   124              runAsNonRoot: true
   125              runAsUser: 1001
   126            env:
   127              - name: BITNAMI_DEBUG
   128                value: "false"
   129              - name: MINIO_DISTRIBUTED_MODE_ENABLED
   130                value: "yes"
   131              - name: MINIO_DISTRIBUTED_NODES
   132                value: "my-minio-{0...3}.my-minio-headless.minio-system.svc.cluster.local/data"
   133              - name: MINIO_SCHEME
   134                value: "http"
   135              - name: MINIO_FORCE_NEW_KEYS
   136                value: "no"
   137              - name: MINIO_ACCESS_KEY
   138                valueFrom:
   139                  secretKeyRef:
   140                    name: my-minio
   141                    key: access-key
   142              - name: MINIO_SECRET_KEY
   143                valueFrom:
   144                  secretKeyRef:
   145                    name: my-minio
   146                    key: secret-key
   147              - name: MINIO_SKIP_CLIENT
   148                value: "yes"
   149              - name: MINIO_BROWSER
   150                value: "on"
   151              - name: MINIO_PROMETHEUS_AUTH_TYPE
   152                value: "public"
   153            ports:
   154              - name: minio
   155                containerPort: 9000
   156                protocol: TCP
   157            livenessProbe:
   158              httpGet:
   159                path: /minio/health/live
   160                port: minio
   161                scheme: "HTTP"
   162              initialDelaySeconds: 5
   163              periodSeconds: 5
   164              timeoutSeconds: 5
   165              successThreshold: 1
   166              failureThreshold: 5
   167            readinessProbe:
   168              tcpSocket:
   169                port: minio
   170              initialDelaySeconds: 5
   171              periodSeconds: 5
   172              timeoutSeconds: 1
   173              successThreshold: 1
   174              failureThreshold: 5
   175            resources:
   176              limits: { }
   177              requests: { }
   178            volumeMounts:
   179              - name: data
   180                mountPath: /data
   181    volumeClaimTemplates:
   182      - metadata:
   183          name: data
   184          labels:
   185            app.kubernetes.io/name: minio
   186            app.kubernetes.io/instance: my-minio
   187        spec:
   188          accessModes:
   189            - "ReadWriteOnce"
   190          resources:
   191            requests:
   192              storage: "50Gi"
   193          storageClassName: local-hostpath