Sobes.tech
Middle

Bir isim alanındaki uygulama, kümedeki başka bir isim alanındaki uygulamayı görebilir mi?

sobes.tech yapay zeka

AI'dan gelen yanıt

Evet, farklı isim alanlarındaki uygulamalar küme içinde birbirlerini görebilir.

Kubernetes'te, isim alanları kaynakları düzenlemeye yardımcı olan mantıksal izolasyonlardır. Varsayılan olarak ağ izolasyonu değildirler.

İsim alanları arasındaki etkileşim, Kubernetes DNS servisleri aracılığıyla mümkündür.

namespace-a içindeki bir uygulama, my-service adlı hizmete, tam nitelikli alan adı (FQDN) kullanarak erişebilir:

<hizmet-ismi>.<isim-alanı-ismi>.svc.cluster.local

Örnek: my-service.namespace-b.svc.cluster.local

Ayrıca, kümedeki DNS uygun şekilde yapılandırılmışsa, kısaltılmış bir isim de kullanılabilir, ancak FQDN her zaman isim alanları arası etkileşim için daha güvenilirdir.

# namespace-b'deki Service örneği
apiVersion: v1
kind: Service
metadata:
  name: my-service # Hizmet adı
  namespace: namespace-b # Hizmetin isim alanı
spec:
  selector:
    app: my-app # Hizmetin yöneldiği podlar için seçimci
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
# namespace-a'daki ve namespace-b'daki hizmete erişen Pod örneği
apiVersion: v1
kind: Pod
metadata:
  name: consumer-pod
  namespace: namespace-a # Tüketici pod'unun isim alanı
spec:
  containers:
  - name: consumer-container
    image: my-consumer-image
    command: ["curl", "my-service.namespace-b.svc.cluster.local"] # Diğer isim alanındaki hizmetin adresi

Ayrıca, Ağ Politikaları (Network Policies), isim alanları arasındaki etkileşimi kısıtlamak için kullanılabilir. Varsayılan olarak, böyle politikalar yoksa, etkileşim izinlidir.

Ağ politikaları, isim alanları ve etiketlere göre birbirleriyle etkileşime girebilecek pod gruplarını tanımlar.