INDO GLOBAL PRATAMA
The world in your hands
Introduction
Perintah tersebut kubectl port-forward
memungkinkan Anda untuk mengakses proses klaster internal Kubernetes di dalam jaringan lokal Anda. Metode ini membantu memecahkan masalah dan menyiapkan layanan secara lokal tanpa memaparkannya.
Kubectl adalah alat baris perintah utama untuk mengelola kluster Kubernetes. Alat ini penting untuk menerapkan aplikasi, mengelola sumber daya klaster, dan membangun kerangka kerja yang kompleks.
Tutorial singkat ini menunjukkan cara menggunakan kubectl port-forward untuk terhubung ke sumber daya kluster Kubernetes.
Prasyarat
Penerusan port Kubernetes adalah cara untuk mengakses sumber daya klaster internal dari luar klaster. Pengguna dapat memetakan port eksternal ke port yang digunakan oleh sumber daya seperti pod, deployment, kumpulan replika, atau layanan. Dengan cara ini, sumber daya dapat diakses dari dalam jaringan lokal.
kubectl menampilkan fungsionalitas port forwarding bawaan. Berikut adalah proses pemetaan port lokal ke cluster di Kubernetes:
port-forward
menentukan nama sumber daya klaster dan menentukan nomor port tujuan penerusan port.Dalam beberapa kasus, penerusan porta adalah satu-satunya cara untuk mengakses sumber daya klaster internal.
Perintah port-forward
membuat terowongan dari sumber daya target ke localhost Anda. Perintah mengharuskan Anda untuk menentukan jenis dan nama sumber daya di samping nomor port lokal dan sumber daya.
Sintaks dasarnya adalah:
kubectl port-forward [resource-type]/[resource-name] [local-port]:[resource-port]
Jika beberapa sumber daya cocok dengan kriteria jenis/nama, sumber daya acak akan dipilih secara default. Untuk menghindari ketidakkonsistenan seperti itu, tentukan sumber daya setepat mungkin . Misalnya, mulailah mengekspos layanan dengan mencantumkan layanan yang tersedia dalam namespace :
kubectl -n [namespace] get svc
Daftar tersebut memberikan nama layanan di namespace tersebut. Temukan layanan yang ingin Anda teruskan dan catat nama dan nomor port layanannya.
Gunakan perintah berikut untuk mengakses penerapan NGINX di dalam klaster Anda. Misalnya, jika nama layanannya adalah test-nginx-svc , dan nomor portnya adalah 80
, gunakan perintah berikut untuk mengekspos NGINX di port lokal 8080
.
kubectl port-forward svc/test-nginx-svc 8080:80
API Kubernetes sekarang mendengarkan port 8080
dan meneruskan data ke port layanan 80
.
Layanan ini tersedia di localhost:8080
.
Setelah dieksekusi, kubectl port-forward
perintah secara aktif berjalan di jendela terminal. Untuk mengeluarkan perintah lain saat penerusan port sedang berjalan, buka instance terminal lain.
Catatan : Hentikan penerusan port dengan menekan Ctrl + C
di jendela terminal asli.
Mulai proses penerusan port latar belakang dengan menambahkan &
simbol di akhir perintah:
kubectl port-forward [resource-name] [local-port]:[resource-port] &
Tekan Ctrl + C setelah perintah ini untuk menggunakan prompt perintah saat proses penerusan port berjalan di latar belakang.
Untuk menghentikan proses latar belakang:
1. Temukan ID proses (PID) dengan menjalankan perintah ini:
ps -ef|grep port-forward
2. Catat nomor ID proses (PID) yang terletak di sebelah proses port-forward.
3. Hentikan proses dengan mengetik:
kill -9 [PID]
Biarkan Kubernet memilih port lokal acak untuk mendengarkan dan meneruskannya ke port 80
dalam pod yang ditentukan:
kubectl port-forward svc/test-nginx-svc :80
Port yang dipilih Kubernetes muncul di output perintah.
Dengarkan dan teruskan data menggunakan port identik baik secara lokal maupun dalam sumber daya tertentu:
kubectl port-forward [resource-name] [port1] [port2]
Gunakan perintah berikut untuk mendengarkan port lokal di alamat lokal mana pun dan meneruskan ke port sumber daya:
kubectl port-forward --address 0.0.0.0 [resource-name] [local-port]:[resource-port]
Dengarkan port lokal menggunakan IP yang ditentukan dan teruskan ke port sumber daya dengan mengetik:
kubectl port-forward --address [local-ip-address] [resource-name] [local-port]:[resource-port]
Dengarkan dan teruskan data menggunakan port yang sama baik secara lokal maupun di dalam sumber daya. Deployment menentukan pod mana yang akan digunakan:
kubectl port-forward [deployment-name] [port1] [port2]
Kesimpulan
Anda sekarang dapat menggunakan port-forward
perintah untuk terhubung ke sumber daya di dalam kluster Kubernetes Anda. Penerusan port di kluster Kubernetes sangat berguna untuk layanan back-end yang tidak ditujukan untuk paparan jarak jauh.