Kubernetes - Namespace

Namespace memberikan kualifikasi tambahan untuk nama sumber daya. Ini berguna ketika beberapa tim menggunakan cluster yang sama dan ada potensi benturan nama. Ini bisa sebagai dinding virtual antara beberapa cluster.

Fungsi Namespace

Berikut adalah beberapa fungsi penting dari Namespace di Kubernetes -

  • Namespaces membantu komunikasi pod-to-pod menggunakan namespace yang sama.

  • Namespaces adalah cluster virtual yang dapat berada di atas cluster fisik yang sama.

  • Mereka memberikan pemisahan logis antara tim dan lingkungan mereka.

Buat Namespace

Perintah berikut digunakan untuk membuat namespace.

apiVersion: v1
kind: Namespce
metadata
   name: elk

Kontrol Namespace

Perintah berikut digunakan untuk mengontrol namespace.

$ kubectl create –f namespace.yml ---------> 1
$ kubectl get namespace -----------------> 2
$ kubectl get namespace <Namespace name> ------->3
$ kubectl describe namespace <Namespace name> ---->4
$ kubectl delete namespace <Namespace name>

Pada kode di atas,

  • Kami menggunakan perintah untuk membuat namespace.
  • Ini akan mencantumkan semua namespace yang tersedia.
  • Ini akan mendapatkan namespace tertentu yang namanya ditentukan dalam perintah.
  • Ini akan menjelaskan detail lengkap tentang layanan tersebut.
  • Ini akan menghapus namespace tertentu yang ada di cluster.

Menggunakan Namespace dalam Layanan - Contoh

Berikut adalah contoh file sampel untuk menggunakan namespace dalam layanan.

apiVersion: v1
kind: Service
metadata:
   name: elasticsearch
   namespace: elk
   labels:
      component: elasticsearch
spec:
   type: LoadBalancer
   selector:
      component: elasticsearch
   ports:
   - name: http
      port: 9200
      protocol: TCP
   - name: transport
      port: 9300
      protocol: TCP

Pada kode di atas, kami menggunakan namespace yang sama di bawah metadata layanan dengan nama elk.