Sobes.tech
Middle

Бір аталыш кеңейтинин бир колдонмосу кластер ичиндеги башка аталыш кеңейтинин колдонмосун көрө алабы?

sobes.tech AI

AIден жооп

Ооба, ар башка namespaceтердеги колдонмолор кластердин ичинде бири-бирин көрө алышат.

Kubernetesте, namespaceтер логикалык изоляциялар болуп саналат, алар ресурстарды уюштурууга жардам берет. Алар автоматтык түрдө тармактык изоляция эмес.

Namespaceтердин ортосундагы өз ара аракеттешүү Kubernetes DNS кызматтары аркылуу мүмкүн.

namespace-a ичинде колдонмо my-service деп аталган кызматка namespace-b ичинде анын толук домен аталышы (FQDN) аркылуу кире алат:

<кызмат аты>.<namespace аты>.svc.cluster.local

Мисал: my-service.namespace-b.svc.cluster.local

Ошондой эле, кластердеги DNS туура конфигурацияланган болсо, кыска атын колдонуу мүмкүн, бирок FQDN ар дайым ишенимдүү болот.

# namespace-b ичиндеги кызматтын мисалы
apiVersion: v1
kind: Service
metadata:
  name: my-service # Кызматтын аты
  namespace: namespace-b # Кызматтын namespace
spec:
  selector:
    app: my-app # Кызматка кайрылган podдарды тандоо
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
# namespace-a ичиндеги жана namespace-b ичиндеги кызматка кайрылган Pod мисалы
apiVersion: v1
kind: Pod
metadata:
  name: consumer-pod
  namespace: namespace-a # Колдонучу podдун namespace
spec:
  containers:
  - name: consumer-container
    image: my-consumer-image
    command: ["curl", "my-service.namespace-b.svc.cluster.local"] # Башка namespaceтеги кызматтын дареги

Маанилүү, тармактык саясаттар (Network Policies) колдонулушу мүмкүн — namespaceтердин ортосундагы өз ара аракеттешүүнү чектөө үчүн. Стандарттык түрдө, мындай саясаттар жок болсо, аракеттер уруксат берилет.

Тармактык саясаттар pod топторун аныктайт, алар бири-бири менен өз ара аракеттеше алышат — алардын namespaceтери жана белгилери негизинде.