Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Kegagalan sementara dalam redis resolusi nama

Apa yang terjadi adalah Anda mengekspos instance Redis Anda dengan NodePort. Kubernetes mencadangkan rentang yang sangat spesifik dari port jaringan bernomor tinggi untuk NodePorts untuk menghindari konflik dengan port yang umum digunakan seperti 22 atau, dalam hal ini, 6379 seperti Redis.

Saat Anda menjalankan kubectl get svc layanan yang dikembalikan menunjukkan bahwa Redis sedang port-forwarded ke host pada port 32649 . Oleh karena itu, saat Anda melakukan upaya koneksi terhadap Redis, Anda harus menggunakan port ini alih-alih 6379. (Pastikan juga Firewall dan topologi jaringan Anda juga dikonfigurasi dengan benar).

Jadi, kemana kita pergi dari sini? Yah, sulit bagi saya untuk mengatakannya. Saya kekurangan informasi untuk memberi tahu dari mana koneksi klien Anda berasal dan di mana cluster Anda berjalan. Jika klien Anda berada dalam cluster Anda (AKA Pod lain), Anda harus mempertimbangkan untuk menyediakan Layanan ClusterIP alih-alih Layanan NodePort.

Jika klien Anda berada di luar cluster Anda, saran saya untuk Anda adalah melihat cara menyediakan jenis layanan LoadBalancer dan sumber daya Ingress di Kubernetes.

Ini akan memungkinkan Anda untuk memutar IP khusus. Dari mana Anda dapat melayani aplikasi Anda di port, nama host, atau subdirektori apa pun tanpa masalah. Namun, untuk melakukannya, Anda harus menginstal LoadBalancer dan Ingress Controller karena Server API Kubernetes tidak memiliki keduanya.

Jika Anda menggunakan Penyedia Cloud, kemungkinan Anda sudah memiliki LoadBalancer Controller. Cukup request satu dan kemudian kubectl get svc dan lihat apakah itu pernah maju dari status Tertunda. Jika Anda beroperasi pada bare metal, Anda dapat menggunakan penyeimbang beban fisik seperti F5 Big IP. Atau Anda dapat menggunakan pengontrol Virtual Load Balancer seperti MetalLB.

Dua Ingress Controller yang populer adalah NGINX dan Istio. Kontroler NGINX secara eksklusif menangani manajemen ingress sementara Istio menanganinya serta jaringan yang sangat dapat dikonfigurasi dan keamanan yang ditingkatkan.

Beri tahu saya jika Anda memerlukan informasi lebih lanjut atau bantuan dengan pertanyaan ini. Selalu senang membantu!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. sesi musim semi redis 'Tidak ada kacang bernama 'springSessionRepositoryFilter' yang ditentukan'

  2. Query Gabungan dengan Redis

  3. StackExchange TimeoutException ketika mencoba memasukkan 750 item dalam 2 set di redis

  4. Redis menemukan hash berdasarkan nilai bidang

  5. Bagaimana cara men-deploy node.js dengan redis di kubernetes?