Kubernetesdəki bir "yerləşdirmə" ilə "xidmət" arasındakı fərq nədir?


cavab 1:

İkisi də Kubernetesdəki abstraksiyalardır.

Yerləşdirmə:

Bir yerləşdirmə, çalışan pods qrupunu, bəzi inzibati funksiyaların bağlandığı bir məntiqi qrupu təmsil edən çoxluqdakı bir obyektdir. Yerləşdirmələrdə çoxluq statusu üçün semantika var.

Məsələn, təsəvvür edin ki, çoxluqdakı bir sıra xidmətlər üçün monitorinq ölçmələrinə dəstək verilməlidir. Ops komandası, konfiqurasiya alan Metrics-Analyzer 1.0.0 adlı bir Docker görüntüsünü hazırladı, burada tutulmalı olan bütün agentlər harada, komponentin nə qədər tez tutulmalı olduğu və son nöqtədə bir agent başına ölçmə təmin edir.

Komanda yalnız Kubernetes üçün mövcud olması üçün bir pod faylını ma.yml yazırsa, bir pod'nın Kubernetes'in cədvəli edə biləcəyi hər hansı bir qovşaqda çalışması ehtimalı var. Proses uğursuz olarsa və ya metrik analizatorun yeniləməsi lazımdırsa və ya Kubernetes resursları (və ya buraxdığım bir çox digər hadisəni) yenidən bölüşdürməlidirsə, pod qaldırılmalı, nəticədə ölçüləri toplamaq azalır. Bu hadisə xidmətdən imtina ilə nəticələnə bilər. Menecerlər komandaya zəng vurub deyə bilərlər: Bizə ölçülər lazımdır, sadəcə düzəldin.

Bir yerləşdirmə ilə, hər bir replikanın işləməsindən narahat olmayaraq metrik analizatorunuzu idarə etmək üçün etiketlərlə əlaqəli bir qrup yarada bilərsiniz.

Yerləşdirmələr mahiyyətcə Kubernetes'ə konteynerlərə uyğun yazıların necə istifadə edildiyini, neçə replikanın işlədilməsini və necə yenilədiklərini izah edir. Yeniləmələr bu yazıdakı məndən daha yaxşı müalicə olunan vacib bir mövzudur. Kubernetes yerləşdirmə strategiyaları - konteyner həlləri

Pod təyinatı eyni təyinat üçün fərqli qaynaq fayllarını emal etməmək üçün yerləşdirmə spesifikasiyasında da göstərilə bilər. Sonda komanda sadəcə ölçü analizatorunu yerləşdirməlidir, elə deyilmi?

Xidmətlər:

Xidmətlər, digər tərəfdən, şəbəkə rabitəsinin əsas məqsədi üçün pododları qruplaşdırmağa imkan verir.

Xidmətlərin domeni, bir sıra podların əlçatanlığı üçün bir sıra qaydalar təmin etməkdir. Xidmətləri təyin edərkən təyin etdiyiniz qaydaların bəzi nümunələri:

  1. Hansı pods xidmət qrupuna uyğun gəlir. Xidmət hansı şəbəkə adresindən istifadə edir? Node portu. Çoxluqdakı bütün qovşaqlarda xidmətə uyğun podlara göndərmək üçün nəzərdə tutulmuş bir port var. Çoxluq IP. Xidmətə uyğun podlara daxil olmaq üçün xüsusi bir çoxluq IP var. Balansçı yükləyin. Xarici bir şəbəkə LB ilə şəbəkə klasterinin kənarındakı podları necə açmaq olar? Xarici ad. Xaricdə bir URI mənbəyini çoxluqda uyğun bir ad ilə necə ortaya qoyursunuz (məsələn, 32dfs-324qa.domain.com-da db xidməti) .Potokollar və limanlar. Xidmət adı tələb edildikdə trafikin yönləndirilməsi lazım olduğu yerlərdə. Metrics Analyzer kimi xidmət şəbəkəsinin həqiqi adı.

Xidmətlər digər podslara çoxluqdakı həqiqi IP ünvanını bilmədən klasterin komponentləri ilə əlaqə yaratmağa imkan verir.

Gördüyünüz kimi, yerləşdirmələrdə yerləşdirmə semantikası var. Yeni bir versiyanı yerləşdirməyiniz lazım olduqda replikaları artırmaq və ya azaltmaq lazım olduqda onlar vacibdir. Podların yenilənməsinin necə işlədiyini göstərir.

Xidmətlər əsasən şəbəkə qurur. Podların klaster şəbəkəsi və xarici aləmdən klaster şəbəkəsinə necə daxil olmasını modelləşdirirlər.


cavab 2:

Yalnız digər cavabları əlavə etmək və konteyner idarəetmə sistemlərinin işə düşməzdən əvvəl insanların istifadə etdikləri bir şeyə yerləşdirmələri və xidmətləri birləşdirmək istədim.

İstifadə edin:

Konseptual səviyyədə yerləşdirmə tətbiqetmənin necə qurulduğunu müəyyənləşdirir. Bu, tətbiqin Kubernetes-ə yerləşdirildiyi zaman tətbiqin neçə nümunəsinin işə salınacağını müəyyənləşdirir. Ayrıca, işləyən bir proqramı dəstəkləmək üçün istifadə olunan digər parametrləri və parametrləri müəyyənləşdirir.

Kubernetesdə bir yerləşdirmə işə salındıqda, podlar yaradılır. Bir pod bir və ya daha çox qabdan ibarətdir (ən populyar Docker). Bir çox hallarda hər başına yalnız bir konteyner var. Bu ümumiyyətlə çalışan Docker görüntüsü şəklində tətbiqinizdir. Bir konteyneri ənənəvi server yerləşdirmələrinə aid etmək üçün bir konteyner virtual maşın (VM) və ya fiziki server kimi çox işləyir.

Tətbiq etməyiniz birdən çox tətbiqin (yüksək mövcudluq və ya HA) işləməli olduğunu göstərirsə, tətbiq miqyası tələbləri yerinə yetirilməyincə daha çox pod yaradılacaqdır.

Tətbiqinizin ən azı bir nümunəsi işlədildikdən sonra işləyən tətbiqlərə qoşula bilməlisiniz. Buradakı "xidmətlər" işə düşür.

Xidmətlər:

Kubernetesdəki xidmət tərifləri əslində Kubernetesdəki yük balansçısıdır. Tətbiq tələbi edildikdə, hansı tətbiqlərin (pod) mövcud olduğunu və həmin tətbiqetməyə trafikin necə göndərildiyini bilən tətbiqetmə xidmətinə təqdim olunur. Bir qayda olaraq, xidmətlər məlumat ticarəti yuvarlaq bir prosesdə göndərir. Bu o deməkdir ki, sorğular bütün işləyən tətbiqlər (pods) arasında paylanır.

Təcrübəmdə həm Docker, həm də Kubernetes proqram qrupunun işləmə müddətini azaltdı və tətbiqi idarə etməyi əvvəlkindən daha asan etdi. Proqramınızı düzgün yazsanız, Kubernetes ilə yaxşı ölçü ala bilər.

Docker konteynerlərinin fəaliyyətdə Kubernetes ilə işləməsini istəyirsinizsə, http://BroadIQ.com saytında sınayabilirsiniz. Kubernetes-də Docker konteyner tətbiqini yerləşdirmək addımlarına istiqamət verəcək "Rocket.Chat işlətmək üçün sadə bələdçi" məqaləsini (https://medium.com/@jlutz_72580 / ...) oxuyun.


cavab 3:

Bu çətin deyil:

  • Kubernetes yerləşdirilməsi, Kubernetes klasterinizi tətbiqinizin necə yerləşdirilməsini izah edən bir mücərrəddir. Kubernetes Xidməti, Kubernetes klasterinizi, tətbiqinizi xarici dünyaya (klasterinizin bağlandığı şəbəkələrə) necə asanlıqla daxil olmasını təsvir edən bir abstraktdır.