Di Kubernetes, pod dibuat dan dihapus dengan cepat, sehingga alamat IP mereka tidak tetap. Hal ini membuat mereka kurang cocok untuk langsung menyediakan layanan. Layanan menyediakan alamat IP yang stabil, memungkinkan klien eksternal (antarmuka depan) mengakses pod backend tanpa perlu mengetahui alamat IP spesifik mereka. Ini memisahkan antarmuka depan dari backend dan memastikan stabilitas layanan. Topik ini menjelaskan cara membuat layanan ClusterIP di Konsol.
Informasi latar belakang
Di Kubernetes, sebuah Layanan adalah abstraksi yang mendefinisikan satu set logis pod dan kebijakan untuk mengakses pod tersebut. Pola ini dikenal sebagai layanan mikro. Pemilih label digunakan untuk menentukan set pod mana yang diakses oleh Layanan.
Setiap pod dalam kluster Kubernetes memiliki alamat IP sendiri. Namun, karena pod sering dibuat dan dihapus, mengekspos pod secara langsung ke akses eksternal tidak sesuai dengan aturan untuk memastikan ketersediaan tinggi. Layanan memisahkan antarmuka depan dari backend, sehingga klien antarmuka depan tidak perlu mengetahui pod backend mana yang digunakan. Ini memberikan arsitektur layanan mikro yang longgar terhubung.
Untuk informasi lebih lanjut, lihat Layanan Kubernetes.
Langkah 1: Buat penyebaran
Masuk ke Konsol ACS. Di panel navigasi sisi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik ID-nya. Di panel navigasi sisi kiri halaman detail kluster, pilih .
Di halaman Deployments, klik Create From YAML.
Pilih template sampel atau template kustom, lalu klik Create.
Template sampel ini untuk penyebaran Nginx.
apiVersion: apps/v1 kind: Deployment metadata: name: my-nginx-svc namespace: default spec: replicas: 2 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest ports: - containerPort: 80Di halaman Deployments, klik nama aplikasi target atau Details di kolom Aksi untuk melihat status penyebaran. Tunggu hingga semua instans pod tersedia.
Langkah 2: Buat layanan
Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik ID-nya. Di panel navigasi sisi kiri halaman detail kluster, pilih Network > Services.
Di halaman Services, klik Create di pojok kanan atas. Di kotak dialog Create Service, konfigurasikan parameter dan klik OK.
Item konfigurasi
Deskripsi
Contoh
Name
Nama layanan.
my-nginx-svc
Type
Pilih ClusterIP. Tipe ini mengekspos layanan pada alamat IP internal kluster. Jika Anda memilih tipe ini, layanan hanya dapat diakses dari dalam kluster. Ini adalah tipe layanan default.
CatatanAnda dapat mengaktifkan Headless Service jika diperlukan. Setelah Anda mengaktifkan fitur ini, Anda dapat menggunakan layanan tanpa kepala untuk berinteraksi dengan mekanisme penemuan layanan lain tanpa terikat pada implementasi Kubernetes.
ClusterIP
Associate With
Pilih aplikasi backend yang ingin Anda sambungkan dengan layanan. Jika Anda tidak mengasosiasikan layanan dengan backend, objek Endpoint tidak akan dibuat. Untuk informasi lebih lanjut tentang asosiasi layanan, lihat services-without-selectors.
Name: app
Value: nginx
Port Mapping
Tambahkan port layanan (yang sesuai dengan
portdi file YAML Layanan) dan port kontainer (yang sesuai dengantargetPortdi file YAML Layanan). Port kontainer harus sama dengan port yang diekspos oleh pod backend.Service Port: 80
Container Port: 80
Protocol: TCP
Annotations
Tambahkan anotasi ke layanan.
Tidak ada
Labels
Tambahkan label untuk mengidentifikasi layanan.
Tidak ada
Setelah layanan dibuat, Anda dapat menemukan layanan di halaman Services dan klik Update, Edit YAML, atau Delete di kolom Actions.