CloudSigma PaaS kullanıcıların uygulamalarını genel bir IP adresi kullanarak dış dünyaya açmalarına olanak tanır. Bu adresin, Kubernetes kümesi ortamındaki bir düğüme bağlanması gerekir. CloudSigma PaaS ortamında bunu gerçekleştirmenin iki yolu vardır:
- Yollardan biri, genel IP'yi özel bir yük dengeleyiciye bağlamaktır.

- Diğer bir yol ise genel IP'yi Kubernetes'teki bir Worker düğümüne bağlamaktır.
Bu eğitimde, bu yaklaşımlardan birini kullanarak Kubernetes uygulama erişimini nasıl elde edeceğiniz konusunda size rehberlik edeceğiz.
Kubernetes Uygulama Erişimi için Özel Yük Dengeleyici Ayarlama
İlk olarak, uygulama erişimi için özel bir yük dengeleyici kurmayı öğreneceğiz:
- Kubernetes kümesini bulup yüklemek için CloudSigma Marketplace alanına gidin. Ardından uygulamanızı dağıtın. Örnek olarak, Jakarta EE Cargo Tracker.
- uygulamasını dağıtacağız. Kubernetes kümenizin yanında, Ortam Topolojisini Değiştir seçeneğini bulun ve tıklayın. Ekranınızda açılan pencerede, Özel bir Yük Dengeleyici düğümü ekleyin. Ardından, buna şu şekilde bir genel IP adresi bağlayın:

Örneğimizde NGINX yük dengeleyici düğümünü kullandık. HAProxy, LS Web ADC, ve Varnish dahil olmak üzere başka birçok yük dengeleyici mevcuttur. Hangisini kullanmayı tercih ederseniz onu seçebilirsiniz.
Topolojiyi değiştirmeyi bitirdiğinizde, uygulanan değişiklikler şu şekilde görünecektir:


3. Sonraki adım, özel bir alan adı için bir A kaydı oluşturmaktır. Önceki adımlarda kullandığınız genel IP adresinin aynısını kullanacaksınız. Bu örnekte, cargo-tracker.cloudsigma.website:

adresini kullanacağız. 4. Artık özel alan adımızı K8s kümesine bağlayabiliriz. Bunu yapmak için, güvenilir bir Let’s Encrypt SSL sertifikası düzenlenmesi için bir istek göndereceğiz:
- Yük Dengeleyicinin üzerine gelin ve Eklentiler.
- seçeneğine tıklayın. Let’s Encrypt Free SSL:

- eklentisini bulun ve yükleyin. Yapılandırmada, özel alan adınızı girin ve ardından Yükle seçeneğine tıklayın. Bizim durumumuzda alan adı şu şekildedir:

Son olarak, artık özel alan adını kullanarak erişebileceğimiz uygulamamızı hazır hale getirdik: https://cargo-tracker.cloudsigma.website. Ayrıca uygulamamızdaki trafiği geçerli ve güvenilir bir Let’s Encrypt SSL sertifikası ile şifreledik.
Kubernetes Worker Düğümü Genel IP Adresini Kullanarak Uygulama Erişimi Elde Etme
Sırada, uygulamayı Kubernetes kümesinin dışından erişilebilir kılmak için uygulayabileceğiniz alternatif yaklaşıma bakacağız. Temel olarak, uygulamayı doğrudan erişilebilir hale getirmek için Kubernetes kümesindeki bir worker düğümüne genel bir IP adresini nasıl bağlayacağımızı öğreneceğiz:
Daha önce size gösterdiğimiz aynı örnekle devam edelim. Cargo Tracker uygulamamızı dağıttığımız kümenin aynısını kullanacağız. İşte nasıl ilerleyeceğiniz:
1. Ortam Topolojisini Değiştir seçeneğine tıklayın. Genel IP adresini worker düğümüne ekleyin:

2. Ardından, özel alan adınız için bir A kaydı oluşturun ve bunu az önce eklediğiniz IP ile eşleştirin. Önceki bölümde kullanılandan farklı bir alan adı kullandığınızdan emin olun. Örneğin, şu alan adını kullanacağız: cargo-tracker-worker.cloudsigma.website:

3. Control Plane veya Master düğümünün üzerine gelin ve Eklentiler seçeneğine tıklayın. Certificate Manager eklentisini bulun ve yükleyin. Bu, LoadBalancer hizmet türüne sahip bir NGINX ingress denetleyicisinin yanı sıra bir cert-manager denetleyicisi yüklemelidir. İkincisi, worker düğümünüzle ilişkili IP adresini içerir. “nginx-cert” ingress sınıfı kaynaklarına hizmet edecektir:

4. Belirtilen alana tercih ettiğiniz alan adını girin ve Uygula:

5. Kurulum sırasında eklenti, helloworld-cert. adında bir test uygulaması da yükler. Kullandığı kaynakları şu komutlarla kolayca silebilirsiniz:
|
1 2 3 4 5 |
$ kubectl delete deploy hello-cert-manager $ kubectl delete svc hello-cert-manager $ kubectl delete ing helloworld-cert |
Bu komutlar, SSH (SFTP) veya Web SSH Gate kullanılarak Control Plane veya Master Node üzerinde girilmeli ve çalıştırılmalıdır.. İmleci düğümün üzerine getirin ve yanındaki Web SSH seçeneğine tıklayarak geçide erişin.
Diğer seçenek ise imleci Control Plane veya Master Node üzerine getirip Config seçeneğine tıklamaktır. Buradan, SFTP/SSH Gate bölümüne gidin ve verilen talimatları izleyin.
6. Uygulama SSL trafiğini sonlandırmak ve cargo-tracker servisine yönlendirmeyi yönetmek için, cargo-tracker-worker adında bir ingress kaynağı oluşturmamız gerekiyor. Diyelim ki cargo-tracker-worker-ingress.yaml dosyasını kullanıyoruz. Bir dosya oluşturmak için vi gibi bir düzenleyici kullanabilir ve ardından aşağıdaki kodu yapıştırabilirsiniz:
|
1 |
vi cargo-tracker-worker-ingress.yaml |
Bundan sonra, aşağıdaki gibi devam edin:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: cargo-tracker-worker namespace: default annotations: kubernetes.io/ingress.class: nginx-cert cert-manager.io/cluster-issuer: "letsencrypt-prod" kubernetes.io/tls-acme: "true" nginx.ingress.kubernetes.io/affinity: "cookie" nginx.ingress.kubernetes.io/affinity-mode: "persistent" nginx.ingress.kubernetes.io/session-cookie-expires: "172800" nginx.ingress.kubernetes.io/session-cookie-max-age: "172800" spec: tls: - hosts: - cargo-tracker-worker.cloudsigma.website secretName: external-domain-tls rules: - host: cargo-tracker-worker.cloudsigma.website http: paths: - path: / pathType: ImplementationSpecific backend: service: name: cargo-tracker port: number: 80 |
|
1 |
$ kubectl apply -f cargo-tracker-worker-ingress.yaml |
7. Bu ingress'i oluşturduğunuzda, Certificate Manager yeni alan adınız için otomatik olarak bir Let’s Encrypt SSL sertifikası düzenleyecektir. Uygulamanızın, bizim durumumuzda https://cargo-tracker-worker.cloudsigma.website olan yeni özel alan adında kullanılabilir olup olmadığını kontrol etmeden önce sisteme bir veya iki dakika süre tanıyın.
Ve işte bu kadar! Bu adımları izleyerek uygulamanızı iki farklı yaklaşım kullanarak dışarıya açtınız. Sonuç olarak, iki ingress göreceksiniz. Bizim için bunlar:
- cargo-tracker
Bu ingress, özel yük dengeleyicinizin genel IP'si üzerinden gelen uygulama trafiğine hizmet eder.
- cargo-tracker-worker
Bu ingress, doğrudan K8s çalışan (worker) düğümüne bağlı olan IP'den gelen uygulama trafiğine hizmet edecek şekilde ayarlanmıştır.
Şu şekilde görüneceklerdir:

Hangi tür uygulamayı tercih ettiğinize bağlı olarak, canlı ortamda yalnızca bir ingress'e ihtiyacınız olacaktır. CloudSigma PaaS, kullanıcılarına uygulamalarının ihtiyaç duyduğu şekilde yük dengeleme gerçekleştirmeleri için bir dizi araca erişim sunar. Platformdaki yük dengeleme hakkında daha fazla bilgi edinmekten çekinmeyin. Ayrıca, mevcut diğer araçların yanı sıra NGINX ve HAProxy gibi araçlarla yük dengelemenin temelleri hakkında ayrıntılı kılavuzlarımız da bulunmaktadır.
Dilerseniz CloudSigma’ın PaaS platformunu a try with our 7 günlük ücretsiz deneme sürümümüzle deneyebilir veya bizimle iletişime geçebilirsiniz - eğer size daha fazla ayrıntı ve platform demosu sunmamızı isterseniz.

Yorumlar
Henüz yorum yapılmamış. İlk siz olun.