Skip to content

Commit dba20ec

Browse files
committed
wip
1 parent 54f5e10 commit dba20ec

File tree

18 files changed

+407
-111
lines changed

18 files changed

+407
-111
lines changed

AGENTS.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
1. 找出对应语言下内容为待翻译的文件(todo.md),并翻译。
1414
1. 开始翻译中文对应的内容为目标语言,如果是外链,代码,则不翻译,并且删除在中文目录下没有的仅在目标语言目录中存在的文件。
1515
1. 翻译完成后请仔细检查,确保所有内容都已翻译,尤其是不能存在任何占位符待翻译的文档。
16-
1. docs/{locale}/sidebar.ts 请确保仅仅是语言目录不同,其他内容保持跟中文的(docs/zh/sidebar.ts)一致。
16+
1. 切记:docs/en/sidebar.ts 里的路径不需要 en 目录前缀。
17+
1. docs/{locale}/sidebar.ts 请确保仅仅是语言目录不同,其他内容保持跟中文的(docs/zh/sidebar.ts)一致。(docs/en/sidebar.ts 里的路径不需要 en 目录前缀)
1718
1. 翻译完成一个语言后,确保目标语言下的文件结构跟中文一模一样,如果发现遗漏则重复此翻译流程。
1819
1. 翻译完成后仔细对比,确保没有遗漏,每一个文件都翻译了,不要多也不要少。
1920
1. 每完成一个文件的翻译,请执行 npm run todo:de 命令,确保 todo.md 中的文件都翻译了。

docs/de/developer/sdk/other.md

Lines changed: 73 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,80 @@
11
---
2-
title: "待翻译"
3-
description: "此页面待翻译"
4-
source: "developer/sdk/other.md"
2+
title: "Andere SDKs"
3+
description: "Dieser Artikel erklärt hauptsächlich die Verwendung anderer SDKs in verschiedenen Sprachen in RustFS."
54
---
65

7-
# 待翻译
6+
# Andere SDKs
87

9-
此页面内容尚未翻译,请参考[中文版本](../../../zh/developer/sdk/other.md)
8+
Wenn AWS S3 offiziell Ihre verwendete Sprache nicht unterstützt, können Sie die folgenden Strategien verwenden, um sich mit RustFS zu verbinden:
9+
10+
## 1. Direkte HTTP-Interface-Anfragen verwenden (basierend auf S3 API-Protokoll)
11+
12+
Das S3-Protokoll ist eine standardmäßige RESTful API. Sie können die Zugriffslogik mit jeder Sprache, die HTTP-Anfragen unterstützt (z.B. C, Rust, Lua, Erlang), selbst kapseln.
13+
14+
### Wichtige Punkte umfassen
15+
16+
* **Signaturalgorithmus**: Implementierung der AWS Signature Version 4-Signatur (relativ komplex)
17+
* **Korrekte Header und Canonical Request konstruieren**
18+
* **HTTPS/HTTP-Client verwenden, um Anfragen zu senden**
19+
20+
👉 Empfohlen, Open-Source-Projekt-Signaturimplementierungen zu referenzieren, z.B.:
21+
22+
* [https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html](https://docs.aws.amazon.com/general/latest/gr/sigv4-signed-request-examples.html)
1023

1124
---
1225

13-
*This page is pending translation. Please refer to the [Chinese version](../../../zh/developer/sdk/other.md).*
26+
## 2. CLI-Tools oder Zwischendienste mit vorhandenen SDKs aufrufen
27+
28+
Wenn Sie die Signatur nicht selbst implementieren möchten, können Sie:
29+
30+
### 2.1. AWS CLI-Tools mit vorhandener Sprachunterstützung verwenden
31+
32+
Zum Beispiel durch Shell-Aufruf:
33+
34+
```bash
35+
aws s3 cp local.txt s3://mybucket/myfile.txt --endpoint-url http://rustfs.local:9000
36+
```
37+
38+
Oder mit Node.js/Python SDK einen einfachen Zwischendienst schreiben, den Ihre Sprache durch Aufruf dieses Dienstes zum Hoch-/Herunterladen verwendet.
39+
40+
### 2.2. Einen Proxy einrichten (z.B. Flask, FastAPI, Express)
41+
42+
Lassen Sie Clients, die S3 nicht unterstützen, Ihre gekapselte HTTP-API aufrufen:
43+
44+
```http
45+
POST /upload -> Dienst ruft intern SDK auf, um Objekte zu RustFS hochzuladen
46+
GET /presigned-url -> Generiert Presigned URL für Frontend/Client
47+
```
48+
49+
---
50+
51+
## 3. Drittanbieter-Community-SDKs suchen
52+
53+
Obwohl AWS kein offizielles SDK hat, haben einige Sprachcommunities inoffizielle S3-Clients entwickelt. Zum Beispiel:
54+
55+
* Haskell: `amazonka-s3`
56+
* Rust: `rusoto` (veraltet) oder `aws-sdk-rust`
57+
* OCaml: Möglicherweise durch `cohttp` selbst implementieren
58+
* Delphi: Hat kommerzielle Bibliotheken, die S3-Protokoll unterstützen
59+
60+
Die Stabilität von Community-SDKs variiert stark, und Sie sollten Aktivität, Dokumentation und Kompatibilität bewerten, bevor Sie sie verwenden.
61+
62+
---
63+
64+
## 4. Kern-Upload-Logik an plattformverwaltete Dienste delegieren
65+
66+
Zum Beispiel:
67+
68+
* Frontend (Web/Mobile) Upload-Aufgaben an Browser oder App-Seite delegieren (mit Presigned URL)
69+
* Backend verwendet Node.js/Python/Go usw. als Proxy, um Upload-Logik zu implementieren
70+
71+
---
72+
73+
## Zusammenfassung und Empfehlungen
74+
75+
| Szenario | Empfohlene Lösung |
76+
|----------|-------------------|
77+
| Benötigt vollständige Kontrolle/Eingebettete Umgebung | Signature V4 Selbstsignatur implementieren |
78+
| Schwache Sprachunterstützung, aber Shell verfügbar | Upload durch AWS CLI-Aufruf |
79+
| Kann Zwischendienst bereitstellen | Python/Node verwenden, um S3 API-Gateway zu erstellen |
80+
| Frontend-Upload | Presigned URL verwenden |

docs/de/developer/sdk/python.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ def multipart_upload(bucket_name, object_key, file_path, chunk_size=8*1024*1024)
229229
Key=object_key
230230
)
231231
upload_id = response['UploadId']
232-
232+
233233
# Datei in Teile aufteilen und hochladen
234234
parts = []
235235
with open(file_path, 'rb') as f:
@@ -238,7 +238,7 @@ def multipart_upload(bucket_name, object_key, file_path, chunk_size=8*1024*1024)
238238
chunk = f.read(chunk_size)
239239
if not chunk:
240240
break
241-
241+
242242
response = s3_client.upload_part(
243243
Bucket=bucket_name,
244244
Key=object_key,
@@ -251,7 +251,7 @@ def multipart_upload(bucket_name, object_key, file_path, chunk_size=8*1024*1024)
251251
'PartNumber': part_number
252252
})
253253
part_number += 1
254-
254+
255255
# Upload abschließen
256256
s3_client.complete_multipart_upload(
257257
Bucket=bucket_name,
@@ -260,7 +260,7 @@ def multipart_upload(bucket_name, object_key, file_path, chunk_size=8*1024*1024)
260260
MultipartUpload={'Parts': parts}
261261
)
262262
print(f"Multipart-Upload für '{object_key}' erfolgreich abgeschlossen!")
263-
263+
264264
except Exception as e:
265265
# Upload abbrechen bei Fehlern
266266
s3_client.abort_multipart_upload(

docs/de/features/hdfs/index.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,16 +158,19 @@ io_ops.inc()
158158
## Migration Roadmap
159159

160160
### Phase 1: Evaluation (1-2 Wochen)
161+
161162
- RustFS in Testumgebung bereitstellen
162163
- Kompatibilitätstests durchführen
163164
- Performance-Benchmarks erstellen
164165

165166
### Phase 2: Pilot (2-4 Wochen)
167+
166168
- Kleine Datasets migrieren
167169
- Anwendungen testen
168170
- Betriebsprozesse anpassen
169171

170172
### Phase 3: Produktion (4-8 Wochen)
173+
171174
- Vollständige Migration
172175
- Monitoring implementieren
173176
- Team schulen
Lines changed: 76 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,82 @@
11
---
2-
title: "待翻译"
3-
description: "此页面待翻译"
4-
source: "features/huaweicloud/index.md"
2+
title: "RustFS für Huawei Cloud CCE Kubernetes Service"
3+
description: "RustFS bietet konsistente Speicherschicht für Hybrid- und Multi-Cloud-Bereitstellungen auf Huawei Cloud CCE."
54
---
65

7-
# 待翻译
6+
# RustFS für Huawei Cloud CCE Kubernetes Service
87

9-
此页面内容尚未翻译,请参考[中文版本](../../../zh/features/huaweicloud/index.md)
8+
## Drei Gründe, warum Kunden RustFS auf Huawei Cloud betreiben
109

11-
---
10+
- RustFS fungiert als konsistente Speicherschicht in Hybrid- oder Multi-Cloud-Bereitstellungsszenarien
11+
- RustFS ist ein Kubernetes-natives Hochleistungsprodukt, das vorhersagbare Leistung in öffentlichen, privaten und Edge-Cloud-Umgebungen bieten kann
12+
- Das Betreiben von RustFS auf CCE ermöglicht die Kontrolle über den Software-Stack und bietet die Flexibilität, die zur Vermeidung von Vendor-Lock-in erforderlich ist
13+
14+
Huawei Cloud CCE ist ein verwalteter Service, der zum Ausführen von Kubernetes auf Huawei Cloud verwendet werden kann, ohne dass Sie Ihre eigene Kubernetes-Steuerungsebene oder -Knoten installieren, betreiben und warten müssen.
15+
16+
RustFS bietet ein portables Hochleistungs-Objektspeichersystem auf allen wichtigen Kubernetes-Plattformen (Alibaba Cloud ACK, Tanzu, Azure, GCP, Huawei Cloud CCE). Auf Huawei Cloud ist RustFS nativ in den Huawei Cloud CCE-Service integriert, wodurch es einfacher wird, Ihren eigenen großskaligen Multi-Tenant-Objektspeicher als Service zu betreiben. RustFS ist ein vollständiger Ersatz für AWS S3 Storage as a Service.
17+
18+
![RustFS Architekturdiagramm](images/sec1-1.png)
19+
20+
Im Gegensatz zu AWS S3 ermöglicht RustFS Anwendungen, sich über Multi-Cloud- und Hybrid-Cloud-Infrastrukturen zu skalieren, ohne teure Software-Umschreibungen oder proprietäre Integrationen. Da RustFS containerisiert und Kubernetes-nativ ist, kann es auf diesen Plattformen bereitgestellt werden, ohne dass spezialisierte Fähigkeiten zum Betreiben großskaliger Speicherinfrastrukturen erforderlich sind.
21+
22+
## RustFS Operator nativ in Huawei Cloud CCE-Funktionen integriert
23+
24+
### Funktionsübersicht
25+
26+
- **Speicherklassen und Tiering**
27+
- **Externes Load Balancing**
28+
- **Verschlüsselungsschlüsselverwaltung**
29+
- **Identitätsverwaltung**
30+
- **Zertifikatsverwaltung**
31+
- **Überwachung und Alarmierung**
32+
- **Protokollierung und Audit**
33+
34+
## Speicherklassen und Tiering
35+
36+
Eine wichtige Anforderung für die großskalige Bereitstellung von RustFS auf Huawei Cloud CCE ist die Fähigkeit, über Speicherklassen (NVMe, HDD, öffentliche Cloud) zu tiern. Dies ermöglicht es Unternehmen, Kosten und Leistung gleichzeitig zu verwalten.
37+
38+
RustFS unterstützt den automatischen Übergang alternder Objekte von der schnellen NVMe-Schicht zu kosteneffizienteren HDD-Schichten oder sogar zu kostengünstigen kalten öffentlichen Cloud-Speicherschichten.
39+
40+
Beim Tiering bietet RustFS einen einheitlichen Namespace über Schichten hinweg. Bewegungen über Schichten hinweg sind für Anwendungen transparent und werden durch vom Kunden bestimmte Richtlinien ausgelöst.
41+
42+
RustFS bietet sicheren Speicher in der Huawei Cloud CCE Hybrid-Cloud durch Verschlüsselung von Objekten an der Quelle und stellt sicher, dass Kunden immer die vollständige Kontrolle über ihre Daten haben. Wenn Huawei Cloud CCE in der öffentlichen Cloud bereitgestellt wird, hilft die Tiering-Funktion Huawei Cloud CCE, Daten effektiv über persistente Block-Speicher und günstigere Objektspeicherschichten zu verwalten.
43+
44+
**Mehr erfahren:**
45+
46+
## Externes Load Balancing
47+
48+
Alle Kommunikation von RustFS basiert auf HTTP, RESTful API und unterstützt jeden standardmäßigen Kubernetes-kompatiblen Ingress-Controller. Dies umfasst sowohl hardware- als auch software-definierte Lösungen. Die beliebteste Wahl ist NGINX. Installieren Sie über OperatorHub oder OpenShift Marketplace und verwenden Sie dann Annotations, um RustFS-Tenants zu exponieren.
49+
50+
## Verschlüsselungsschlüsselverwaltung
51+
52+
Es gibt keine nativen OpenShift-Schlüsselverwaltungsfunktionen. Daher empfiehlt RustFS die Verwendung von HashiCorp Vault zum Speichern von Schlüsseln außerhalb des Objektspeichersystems. Dies ist eine Best Practice für Cloud-native Anwendungen.
53+
54+
Für alle Produktionsumgebungen empfehlen wir, standardmäßig Verschlüsselung auf allen Speicher-Buckets zu aktivieren. RustFS verwendet AES-256-GCM oder ChaCha20-Poly1305-Verschlüsselung zum Schutz der Datenintegrität und -vertraulichkeit mit vernachlässigbaren Auswirkungen auf die Leistung.
55+
56+
RustFS unterstützt alle drei Server-Side-Encryption-Modi (SSE-KMS, SSE-S3 und SSE-C). SSE-S3 und SSE-KMS sind mit dem serverseitigen KMS integriert, während SSE-C clientseitig bereitgestellte Schlüssel verwendet.
57+
58+
RustFS wird dieses KMS verwenden, um seinen internen Schlüsselverschlüsselungsserver (KES-Service) für hochperformante pro-Objekt-Verschlüsselung zu bootstrappen. Jeder Tenant führt seinen eigenen KES-Server in einem isolierten Namespace aus.
59+
60+
## Identitätsverwaltung
61+
62+
Beim Betreiben von RustFS auf OpenShift können Kunden Single Sign-On (SSO) über Drittanbieter-OpenID Connect/LDAP-kompatible Identitätsanbieter wie Keycloak, Okta/Auth0, Google, Facebook, ActiveDirectory und OpenLDAP verwalten. RustFS empfiehlt den OpenID Connect-kompatiblen Keycloak IDP.
63+
64+
Externe IDPs ermöglichen es Administratoren, Benutzer-/Anwendungsidentitäten zentral zu verwalten. RustFS baut auf dem IDP auf und bietet AWS IAM-ähnliche Benutzer-, Gruppen-, Rollen-, Richtlinien- und Token-Service-APIs. Die Fähigkeit einer von der Infrastruktur unabhängigen einheitlichen Identitäts- und Zugriffsverwaltung (IAM)-Schicht bietet erhebliche architektonische Flexibilität.
65+
66+
## Zertifikatsverwaltung
67+
68+
Der gesamte Datenverkehr von Anwendungen zu RustFS, einschließlich Knoten-zu-Knoten-Datenverkehr, wird mit TLS verschlüsselt. TLS-Zertifikate werden zum Schutz der Netzwerkkommunikation und zur Etablierung der Identität von Netzwerkverbindungsressourcen wie RustFS-Serverdomänen verwendet.
69+
70+
RustFS ist in den OpenShift-Zertifikatsmanager integriert, sodass Sie den RustFS-Operator verwenden können, um Zertifikate für RustFS-Tenants automatisch zu konfigurieren, zu verwalten und zu aktualisieren. Tenants sind vollständig voneinander isoliert in ihren eigenen Kubernetes-Namespaces mit eigenen Zertifikaten für erhöhte Sicherheit.
71+
72+
## Überwachung und Alarmierung
73+
74+
RustFS empfiehlt die Verwendung von Grafana, den in OpenShift-user-workload-monitoring installierten Plattformüberwachungskomponenten oder anderen OpenShift-Containerüberwachungstools zur Verbindung mit RustFS. RustFS veröffentlicht alle vorstellbaren speicherbezogenen Prometheus-Metriken, von Speicher-Bucket-Kapazität bis zu Zugriffsmetriken. Diese Metriken können in jedem Prometheus-kompatiblen Tool oder in der RustFS-Konsole gesammelt und visualisiert werden.
75+
76+
Externe Überwachungslösungen scrapen regelmäßig den RustFS Prometheus-Endpunkt. RustFS empfiehlt die Verwendung von Grafana oder den in OpenShift-user-workload-monitoring installierten Plattformüberwachungskomponenten zur Verbindung mit RustFS. Dieselben Tools können auch verwendet werden, um Baselines zu etablieren und Benachrichtigungsalarmschwellenwerte festzulegen, die dann an Benachrichtigungsplattformen wie PagerDuty, Freshservice oder sogar SNMP weitergeleitet werden können.
77+
78+
## Protokollierung und Audit
79+
80+
Die Aktivierung des RustFS-Audits generiert Protokolle für jeden Vorgang im Objektspeichercluster. Zusätzlich zu Audit-Protokollen protokolliert RustFS auch Konsolenfehler für operative Fehlerbehebung.
1281

13-
*This page is pending translation. Please refer to the [Chinese version](../../../zh/features/huaweicloud/index.md).*
82+
RustFS unterstützt die Ausgabe von Protokollen an den Elastic Stack (oder Drittanbieter) zur Analyse und Alarmierung.

docs/de/todo.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,25 @@
11
# 德语待翻译任务列表
22

3-
> 最后更新: 2025/9/3 00:18:10
4-
> 总计: 14 个文件待翻译
3+
> 最后更新: 2025/9/3 00:26:04
4+
> 总计: 11 个文件待翻译
55
66
## 📋 任务总览
77

8-
- **developer**: 3 个文件
9-
- **features**: 6 个文件
8+
- **developer**: 2 个文件
9+
- **features**: 5 个文件
1010
- **management**: 1 个文件
11-
- **troubleshooting**: 3 个文件
11+
- **troubleshooting**: 2 个文件
1212
- **upgrade-scale**: 1 个文件
1313

1414
## 📝 待翻译文件列表
1515

1616
### developer
1717

18-
- [ ] [developer/sdk/other.md](./developer/sdk/other.md) (82 行)
1918
- [ ] [developer/sdk/rust.md](./developer/sdk/rust.md) (193 行)
2019
- [ ] [developer/sdk/typescript.md](./developer/sdk/typescript.md) (131 行)
2120

2221
### features
2322

24-
- [ ] [features/huaweicloud/index.md](./features/huaweicloud/index.md) (77 行)
2523
- [ ] [features/openshift/index.md](./features/openshift/index.md) (77 行)
2624
- [ ] [features/qcloud/index.md](./features/qcloud/index.md) (77 行)
2725
- [ ] [features/sql-server/index.md](./features/sql-server/index.md) (504 行)
@@ -34,7 +32,6 @@
3432

3533
### troubleshooting
3634

37-
- [ ] [troubleshooting/driver.md](./troubleshooting/driver.md) (154 行)
3835
- [ ] [troubleshooting/healing.md](./troubleshooting/healing.md) (74 行)
3936
- [ ] [troubleshooting/node.md](./troubleshooting/node.md) (95 行)
4037

0 commit comments

Comments
 (0)