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.