Installation

Installieren Sie RustFS im Standalone- oder verteilten Modus mit dem offiziellen Helm-Chart auf Kubernetes.

Diese Anleitung bezieht das offizielle RustFS-Chart aus dem Quellcode oder dem Helm-Repository, installiert es und prüft den Zugriff auf die S3-API und die Console (Weboberfläche).

Anforderungen

KomponenteAnforderung
HelmVersion 3
KubernetesEin mit kubectl erreichbarer Cluster
StorageClassDynamische PVC-Bereitstellung für RustFS-Daten
RustFS1.0.0-alpha.69 oder neuer

Ein Ingress-Controller ist optional. Wenn Sie Ingress aktivieren, setzen Sie ingress.className auf den Controller in Ihrem Cluster, zum Beispiel nginx oder traefik.

Prüfen Sie den aktiven Cluster und die verfügbaren StorageClasses:

kubectl config current-context
kubectl get storageclass
helm version --short

Chart beziehen

Wählen Sie, wie Helm auf das Chart zugreift. Beide Optionen setzen RUSTFS_CHART, das die Installationsbefehle weiter unten verwenden.

Klonen Sie das RustFS-Quell-Repository, um das Chart unter helm/rustfs zu verwenden:

git clone https://github.com/rustfs/rustfs.git
cd rustfs
export RUSTFS_CHART=./helm/rustfs

Standalone-Modus installieren

Legen Sie eine Values-Datei für eine Entwicklungsumgebung mit einem Pod an:

standalone-values.yaml
mode:
  standalone:
    enabled: true
  distributed:
    enabled: false

secret:
  rustfs:
    access_key: "<your-access-key>"
    secret_key: "<your-secret-key>"

storageclass:
  name: standard
  dataStorageSize: 10Gi
  logStorageSize: 1Gi

ingress:
  enabled: false

Ersetzen Sie standard durch eine StorageClass in Ihrem Cluster und installieren Sie anschließend:

helm upgrade --install rustfs "$RUSTFS_CHART" \
  --namespace rustfs \
  --create-namespace \
  -f standalone-values.yaml

Verteilten Modus installieren

Setzen Sie für einen verteilten Cluster die Anzahl der Pods und Laufwerke ausdrücklich. Die Gesamtzahl der Datenlaufwerke entspricht replicaCount * drivesPerNode.

distributed-values.yaml
mode:
  standalone:
    enabled: false
  distributed:
    enabled: true

replicaCount: 4
drivesPerNode: 2

secret:
  rustfs:
    access_key: "<your-access-key>"
    secret_key: "<your-secret-key>"

storageclass:
  name: standard
  dataStorageSize: 100Gi
  logStorageSize: 1Gi

ingress:
  enabled: false

Das Beispiel erzeugt vier Pods und acht Daten-PVCs. Stellen Sie sicher, dass der Cluster alle Pods einplanen und alle PVCs bereitstellen kann, und installieren Sie anschließend:

helm upgrade --install rustfs "$RUSTFS_CHART" \
  --namespace rustfs \
  --create-namespace \
  -f distributed-values.yaml

Topologie vor der Installation festlegen

Kubernetes erlaubt keine Aktualisierung der volumeClaimTemplates eines StatefulSet. Eine spätere Änderung von drivesPerNode erfordert, dass das StatefulSet neu angelegt oder die Installation neu ausgeführt wird.

RustFS prüfen und erreichen

kubectl -n rustfs get pods,pvc,services
kubectl -n rustfs rollout status statefulset/rustfs

Der Standalone-Modus erzeugt ein Deployment anstelle eines StatefulSet. Prüfen Sie es mit:

kubectl -n rustfs rollout status deployment/rustfs

Leiten Sie die S3-API und die Console auf Ihre Arbeitsstation weiter:

kubectl -n rustfs port-forward svc/rustfs 9000:9000 9001:9001

Verwenden Sie http://localhost:9000 als S3-Endpunkt und öffnen Sie http://localhost:9001 für die Console.

Wichtige Values

WertZweckChart-Standard
mode.standalone.enabledStandalone-Modus mit einem Pod aktivierenfalse
mode.distributed.enabledVerteilten Modus aktivierentrue
replicaCountAnzahl der Pods im verteilten Modus4
drivesPerNodeDaten-PVCs pro PodAus replicaCount abgeleitet
storageclass.nameStorageClass für PVCslocal-path
storageclass.dataStorageSizeGröße jedes Daten-PVC256Mi
storageclass.logStorageSizeGröße jedes Protokoll-PVC256Mi
service.endpoint.portPort der S3-API9000
service.console.portConsole-Port9001

Wir empfehlen, Speichergrößen ausdrücklich zu setzen. Die Chart-Standards sind nur für eine grundlegende Evaluierung gedacht.

On this page