Оё як барномаи аз як фазои ном метавонад барномаи аз дигар фазои ном дар дохили кластер бубинад?
sobes.tech AI
Ҷавоб аз AI
បាទ/ចាស, កម្មវិធីនៅក្នុង namespace ផ្សេងៗអាចមើលឃើញគ្នានៅក្នុង cluster។
នៅ Kubernetes, namespace គឺជា ការបែងចែកតាមតុល្យភាពដែលជួយរៀបចំធនធាន។ ពួកវាមិនមែនជា ការបំបែកបណ្តាញដោយលំនាំដើមទេ។
ការប្រាស្រ័យទាក់ទងរវាង namespace អាចធ្វើបានតាមរយៈ DNS សេវាកម្មរបស់ Kubernetes។
កម្មវិធីនៅក្នុង namespace-a អាចចូលទៅកាន់សេវាកម្មដែលមានឈ្មោះ my-service នៅក្នុង namespace-b ដោយប្រើឈ្មោះដែនពេញ (FQDN):
<ឈ្មោះសេវា>.<ឈ្មោះ namespace>.svc.cluster.local
ឧទាហរណ៍: my-service.namespace-b.svc.cluster.local
ក៏អាចប្រើឈ្មោះខ្លីបាន ប្រសិនបើ DNS នៅក្នុង cluster ត្រូវបានកំណត់យ៉ាងត្រឹមត្រូវ ប៉ុន្តែ FQDN គឺមានភាពទុកចិត្តខ្ពស់ជាងសម្រាប់ការប្រាស្រ័យទាក់ទងរវាង namespace។
# ឧទាហរណ៍សេវាកម្មនៅ 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
# ឧទាហរណ៍ Pod នៅ namespace-a ដែលចូលទៅកាន់សេវាកម្មនៅ namespace-b
apiVersion: v1
kind: Pod
metadata:
name: consumer-pod
namespace: namespace-a # namespace របស់ pod អ្នកប្រើ
spec:
containers:
- name: consumer-container
image: my-consumer-image
command: ["curl", "my-service.namespace-b.svc.cluster.local"] # អាសយដ្ឋានសេវាកម្មនៅ namespace ផ្សេងទៀត
សំខាន់ណាស់ដែលត្រូវចំណាំថា នយោបាយបណ្តាញ (Network Policies) អាចត្រូវបានប្រើដើម្បី កំណត់ ការប្រាស្រ័យទាក់ទងរវាង namespace។ ដោយលំនាំដើម ប្រសិនបើមិនមាននយោបាយទេ ការប្រាស្រ័យទាក់ទងត្រូវបានអនុញ្ញាត។
នយោបាយបណ្តាញកំណត់ក្រុម pod ដែលអាចធ្វើការប្រាស្រ័យទាក់ទងគ្នា ដោយផ្អែកលើ namespace និងស្លាករបស់ពួកវា។