Belajar Kubernetes (Penggunaan Service dengan Tipe ClusterIP)
Sebelumnya kita membahas tentang apa itu service dan tipe-tipe service yang bisa digunakan di dalam kubernetes. Salah satunya adalah tipe ClusterIP.
ClusterIP sendiri merupakan service yang memungkinkan akses ke pod yang di-deploy di dalam kubernetes. Layanan ini memberikan alamat IP virtual yang dapat digunakan oleh pod dalam cluster untuk berkomunikasi dengan aplikasi atau pod yang ditujunya.
Terlihat seperti gambar di atas, bahwa setiap service akan secara otomatis mendapatkan alamat IP internal yang dapat dilakukan untuk melakukan koneksi ke tiap service yang ada di dalam cluster.
Perlu diperhatikan bahwa service ini tidak memungkinkan koneksi dari luar ke pod maupun sebaliknya.
Untuk membuat file object dari service tersebut adalah sebagai berikut:
apiVersion: v1
kind: Service
metadata:
name: service-a
spec:
selector:
app: service-a
type: ClusterIP
ports:
- name: http
port: 80
targetPort: 8080
Penjelasan:
apiVersion
: Versi API Kubernetes yang digunakan.kind
: Jenis objek Kubernetes yang ingin dibuat, dalam hal ini adalahService
.metadata
: Informasi tambahan mengenai objek, seperti nama objek.spec
: Spesifikasi layanan yang ingin dibuat.selector
: Menentukan pod yang ingin ditargetkan oleh layanan, dalam hal ini pod dengan labelapp: service-a
.type
: Jenis layanan yang ingin dibuat, dalam hal ini adalahClusterIP
.ports
: Menentukan port yang ingin digunakan oleh layanan, dalam hal ini port80
yang akan mengarah ketargetPort
8080
.
Berikut cara menjalankan file yang telah dibuat:
$ kubectl apply -f service-a.yaml
service/service-a created
Adapun hasil yang ditampilkan jika file tersebut berhasil:
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service-a ClusterIP 10.10.0.1 <none> 80/TCP 10s
Sesuaikan file yaml dengan service yang ingin dibuat.