-
Notifications
You must be signed in to change notification settings - Fork 14
Expand file tree
/
Copy pathtenant-4nodes.yaml
More file actions
81 lines (75 loc) · 2.41 KB
/
Copy pathtenant-4nodes.yaml
File metadata and controls
81 lines (75 loc) · 2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# RustFS Tenant - 4-node distributed deployment (Kind multi-node + local storage)
# Architecture: 4 servers x 2 volumes = 8 drives
# Requires: kind-rustfs-cluster (3 workers), StorageClass local-storage, 12 PVs
apiVersion: rustfs.com/v1alpha1
kind: Tenant
metadata:
name: example-tenant
namespace: rustfs-system
labels:
app: rustfs
spec:
image: rustfs/rustfs:latest
# Kind demos load the server image into node-local containerd. Avoid forcing
# Docker Hub access for the `latest` tag when the image is already present.
imagePullPolicy: IfNotPresent
podManagementPolicy: Parallel
# Credentials (optional - RustFS has built-in defaults if not specified)
credsSecret:
name: rustfs-creds-secret
pools:
- name: primary
servers: 4
persistence:
volumesPerServer: 2
volumeClaimTemplate:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: local-storage
labels:
app: rustfs
environment: production
annotations:
description: "RustFS 4-node distributed storage volumes"
# Schedule pods on worker nodes with rustfs-storage label
nodeSelector:
rustfs-storage: "true"
# Spread pods across worker nodes (preferred)
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchExpressions:
- key: rustfs.tenant
operator: In
values:
- example-tenant
- key: rustfs.pool
operator: In
values:
- primary
topologyKey: kubernetes.io/hostname
env:
- name: RUST_LOG
value: info
# Kind local PVs are backed by directories on the same Docker node disk.
# This is acceptable for local demos only; production must use distinct disks.
- name: RUSTFS_UNSAFE_BYPASS_DISK_CHECK
value: "true"
---
# Credentials Secret for RustFS (keys must be at least 8 characters)
# Example: accesskey admin123, secretkey admin12345 (dev only)
apiVersion: v1
kind: Secret
metadata:
name: rustfs-creds-secret
namespace: rustfs-system
type: Opaque
stringData:
accesskey: admin123
secretkey: admin12345