Sobes.tech
Middle

Tud-e egy névtérből származó alkalmazás látni egy másik névtérben lévő alkalmazást a klaszteren belül?

sobes.tech MI

Válasz az MI-től

Igen, a különböző névtérben lévő alkalmazások láthatják egymást a klaszteren belül.

A Kubernetesben a nevekterek logikai izolációk, amelyek segítenek az erőforrások szervezésében. Alapértelmezés szerint nem hálózati izolációk.

A névtér közötti interakció DNS-szolgáltatásokon keresztül lehetséges a Kubernetesben.

Egy alkalmazás a namespace-a-ban hozzáférhet a my-service nevű szolgáltatáshoz a namespace-b-ben a teljes domain név (FQDN) használatával:

<szolgáltatás-neve>.<namespace-neve>.svc.cluster.local

Példa: my-service.namespace-b.svc.cluster.local

Szintén használható rövidített név, ha a DNS a klaszterben megfelelően van konfigurálva, de a FQDN mindig megbízhatóbb a névtér közötti kommunikációhoz.

# Példa Service a namespace-ből
apiVersion: v1
kind: Service
metadata:
  name: my-service # Szolgáltatás neve
  namespace: namespace-b # Szolgáltatás névtér
spec:
  selector:
    app: my-app # Kiválasztó a podokhoz, amelyekhez a szolgáltatás kapcsolódik
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
# Példa Pod a namespace-a-ből, amely hozzáfér egy szolgáltatáshoz a namespace-a-ban
apiVersion: v1
kind: Pod
metadata:
  name: consumer-pod
  namespace: namespace-a # A fogyasztó pod névtér
spec:
  containers:
  - name: consumer-container
    image: my-consumer-image
    command: ["curl", "my-service.namespace-b.svc.cluster.local"] # A másik névtérben lévő szolgáltatás címe

Fontos megjegyezni, hogy a hálózati politikák (Network Policies) használhatók a névtér közötti korlátozására. Alapértelmezés szerint, ha nincsenek ilyen politikák, az interakció engedélyezett.

A hálózati politikák podcsoportokat határoznak meg, amelyek egymással kommunikálhatnak, a névtérük és címkéik alapján.