Docker ile RustFS Kurulumu
RustFS, yüksek performanslı, %100 S3 uyumlu açık kaynak dağıtık nesne depolama sistemidir. Tek düğüm tek disk (SNSD) dağıtım modunda, arka uç sıfır hata düzeltme doğrulaması kullanır ve ek veri yedekliliği sağlamaz, bu da yerel test ve küçük ölçekli senaryolar için uygundur. Bu makale, RustFS resmi Linux ikili paketini temel alarak, özel Dockerfile ile RustFS'i ve çalışma zamanı ortamını konteynere paketler, veri hacimlerini ve ortam değişkenlerini yapılandırır ve hizmeti tek tıkla başlatabilir.
I. Ön Gereksinimler
- Ana Bilgisayar Gereksinimleri
- Docker (≥ 20.10) kurulu olmalı ve görüntüleri çekebilmeli ve konteynerleri çalıştırabilmeli
- Nesne verilerini bağlamak için yerel yol
/mnt/rustfs/data
(veya özel yol)
- Ağ ve Güvenlik Duvarı
- Ana bilgisayarın 9000 portunun dış dünyaya açık olduğundan emin olun (veya özel port tutarlılığı)
- Yapılandırma Dosyası Hazırlığı
- Ana bilgisayarda
/etc/rustfs/config.toml
dosyasında, dinleme portu, yönetici hesabı, veri yolu vb. tanımlayın (Bkz. Bölüm IV)
II. RustFS Resmi Görüntüsünü Hızlı Çekme
Resmi Ubuntu temel görüntüsünü kullanarak RustFS resmi görüntüsünü hızlıca çekin:
docker pull rustfs/rustfs
III. Ortam Yapılandırması Yazma
Ana bilgisayarda /etc/rustfs/config.toml
yapılandırma dosyasını oluşturun, örnek içerik:
RUSTFS_ACCESS_KEY=rustfsadmin
RUSTFS_SECRET_KEY=rustfsadmin
RUSTFS_VOLUMES="/data/rustfs{0...3}"
RUSTFS_ADDRESS=":9000"
#RUSTFS_SERVER_DOMAINS="play.rustfs.com:7000"
RUSTFS_CONSOLE_ENABLE=true
RUSTFS_OBS_ENDPOINT=""
RUSTFS_TLS_PATH="/opt/tls"
Not: Yapılandırma öğesi formatı ve varsayılan değerler için lütfen resmi Linux kurulum belgelerine bakın.
IV. RustFS Konteynerini Çalıştırma
RustFS SNSD Docker çalışma yöntemi, yukarıdaki görüntü ve yapılandırmayı birleştirerek:
docker run -d \
--name rustfs_local \
-p 9000:9000 \
-v /mnt/rustfs/data:/data \
rustfs/rustfs:latest \
/data
Parametre açıklamaları:
-p 9000:9000
: Ana bilgisayar 9000 portunu konteynere eşle-v /mnt/rustfs/data:/data
: Veri hacmini bağla--name rustfs_local
: Konteyner özel adı-d
: Arka planda çalıştır
Tam Parametre Yapılandırma Örneği
docker run -d \
--name rustfs_container \
-p 9000:9000 \
-v /mnt/rustfs/data:/data \
-e RUSTFS_ACCESS_KEY=rustfsadmin \
-e RUSTFS_SECRET_KEY=rustfsadmin \
-e RUSTFS_CONSOLE_ENABLE=true \
-e RUSTFS_SERVER_DOMAINS=example.com \
rustfs/rustfs:latest \
--address :9000 \
--console-enable \
--server-domains example.com \
--access-key rustfsadmin \
--secret-key rustfsadmin \
/data
Parametre Açıklaması ve Karşılık Gelen Yöntem
Ortam Değişkeni Yöntemi (önerilen):
bash-e RUSTFS_ADDRESS=:9000 \ -e RUSTFS_SERVER_DOMAINS=example.com \ -e RUSTFS_ACCESS_KEY=rustfsadmin \ -e RUSTFS_SECRET_KEY=rustfsadmin \ -e RUSTFS_CONSOLE_ENABLE=true \
Komut Satırı Parametresi Yöntemi:
--address :9000 \ --server-domains example.com \ --access-key rustfsadmin \ --secret-key rustfsadmin \ --console-enable \
Gerekli Parametreler:
<VOLUMES>
: Komutun sonunda belirtin, örn./data
Yaygın Yapılandırma Kombinasyonları
Temel Yapılandırma:
bashdocker run -d \ -p 9000:9000 \ -v /mnt/data:/data \ rustfs/rustfs:latest \ /data
Konsolu Etkinleştir:
bashdocker run -d \ -p 9000:9000 \ -v /mnt/data:/data \ -e RUSTFS_CONSOLE_ENABLE=true \ rustfs/rustfs:latest \ ./target/debug/rustfs \ --console-enable \ /data
Özel Kimlik Doğrulama Anahtarları:
bashdocker run -d \ -p 9000:9000 \ -v /mnt/data:/data \ -e RUSTFS_ACCESS_KEY=rustfsadmin \ -e RUSTFS_SECRET_KEY=rustfsadmin \ rustfs/rustfs:latest \ ./target/debug/rustfs \ --access-key rustfsadmin \ --secret-key rustfsadmin \ /data
Dikkat Edilecek Noktalar
Port eşleme tutarlı olmalı:
- Hizmet portu varsayılan olarak 9000 (
-p 9000:9000
)
- Hizmet portu varsayılan olarak 9000 (
Veri hacmi kalıcı olmalı:
-v /host/path:/container/path
Ortam değişkenleri ve komut satırı parametreleri karışık kullanılabilir, ancak komut satırı parametreleri daha yüksek önceliğe sahiptir
Eğer TLS kullanıyorsanız, ek sertifika yolu bağlamanız gerekir:
bash-v /path/to/certs:/certs \ -e RUSTFS_TLS_PATH=/certs \
V. Doğrulama ve Erişim
- Konteyner durumunu ve günlüklerini görüntüleme:
docker logs rustfs_local
Günlükler hizmetin başarıyla başlatıldığını ve 9000 portunu dinlediğini göstermelidir.
- S3 API'sini test etme:
mc
veya diğer S3 istemcilerini kullanarak:
mc alias set rustfs http://localhost:9000 rustfsadmin ChangeMe123!
mc mb rustfs/mybucket
mc ls rustfs
Bucket başarıyla oluşturulup listelenebiliyorsa, dağıtım etkili olmuştur.
VI. Diğer Öneriler
- Üretim ortamı önerileri:
Çok düğümlü dağıtım mimarisi kullanın
Günlük rotasyon stratejisi yapılandırın
Düzenli yedekleme stratejisi ayarlayın
- Depolama önerileri:
Yerel SSD/NVMe depolama kullanın
Ağ dosya sistemi (NFS) kullanmaktan kaçının
Depolama dizininin özel erişimini garanti edin
Özet
Bu makale, RustFS tek düğüm tek disk konteynerleştirme en iyi uygulamalarını birleştirerek, Docker ile RustFS görüntüsünü nasıl oluşturacağınızı ve SNSD ortamını nasıl dağıtacağınızı detaylı olarak gösterir. Bu çözüm hızlı başlatma ve deneme için kolaydır, daha sonra Kubernetes, Swarm vb. platformlarda aynı yaklaşımı kullanarak çok düğümlü çok diskli üretim seviyesi kümeye genişletilebilir.