Ana içeriğe atla
Bu kurulum yöntemi, production ortamları için önerilmez.MongoDB, yalnızca tek bir replica olarak kurulur ve veriler, hostPath kullanılarak control-plane rolüne sahip olmayan ilk uygun worker node üzerinde depolanır.Eğer cluster’da yalnızca bir node varsa, pod’un bu node üzerinde çalışabilmesi için aşağıdaki komutlarla node üzerindeki control-plane etiketi ve tainti kaldırılmalıdır:
kubectl label node <node-name> node-role.kubernetes.io/control-plane-
kubectl taint nodes <node-name> node-role.kubernetes.io/control-plane:NoSchedule-
Verilerin node bağımsız bir şekilde saklanabilmesi için NFS, Ceph, Longhorn veya bir bulut tabanlı depolama çözümü kullanılması önerilir.

Ön Koşullar

Kuruluma başlamadan önce aşağıdaki gereksinimlerin karşılandığından emin olun:
  • Kubernetes cluster’ının hazır ve erişilebilir olması
  • Helm’in ortamınızda kurulu olması
Helm kurulu değilse, Helm Kurulum Dokümanı sayfasını inceleyebilirsiniz.

1) Reponun Eklenmesi

helm repo add mongodb-charts https://apinizer1.github.io/mongodb-charts
helm repo update

2) Mongo Kurulumu

Aşağıdaki komutu çalıştırarak herhangi bir özel ayar yapmadan MongoDB kurulumunu gerçekleştirebilirsiniz:
helm install mongodb-charts mongodb-charts/mongo
Not: Mevcut kurulumda mongo:8.0 sürümü kullanılmaktadır. Daha güncel bir sürüm tercih etmek isterseniz mongo:8.0 sürümünü kullanabilirsiniz. Tüm Mongodb sürümlerini Docker Hub üzerinden inceleyebilirsiniz.

Opsiyonel Parametreler

SeçenekVarsayılan DeğerAçıklama
image.mongomongo:8.0MongoDB imajının sürümünü belirtir.
Farklı bir MongoDB sürümü kullanmak isterseniz, Helm kurulum komutunuzda aşağıdaki örnekteki gibi opsiyonel parametreyi ekleyerek sürümünü belirtebilirsiniz:
helm install mongo-charts mongo-charts/mongo --set image.mongo=mongo:latest

3) Kurulum Bilgileri

AlanAçıklama
TZ (Zaman Dilimi)Europe/Istanbul – Container içindeki TZ ortam değişkeni ile ayarlanmıştır. Bu sayede uygulama ve MongoDB logları Türkiye saatine göre çalışır.
Veritabanıapinizerdb
Kullanıcı adı`kubectl get secret -n mongo mongodb-secret -o jsonpath=“{.data.MONGO_ROOT_USERNAME}“base64 —decode; echo`
Parola`kubectl get secret -n mongo mongodb-secret -o jsonpath=“{.data.MONGO_ROOT_PASSWORD}“base64 —decode; echo`
Port25080
Data dizini/mnt/data bu dizin, host makinenizdeki path ile eşleştirilir (hostPath). Böylece veriler host üzerinde tutulur ve kalıcı olur.