Бір аталыш кеңейтинин бир колдонмосу кластер ичиндеги башка аталыш кеңейтинин колдонмосун көрө алабы?
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тери жана белгилери негизинде.