Kubernetes - maliyeti azaltmak için GCE Yük Dengeleyiciyi kullanmaktan kaçınabilir miyim?


11

Gitlab-CI kullanarak GCE üzerinde bir Kubernetes kümesi dağıtıyorum. Maliyeti minimumda tutmak istiyorum - işte şu anki kurulumum:

  • Düğümler 3 f1-microörnek üzerinde çalışır
  • TraefikServiceType ile yapılandırılmış bir sistem bölmesi çalışıyorLoadBalancer
  • Joker karakterli dns yapılandırıldı
  • 1 postgres bölme
  • ingressTraefik için yapılandırılmış 1 web sunucusu bölmesi

Dağıtımımın maliyetini azaltmak istiyorum. Maliyetin çoğu GCE yük dengeleyicisinde bulunur. GCE'de Yük Dengeleyici yerine genel bir IP adresi kullanabilmemin bir yolu var mı? Öyleyse, kümeye ayrılan IP adresini kullanabilir (statik IP ayırmak yerine)?

Başka bir deyişle, bir yük dengeleyici olmadan GCE kullanarak bir Kubernetes hizmetine geçici bir ip bağlamanın bir yolu var mı?

Genel olarak GCE'de maliyeti düşürecek farklı şekilde yapabileceğim başka bir yapılandırma var mı?


1
Hizmetinizi yalnızca NodePort hizmet türünü kullanarak açığa çıkarabilirsiniz, ancak bu dağıtımınıza bazı sınırlamalar getirecektir. Daha fazla bilgi için bu bağlantıyı ziyaret edin .
Kamran

Yanıtlar:


11

Evet, ExternalIP'ler aracılığıyla. Bunun, harici IP'nin atandığını söyleyen düğüm başarısız olursa, hizmetinizin çökeceği anlamına geleceğini unutmayın, ancak yalnızca 1 master çalıştırıyorsanız, muhtemelen bununla pek ilgilenmezsiniz.

Örnek hizmet:

apiVersion: v1
kind: Service
metadata:
  name: myapp
spec:
  ports:
    - port: 80
      protocol: TCP
  selector:
    app: myapp
  externalIPs:
    - a.b.c.d

IP'nin GCE örneğinin dahili IP'si olması gerekir (Bunun nedeni, GCE DNAT'ın dahili IP'lere giden trafiği içermesidir). Hizmete düğümün atanmış harici IP'si üzerinden erişilebilir olmalıdır.

Muhtemelen giriş denetleyicinizin hizmetini değiştirmek isteyeceksiniz, böylece tüm uygulamalarınızı tek bir IP üzerinden yönlendirebilirsiniz.


2
DNAT konusunu öğrendikten sonra, GCE örneğine belirli bağlantı noktalarında trafiğe izin vermek için bir güvenlik duvarı kuralı yapılandırmam gerektiğini fark ettim. Bundan sonra önerinizi başarıyla uygulayabildim. Ben de bir NodePortsürümü başarıyla test ettim
Mitkins

2

Maliyet ve satıcı kilitlenmesi nedeniyle, bulut yük dengeleyicilerini kullanana kadar kullanmamayı tercih ederim.

Bunun yerine şunu kullanıyorum: https://kubernetes.github.io/ingress-nginx/deploy/

Bu sizin için bir yük dengeleyici çalıştıran bir kapsül. Bu sayfada GKE'ye özgü kurulum notları bulunmaktadır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.