pemahaman masuknya kubernetes (peternak).

apa yang saya ketahui/sudah saya jalankan: saya mendapatkan seorang peternak yang sedang berjalan dengan pengaturan (2.4.2) di vsphere dengan L4 nginx lb di depannya. mengakses ui dan menyediakan cluster baru (driver node vsphere) berfungsi dengan baik. Saya tahu saya tidak berada di cloud dan tidak dapat menggunakan L7 LB (selain nip.ip atau metal lb mungkin), dan menerapkan beban kerja dan mengeksposnya melalui nodeport berfungsi dengan baik (sehingga beban kerja tersedia pada port yang ditentukan di setiap node pod yang sesuai sedang berjalan).

pertanyaan saya: apakah mungkin untuk mengekspos (mungkin melalui ingress) aplikasi pada cluster saya yang sedang berjalan di bawah domain/alamat. Saya dapat mengakses ui rancher (dalam kasus saya: https://rancher-things.local)? seperti memiliki eksternal (jaringan lokal, bukan publik) jika saya mungkin akan menerapkan registri pelabuhan dan entah bagaimana dapat mengeksposnya seperti https://rancherthings.local/harbor? atau jika ini tidak berhasil, apakah mungkin untuk menerapkan penyeimbang beban L4 untuk mengakses aplikasi pada atau di depan cluster tertentu?

Terima kasih.


person Patrick Hermann    schedule 21.04.2020    source sumber


Jawaban (2)


Seharusnya sudah ada sumber daya masuk yang mengekspos UI peternak. Anda dapat mengedit jalur masuk dan menambahkan jalur /harbor untuk merutekan lalu lintas ke layanan pelabuhan.

  paths:
  - path: /harbor
    backend:
      serviceName: harbor
      servicePort: 80
person Arghya Sadhu    schedule 21.04.2020

@arghya-sadhu, LB menunjuk ke cluster HA (alias cluster upstream/management/rke/ha) yang menjalankan Rancher, bukan Harbour. Tidak disarankan untuk membuat ingress lain di cluster HA ini. Selain itu, menurut saya beban kerja pelabuhan berjalan di cluster hilir dan tidak ada LB yang menunjuk ke node cluster ini.

Patrick, Anda dapat membuat layanan yang mengekspos port aplikasi Anda melalui http dan menggunakan mekanisme proxy Rancher untuk mengakses UI aplikasi Anda melalui URL Rancher. Jika Anda mengaktifkan pemantauan di pengaturan Anda, Anda dapat mengikuti bagaimana Grafana UI diekspos melalui mekanisme ini.

Setelah membuat layanan, Anda dapat menemukan info URL menggunakan perintah berikut:

kubectl -n <your_app_namespace> cluster-info
# or
kubectl cluster-info -A

Kelemahan dari pendekatan ini adalah Anda tidak memiliki LoadBalancer khusus yang menangani lalu lintas, tetapi untuk pengaturan skala yang lebih kecil, ini tidak masalah.

Contoh URL grafana:

https://<rancher-fqdn>/k8s/clusters/<cluster-id>/api/v1/namespaces/cattle-prometheus/services/http:access-grafana:80
person leodotcloud    schedule 22.04.2020
comment
hai leo, tapi menurut saya pendekatan ini tidak membantu saya di sini karena jika mencoba contoh saya harus login ke rancher untuk mengakses url. Saya ingin mengekspos aplikasi di jaringan saya tanpa memiliki sistem atau pengguna untuk masuk ke rancher ui.. Saya ingin menyebarkan aplikasi seperti pelabuhan hanya pada cluster hilir. tapi saya masih bertanya-tanya bagaimana cara melakukannya di tempat dengan ingress..nodeport berfungsi setidaknya dengan chartmuseum misalnya. apakah saya mungkin harus menjalankan penyeimbang beban nginx dengan nama host yang tepat di depan cluster peternak hilir? itulah cara saya dapat mengakses ui peternak dari pengaturan ha saya - person Patrick Hermann; 09.05.2020
comment
@PatrickHermann Anda benar, otentikasi memang diperlukan. Jawaban yang disebutkan di atas khusus untuk pertanyaan OP menggunakan jalur di bawah UI peternak. LB eksternal, seperti yang Anda sebutkan, nginx, diperlukan untuk klaster lokal. Membuat entri wildcard di nginx yang menunjuk ke node cluster, dengan entri DNS wildcard yang menunjuk ke LB akan memberikan banyak fleksibilitas. Tentu saja, Anda dapat menghilangkan entri DNS tertentu, bukan wildcard. - person leodotcloud; 10.05.2020