GNU/Linux >> Belajar Linux >  >> Cent OS

Cara mengatur Penerusan Port kubectl

Pendahuluan

Kubectl port-forward memungkinkan Anda untuk mengakses dan berinteraksi dengan proses cluster Kubernetes internal dari localhost Anda. Anda dapat menggunakan metode ini untuk menyelidiki masalah dan menyesuaikan layanan Anda secara lokal tanpa perlu mengungkapkannya terlebih dahulu.

Kubectl adalah alat baris perintah utama untuk mengelola cluster Kubernetes. Ini penting untuk menerapkan aplikasi, mengelola sumber daya cluster, dan membangun kerangka kerja yang kompleks.

Tutorial singkat ini menunjukkan kepada Anda cara menggunakan kubectl untuk melakukan port-forward ke pod di cluster Kubernetes.

Prasyarat

  • Kluster Kubernetes
  • Kubectl yang dikonfigurasikan sepenuhnya alat baris perintah

Bagaimana Cara Kerja Penerusan Port Kubernetes?

Meskipun Kubernetes adalah sistem orkestrasi yang sangat otomatis, proses penerusan port memerlukan input pengguna langsung dan berulang. Sambungan berakhir setelah instance pod gagal, dan perlu untuk membuat penerusan baru dengan memasukkan perintah yang sama secara manual.

Seluruh proses disederhanakan oleh fakta bahwa kubectl sudah memiliki fungsi penerusan port bawaan.

  1. Pengguna berinteraksi dengan Kubernetes menggunakan kubectl baris perintah di mesin lokal mereka.
  2. port-forward perintah menentukan nama sumber daya cluster dan menentukan nomor port yang akan diteruskan.
  3. Akibatnya, server Kubernetes API membuat koneksi HTTP tunggal antara localhost Anda dan sumber daya yang berjalan di cluster Anda.
  4. Pengguna sekarang dapat menggunakan pod tertentu secara langsung, baik untuk mendiagnosis masalah atau men-debug jika perlu.

Penerusan port adalah metode padat karya. Namun, dalam beberapa kasus, ini adalah satu-satunya cara untuk mengakses sumber daya cluster internal.

Perintah dasar kubectl port-forward

port-forward perintah membuat terowongan dari pod target ke localhost Anda. Perintah tersebut mengharuskan Anda untuk menentukan jenis atau nama sumber daya serta nomor port lokal dan jarak jauh:

kubectl port-forward TYPE/NAME [options] LOCAL_PORT:REMOTE_PORT

Jika beberapa pod cocok dengan kriteria tipe/nama, satu pod acak akan dipilih secara default. Untuk menghindari inkonsistensi seperti itu, tentukan pod setepat mungkin. Anda dapat menemukan nama pod yang tepat dengan mencantumkan pod secara manual di dalam namespace dengan mengetik:

kubectl -n yournamespace get pods

Daftar tersebut memberikan nama-nama pod dalam namespace tersebut.

kubectl port-forward ke Pod Tertentu

Misalnya, perintah berikut akan memungkinkan Anda untuk mengakses penyebaran MongoDB dalam cluster Anda. Nama podnya adalah mongo-db-r3pl1ka3 , dan nomor port adalah 5762:

kubectl port-forward pod/mongo-db-r3pl1ka3 8080:5762

Kubernetes API sekarang mendengarkan pada port lokal 8080 dan meneruskan data ke port 5762 pada pod yang ditentukan.

Port Lokal Acak

Dengarkan port acak secara lokal, dan teruskan ke port 5762 dalam pod yang ditentukan:

kubectl port-forward pod/mongo-db-r3pl1ka3 :5762

Port Lokal dan Jarak Jauh yang Sesuai

Dengarkan dan teruskan data menggunakan port yang identik (8080, 5762) baik secara lokal maupun di dalam pod tertentu:

kubectl port-forward pod/mongo-db-r3pl1ka3 8080 5762

Alamat IP Lokal Acak

Dengarkan di port 8080 di alamat lokal mana pun, teruskan ke port 5762 di pod yang ditentukan:

kubectl port-forward --address 0.0.0.0 pod/mongo-db-r3pl1ka3 8888:5762

Tentukan Alamat IP Lokal untuk Penerusan Port

Dengarkan di port 8080 di localhost menggunakan IP yang ditentukan, teruskan ke port 5762 di pod:

kubectl port-forward --address localhost,10.153.40.102 pod/mongo-db-r3pl1ka3 8080:5762

Gunakan Deployment untuk Memilih Pod port-forward

Dengarkan dan teruskan data menggunakan port yang sama (8080 5762) baik secara lokal maupun di dalam pod. Penerapan mendefinisikan pod mana yang akan digunakan:

kubectl port-forward deployment/mydeployment 8080 5762

Izinkan Layanan untuk Mendefinisikan Pod port-forward

Dengarkan dan teruskan data menggunakan port yang sama (8080 5762) baik secara lokal maupun di dalam pod. Layanan memilih pod mana yang akan digunakan:

kubectl port-forward service/myservice 8080 5762

Cent OS
  1. Cara mengatur VPN Wireguard di CentOS 8

  2. Cara Mengatur Tunneling SSH

  3. Mengatur Server DHCP di CentOS 8 - Bagaimana Caranya?

  1. Cara Mengubah Port SSH di CentOS

  2. Cara mengatur server nama di CWP

  3. Bagaimana cara meneruskan ssh dengan AllowTcpForwarding diatur ke no?

  1. Cara mengatur Penerusan Web

  2. Cara Mengatur Lokal Sistem di CentOS 7

  3. Cara Membuka Port Di CentOS / RHEL 7