Sobes.tech
Middle

Vai viena nosaukumu telpa var redzēt citas nosaukumu telpas lietojumprogrammu klasterī?

sobes.tech AI

Atbilde no AI

Jā, dažādās vārdu telpās esošas lietojumprogrammas var redzēt viena otru klasterī.

Kubernetes vārdu telpas ir loģiskas izolācijas, kas palīdz organizēt resursus. Tās nav noklusējuma tīkla izolācija.

Sadarbība starp vārdu telpām ir iespējama caur DNS Kubernetes pakalpojumiem.

Lietojumprogramma namespace-a var piekļūt pakalpojumam ar nosaukumu my-service namespace-b, izmantojot tā pilno domēna nosaukumu (Fully Qualified Domain Name - FQDN):

<pakalpojuma-nosaukums>.<vārdu-telpas-nosaukums>.svc.cluster.local

Piemērs: my-service.namespace-b.svc.cluster.local

Tāpat var izmantot saīsinātu nosaukumu, ja DNS klasterī tas ir pareizi konfigurēts, taču FQDN vienmēr ir drošāks starpvardarbības sadarbībai.

# Piemērs pakalpojumam namespace-b
apiVersion: v1
kind: Service
metadata:
  name: my-service # Pakalpojuma nosaukums
  namespace: namespace-b # Vārdu telpa
spec:
  selector:
    app: my-app # Atlasītājs podiem, uz kuriem attiecas pakalpojums
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
# Piemērs Pod namespace-a, kas piekļūst pakalpojumam namespace-b
apiVersion: v1
kind: Pod
metadata:
  name: consumer-pod
  namespace: namespace-a # Lietotāja vārdu telpa
spec:
  containers:
  - name: consumer-container
    image: my-consumer-image
    command: ["curl", "my-service.namespace-b.svc.cluster.local"] # Pakalpojuma adrese citā vārdu telpā

Svarīgi atzīmēt, ka tīkla drošības politikas (Network Policies) var tikt izmantotas, lai ierobežotu sadarbību starp vārdu telpām. Pēc noklusējuma, ja šādas politikas nav, sadarbība ir atļauta.

Tīkla politikas definē podu grupas, kas var sadarboties savā starpā, balstoties uz to vārdu telpām un marķējumiem.