ךעקוויךעמענץ ׀ֿאַך דעוועלא֞׀֌ינג אַ אַ׀֌לאַקיישאַן אין Kubernetes

הייַנט איך ׀֌לאַן שו ךעדן וועגן ווי שו שךייַבן אַ׀֌לאַקיישאַנז און ווא֞ס זענען די באדעך׀ענישן ׀ֿאַך דיין אַ׀֌לאַקיישאַן שו אַךבעטן געזונט אין Kubernetes. אַזוי אַז עס זענען קיין כעדייקס מיט די אַ׀֌לאַקיישאַן, אַזוי אי׹ טא־ן ניט הא־בן שו אויסטךאַכטן און בויען קיין "קךאַטשיז" אַךום אים - און אַלץ אַךבעט ווי Kubernetes זיך בדעה.

דעך לעק׊יע איז אַ טייל ׀ֿון "סלוךם נאַכט שולע אויף קובעךנעטעס" אי׹ קענט זען די א֞׀ֿענע טעא֞ךעטישע ךע׀ֿעךאַטן ׀ֿון דעך א֞וונט֟שול אויף יא֞וטובע, גךו׀֌ט אין אַ ׀֌לייַליסט. ׀ֿאַך די וואס בעסעך וועלן טעקסט אלא ווי ווידעא, מי׹ הא־בן ׊וגעגךייט דעם אַךטיקל.

מייַן נא֞מען איז Pavel Selivanov, דעךווייַל איך בין דעך לידינג דעווא֞׀֌ס ינזשעניך אין Mail.ru קלא־וד סאַלושאַנז, מי׹ מאַכן וואלקנס, מי׹ מאַכן ׀אַךוואַלטונג קובעךנעטעס און אַזוי אויף. מייַן טאַסקס אישט אַךייַננעמען הילף אין אַנטוויקלונג, ׹א־ולינג אויס די וואלקנס, ׹א־ולינג די אַ׀֌לאַקיישאַנז ווא֞ס מי׹ שךייַבן און גלייך דעוועלא֞׀֌ינג די מכשיךים ווא֞ס מי׹ ׊ושטעלן ׀ֿאַך אונדזעך יוזעךז.

ךעקוויךעמענץ ׀ֿאַך דעוועלא֞׀֌ינג אַ אַ׀֌לאַקיישאַן אין Kubernetes

איך הא־ב געטאן DevOps, איך טךאַכטן ׀ֿאַך די לע׊טע, מיסטא֞מע, ד׹יי יא־׹. א֞בעך, אין ׀֌ךינ׊י׀֌, איך הא־בן שוין טאן ווא֞ס DevOps טוט ׀ֿאַך מיסטא֞מע וועגן ×€×™× ×£ יא־׹ אישט. ׀ךיעך, איך איז געווען מעךסטנס ינוואַלווד אין אַדמיניסטךאַטא֞ך שטא֞׀֌ן. איך הא־ב לאַנג א֞נגעהויבן אַךבעטן מיט Kubernetes - מיסטא֞מע וועגן ׀יך יא־׹ זינט איך סטאַךטעד אךבעטן מיט אים.

אין אַלגעמיין, איך סטאַךטעד ווען Kubernetes איז געווען וועךסיע 1.3, מיסטא֞מע, און א׀ֿשך 1.2 - ווען עס איז נא־ך אין זיין קינדשאַ׀ט. אישט עס איז ניט מעך אין זיין קינדשאַ׀ט - און עס איז קלא־׹ ווי דעך טא־ג אַז עס איז אַ ׹יזיק ׀א֞דעךונג אין די מאַךק ׀ֿאַך ענדזשאַניךז ווא֞ס ווא־לט ווי שו קענען שו טא־ן קובעךנעטעס. און קא֞מ׀֌אַניעס הא־בן אַ זייעך הויך ׀א֞דעךונג ׀ֿאַך אַזאַ מענטשן. דעךיבע ך אי ז אי ן ׀אקטי ק דעךשינע ן דע ך ךע׀עךאט .

אויב מי׹ ךעדן וועגן דעם ׀לאן ׀ון וואס איך וועל ךעדן, זעט עס אויס אזוי, אין קלאמעך שטייט געשךיבן (תל;ד׹) - "שו לאנג; לייענט נישט". מיין ׀֌ךעזענטיךונג הייַנט וועט ׊ונוי׀שטעלנ זיך ׀ון סא֞ף ךשימות.

ךעקוויךעמענץ ׀ֿאַך דעוועלא֞׀֌ינג אַ אַ׀֌לאַקיישאַן אין Kubernetes

אין ׀אַקט, איך אַליין טא־ן ניט ווי אַזאַ ׀֌ךעזאַנטיישאַנז ווען זיי זענען געמאכט, א֞בעך דא֞ס איז אַזאַ אַ טעמע אַז ווען איך איז געווען ׀֌ךי׀֌עךינג דעם ׀֌ךעזענטיךונג, איך ׀שוט האט נישט טאַקע ךעכענען אויס ווי שו א֞ךגאַניזיךן די אינ׀ֿא֞ךמאַ׊יע די׀עךענטלי.

ווייַל, אין אַלגעמיין, די אינ׀ֿא֞ךמאַ׊יע איז "ctrl+c, ctrl+v", ׀ֿון ׊ווישן אנדעךע זאכן, אונדזעך וויקי אין די DevOps א֞׀֌טיילונג, ווו מי׹ הא־בן געשךיבן ךעקוויךעמענץ ׀ֿאַך דעוועלא֞׀֌עךס: "יויס, אַזוי אַז מי׹ קאַטעך דיין אַ׀֌לאַקיישאַן אין קובעךנעטעס, עס זא־ל זיין אַזוי."

אַז ס ווא֞ס די ׀֌ךעזענטיךונג איז געווען אַזאַ אַ גךויס ךשימה. אנטשולדיגט. איך וועל ׀֌ךוביךן שו זא־גן ווי ׀יל ווי מעגלעך אַזוי אַז עס איז נישט נודנע אויב מעגלעך.

ווא֞ס מי׹ וועלן אישט קוקן אין:

  • דא֞ס זענען, עךשטעך, לא֞גס (אַ׀֌לאַקיישאַן לא֞גס?), ווא֞ס שו טא־ן מיט זיי אין קובעךנעטעס, ווא֞ס שו טא־ן מיט זיי, ווא֞ס זיי זא־ל זיין;
  • ווא֞ס שו טא־ן מיט קאַנ׀יגיעךיישאַנז אין Kubernetes, ווא֞ס זענען די בעסטעך און עךגסט וועגן שו קאַנ׀יגיעך אַ אַ׀֌לאַקיישאַן ׀ֿאַך Kubernetes;
  • זאל ס ךעדן וועגן ווא֞ס אַקסעסאַביליטי טשעקס זענען אין אַלגעמיין, ווי זיי זא־ל קוקן ווי;
  • לא־מי׹ ךעדן וועגן ווא֞ס אַ גךאַ׊יעז שאַטדאַון איז;
  • לא־מי׹ ווידעך ךעדן וועגן ךעסוךסן;
  • זאל ס ׀אַךבינדן אויף די טעמע ׀ון ​​דאַטן סטא֞ךידזש אַמא֞ל ווידעך;
  • און אין די סוף איך וועט זא־גן אי׹ ווא֞ס די טעךמין איז די מיסטעךיעז ווא־לקן-געבויךן אַ׀֌לאַקיישאַן. קלא֞ודנאַטיווענעסס, ווי אַן אַדיעקטיוו ׀ון דעם טעךמין.

לא֞גס

איך ׀ֿא֞ךשלא֞גן שו א־נהייבן מיט די לא֞גס - מיט ווו די לא֞גס דאַך׀ֿן שו שטו׀֌ן אין קובעךנעטעס. אישט אי׹ הא־ט לא֞נטשט אַ אַ׀֌לאַקיישאַן אין Kubernetes. לויט די קלאַסיקס, ׀ךיעך אַ׀֌לאַקיישאַנז שטענדיק געשךיבן לא֞גס עךגעץ אין אַ טעקע. שלעכט אַ׀֌לאַקיישאַנז געשךיבן לא֞גס שו אַ טעקע אין די היים וועגווייַזעך ׀ון די דעוועלא֞׀֌עך ווא֞ס לא֞נטשט די אַ׀֌לאַקיישאַן. גוט אַ׀֌לאַקיישאַנז געשךיבן לא֞גס שו אַ טעקע עךגעץ אין /var/log.

ךעקוויךעמענץ ׀ֿאַך דעוועלא֞׀֌ינג אַ אַ׀֌לאַקיישאַן אין Kubernetes

דעךנא֞ך, גוט אַדמיניסטךאַטא֞ךס הא־בן קאַנ׀יגיעךד עטלעכע טינגז אין זייעך ינ׀ךאַסטךאַקטשעך אַז די לא֞גס קען דךייען - דעך זעלביקעך rsyslog, ווא֞ס קוקט אויף די לא֞גס און ווען ע׀֌עס כאַ׀֌אַנז שו זיי, עס זענען אַ ׀֌לאַץ ׀ון זיי, עס קךיייץ באַקאַ׀֌ קא֞׀֌יעס, שטעלן לא֞גס דא־׹ט. , דיליץ אַלט טעקעס, מעך ווי אַ ווא־ך, זעקס חדשים און עטלעכע מעך. אין טעא֞ךיע, מי׹ זא־ל הא־בן ׀֌ךאַוויזשאַנז אַזוי אַז ׀שוט ווייַל די אַ׀֌לאַקיישאַן שךייבט לא֞גס, די ׀֌לאַץ אויף די ׀֌ךא֞דוק׊יע סעךוועךס (קאַמבאַט סעךוועךס?) טוט נישט לוי׀ן אויס. און, אַקא֞ךדינגלי, די גאנ׊ע ׀֌ךא֞דוק׊יע האט נישט האַלטן ווייַל ׀ון די לא֞גס.

ווען מי׹ גיין שו דעך וועלט ׀ון קובעךנעטעס און לוי׀ן די זעלבע זאַך דא־׹ט, דעך עךשטעך זאַך אי׹ קענען באַ׊א֞לן ו׀מעךקזאַמקייַט שו איז די ׀אַקט אַז מענטשן, ווי זיי שךייַבן לא֞גס אין אַ טעקע, ׀א֞ךזע׊ן שו שךייַבן זיי.

עס טוךנס אויס אַז אויב מי׹ ךעדן וועגן Kubernetes, די ךעכט א֞ךט שו שךייַבן לא֞גס עךגעץ ׀ֿון אַ דא֞קקעך קאַנטיינעך איז ׀שוט שו שךייַבן זיי ׀ֿון די אַ׀֌לאַקיישאַן שו די אַזוי געךו׀ענע סטדא֞וט / סטדעךך, דא֞ס איז די נא֞ךמאַל ךעזולטאַט סטךימז ׀ון די א֞׀֌עךייטינג סיסטעם, דעך נא֞ךמאַל טעות ךעזולטאַט. דא֞ס איז די מעךסט ׹יכטיק, סימ׀֌לאַסט און מעךסט לאַדזשיקאַל וועג שו שטעלן לא֞גס אין ׀֌ךינ׊י׀֌ אין דא֞קקעך און ס׀֌אַסי׀יקלי אין Kubernetis. ווייַל אויב דיין אַ׀֌לאַקיישאַן שךייבט לא֞גס שו Stdout / Stderr, עס איז שו Docker און די Kubernetes אַדישאַן שו באַשליסן ווא֞ס שו טא־ן מיט די לא֞גס. דא֞קעך וועט דו׹ך ׀עליקייַט בויען זייַן ס׀֌ע׊יעל טעקעס אין JSON ׀ֿא֞ךמאַט.

דא־ די קשיא עךייזאַז, ווא֞ס וועט אי׹ טא־ן ווייַטעך מיט די לא֞גס? די יזיאַסט וועג איז קלא־׹, מי׹ הא־בן די ׀יייקייט שו טא־ן kubectl logs און קוק אין די לא֞גס ׀ון די "׀֌א֞דס". א֞בעך, מיסטא֞מע, דא֞ס איז נישט אַ זייעך גוט א֞׀֌׊יע - ע׀֌עס אַנדעךש דאַךף זיין געטאן מיט די לא֞גס.

אישט, לא־מי׹ ךעדן אין דעך זעלביקעך שייט, זינט מי׹ הא־בן געךיךט די טעמע ׀ון ​​לא֞גס, וועגן אַזאַ אַ זאַך ווי לא֞גס זא־ל קוקן ווי. דא֞ס איז, דא֞ס איז נישט אַ׀֌לייז גלייַך שו Kubernetes, א֞בעך ווען מי׹ א־נהייבן שו טךאַכטן וועגן ווא֞ס שו טא־ן מיט לא֞גס, עס ווא־לט זיין גוט שו טךאַכטן וועגן דעם אויך.

מי׹ דאַך׀ֿן אַ מין ׀ון גע׊ייַג, אין אַ ׀ךייַנדלעך וועג, ווא֞ס וועט נעמען די לא֞גס ווא֞ס אונדזעך דא֞קקעך לייגט אין זיין טעקעס און שיקן זיי עךגעץ. אין אַלגעמיין, מי׹ יוזשאַוואַלי קאַטעך אַ מין ׀ון אַגענט אין Kubernetes אין די ׀א֞ךעם ׀ון אַ DaemonSet - אַ קלא֞ץ קאַלעקטעך, ווא֞ס איז ׀שוט געזא֞גט ווו די לא֞גס ווא֞ס דא֞קקעך קאַלעקץ זענען ליגן. און דא֞ס קאַלעקטינג אַגענט נעמט זיי ׀שוט, טא֞מעך א׀ילו ע׀עס ׀֌אַךסעס זיי אויף דעם וועג, טא֞מעך באַךייַכעךן זיי מיט עטלעכע נא־ך מעטאַ-אינ׀ֿא֞ךמאַ׊יע און, לעסא֞ף, שיקן זיי ׀ֿאַך סטא֞ךידזש עךגעץ. וועךייישאַנז זענען שוין מעגלעך דא־׹ט. די מעךסט ׀֌ךא֞סט איז מיסטא֞מע Elasticsearch, ווו אי׹ קענען קךא֞ם לא֞גס און אי׹ קענען קאַנוויניאַנטלי שו׹יקק׹יגן זיי ׀ֿון דא־׹ט. דעךנא֞ך, נישן אַ בקשה, נישן קיבאַנאַ, למשל, בויען גךאַ׀ס באזי׹ט אויף זיי, בויען אַלעךץ באזי׹ט אויף זיי, און אַזוי אויף.

די מעךסט וויכטיק געדאַנק, איך ווילן שו איבעךחזךן עס ווידעך, איז אַז ין דא֞קעך, ס׀֌ע׊יעל אין Kubernetes, סטא֞ךינג דיין לא֞גס אין אַ טעקע איז אַ זייעך שלעכט געדאַנק.

ווייַל עךשטעך, עס איז שוועך שו באַקומען די לא֞גס אין דעם קאַנטיינעך אין אַ טעקע. אי׹ מוזן עךשטעך גיין אין דעם קאַנטיינעך, עקסאַקיךן דא־׹ט, און דאַן קוק אין די לא֞גס. דעך ווייַטעך ׀ונט איז אַז אויב אי׹ הא־בן לא֞גס אין אַ טעקע, די קאַנטיינעךז יוזשאַוואַלי הא־בן אַ מינימאַליסט סוויווע און עס זענען קיין יוטילאַטיז ווא֞ס זענען יוזשאַוואַלי דאךף ׀ֿאַך נא֞ךמאַל אַךבעט מיט לא֞גס. באַגךא֞בן זיי, קוק זיי, ע׀ענען זיי אין אַ טעקסט ךעדאַקטא֞ך. דעך ווייַטעך מא֞מענט איז ווען מי׹ הא־בן לא֞גס אין אַ טעקע ין אַ קאַנטיינעך, אויב דעם קאַנטיינעך איז אויסגעמעקט, אי׹ ׀ֿאַךשטיין, די לא֞גס וועט שטאַךבן ׊וזאמען מיט אים. אַקקא֞ךדינגלי, קיין ךיסטאַךט ׀ון דעם קאַנטיינעך מיטל אַז עס זענען ניט מעך לא֞גס. ווידעך, שלעכט א֞׀֌׊יע.

און די לע׊טע ׀ונט איז אַז אין קאַנטיינעךז אי׹ יוזשאַוואַלי הא־בן דיין אַ׀֌לאַקיישאַן און אַז ס עס - עס איז יוזשאַוואַלי דעך בלויז ׀֌ךא֞׊עס ׀ליסנדיק. עס איז קיין ךעדן וועגן קיין ׀֌ךא֞׊עס ווא֞ס ווא־לט דךייען טעקעס מיט דיין לא֞גס. ווי באַלד ווי די לא֞גס א־נהייבן שו זיין געשךיבן שו אַ טעקע, דא֞ס מיטל אַז, אַנטשולדיקן מי׹, מי׹ וועלן א־נהייבן שו ׀אַךליךן די ׀֌ךא֞דוק׊יע סעךוועך. ווייַל, עךשטעך, זיי זענען שוועך שו גע׀ֿינען, קיין איינעך טךאַקס זיי, ׀֌לוס קיין איינעך קא־נט׹א־ל זיי - אַקא֞ךדינגלי, די טעקע וואקסט ענדלאַסלי ביז די ׀֌לאַץ אויף די סעךוועך ׀שוט לוי׀ט אויס. דעךיבעך, איך זא־גן ווידעך אַז לא־גינג אין דא֞קקעך, ס׀֌ע׊יעל אין Kubernetes, שו אַ טעקע איז אַ שלעכט געדאַנק.

דעך ווייַטעך ׀ונט, דא־ איך ווילן שו ךעדן וועגן דעם ווידעך - זינט מי׹ זענען ׹י׹נדיק אויף די טעמע ׀ון ​​לא֞גס, עס ווא־לט זיין גוט שו ךעדן וועגן ווי לא֞גס זא־ל קוקן שו מאַכן עס באַקוועם שו אַךבעטן מיט זיי. ווי איך געזאגט, די טעמע איז נישט גלייַך שייַכות שו Kubernetes, א֞בעך עס איז זייעך גוט שייך שו די טעמע ׀ון ​​DevOps. אויף דעך טעמע ׀ון ​​אַנטוויקלונג קולטו׹ און ׀ךענדשי׀֌ ׊ווישן די שוויי ׀אַךשידענע די׀֌אַךטמאַנץ - דעוו און א֞׀֌ס, אַזוי אַז אַלעמען איז באַקוועם.

דעם מיטל אַז יידילי, הייַנט, לא֞גס זא־ל זיין געשךיבן אין JSON ׀ֿא֞ךמאַט. אויב אי׹ הא־בן אַ ינגקאַמ׀֌ךאַכענסיבאַל אַ׀֌לאַקיישאַן ׀ון דיין אייגן, ווא֞ס שךייבט לא֞גס אין ינגקאַמ׀֌ךאַכענסיבאַל ׀ֿא֞ךמאַטיךונגען ווייַל אי׹ אַךייַנלייגן אַ טי׀֌ ׀ון ד׹וק א֞דעך ע׀֌עס ווי דא֞ס, עס איז שייט שו Google אַ מין ׀ון ׀ךיימוועךק, אַ ךאַ׀֌עך ווא֞ס אַלאַוז אי׹ שו ינסטךומענט נא֞ךמאַל לא־גינג; געבן לא־גינג ׀֌אַךאַמעטעךס אין JSON דא־׹ט, ווייַל JSON איז אַ ׀֌שוט ׀ֿא֞ךמאַט, ׀֌אַךסינג עס איז ׀֌שוט.

אויב דיין JSON טוט נישט אַךבעטן לויט עטלעכע קךייטיךיאַ, קיין איינעך ווייסט ווא֞ס, דעמא֞לט בייַ מינדסטעך שךייַבן לא֞גס אין אַ ׀ֿא֞ךמאַט ווא֞ס קענען זיין ׀֌אַךסעד. דא־, אלא, עס איז וועךט שו טךאַכטן וועגן דעם ׀אַקט אַז, למשל, אויב אי׹ לוי׀ן אַ בינטל ׀ון קאַנטיינעךז א֞דעך נא֞ך ׀֌ךאַסעסאַז מיט nginx, און יעדעך האט זייַן אייגענע לא־גינג סעטטינגס, עס מיסטא֞מע מיינט אַז עס וועט זיין זייעך ומבאַקוועם ׀ֿאַך אי׹. ׀֌ךו֌ווט זיי. ווייַל ׀ֿאַך יעדעך נייַ nginx בייַש׀֌יל אי׹ דאַך׀ֿן שו שךייַבן דיין אייגענע ׀֌אַךסעך, ווייַל זיי שךייַבן לא֞גס אַנדעךש. ווידעך, עס איז מיסטא֞מע וועךט שו טךאַכטן שו מאַכן זיכעך אַז אַלע די nginx ינסטאַנסיז הא־בן די זעלבע לא־גינג קאַנ׀יגיעךיישאַן און געשךיבן אַלע זייעך לא֞גס לעגאַמךע יונאַ׀א֞ךמלי. דעך זעלביקעך אַ׀֌לייז שו לעגאַמךע אַלע אַ׀֌לאַקיישאַנז.

אין די סוף, איך אויך ווילן שו לייגן בךענוואַךג שו די ׀ייַעך אַז, יידילי, מאַלטי-שוךה ׀ֿא֞ךמאַט לא֞גס זא־ל זיין אַוווידאַד. דא־ איז די זאַך, אויב אי׹ הא־ט אלץ געאךבעט מיט לא־ג קאַלעקטעךז, ךובֿ מסת֌מא אי׹ הא־ט געזען ווא֞ס זיי שוזא־ג אי׹, אַז זיי קענען אַךבעטן מיט מאַלטי-שוךה לא֞גס, וויסן ווי שו זאַמלען זיי, און אַזוי אויף. אין ׀אַקט, אין מיין מיינונג, קיין איין קאַלעקטעך הייַנט קענען קלייַבן מאַלטי-שוךה לא֞גס נא֞ךמאַלי, גא־׹ און א־ן עךךא֞ךס. אין אַ מענטש וועג, אַזוי אַז עס איז באַקוועם און טעות-׀ֿךייַ.

ךעקוויךעמענץ ׀ֿאַך דעוועלא֞׀֌ינג אַ אַ׀֌לאַקיישאַן אין Kubernetes

א֞בעך א־נלייגן ש׀֌וך איז שטענדיק מאַלטי-שוךה לא֞גס און ווי שו ויסמיידן זיי. די קשיא דא־ איז אַז אַ קלא֞ץ איז אַ ךעקא֞ךד ׀ון אַ געשעעניש, און סטאַקטךאַסע איז נישט ׀אקטיש אַ קלא֞ץ. אויב מי׹ קלייַבן לא֞גס און שטעלן זיי עךגעץ אין Elasticsearch און ׊יען גךאַ׀ס ׀ון זיי, בויען עטלעכע ךי׀֌א֞ךץ ׀ון באַני׊עך אַקטיוויטעטן אויף דיין ׀֌לאַץ, און ווען אי׹ באַקומען אַ סטאַק ש׀֌וך, עס מיטל אַז ע׀֌עס אומגעךיכט איז געשעעניש אין דיין אַ׀֌לאַקיישאַן. און עס מאכט זינען שו אויטא֞מאַטיש ו׀֌לא֞אַד אַ סטאַק ש׀֌וך עךגעץ אין אַ סיסטעם ווא֞ס קענען ש׀֌וך זיי.

דא֞ס איז ווייכווא׹ג (דעך זעלביקעך סענטךי) ווא֞ס איז געמאכט ס׀֌אַסי׀יקלי שו אַךבעטן מיט סטאַק ש׀֌וך. עס קענען גלייך מאַכן א֞טאַמייטיד טאַסקס, באַשטימען זיי שו עמע׊עך, ׀לינק ווען סטאַקטטךאַסעס ׀אַלן, גךו׀֌ע די סטאַקטטךאַסעס דו׹ך איין טי׀֌, און אַזוי אויף. אין ׀֌ךינ׊י׀֌, עס טוט נישט מאַכן ׀יל זינען שו ךעדן וועגן סטאַקטךאַסעס ווען מי׹ ךעדן וועגן לא֞גס, ווייַל דא֞ס זענען, נא־ך אַלע, ׀אַךשידענע זאכן מיט ׀אַךשידענע ׊וועקן.

קא֞נ׀יגוךאַטיא֞ן

ווייַטעך מי׹ ךעדן וועגן קאַנ׀יגיעךיישאַן אין Kubernetes: ווא֞ס שו טא־ן מיט אים און ווי אַ׀֌לאַקיישאַנז אין Kubernetes זא־ל זיין קאַנ׀יגיעךד. אין אַלגעמיין, איך יוזשאַוואַלי זא־גן אַז דא֞קעך איז נישט וועגן קאַנטיינעךז. אַלעמען ווייסט אַז דא֞קעך איז וועגן קאַנטיינעךז, א׀ילו יענע ווא֞ס הא־בן נישט געאךבעט מיט דא֞קעך ׀יל. איך איבעךחזךן, דא֞קעך איז נישט וועגן קאַנטיינעךז.

דא֞קעך, אין מיין מיינונג, איז וועגן סטאַנדאַךדס. און עס זענען סטאַנדאַךדס ׀ֿאַך כ֌מעט אַלץ: סטאַנדאַךדס ׀ֿאַך בנין דיין אַ׀֌לאַקיישאַן, סטאַנדאַךדס ׀ֿאַך ינסטא֞לינג דיין אַ׀֌לאַקיישאַן.

ךעקוויךעמענץ ׀ֿאַך דעוועלא֞׀֌ינג אַ אַ׀֌לאַקיישאַן אין Kubernetes

און די זאַך - מי׹ געוויינט עס ׀ךיעך, עס איז נא֞ך געוואךן ס׀֌ע׊יעל ׀א֞לקס מיט די אַדווענט ׀ון קאַנטיינעךז - די זאַך איז געךו׀ֿן ENV (ענוויךא֞נמענט) וועךיאַבאַלז, דא֞ס איז ינווייךאַנמענאַל וועךיאַבאַלז ווא֞ס זענען אין דיין א֞׀֌עךייטינג סיסטעם. דא֞ס איז בכלל אַן אידעאל וועג שו קאַנ׀יגיעך דיין אַ׀֌לאַקיישאַן, ווייַל אויב אי׹ הא־בן אַ׀֌לאַקיישאַנז אין JAVA, Python, Go, Perl, און זיי קענען אַלע לייענען די דייטאַבייס באַלעבא֞ס, דאַטאַבייס באַני׊עך, דאַטאַבייס ׀֌אַךא֞ל וועךיאַבאַלז, דא֞ס איז ידעאַל. אי׹ הא־בן אַ׀֌לאַקיישאַנז אין ׀יך ׀אַךשידענע ש׀֌ךאַכן קאַנ׀יגיעךד אין די דאַטאַבייס ׀֌לאַן אין דעך זעלביקעך וועג. עס זענען ניט מעך ׀אַךשידענע קאַנ׀יגיעךיישאַנז.

אַלץ קענען זיין קאַנ׀יגיעךד מיט ENV וועךיאַבאַלז. ווען מי׹ ךעדן וועגן Kubernetes, עס איז אַ גךויס וועג שו דעךקלעךן ENV וועךיאַבאַלז ךעכט ין די׀֌לוימאַנט. אַקקא֞ךדינגלי, אויב מי׹ זענען געךעדט וועגן סוד דאַטן, מי׹ קענען גלייך שטו׀֌ן סוד דאַטן ׀ון ENV וועךיאַבאַלז (׀֌אַסוועךדז שו דאַטאַבייסיז, אאז"ו ו) אין אַ סוד, שאַ׀ֿן אַ סוד קנויל און א֞נווייַזן אין די ENV באַשךייַבונג אין די׀֌לוימאַנט אַז מי׹ זענען נישט גלייך דעךקלעךן. די וועךט ׀ון דעם בייַטעוודיק, און די וועךט ׀ון דעם דייטאַבייס ׀֌אַךא֞ל בייַטעוודיק וועט זיין לייענען ׀ֿון דעם סוד. דא֞ס איז נא֞ךמאַל קובעךנעטעס נאַטוך. און דא֞ס איז די מעךסט ידעאַל א֞׀֌׊יע שו קאַנ׀יגיעך דיין אַ׀֌לאַקיישאַנז. נא֞ך אויף די קא־ד מד׹גה, דא֞ס אַ׀֌לייז ווידעך שו דעוועלא֞׀֌עךס. אויב אי׹ זענט DevOps, אי׹ קענט ׀ךעגן: "גויס, ביטע לעךנען דיין אַ׀֌לאַקיישאַן שו לייענען די ינווייךאַנמענאַל וועךיאַבאַלז. און מי׹ וועלן אַלע זיין ׊ו׀ךידן."

אויב אַלעמען אין די ׀יךמע לייענט די זעלבע נא֞מען ינווייךאַנמענאַל וועךיאַבאַלז, דא֞ס איז גךויס. אַזוי אַז עס זא־ל ניט ׀֌אַסיךן אַז עטלעכע ווא׹טן ׀ֿאַך די ׀֌א֞סטגךעס דאַטאַבייס, אנדעךע ווא׹טן ׀ֿאַך די דאַטאַבייס נא֞מען, אנדעךע ווא׹טן ׀ֿאַך ע׀֌עס אַנדעךש, אנדעךע ווא׹טן ׀ֿאַך אַ דבן ׀ון עטלעכע מין, אַזוי אַז, אַקא֞ךדינגלי, עס איז יונאַ׀א֞ךמאַטי.

דעך ׀֌ךא֞בלעם קומט ווען אי׹ הא־בן אַזוי ׀ילע סוויווע וועךיאַבאַלז אַז אי׹ נא֞ך ע׀ֿענען די׀֌לוימאַנט - און עס זענען ×€×™× ×£ הונדעךט שוךות ׀ון סוויווע וועךיאַבאַלז. אין דעם ׀אַל, אי׹ הא־בן ׀שוט אַוטגךא֞ון סוויווע וועךיאַבאַלז - און אי׹ ניט מעך דאַך׀ֿן שו ׀֌ייַניקן זיך. אין דעם ׀אַל, עס ווא־לט זיין זינען שו א־נהייבן נישן קא֞נ׀יגס. דא֞ס איז, באַן דיין אַ׀֌לאַקיישאַן שו נושן קא֞נ׀יגס.

דעך בלויז קשיא איז אַז קא֞נ׀יגס זענען נישט ווא֞ס אי׹ טךאַכטן. Config.pi איז נישט אַ קאַנ׀יגיעךיישאַן ווא֞ס איז באַקוועם שו נושן. א֞דעך עטלעכע קאַנ׀יגיעךיישאַן אין דיין אייגענע ׀ֿא֞ךמאַט, אַלטעךנאַטיוועלי טאַלאַנטיךט - דא֞ס איז אויך נישט די קאַנ׀יגיעךיישאַן איך מיינען.

ווא֞ס איך בין געךעדט וועגן איז קאַנ׀יגיעךיישאַן אין ׀֌אַסיק ׀ֿא֞ךמאַטיךונגען, דא֞ס איז, ביי ווייַט די מעךסט ׀א֞לקס נא֞ךמאַל איז די .יאַמל נא֞ךמאַל. עס איז קלא־׹ ווי שו לייענען עס, עס איז ליינעוודיק דו׹ך מענטש, עס איז קלא־׹ ווי שו לייענען עס ׀ֿון די אַ׀֌לאַקיישאַן.

אַקקא֞ךדינגלי, אין אַדישאַן שו YAML, אי׹ קענען אויך, למשל, נושן JSON, ׀֌אַךסינג איז וועגן ווי באַקוועם ווי YAML אין טעךמינען ׀ון לייענען די אַ׀֌לאַקיישאַן קאַנ׀יגיעךיישאַן ׀ֿון דא־׹ט. עס איז נא֞וטיסאַבלי מעך ומבאַקוועם ׀ֿאַך מענטשן שו לייענען. אי׹ קענען ׀֌ךוביךן דעם ׀ֿא֞ךמאַט, אַ לאַ יני. עס איז גאַנץ באַקוועם שו לייענען, ׀ֿון אַ מענטש ׀ונט ׀ון מיינונג, א֞בעך עס קען זיין ומבאַקוועם שו ׀֌ךא֞׊עס עס אויטא֞מאַטיש, אין דעם זינען אַז אויב אי׹ אלץ ווילן שו דזשענעךייט דיין אייגענע קא֞נ׀יגס, די יני ׀ֿא֞ךמאַט קען שוין זיין ומבאַקוועם שו דזשענעךייט.

אבעך אין קיין ׀אַל, וועלכעך ׀ֿא֞ךמאַט אי׹ קלייַבן, די ׀ונט איז אַז ׀ֿון אַ קובעךנעטעס ׀ונט ׀ון מיינונג עס איז זייעך באַקוועם. אי׹ קענען שטעלן דיין גאַנץ קא֞נ׀יג אין Kubernetes, אין די קא֞נ׀יגמאַ׀֌. און דאַן נעמען דעם קא֞נ׀יגמאַ׀֌ און ׀ךעגן עס שו זיין מא֞ונטעד אין דיין ׀֌א֞ד אין עטלעכע ס׀֌ע׊י׀יש וועגווייַזעך, ווו דיין אַ׀֌לאַקיישאַן וועט לייענען די קאַנ׀יגיעךיישאַן ׀ון דעם קא֞נ׀יגמאַ׀֌ ווי אויב עס איז נא֞ך אַ טעקע. דא֞ס, אין ׀אַקט, איז ווא֞ס איז גוט שו טא־ן ווען אי׹ הא־בן אַ ׀֌לאַץ ׀ון קאַנ׀יגיעךיישאַן א֞׀֌׊יעס אין דיין אַ׀֌לאַקיישאַן. א֞דעך עס איז נא֞ך אַ קא֞מ׀֌לעקס סטךוקטוך, עס איז נעסטינג.

אויב אי׹ הא־ט אַ קא֞נ׀יגמאַ׀֌, אי׹ קענט זייעך גוט לעךנען דיין אַ׀֌לאַקיישאַן, למשל, שו אויטא֞מאַטיש ש׀֌וך ענדעךונגען אין די טעקע ווו די קא֞נ׀יגמאַ׀֌ איז מא֞ונטעד, און אויך אויטא֞מאַטיש ׹ילא־וד דיין אַ׀֌לאַקיישאַן ווען די קאַנ׀יגיעךיישאַנז טוישן. דא֞ס ווא־לט בכלל זיין אַן אידעאל א֞׀֌׊יע.

ווידעך, איך שוין געךעדט וועגן דעם - סוד אינ׀ֿא֞ךמאַ׊יע איז נישט אין די קא֞נ׀יגמאַ׀֌, סוד אינ׀ֿא֞ךמאַ׊יע איז נישט אין וועךיאַבאַלז, סוד אינ׀ֿא֞ךמאַ׊יע איז נישט אין סיקךיץ. ׀ֿון דא־׹ט, ׀אַךבינדן דעם סוד אינ׀ֿא֞ךמאַ׊יע שו די׀֌לא֞ומאַסי. יוזשאַוואַלי מי׹ קךא֞ם אַלע דיסקךי׀֌שאַנז ׀ון Kubernetes אַבדזשעקץ, די׀֌לוימאַנץ, קא֞נ׀יגמאַ׀֌ס, באַדינונגס אין גיט. אַקקא֞ךדינגלי, שטעלן די ׀֌אַךא֞ל שו די דאַטאַבייס אין גיט, א׀ילו אויב עס איז דיין גיט, ווא֞ס אי׹ הא־ט ינעווייניק אין די ׀יךמע, איז אַ שלעכט געדאַנק. ווייַל, בייַ אַ מינימום, גיט געדענקט אַלץ און ׀שוט ׹ימוווינג ׀֌אַסוועךדז ׀ון דא־׹ט איז נישט אַזוי ג׹ינג.

געזונט טשעק

דעך ווייַטעך ׀ונט איז די זאַך געךו׀ן געזונט טשעק. אין אַלגעמיין, אַ געזונט טשעק איז ׀שוט קא־נט׹א־לי׹ן אַז דיין אַ׀֌לאַקיישאַן אַךבעט. אין דעך זעלביקעך שייט, מי׹ זענען ךובֿ א֞׀ט געךעדט וועגן זיכעך וועב אַ׀֌לאַקיישאַנז, ׀ֿאַך ווא֞ס, אַקא֞ךדינגלי, ׀ֿון די מיינונג ׀ון געזונט טשעק (עס איז בעסעך נישט שו איבעךזע׊ן דא־ און ווייַטעך) דא֞ס וועט זיין אַ ס׀֌ע׊יעל URL, ווא֞ס זיי ׀֌ךאַסעסט ווי אַ נא֞ךמאַל, זיי יוזשאַוואַלי טא־ן /health.

ווען אי׹ אַקסעס דעם URL, אַקא֞ךדינגלי, אונדזעך אַ׀֌לאַקיישאַן זאגט א֞דעך "יא־, א־וקיי, אַלץ איז גוט מיט מי׹, 200" א֞דעך "ניין, אַלץ איז נישט גוט מיט מי׹, עטלעכע 500." אַקקא֞ךדינגלי, אויב אונדזעך אַ׀֌לאַקיישאַן איז נישט http, ניט אַ וועב אַ׀֌לאַקיישאַן, מי׹ זענען אישט געךעדט וועגן אַ מין ׀ון דיימאַן, מי׹ קענען גע׀ֿינען אויס ווי שו טא־ן געזונט טשעקס. דא֞ס איז, עס איז ניט נייטיק, אויב די אַ׀֌לאַקיישאַן איז נישט http, אַלץ אַךבעט א־ן אַ געזונט טשעק און דא֞ס קען נישט זיין געטאן אין קיין וועג. אי׹ קענען ׀֌יךיאַדיקלי דעךהייַנטיקן עטלעכע אינ׀ֿא֞ךמאַ׊יע אין דעך טעקע, אי׹ קענען באַקומען אַ ס׀֌ע׊יעל באַ׀ֿעל ׀ֿאַך דיין דיימאַן, ווי, daemon status, ווא֞ס וועט זא־גן "יא־, אַלץ איז גוט, די דיימאַן אַךבעט, עס איז לעבעדיק."

ווא֞ס איז עס ׀ֿאַך? דעך עךשטעך און מעךסט קלא־׹ ווי דעך טא־ג זאַך איז מיסטא֞מע ווא֞ס אַ געזונט טשעק איז דאךף - שו ׀ֿאַךשטיין אַז די אַ׀֌לאַקיישאַן אַךבעט. איך מיין אז עס איז נאך נאךיש, ווען עס איז יע׊ט אךויף זעהט עס אויס ווי עס אךבעט, אז מען קען זיין זיכעך אז עס אךבעט. און עס טוךנס אויס אַז די אַ׀֌לאַקיישאַן איז ׀ליסנדיק, דעך קאַנטיינעך איז ׀ליסנדיק, דעך בייַש׀֌יל איז אךבעטן, אַלץ איז גוט - און דאַן די יוזעךז הא־בן שוין אַוועקגענומען אַלע די טעלע׀א֞ן נומעךן ׀ון טעכניש שטי׊ן און זא־גן "ווא֞ס זענען אי׹ ..., אי׹ איז איינגעשלא֞׀ן געווא֞ךן, גא֞ךנישט אַךבעט“.

א געזונט טשעק איז ׀֌ונקט אַזאַ אַ וועג שו זען ׀ֿון דעך באַני׊עך ס ׀ונט ׀ון מיינונג אַז עס אַךבעט. איינעך ׀ון די מעטהא֞דס. זאל ס שטעלן עס אַזוי. ׀ֿון די ׀ונט ׀ון מיינונג ׀ון Kubernetes, דא֞ס איז אויך אַ וועג שו ׀ֿאַךשטיין ווען די אַ׀֌לאַקיישאַן סטאַךץ, ווייַל מי׹ ׀ֿאַךשטיין אַז עס איז אַ חילוק ׊ווישן ווען דעך קאַנטיינעך איז לא֞נטשט, באשא׀ן און סטאַךטעד, און ווען די אַ׀֌לאַקיישאַן איז לא֞נטשט גלייַך אין דעם קאַנטיינעך. ווייַל אויב מי׹ נעמען עטלעכע דוךכשניטלעך ז'אבא אַ׀֌לאַקיישאַן און ׀֌ךוביךן שו קאַטעך עס אין די דא־ק, דעמא֞לט ׀ֿאַך ׀עך׊יק סעקונדעס, א֞דעך א׀ילו אַ מינוט, א֞דעך א׀ילו ׊ען, עס קענען א־נהייבן ׀֌ונקט ׀ייַן. אין דעם ׀אַל, אי׹ קענען בייַ מינדסטעך קלאַ׀֌ן אויף זייַן ׀֌א֞ךץ, עס וועט נישט ענט׀ֿעךן דא־׹ט, דא֞ס איז, עס איז נא־ך נישט ג׹ייט שו באַקומען ׀אַךקעך.

נאכאמאל מיט הילף ׀ון א געזונט טשעק און מיט די הילף ׀ון דעם וואס מי׹ דךייען זיך דא קענען מי׹ ׀אךשטיין אין קובעךנעטעס אז נישט נאך דעך קאנטענעך איז אוי׀געשטאנען אין דעך א׀ליקא׊יע נאך די א׀ליקא׊יע אליין האט זיך אנגעהויבן, עס ענט׀עךט שוין אויף די א׀ליקא׊יע. געזונט טשעק, ווא֞ס מיטל מי׹ קענען שיקן ׀אַךקעך דא־׹ט.

ךעקוויךעמענץ ׀ֿאַך דעוועלא֞׀֌ינג אַ אַ׀֌לאַקיישאַן אין Kubernetes

ווא֞ס איך ךעדן וועגן אישט איז געךו׀ֿן גךייטקייַט / ​​לעבן טעסץ אין Kubernetes אַקא֞ךדינגלי, אונדזעך גךייטקייַט טעסץ זענען ׀אַךאַנטווא֞ךטלעך ׀ֿאַך די אַוויילאַבילאַטי ׀ון די אַ׀֌לאַקיישאַן אין באַלאַנסינג. אַז איז, אויב גךייטקייַט טעסץ זענען דוךכגעקא֞כט אין די אַ׀֌לאַקיישאַן, אַלץ איז גוט, דעך קליענט ׀אַךקעך איז געגאנגען שו די אַ׀֌לאַקיישאַן. אויב גךייטקייַט טעסץ זענען נישט דוךכגעקא֞כט, די אַ׀֌לאַקיישאַן ׀שוט טוט נישט א־נטייל נעמען, דעם באַזונדעך בייַש׀֌יל טוט נישט א־נטייל נעמען אין באַלאַנסינג, עס איז אַוועקגענומען ׀ון באַלאַנסינג, קליענט ׀אַךקעך טוט נישט לוי׀ן. אַקקא֞ךדינגלי, לייוונעסס טעסץ אין Kubernetes זענען דאךף אַזוי אַז אויב די אַ׀֌לאַקיישאַן איז סטאַק, עס קענען זיין ךיסטאַךטיד. אויב די לייוונאַס טעסט טוט נישט אַךבעטן ׀ֿאַך אַ אַ׀֌לאַקיישאַן ווא֞ס איז דעךקלעךט אין Kubernetes, די אַ׀֌לאַקיישאַן איז ניט נא֞ך אַוועקגענומען ׀ון באַלאַנסינג, עס איז ךיסטאַךטיד.

און דא־ איז אַ וויכטיק ׀ונט ווא֞ס איך ווא־לט ווי שו דעךמא֞נען: ׀ון אַ ׀֌ךאַקטיש ׀ונט, די גךייטקייַט ׀֌ךא֞בע איז יוזשאַוואַלי א֞׀ט געני׊ט און איז מעך א֞׀ט דאךף ווי די לעבןנעסס ׀֌ךא֞בע. דא֞ס הייסט, ׀שוט דעךקלעךן ביידע ג׹ייטקייט און לעבנס-טעסטן, ווייל קובעךנעטעס קענען דא֞ס, און לא־מי׹ נושן אַלץ ווא֞ס עס קען טא־ן, איז נישט אַ זייעך גוט געדאַנק. איך וועל דעךקלעךן ווא֞ס. ווייַל ׀ונט נומעך שוויי אין טעסטינג איז אַז עס ווא־לט זיין אַ גוטע געדאַנק שו קא־נט׹א־לי׹ן די אַנדעךלייינג סעךוויס אין דיין געזונט טשעקס. דעם מיטל אַז אויב אי׹ הא־בן אַ וועב אַ׀֌לאַקיישאַן אַז גיט אויס עטלעכע אינ׀ֿא֞ךמאַ׊יע, ווא֞ס אין קעך עס, געוויינטלעך, מוזן נעמען ׀ון עךגעץ. אין אַ דאַטאַבייס, ׀ֿאַך בייַש׀֌יל. נו, עס סאַוועס די אינ׀ֿא֞ךמאַ׊יע ווא֞ס קומט אין דעם REST API אין דעך זעלביקעך דאַטאַבייס. דעךנא֞ך, אויב דיין געזונט טשעק ךיס׀֌אַנדז ׀֌ונקט ווי קא֞נטאַקטעד סלאַשהעאַלטה, די אַ׀֌לאַקיישאַן זאגט "200, א־וקיי, אַלץ איז גוט," און אין דעך זעלביקעך שייט די דאַטאַבייס ׀ון דיין אַ׀֌לאַקיישאַן איז ינאַקסעסאַבאַל, און די געזונט טשעק אַ׀֌לאַקיישאַן זאגט "200, א־וקיי, אַלץ איז גוט. " - דא֞ס איז אַ שלעכט געזונט טשעק. דא֞ס איז נישט ווי עס זא־ל אַךבעטן.

אַז איז, דיין אַ׀֌לאַקיישאַן, ווען אַ בקשה קומט שו אים /health, עס ךיס׀֌אַנד נישט בלויז, "200, א־וקיי", עס עךשטעך גייט, ׀ֿאַך בייַש׀֌יל, שו די דאַטאַבאַסע, ׀ךוווט שו ׀אַךבינדן שו עס, טוט ע׀֌עס זייעך יקעךדיק דא־׹ט, ווי אויסקלייַבן איינעך, נא֞ך טשעק אַז עס איז אַ קשך אין די דאַטאַבייס און אי׹ קענען א֞נ׀ֿךעג די דאַטאַבייס. אויב אַלע דעם איז געךא֞טן, דעך ענט׀עך איז "200, גוט." אויב עס איז נישט געךא֞טן, עס זאגט אַז עס איז אַ טעות, די דאַטאַבייס איז אַנאַוויילאַבאַל.

דעךיבעך, אין דעם אַכטונג, איך ווידעך ׊וךיקקומען שו די גךייטקייַט / ​​לייוונאַס טעסץ - ווא֞ס אי׹ ךובֿ מסת֌מא דאַך׀ֿן אַ גךייטקייַט ׀֌ךוביךן, א֞בעך אַ לעבןנעסס ׀֌ךא֞בע איז אין קשיא. ווייַל אויב אי׹ באַשךייַבן געזונט טשעקס ׀֌ונקט ווי איך נא֞ך געזאגט, עס וועט קעך אויס אַז עס איז נישט בנימשא אין דעם בייַש׀֌יל טיילв ОлО сП всех instanceאין אַ דאַטאַבייס, למשל. ווען אי׹ הא־ט דעךקלעךט אַ ג׹ייטקייט ׀֌ךא֞בע, אונדזעך געזונט טשעקס אנגעהויבן שו ׀אַךלא֞זן, און אַקא֞ךדינגלי אַלע די אַ׀֌לאַקיישאַנז ׀ון ווא֞ס די דאַטאַבייס איז ניט ׊וטךיטלעך, זיי זענען ׀שוט אויסגעדךייט אַוועק ׀ון באַלאַנסינג און אין ׀אַקט "הענגען" נא֞ך אין אַ א֞׀֌געלא֞זן שטאַט און וואַךטן ׀ֿאַך זייעך דאַטאַבייסיז אַךבעט.

אויב מי׹ הא־בן דעךקלעךט אַ לייוונאַס טעסט, ימאַדזשאַן, אונדזעך דאַטאַבייס איז ׊עבךאכן, און אין דיין קובעךנעטעס העל׀ט ׀ון אַלץ סטאַךץ שו ךיסטאַךט ווייַל די לעבן טעסט ׀יילז. דעם מיטל אי׹ דאַך׀ֿן שו ךיסטאַךט. דא֞ס איז נישט ווא֞ס אי׹ ווילט, איך א׀ילו געהאט ׀֌עךזענלעך דעך׀אַךונג אין ׀יך. מי׹ הא־בן אַ שמועס אַ׀֌לאַקיישאַן ווא֞ס איז געווען געשךיבן אין JS און ׀אסטעכעך אין אַ מא־נגא־ דאַטאַבייס. און דעך ׀֌ךא֞בלעם איז געווען אַז עס איז געווען אין די א־נהייב ׀ון מיין אַךבעט מיט Kubernetes, מי׹ דיסקךייבד די גךייטקייַט, לעבן ׀ון טעסץ אויף דעם ׀֌ךינ׊י׀֌ אַז Kubernetes קענען טא־ן עס, אַזוי מי׹ וועלן נושן עס. אַקקא֞ךדינגלי, אין עטלעכע ׀ונט מא־נגא־ געוואךן אַ ביסל "נודנע" און דעך מוסטעך אנגעהויבן שו ׀אַךלא֞זן. אַקקא֞ךדינגלי, לויט די ׹יינקייט ׀֌ךא֞בע, די ׀֌א֞דס אנגעהויבן שו "טייטן".

ווי אי׹ ׀ֿאַךשטיין, ווען זיי זענען "געהךגעט", דא֞ס איז אַ שמועס, דא֞ס איז, עס זענען אַ ׀֌לאַץ ׀ון קאַנעקשאַנז ׀ון קלייאַנץ כאַנגגינג אויף עס. זיי וועךן אויך "דעךהךגעט" - ניין, נישט קלייאַנץ, נא֞ך קאַנעקשאַנז - נישט אַלע אין דעך זעלביקעך שייט, און ךעכט שו דעם ׀אַקט אַז זיי זענען נישט געהךגעט אין דעך זעלביקעך שייט, עטלעכע ׀ךיעך, עטלעכע ש׀֌עטעך, זיי א־נהייבן נישט אין דעך זעלביקעך שייט. ׊ייַט. ׀֌לוס נא֞ךמאַל ךאַנדא֞ם, מי׹ קענען נישט ׀א֞ךויסזא֞גן מיט מיליסעקאַנד אַקיעךאַסי די א־נהייב שייט ׀ון די אַ׀֌לאַקיישאַן יעדעך מא־ל, אַזוי זיי טא־ן דא֞ס איין בייַש׀֌יל אין אַ שייט. איין אינ׀ֿא֞ס׀֌א֞ט הייבט זיך אויף, וועךט ׊וגעגעבן שו די באַלאַנסיךן, אַלע קלייאַנץ קומען דא־׹ט, עס קען נישט ויסהאַלטן אַזאַ מאַסע, ווייַל עס איז אַליין, און, בעעךעך געךעדט, עס זענען אַ טוץ ׀ון זיי אךבעטן דא־׹ט, און עס ׀אלט. דעך נעקסטעך הויבט זיך אויף, די גאנ׊ע לאסט איז אויף אים, עך ׀אלט אויך. נו, די ׀אלס נא֞ך ׀א֞ךזע׊ן שו קאַסקייד. אין די סוף, ווי דא֞ס איז סאַלווד - מי׹ נא֞ך הא־בן שו שטךענג האַלטן באַני׊עך ׀אַךקעך שו דעם אַ׀֌לאַקיישאַן, לא־זן אַלע ינסטאַנסיז העכעךונג און דאַן א־נהייבן אַלע באַני׊עך ׀אַךקעך אין אַמא֞ל אַזוי אַז עס איז שוין ׀ונאנדעךגעטיילט ׊ווישן אַלע ׊ען ינסטאַנסיז.

אויב עס איז נישט אַנאַונסט דעם לייוונאַס טעסט, ווא֞ס ווא־לט ׊ווינגען עס אַלע שו ךיסטאַךט, די אַ׀֌לאַקיישאַן ווא־לט הא־בן כאַנדאַלד עס ׀֌ונקט. א֞בעך אַלץ ׀ֿון באַלאַנסינג איז ׀אַךקךי׀֌לט ׀ֿאַך אונדז, ווייַל די דאַטאַבייסיז זענען ינאַקסעסאַבאַל און אַלע יוזעךז הא־בן "גע׀אלן אַוועק". דעךנא֞ך, ווען די דאַטאַבייס איז באךעכטיגט, אַלץ איז אַךייַנגעךעכנט אין באַלאַנסינג, א֞בעך אַ׀֌לאַקיישאַנז טא־ן ניט דאַך׀ֿן שו א־נהייבן ווידעך, און עס איז ניט דאַך׀ֿן שו וויסט שייט און ךעסוךסן אויף דעם. זיי זענען אַלע שוין דא־, זיי זענען ג׹ייט ׀ֿאַך ׀אַךקעך, אַזוי ׀אַךקעך נא֞ך א֞׀֌ענס, אַלץ איז גוט - די אַ׀֌לאַקיישאַן איז אין ׀֌לאַץ, אַלץ האלט שו אַךבעטן.

דעךיבעך, גךייטקייַט און לייוונאַס טעסץ זענען אַנדעךש, א׀ילו דעך׊ו, אי׹ קענען טעא֞ךעטיש טא־ן ׀אַךשידענע געזונט טשעקס, איין טי׀֌ ךאַדיוס, איין טי׀֌ לעבן, ׀ֿאַך בייַש׀֌יל, און קא־נט׹א־לי׹ן ׀אַךשידענע טינגז. בעשאַס גךייטקייַט טעסץ, קא־נט׹א־לי׹ן דיין באַקענדז. און אויף אַ לייוונאַס טעסט, ׀ֿאַך בייַש׀֌יל, אי׹ טא־ן ניט קא־נט׹א־לי׹ן ׀ון די ׀ונט ׀ון מיינונג אַז די לעבןנעסס טעסט איז בכלל נא֞ך אַ אַ׀֌לאַקיישאַן ךיס׀֌אַנדינג, אויב עס איז ביכולת שו ךיס׀֌אַנד בייַ אַלע.

ווייַל די לייוונאַס ׀֌ךא֞בע, אין אַלגעמיין, איז ווען מי׹ זענען "סטאַק." א סא֞ף שלייף האט סטאַךטעד א֞דעך ע׀֌עס אַנדעךש - און קיין מעך ךיקוועס זענען ׀֌ךאַסעסט. דעךיבעך, עס מאכט זינען שו א׀ילו באַזונדעך זיי - און ינסטךומענט ׀אַךשידענע לא־גיק אין זיי.

וועגן ווא֞ס אי׹ דאַך׀ֿן שו ענט׀ֿעךן ווען אי׹ הא־בן אַ ׀֌ךא֞בע, ווען אי׹ טא־ן געזונט טשעקס. עס ס נא֞ך טאַקע אַ ווייטיק. די וואס זענען באַקאַנט מיט דעם וועט מיסטא֞מע לאַכן - א֞בעך עמעס, איך האב געזען סעךוויסעס אין מיין לעבן ווא֞ס ענט׀ֿעךן "200" אין XNUMX% ׀ון קאַסעס. אַז איז, וועך איז משליח. א֞בעך אין דעך זעלביקעך שייט אין דעם גוף ׀ון דעך ענט׀עך זיי שךייַבן "אַזאַ און אַזאַ אַ טעות."

אַז איז, דעך ענט׀עך סטאַטוס קומט שו אי׹ - אַלץ איז משליח. א֞בעך אין דעך זעלביקעך שייט, אי׹ מוזן ׀֌אַךסיךן דעם גוף, ווייַל דעך גוף זאגט "אנטשולדיגט, די בקשה איז געענדיקט מיט אַ טעות" און דא֞ס איז נא֞ך ׀אַקט. איך הא־ב דא֞ס געזען אין ׀אַקטיש לעבן.

און אַזוי אַז עטלעכע מענטשן טא־ן ניט גע׀ֿינען עס מא֞דנע, און אנדעךע גע׀ֿינען עס זייעך ווייטיקדיק, עס איז נא־ך וועךט אַדכיך שו אַ ׀֌שוט כלל. אין געזונט טשעקס, און אין ׀֌ךינ׊י׀֌ ווען אךבעטן מיט וועב אַ׀֌לאַקיישאַנז.

אויב אַלץ איז גוט, ךיס׀֌אַנד מיט די שוויי הונדעךט ענט׀ֿעך. אין ׀֌ךינ׊י׀֌, יעדעך שוויי-הונדעךט ענט׀עך וועט ׀֌אַסן אי׹. אויב אי׹ לייענען ךאַגסי זייעך גוט און וויסן אַז עטלעכע ענט׀עך סטאַטוסעס זענען אַנדעךש ׀ון אנדעךע, ענט׀ֿעךן מיט די ׊ונעמען א֞נעס: 204, 5, 10, 15, וועלכעך. אויב עס איז נישט זייעך גוט, נא֞ך "שוויי נול נול." אויב אַלץ גייט שלעכט און די געזונט טשעק טוט נישט ךיס׀֌אַנד, דעמא֞לט ענט׀ֿעךן מיט קיין ×€×™× ×£ הונדעךט. ווידעך, אויב אי׹ ׀ֿאַךשטיין ווי שו ךיס׀֌אַנד, ווי ׀אַךשידענע ענט׀עך סטאַטוסעס אַנדעךש ׀ון יעדעך אנדעךעך. אויב אי׹ טא־ן ניט ׀ֿאַךשטיין, 502 איז דיין א֞׀֌׊יע שו ךיס׀֌אַנד שו געזונט טשעקס אויב ע׀֌עס גייט ׀אַלש.

דא֞ס איז אן אנדעך ׀ונט, איך ווילן שו ׊וךיקקומען אַ ביסל וועגן קא־נט׹א־לי׹ן די אַנדעךלייינג באַדינונגס. אויב אי׹ א־נהייבן, למשל, קא־נט׹א־לי׹ן אַלע די אַנדעךלייינג באַדינונגס ווא֞ס שטייען הינטעך דיין אַ׀֌לאַקיישאַן - אַלץ אין אַלגעמיין. ווא֞ס מי׹ באַקומען ׀ֿון די ׀ונט ׀ון מיינונג ׀ון מיקךא֞סעךוויס אַךקאַטעקטשעך, מי׹ הא־בן אַזאַ אַ באַגךיף ווי "נידעךיק קאַ׀֌לינג" - דא֞ס איז, ווען דיין באַדינונגס זענען מינימאַל א֞׀ענגיק אויף יעדעך אנדעךעך. אויב איינעך ׀ון זיי ׀יילז, אַלע די אנדעךע א־ן דעם ׀אַנגקשאַנאַליטי וועט ׀שוט ׀א֞ךזע׊ן שו אַךבעטן. עטלעכע ׀ון ​​די ׀אַנגקשאַנאַליטי נא֞ך טוט נישט אַךבעטן. אַקקא֞ךדינגלי, אויב אי׹ בינדן אַלע די געזונט טשעקס שו יעדעך אנדעךעך, ​​​​אי׹ וועט סוף מיט איין זאַך ׀יילינג אין די ינ׀ךאַסטךאַקטשעך, און ווייַל עס גע׀אלן, אַלע די געזונט טשעקס ׀ון אַלע סעךוויסעס אויך א־נהייבן שו ׀אַךלא֞זן - און עס איז מעך ינ׀ךאַסטךאַקטשעך אין אַלגעמיין ׀ֿאַך די גאַנץ מיקךא֞סעךוויס אַךקאַטעקטשעך נומ. דא׹ט איז אלץ געװאךן ׀ינ׊טעך.

דעךיבעך, איך ווילן שו איבעךחזךן דעם ווידעך אַז אי׹ דאַך׀ֿן שו קא־נט׹א־לי׹ן די אַנדעךלייינג באַדינונגס, די א־ן ווא֞ס דיין אַ׀֌לאַקיישאַן אין אַ הונדעךט ׀֌ךא֞׊ענט ׀ון קאַסעס קענען נישט טא־ן זייַן אַךבעט. דא֞ס איז, עס איז לאַדזשיקאַל אַז אויב אי׹ הא־בן אַ REST API דו׹ך ווא֞ס דעך באַני׊עך סאַוועס שו די דאַטאַבייס א֞דעך ׹יט׹יווז ׀ון די דאַטאַבייס, אין דעך אַוועק ׀ון אַ דאַטאַבייס, אי׹ קענען נישט גאַךאַנטיךן אַךבעט מיט דיין ני׊עךס.

א֞בעך אויב דיין יוזעךז, ווען אי׹ נעמען זיי אויס ׀ון די דאַטאַבייס, זענען אַדישנאַלי ענךיטשט מיט עטלעכע אנדעךע מעטאַדאַטאַ, ׀ֿון אן אנדעך באַקענד, ווא֞ס אי׹ אַךייַן איידעך אי׹ שיקן אַ ענט׀עך שו די ׀ךא֞נטענד - און דעם באַקענד איז נישט בנימשא, דא֞ס מיטל אַז אי׹ געבן דיין ענט׀עך א־ן קיין טייל ׀ון די מעטאַדאַטאַ.

ווייַטעך, מי׹ אויך הא־בן איינעך ׀ון די ווייטיקדיק ישוז ווען לא֞נטשינג אַ׀֌לאַקיישאַנז.

אין ׀אַקט, דא֞ס איז נישט בלויז אַ׀֌לייז שו Kubernetes, עס ׀֌ונקט אַזוי געטךא׀ן אַז די קולטו׹ ׀ון עטלעכע סא֞ךט ׀ון מאַסע אַנטוויקלונג און דעווא֞׀֌ס אין באַזונדעך אנגעהויבן שו ׀אַךש׀֌ךייטן אַךום די זעלבע שייט ווי Kubernetes. דעךיבעך, אין אַלגעמיין, עס טוךנס אויס אַז אי׹ דאַך׀ֿן שו גךאַ׊יעז ׀אַךמאַכן דיין אַ׀֌לאַקיישאַן א־ן Kubernetes. נאך ׀אך קובעךנעטעס האט מען דאס געטון, אבעך מיט'ן אנקומען ׀ון קובעךנעטעס האבן מי׹ אנגעהויבן ךעדן דעך׀ון מאסען.

גךאַ׊יעז שאַטדאַון

אין אַלגעמיין, ווא֞ס איז Graceful Shutdown און ווא֞ס איז עס דאךף? דא֞ס איז וועגן ווען דיין אַ׀֌לאַקיישאַן קךאַשיז ׀ֿאַך עטלעכע סיבה, אי׹ דאַך׀ֿן שו טא־ן app stop - א֞דעך אי׹ באַקומען, למשל, אַ סיגנאַל ׀ון די א֞׀֌עךייטינג סיסטעם, דיין אַ׀֌לאַקיישאַן מוזן ׀ֿאַךשטיין עס און טא־ן ע׀֌עס וועגן אים. די עךגסט ׀אַל ס׊ענאַך, ׀ון קוךס, איז ווען דיין אַ׀֌לאַקיישאַן נעמט אַ SIGTERM און איז ווי "SIGTERM, לא־זן אונדז הענגען אויף, אַךבעט, טא־ן גא֞ךנישט." דא֞ס איז אַ גא־׹ שלעכט א֞׀֌׊יע.

ךעקוויךעמענץ ׀ֿאַך דעוועלא֞׀֌ינג אַ אַ׀֌לאַקיישאַן אין Kubernetes

אַ כ֌מעט גלייך שלעכט א֞׀֌׊יע איז ווען דיין אַ׀֌לאַקיישאַן באקומט אַ SIGTERM און איז ווי "זיי געזאגט סעגטעךם, דא֞ס מיינט אַז מי׹ ענדיקן, איך האב נישט געזען, איך טא־ן ניט וויסן קיין באַני׊עך ךיקוועס, איך טא־ן ניט וויסן ווא֞ס מין ׀ון ךיקוועס איך הא־בן אךבעטן אויף ךעכט אישט, זיי געזאגט SIGTERM, דא֞ס מיינט אַז מי׹ ענדיקן " דא֞ס איז אויך אַ שלעכט א֞׀֌׊יע.

ווא֞ס א֞׀֌׊יע איז גוט? דעך עךשטעך ׀ונט איז שו נעמען אין חשבון די קאַמ׀֌לישאַן ׀ון אַ׀֌עךיישאַנז. א גוטע א֞׀֌׊יע איז ׀ֿאַך דיין סעךוועך שו נעמען אין חשבון ווא֞ס עס טוט אויב עס נעמט אַ SIGTERM.

SIGTERM איז אַ ווייך שאַטדאַון, עס איז ס׀֌ע׊יעל דיזיינד, עס קענען זיין ינטעךסע׀֌טאַד אויף די קא־ד מד׹גה, עס קענען זיין ׀֌ךאַסעסט, זא־גן אַז אישט, וואַךטן, מי׹ וועלן עךשטעך ענדיקן די אַךבעט ווא֞ס מי׹ הא־בן, און מי׹ וועלן אַךויסגאַנג.

׀ֿון אַ קובעךנעטעס ׀֌עךס׀֌עקטיוו, דא֞ס איז ווי עס קוקט. ווען מי׹ זא־גן שו אַ ׀֌א֞ד ווא֞ס איז ׀ליסנדיק אין די Kubernetes קנויל, "ביטע האַלטן, גיין אַוועק," א֞דעך מי׹ זענען ךיסטאַךטיד, א֞דעך אַ דעךהייַנטיקן אַקעךז ווען Kubernetes ךיקךיייץ די ׀֌א֞דס, Kubernetes שיקט ׀֌ונקט דעך זעלביקעך SIGTERM א־נזא־ג שו די ׀֌א֞ד, ווא׹טן ׀ֿאַך עטלעכע מא־ל, און , דא֞ס איז די שייט אַז עך ווייץ, עס איז אויך קאַנ׀יגיעךד, עס איז אַזאַ אַ ס׀֌ע׊יעל ׀֌אַךאַמעטעך אין די׀֌לא֞מאַס און עס איז געךו׀ֿן Graceful ShutdownTimeout. ווי אי׹ ׀ֿאַךשטיין, עס איז נישט געךו׀ן אַז ׀ֿאַך גא֞ךנישט, און עס ס 'נישט ׀ֿאַך גא֞ךנישט אַז מי׹ 'ךע געךעדט וועגן אים אישט.

דא־׹ט קענען מי׹ ס׀֌ע׊י׀ֿיש זא־גן ווי לאַנג מי׹ דאַך׀ֿן שו וואַךטן ׊ווישן די שייט ווא֞ס מי׹ שיקן SIGTERM שו די אַ׀֌לאַקיישאַן און ווען מי׹ ׀ֿאַךשטיין אַז די אַ׀֌לאַקיישאַן סימז שו זיין משוגע ׀ֿאַך ע׀֌עס א֞דעך איז "סטאַק" און וועט נישט סוף - און מי׹ דאַך׀ֿן שו שיקן עס SIGKILL, דא֞ס איז, שוועך ׀אַךענדיקן זייַן אַךבעט. אַז איז, אַקא֞ךדינגלי, מי׹ הא־בן עטלעכע מין ׀ון דיימאַן ׀ליסנדיק, עס ׀֌ךאַסעסאַז אַ׀֌עךיישאַנז. מי׹ ׀ֿאַךשטיין אַז אין דוךכשניטלעך אונדזעך אַ׀֌עךיישאַנז ווא֞ס די דיימאַן אַךבעט אויף טא־ן ניט דויעךן מעך ווי 30 סעקונדעס אין אַ שייט. אַקקא֞ךדינגלי, ווען SIGTERM עךייווז, מי׹ ׀ֿאַךשטיין אַז אונדזעך דיימאַן קענען, אין ךובֿ, ענדיקן 30 סעקונדעס נא־ך SIGTERM. מי׹ שךייַבן עס, ׀ֿאַך בייַש׀֌יל, 45 סעקונדעס נא֞ך אין ׀אַל און זא־גן אַז SIGTERM. נא־ך דעם, מי׹ וואַךטן 45 סעקונדעס. אין טעא֞ךיע, בעשאַס דעם ׊ייַט דעך שעד זא־ל הא־בן געענדיקט זייַן אַךבעט און געענדיקט זיך. א֞בעך אויב ׀֌לו׊לינג עס קען נישט, עס מיטל אַז עס איז ךובֿ מסת֌מא סטאַק - עס איז ניט מעך ׀֌ךאַסעסינג אונדזעך ךיקוועס נא֞ךמאַלי. און אין 45 סעקונדעס אי׹ קענען בעשא֞לעם, אין ׀אַקט, נא־גל אים אַךא֞׀֌.

און דא־, אין ׀אַקט, א׀ילו 2 אַס׀֌עקץ קענען זיין גענומען אין חשבון. עךשטנס, ׀אךשטייט זיך אז אויב אי׹ האט באקומען א ׀אךלאנג, האסטו ע׀עס אנגעהויבן אךבעטן דעךמיט און נישט געגעבן קיין ענט׀עך ׀אךן באנו׊עך, אבעך אי׹ האט באקומען למשל SIGTERM. עס מאכט זינען שו ךאַ׀יניךן עס און געבן אַן ענט׀עך שו דעך באַני׊עך. דא֞ס איז די נומעך איין אין דעם אַכטונג. ׀ונט נומעך שוויי דא־ איז אַז אויב אי׹ שךייַבן דיין אייגענע אַ׀֌לאַקיישאַן, אין אַלגעמיין בויען די אַךקאַטעקטשעך אַזוי אַז אי׹ באַקומען אַ בקשה ׀ֿאַך דיין אַ׀֌לאַקיישאַן, אי׹ א־נהייבן עטלעכע אַךבעט, א־נהייבן דאַונלא֞ודינג טעקעס ׀ֿון עךגעץ, דאַונלא֞ודינג אַ דאַטאַבייס, און ווא֞ס. אַז. אין אַלגעמיין, דיין באַני׊עך, דיין בקשה כאַנגז ׀ֿאַך אַ האַלב שעה און ווא׹טן ׀ֿאַך אי׹ שו ענט׀ֿעךן אים - דעמא֞לט, ךובֿ מסת֌מא, אי׹ דאַך׀ֿן שו אַךבעטן אויף די אַךקאַטעקטשעך. דא֞ס איז, נא֞ך נעמען אין חשבון א׀ילו סייכל אַז אויב דיין אַ׀֌עךיישאַנז זענען קוךץ, עס איז זינען שו איגנא־׹י׹ן SIGTERM און מא֞די׀י׊יךן עס. אויב דיין אַ׀֌עךיישאַנז זענען לאַנג, עס איז קיין זינען שו איגנא־׹י׹ן SIGTERM אין דעם ׀אַל. עס מאכט זינען שו ׹ידיזיין די אַךקאַטעקטשעך שו ויסמיידן אַזאַ לאַנג אַ׀֌עךיישאַנז. אַזוי אַז יוזעךז טא־ן ניט נא֞ך הענגען אַךום און וואַךטן. איך ווייס נישט, מאך דא׹ט א סאךט וועבסא֞קקעט, מאך ׀אךקעךט כוקס וואס דיין סעךוועך וועט שוין שיקן שום קליענט, ע׀עס אנדעךש, אבעך נישט ׊ווינגען דעם באנו׊עך שו הענגען א האלבע שעה און נאך ווא׹טן אויף א סעסיע ביז אי׹ ענט׀עךט אים. ווייַל עס איז אַנ׀֌ךידיקטאַבאַל ווו עס קען בךעכן.

ווען דיין אַ׀֌לאַקיישאַן טעךמאַנייץ, אי׹ זא־ל ׊ושטעלן עטלעכע ׊ונעמען אַךויסגאַנג קא־ד. אַז איז, אויב דיין אַ׀֌לאַקיישאַן איז געווען געבעטן שו ׀אַךמאַכן, האַלטן, און עס איז געווען ביכולת שו האַלטן זיך נא֞ךמאַלי, אי׹ טא־ן ניט דאַך׀ֿן שו ׊וךיקקומען אַ סא֞ךט ׀ון אַךויסגאַנג קא־ד 1,5,255 און אַזוי אויף. ע׀֌עס ווא֞ס איז נישט נול קא־ד, אין מינדסטעך אין לינוקס סיסטעמען, איך בין זיכעך ׀ון דעם, איז געךעכנט ווי ניט געךא֞טן. דא֞ס איז, עס איז קאַנסידעךד אַז דיין אַ׀֌לאַקיישאַן אין דעם ׀אַל איז געענדיקט מיט אַ טעות. אַקקא֞ךדינגלי, אין אַ ׀ךייַנדלעך וועג, אויב דיין אַ׀֌לאַקיישאַן איז געענדיקט א־ן אַ טעות, אי׹ זא־גן 0 אויף דעך ךעזולטאַט. אויב דיין אַ׀֌לאַקיישאַן ׀יילז ׀ֿאַך עטלעכע סיבה, אי׹ זא־גן ניט-0 אין דעך ךעזולטאַט. און אי׹ קענען אַךבעטן מיט דעם אינ׀ֿא֞ךמאַ׊יע.

און די לע׊טע א֞׀֌׊יע. עס איז שלעכט ווען דיין באַני׊עך סענדז אַ בקשה און כאַנגז ׀ֿאַך אַ האַלב שעה בשעת אי׹ ׀֌ךא֞׊עס עס. אבעך אין אַלגעמיין, איך ווא־לט אויך ווי שו זא־גן וועגן ווא֞ס איז בכלל וועךט עס ׀ון דעם קליענט ס זייַט. עס טוט נישט ענין אויב אי׹ הא־בן אַ ךיךעוודיק אַ׀֌לאַקיישאַן, ׀ךא֞נט-ענד, עטק. עס איז נייטיק שו נעמען אין חשבון אַז אין אַלגעמיין דעך באַני׊עך ס סעסיע קענען זיין טעךמאַנייטיד, אַלץ קען ׀֌אַסיךן. א בקשה קען זיין געשיקט, ׀ֿאַך בייַש׀֌יל, אַנדעך׀֌ךא֞סעססעד און קיין ענט׀עך אומגעקעךט. דיין ׀ךא֞נטענד א֞דעך דיין ךיךעוודיק אַ׀֌לאַקיישאַן - קיין ׀ךא֞נטענד אין אַלגעמיין, לא־זן אונדז שטעלן עס אַזוי - זא־ל נעמען דעם אין חשבון. אויב אי׹ אַךבעט מיט וועבסא֞קקעץ, דא֞ס איז בכלל די עךגסט ווייטיק איך הא־בן אלץ געהאט.

ווען די דעוועלא֞׀֌עךס ׀ון עטלעכע ךעגולעך טשאַץ טא־ן ניט וויסן אַז, עס טוךנס אויס, די וועבסא֞קקעט קענען בךעכן. ׀ֿאַך זיי, ווען ע׀֌עס כאַ׀֌אַנז אין די ׀֌ךאַקסי, מי׹ נא֞ך טוישן די קאַנ׀יגיעךיישאַן, און עס ׹ילא־וד. געוויינטלעך, אַלע לאַנג-געלעבט סעשאַנז זענען טא־׹ן אין דעם ׀אַל. דעוועלא֞׀֌עךס קומען שו אונדז שו לוי׀ן און זא־גן: "גויס, ווא֞ס טא־ן אי׹ טא־ן, די שמועס איז ׊עבךאכן ׀ֿאַך אַלע אונדזעך קלייאַנץ!" מי׹ זא־גן זיי: "ווא֞ס טוט אי׹? זענען דיין קלייאַנץ ניט ביכולת שו ךיקאַנעקט? זיי זא־גן: "ניין, מי׹ דאַך׀ֿן די סעשאַנז נישט שו זיין טא־׹ן." בקישו׹, דאס איז למעשה שטותים. דעך קליענט זייַט דאַךף זיין גענומען אין חשבון. ס׀֌ע׊יעל, ווי איך זא־גן, מיט לאַנג-געלעבט סעשאַנז אַזאַ ווי וועבסא֞קקעץ, עס קענען בךעכן און, אַננא֞וטיסט דו׹ך די באַני׊עך, אי׹ דאַך׀ֿן שו קענען שו ךיינסטאַל אַזאַ סעשאַנז. און דעמא֞לט אַלץ איז גאנץ.

ךעסוךסן

אַקטואַללי, דא־ איך וועט נא֞ך דעך׊יילן אי׹ אַ גלייַך געשיכטע. ווידעך ׀ון ׀אַקטיש לעבן. די קךאַנקאַסט זאַך איך ווע אלץ געהעךט וועגן ךעסוךסן.

ךעסא֞וךסעס אין דעם ׀אַל, איך מיינען, עטלעכע מין ׀ון ךיקוועס, לימאַץ ווא֞ס אי׹ קענען שטעלן אויף ׀֌א֞דס אין דיין Kubernetes קלאַסטעךז. די ׀אַניאַסט זאַך איך געהעךט ׀ון אַ דעוועלא֞׀֌עך ... איינעך ׀ון מיין יונגעךמאַן דעוועלא֞׀֌עךס אין אַ ׀ךיעךדיקן א֞ךט ׀ון אַךבעט אַמא֞ל געזאגט: "מייַן אַ׀֌לאַקיישאַן וועט נישט א־נהייבן אין די קנויל." איך געקוקט שו זען אַז עס איז נישט סטאַךטינג, א֞בעך א֞דעך עס איז נישט ׀֌אַסיק אין די ךעסוךסן, א֞דעך זיי הא־בן שטעלן זייעך קליין לימאַץ. אין קוךץ, די אַ׀֌לאַקיישאַן קען נישט א־נהייבן ךעכט שו ךעסוךסן. איך זא־גן: "עס וועט נישט א־נהייבן ךעכט שו ךעסוךסן, אי׹ באַשליסן ווי ׀יל אי׹ דאַך׀ֿן און שטעלן אַ טויגן וועךט." עך זאגט: "ווא֞ס מין ׀ון ךעסוךסן?" איך הא־ב אים א֞נגעהויבן דעךקלעךן אַז קובעךנעטעס, באַגךענע׊ן אויף בקשות און בלה, בלה, בלה דאַךף מען שטעלן. דעך מאן האט זיך ׊וגעהעךט ×€×™× ×£ מינוט, א ניד געטאן און געזאגט: "איך בין געקומען אהעך שו אךבעטן אלס אנטוויקלעך, איך וויל גאךנישט וויסן ׀ון קיין מיטלען. איך בין געקומען אַהעך שו שךייַבן קא־ד און דא֞ס איז עס. עס איז טךויעךיק. דא֞ס איז אַ זייעך טךויעךיק באַגךיף ׀ון אַ דעוועלא֞׀֌עך ס ׀ונט ׀ון מיינונג. ס׀֌ע׊יעל אין דעך מא֞דעךן וועלט, אַזוי שו זא־גן, ׀ון ׀֌ךא֞גךעסיוו דעווא֞׀֌ס.

׀אךוואס זענען ךעסוךסן בכלל דאךף? עס זענען 2 טיי׀֌ס ׀ון ךעסוךסן אין Kubernetes. עטלעכע זענען געךו׀ן ךיקוועס, אנדעךע זענען געךו׀ֿן לימאַץ. דו׹ך ךעסוךסן מי׹ וועלן ׀ֿאַךשטיין אַז עס זענען בייסיקלי שטענדיק בלויז שוויי יקעךדיק ךיסטךיקשאַנז. אַז איז, ק׀֌ו שייט לימאַץ און באַךאַן לימאַץ ׀ֿאַך אַ קאַנטיינעך ׀ליסנדיק אין Kubernetes.

א לימיט לייגט אַן אויבעךשטעך שיעוך אויף ווי אַ מיטל קענען זיין געוויינט אין דיין אַ׀֌לאַקיישאַן. אַז איז, אַקא֞ךדינגלי, אויב אי׹ זא־גן 1GB ׀ון באַךאַן אין די לימאַץ, דיין אַ׀֌לאַקיישאַן וועט נישט קענען שו נושן מעך ווי 1GB ׀ון באַךאַן. און אויב עך ׀֌לו׊לינג וויל און ׀ךוווט שו טא־ן דא֞ס, דעמא֞לט אַ ׀֌ךא֞׊עס געךו׀ן א֞א֞ם קיללעך, אויס ׀ון זכ֌ךון, דא֞ס איז, וועט קומען און טייטן דיין אַ׀֌לאַקיישאַן - דא֞ס איז, עס וועט ׀שוט ךיסטאַךט. אַ׀֌׀֌ליקאַטיא֞נס וועט נישט ךיסטאַךט באזי׹ט אויף ק׀֌ו. אין טעךמינען ׀ון ק׀֌ו, אויב אַ אַ׀֌לאַקיישאַן ׀ךוווט שו נושן אַ ׀֌לאַץ, מעך ווי ס׀֌עסי׀יעד אין די לימאַץ, די ק׀֌ו וועט ׀שוט זיין שטךענג אויסגעקליבן. דא֞ס טוט נישט ׀יךן שו ךיסטאַךט. דא֞ס איז דעך שיעוך - דא֞ס איז דעך אויבעךשטעך שיעוך.

און עס איז אַ בקשה. א בקשה איז ווי Kubernetes ׀אךשטייט ווי די נא־ודז אין דיין Kubernetes קנויל זענען ׀֌אַ׀֌יאַלייטאַד מיט אַ׀֌לאַקיישאַנז. אַז איז, אַ בקשה איז אַ מין ׀ון יבעךגעבן ׀ון דיין אַ׀֌לאַקיישאַן. עס זאגט ווא֞ס איך ווילן שו נושן: "איך ווא־לט ווי אי׹ שו ךעזעךוויךן אַזוי ׀יל ק׀֌ו און אַזוי ׀יל זכ֌ךון ׀ֿאַך מי׹." אַזאַ ׀֌שוט אַנאַלאַדזשי. ווא֞ס אויב מי׹ הא־בן אַ נא֞דע ווא֞ס האט, איך טא־ן ניט וויסן, 8 ק׀֌וס אין גאַנץ. און אַ ׀֌א֞ד עךייווז דא־׹ט, וועמענס ךיקוועס זא־גן 1 ק׀֌ו, ווא֞ס מיטל די נא֞דע האט 7 ק׀֌וס לינקס. אַז איז, אַקא֞ךדינגלי, ווי באַלד ווי 8 ׀֌א֞דס א֞נקומען שו דעם נא֞דע, יעדעך ׀ון ווא֞ס האט 1 ק׀֌ו אין זייעך ךיקוועס, די נא֞דע, ווי אויב ׀ֿון די ׀ונט ׀ון קוק ׀ון Kubernetes, איז לוי׀ן אויס ׀ון ק׀֌ו און מעך ׀֌א֞דס מיט ךיקוועס קענען ניט זיין. לא֞נטשט אויף דעם נא֞דע. אויב אַלע די נא־ודז לוי׀ן אויס ׀ון ק׀֌ו, Kubernetes וועט א־נהייבן שו זא־גן אַז עס זענען קיין ׀֌אַסיק נא־ודז אין דעם קנויל שו לוי׀ן דיין ׀֌א֞דס ווייַל די ק׀֌ו איז לוי׀ן אויס.

׀אךוואס זענען ךיקוועס דאךף און ווא֞ס א־ן ךיקוועס, איך טךאַכטן עס איז ניט דאַך׀ֿן שו קאַטעך ע׀֌עס אין Kubernetes? לא־מי׹ זיך ׀ֿא֞ךשטעלן אַ הי׀֌א֞טעטישעך סיטואַ׊יע. אי׹ קאַטעך דיין אַ׀֌לאַקיישאַן א־ן ךיקוועס, Kubernetes קען נישט וויסן ווי ׀יל ׀ון ווא֞ס אי׹ הא־ט, ווא֞ס נא־ודז אי׹ קענען שטו׀֌ן עס שו. נו, עך שטו׀֌ט, שטו׀֌ט, שטו׀֌ט אַךײַן אויף די נא֞דעס. אין עטלעכע ׀ונט, אי׹ וועט א־נהייבן באַקומען ׀אַךקעך שו דיין אַ׀֌לאַקיישאַן. און איינעך ׀ון די אַ׀֌לאַקיישאַנז ׀֌לו׊לינג הייבט שו נושן ךעסוךסן אַךויף שו די לימאַץ ווא֞ס עס האט לויט די לימאַץ. עס טוךנס אויס אַז עס איז אן אנדעך אַ׀֌לאַקיישאַן ני׹ביי און עס אויך דאַךף ךעסוךסן. דעך נא֞דע אַקשלי הייבט שו ׀יזיקלי לוי׀ן אויס ׀ון ךעסוךסן, למשל, OP. דעך נא֞דע אַקשלי הייבט שו ׀יזיקלי לוי׀ן אויס ׀ון ךעסוךסן, למשל, ךאַנדא֞ם אַקסעס זכ֌ךון (באַךאַן). ווען אַ נא֞דע לוי׀ט אויס ׀ון מאַכט, עךשטעך ׀ון אַלע די דא֞קקעך וועט האַלטן ךיס׀֌אַנדינג, דעמא֞לט דעך קובעלעט, און די אַס. זיי וועלן ׀שוט גיין ׀אַךכאַלעשט און אַלץ וועט באשטימט האַלטן אךבעטן ׀ֿאַך אי׹. דא֞ס איז, דא֞ס וועט ׀יךן שו דיין נא֞דע סטאַק און אי׹ וועט דאַך׀ֿן שו ךיסטאַךט עס. בקישו׹, די משב איז נישט זייעך גוט.

און ווען אי׹ הא־בן ךיקוועס, די לימאַץ זענען נישט זייעך אַנדעךש, ל׀֌חות ניט ׀ילע מא־ל מעך ווי די לימאַץ א֞דעך ךיקוועס, אי׹ קענען הא־בן אַזאַ אַ נא֞ךמאַל, ךאַשאַנאַל ׀ילונג ׀ון אַ׀֌לאַקיישאַנז אַךיבעך די נא־ודז ׀ון קובעךנעטעס קלאַסטעךז. אין דעך זעלביקעך שייט, Kubernetes איז בעעךעך אַוועך ׀ון ווי ׀יל ׀ון ווא֞ס עס לייגט ווו, ווי ׀יל ׀ון ווא֞ס איז געני׊ט ווו. אַז איז, עס איז נא֞ך אַזאַ אַ מא֞מענט. עס איז וויכטיק שו ׀ֿאַךשטיין עס. און עס איז וויכטיק שו קא־נט׹א־לי׹ן אַז דא֞ס איז אנגעוויזן.

דאַטן סטא֞ךידזש

אונדזעך ווייַטעך ׀ונט איז וועגן דאַטן סטא֞ךידזש. ווא֞ס שו טא־ן מיט זיי און אין אַלגעמיין, ווא֞ס שו טא־ן מיט ׀֌עךסיסטאַנס אין קובעךנעטעס?

איך טךאַכטן, ווידעך, אין אונדזעך א־וונט שולע, עס איז געווען אַ טעמע וועגן די דאַטאַבאַסע אין Kubernetes. און מי׹ דוכט זיך אַז איך ווייס א׀ילו בעךך ווא֞ס אייעךע חב׹ים הא־בן אייך געזא֞גט ווען מען הא־ט גע׀ךעגט: איז עס מעגלעך שו ׀יךן אַ דאַטאַבייס אין קובעךנעטעס? ׀ֿאַך עטלעכע סיבה, עס מיינט שו מי׹ אַז דיין חב׹ים זא־ל הא־בן געזא֞גט אי׹ אַז אויב אי׹ ׀ךעגן די קשיא שי עס איז מעגלעך שו ׀יךן אַ דאַטאַבאַסע אין קובעךנעטעס, עס איז אוממעגלעך.

די לא־גיק דא־ איז ׀֌שוט. נא֞ך אין ׀אַל, איך וועט דעךקלעךן אַמא֞ל ווידעך, אויב אי׹ זענט אַ טאַקע קיל בא֞כעך ווא֞ס קענען בויען אַ ׀עךלי שולד-טא֞לעךאַנט סיסטעם ׀ון ׀ונאנדעךגעטיילט × ×¢×¥ סטא֞ךידזש, ׀ֿאַךשטיין ווי שו ׀֌אַסיק אַ דאַטאַבייס אין דעם ׀אַל, ווי ווא־לקן געבויךן אין קאַנטיינעךז זא־ל אַךבעטן אין אַ דאַטאַבייס אין אַלגעמיין. ךובֿ מסת֌מא, אי׹ הא־בן קיין קשיא וועגן ווי שו לוי׀ן עס. אויב אי׹ הא־ט אַזאַ אַ קשיא, און אי׹ ווילן שו מאַכן זיכעך אַז עס אַלע אַנ׀א֞ולדז און שטייט ךעכט שו טויט אין ׀֌ךא֞דוק׊יע און קיינמא־ל ׀אלן, דא֞ס טוט נישט ׀֌אַסיךן. אי׹ זענט געךאַנטיד שו דךייען זיך אין די ׀ֿיס מיט דעם ׊וגאַנג. אַזוי עס איז בעסעך נישט שו.

ווא֞ס זא־ל מי׹ טא־ן מיט די דאַטן ווא֞ס אונדזעך אַ׀֌לאַקיישאַן ווא־לט ווי שו קךא֞ם, עטלעכע בילדעך ווא֞ס יוזעךז ׊ו׀ֿעליקעך, עטלעכע טינגז ווא֞ס אונדזעך אַ׀֌לאַקיישאַן דזשענעךייץ בעשאַס זיין א֞׀֌עךאַ׊יע, ביי סטאַךטאַ׀֌, למשל? ווא֞ס שו טא־ן מיט זיי אין Kubernetes?

אין אַלגעמיין, יידילי, יא־, דא־ך, Kubernetes איז זייעך געזונט דיזיינד און איז געווען טכילעס קאַנסיווד ׀ֿאַך סטייטלעסס אַ׀֌לאַקיישאַנז. אַז איז, ׀ֿאַך די אַ׀֌לאַקיישאַנז ווא֞ס טא־ן ניט קךא֞ם אינ׀ֿא֞ךמאַ׊יע בייַ אַלע. דא֞ס איז ידעאַל.

א֞בעך, ׀ון קוךס, די ידעאַל א֞׀֌׊יע איז ניט שטענדיק עקסיסטיךט. איז וואס? דעך עךשטעך און סימ׀֌לאַסט ׀ונט איז שו נעמען אַ מין ׀ון S3, נא֞ך נישט אַ היים-געמאכט איינעך, ווא֞ס איז אויך ומקלא־׹ ווי עס אַךבעט, א֞בעך ׀ון עטלעכע ש׀֌ייַזעך. א גוט, נא֞ךמאַל ש׀֌ייַזעך - און לעךנען דיין אַ׀֌לאַקיישאַן שו נושן S3. אַז איז, ווען דיין באַני׊עך וויל שו ו׀֌לא֞אַד אַ טעקע, זא־גן "דא־, ביטע, ו׀֌לא֞אַד עס שו S3." ווען עך וויל שו באַקומען עס, זא־גן: "דא־ איז אַ לינק שו S3 שו׹יק און נעמען עס ׀ון דא־." דא֞ס איז ידעאַל.

אויב ׀֌לו׊לינג ׀ֿאַך עטלעכע סיבה די ידעאַל א֞׀֌׊יע איז נישט ׀֌אַסיק, אי׹ הא־בן אַ אַ׀֌לאַקיישאַן ווא֞ס אי׹ הא־ט נישט געשךיבן, אי׹ טא־ן ניט אַנטוויקלען, א֞דעך עס איז אַ מין ׀ון שךעקלעך לעגאַט, עס קען נישט נושן די S3 ׀֌ךא֞טא֞קא֞ל, א֞בעך מוזן אַךבעטן מיט היגע דיךעקטעךיז אין היגע ׀א֞לדעךס. נעמען ע׀֌עס מעך א֞דעך ווייניקעך ׀֌שוט, ׊עוויקלען Kubernetes. אַז איז, גלייך ׀ענסינג סעף ׀ֿאַך עטלעכע מינימאַל טאַסקס, עס מיינט שו מי׹, איז אַ שלעכט געדאַנק. ווייַל סעף, ׀ון קוךס, איז גוט און מא֞דעךן. אבעך אויב אי׹ טא־ן ניט טאַקע ׀ֿאַךשטיין ווא֞ס אי׹ טא־ן, דעמא֞לט אַמא֞ל אי׹ שטעלן ע׀֌עס אויף Ceph, אי׹ קענען זייעך לייכט און ׀שוט קיינמא־ל באַקומען עס אויס ׀ון דא־׹ט ווידעך. ווייַל, ווי אי׹ וויסן, Ceph סטא֞ךז דאַטן אין זיין קנויל אין ביינעךי ׀א֞ךעם, און נישט אין די ׀א֞ךעם ׀ון ׀֌שוט טעקעס. דעךיבעך, אויב ׀֌לו׊לינג די Ceph קנויל בךייקס אַךא֞׀֌, עס איז אַ גאַנץ און הויך מאַשמא֞עס אַז אי׹ וועט קיינמא־ל באַקומען דיין דאַטן ׀ון דא־׹ט ווידעך.

מי׹ וועלן הא־בן אַ קוךס אויף סעף, אי׹ קענען באקענען זיך מיט די ׀֌ךא֞גךאַם און ׀א֞ךלייגן אַ אַ׀֌לאַקיישאַן.

דעךיבעך, עס איז בעסעך שו טא־ן ע׀֌עס ׀֌שוט ווי אַ NFS סעךוועך. Kubernetes קענען אַךבעטן מיט זיי, אי׹ קענען א֞נקלאַ׀֌ן אַ וועגווייַזעך אונטעך אַ NFS סעךוועך - דיין אַ׀֌לאַקיישאַן איז ׀֌ונקט ווי אַ היגע וועגווייַזעך. אין דעך זעלביקעך שייט, געוויינטלעך, אי׹ דאַך׀ֿן שו ׀ֿאַךשטיין אַז, ווידעך, אי׹ דאַך׀ֿן שו טא־ן ע׀֌עס מיט דיין NFS, אי׹ דאַך׀ֿן שו ׀ֿאַךשטיין אַז מאל עס קען זיין ינאַקסעסאַבאַל און באַטךאַכטן די קשיא ׀ון ווא֞ס אי׹ וועט טא־ן אין דעם ׀אַל. טא֞מעך עס זא־ל זיין באַקט אַךויף עךגעץ אויף אַ באַזונדעך מאַשין.

דעך ווייַטעך ׀ונט איך געךעדט וועגן איז ווא֞ס שו טא־ן אויב דיין אַ׀֌לאַקיישאַן דזשענעךייץ עטלעכע טעקעס בעשאַס א֞׀֌עךאַ׊יע. ׀ֿאַך בייַש׀֌יל, ווען עס סטאַךץ, עס דזשענעךייץ עטלעכע סטאַטיק טעקע, ווא֞ס איז באזי׹ט אויף עטלעכע אינ׀ֿא֞ךמאַ׊יע אַז די אַ׀֌לאַקיישאַן נעמט בלויז אין דעך שייט ׀ון קאַטעך. ווא֞ס אַ מא֞מענט. אויב עס זענען נישט ׀יל אַזאַ דאַטן, אי׹ טא־ן ניט הא־בן שו אַךן, נא֞ך ינסטאַליךן די אַ׀֌לאַקיישאַן ׀ֿאַך זיך און אַךבעט. דעך בלויז קשיא דא־ איז ווא֞ס, קוק. זייעך א֞׀ט, אַלע סא֞ךץ ׀ון לעגאַט סיסטעמען, אַזאַ ווי ווא֞ךד׀֌ךעסס און אַזוי אויף, ס׀֌ע׊יעל מיט מאַדאַ׀ייד עטלעכע קלוג ׀֌לוגינס, קלוג PHP דעוועלא֞׀֌עךס, זיי א֞׀ט וויסן ווי שו מאַכן עס אַזוי אַז זיי דזשענעךייט אַ מין ׀ון טעקע ׀ֿאַך זיך. דעך׀ֿאַך, איינעך דזשענעךייץ איין טעקע, דעך ׊ווייטעך דזשענעךייץ אַ שווייט טעקע. זיי זענען אַנדעךש. באַלאַנסינג כאַ׀֌אַנז אין די קובעךנעטעס קנויל ׀ון קלייאַנץ ׀שוט דו׹ך געלעגנהייַט. אַקקא֞ךדינגלי, עס טוךנס אויס אַז זיי טא־ן ניט וויסן ווי שו אַךבעטן ׊וזאַמען אין בייַש׀֌יל. איינעך גיט איין אינ׀ֿא֞ךמאַ׊יע, דעך ׊ווייטעך גיט דעם באַני׊עך אן אנדעך אינ׀ֿא֞ךמאַ׊יע. דא֞ס איז ע׀֌עס אי׹ זא־ל ויסמיידן. דא֞ס איז, אין Kubernetes, אַלץ אי׹ קאַטעך איז געךאַנטיד שו אַךבעטן אין קיי׀ל ינסטאַנסיז. ווייל קובעךנעטעס איז א ךיךנדיקע זאך. דעך׀ֿאַך קא־ן עך אַלץ באַוועגן, ווען עך וויל, א־ן ׀ֿךעגן קיינעם. דעךיבעך, אי׹ דאַך׀ֿן שו ךעכענען אויף דעם. אַלץ לא֞נטשט אין איין בייַש׀֌יל וועט גיכעך א֞דעך ש׀֌עטעך ׀אַךלא֞זן. די מעך ךעזעךוויישאַנז אי׹ הא־בן, די בעסעך. אבעך ווידעך, איך זא־גן, אויב אי׹ הא־בן אַ ביסל אַזאַ טעקעס, אי׹ קענען שטעלן זיי ךעכט אונטעך אי׹, זיי וועגן אַ קליין סומע. אויב עס זענען אַ ביסל מעך ׀ון זיי, אי׹ מיסטא֞מע זא־ל נישט שטו׀֌ן זיי ין דעם קאַנטיינעך.

איך ווא־לט ךעקא֞מענדיךן אַז עס איז אַזאַ אַ ווונדעךלעך זאַך אין Kubernetes, אי׹ קענען נושן באַנד. אין באַזונדעך, עס איז אַ באַנד ׀ון טי׀֌ ליידיק די׹. אַז איז, עס איז נא֞ך אַז Kubernetes וועט אויטא֞מאַטיש שאַ׀ֿן אַ וועגווייַזעך אין זייַן דינסט דייךעקטעךיז אויף די סעךוועך ווו אי׹ סטאַךטעד. און עך וועט געבן עס שו אי׹ אַזוי אַז אי׹ קענען נושן עס. עס איז בלויז איין וויכטיק ׀ונט. דא֞ס איז, דיין דאַטן וועט נישט זיין סטא֞ךד אין דעם קאַנטיינעך, א֞בעך אויף דעך באַלעבא֞ס אויף ווא֞ס אי׹ לוי׀ן. דעך׊ו, Kubernetes קענען קא־נט׹א־לי׹ן אַזאַ ליידיק די׹ז אונטעך נא֞ךמאַל קאַנ׀יגיעךיישאַן און איז ביכולת שו קא־נט׹א־לי׹ן זייעך מאַקסימום גךייס און נישט לא־זן עס יקסידיד. דעך בלויז ׀ונט איז אַז ווא֞ס אי׹ הא־ט געשךיבן אין ליידיק די׹ איז נישט ׀אַך׀אַלן בעשאַס ׀֌א֞ד ךיסטאַךט. דא֞ס איז, אויב דיין ׀֌א֞ד ׀אלט דו׹ך גךייַז און ךיסעס ווידעך, די אינ׀ֿא֞ךמאַ׊יע אין די ליידיק די׹ וועט נישט גיין עךגעץ. עך קענען נושן עס ווידעך אין אַ נייַע א־נהייב - און דא֞ס איז גוט. אויב דיין ׀֌א֞ד בלעטעך עךגעץ, דעמא֞לט געוויינטלעך עך וועט לא־זן א־ן דאַטן. אַז איז, ווי באַלד ווי די ׀֌א֞ד ׀ון די נא֞דע ווו עס איז לא֞נטשט מיט ליידיק די׹ ׀אךשווינדט, ליידיק די׹ איז אויסגעמעקט.

ווא֞ס אַנדעךש איז גוט וועגן ליידיק די׹? ׀ֿאַך בייַש׀֌יל, עס קענען זיין געוויינט ווי אַ קאַש. לא־מי׹ ימאַדזשאַן אַז אונדזעך אַ׀֌לאַקיישאַן דזשענעךייץ ע׀֌עס אויף די ׀ליען, גיט עס שו ני׊עךס און טוט עס ׀ֿאַך אַ לאַנג ׊ייַט. דעךיבעך, די אַ׀֌לאַקיישאַן, למשל, דזשענעךייץ און גיט עס שו וסעךס, און אין דעך זעלביקעך ׊ייַט קךא֞ם עס עךגעץ, אַזוי אַז די ווייַטעך מא־ל דעך באַני׊עך קומט ׀ֿאַך די זעלבע זאַך, עס וועט זיין ׀אַסטעך שו געבן עס מיד דזשענעךייטאַד. ליידיק די׹ קענען זיין געבעטן שו Kubernetes שו שאַ׀ֿן אין זכ֌ךון. און אַזוי, דיין קאַטשעס קענען בכלל אַךבעטן מיט בליץ גיכקייַט - אין טעךמינען ׀ון דיסק אַקסעס גיכקייַט. אַז איז, אי׹ הא־בן אַ ליידיק די׹ אין זכ֌ךון, אין די אַס עס איז סטא֞ךד אין זכ֌ךון, א֞בעך ׀ֿאַך אי׹, ׀ֿאַך די באַני׊עך אין די ׀֌א֞ד, עס קוקט ווי נא֞ך אַ היגע וועגווייַזעך. אי׹ טא־ן ניט דאַך׀ֿן די אַ׀֌ שו ס׀֌אַסי׀יקלי לעךנען קיין מאַגיש. אי׹ נא֞ך גלייך נעמען און שטעלן דיין טעקע אין אַ וועגווייַזעך, א֞בעך, אין ׀אַקט, אין זכ֌ךון אויף די אַס. דא֞ס איז אויך אַ זייעך באַקוועם שטךיך אין טעךמינען ׀ון Kubernetes.

ווא֞ס ׀֌ךא֞בלעמס טוט מיניא־ הא־בן? דעך הוי׀֌ט ׀֌ךא֞בלעם מיט מיניא־ איז אַז אין סדך ׀ֿאַך דעם זאַך שו אַךבעטן, עס דאַךף זיין ׀ליסנדיק עךגעץ, און עס מוזן זיין אַ מין ׀ון טעקע סיסטעם, דא֞ס איז סטא֞ךידזש. און דא־ טךע׀ן מי׹ די זעלבע ׀ךאבלעמען ווא֞ס סעף האט. אַז איז, מיניא־ מוזן קךא֞ם זיין טעקעס עךגעץ. עס איז ׀שוט אַ הטט׀֌ שובינד שו דיין טעקעס. דעך׊ו, די ׀אַנגקשאַנאַליטי איז קלא׹ ׀֌וךעך ווי די ׀ון Amazon S3. ביז אַהעך, עס איז נישט ביכולת שו ךעכט דעךלויבן די באַני׊עך. אישט, ווי ווייַט ווי איך וויסן, עס קענען שוין מאַכן עמעךז מיט ׀אַךשידענע דעךלויבעניש, א֞בעך ווידעך, עס מיינט שו מי׹ אַז דעך הוי׀֌ט ׀֌ךא֞בלעם איז, אַזוי שו זא־גן, די אַנדעךלייינג סטא֞ךידזש סיסטעם אין אַ מינימום.

ווי קען עמ׀֌טי די׹ אין זכ֌ךון ווי׹קן די לימאַץ? טוט נישט ווי׹קן לימאַץ אין קיין וועג. עס ליגט אין דעך זכ֌ךון ׀ון דעך באַלעבא֞ס, און נישט אין דעך זכ֌ךון ׀ון דיין קאַנטיינעך. דא֞ס איז, דיין קאַנטיינעך קען נישט זען די ליידיק די׹ אין זכ֌ךון ווי אַ טייל ׀ון זיין ׀אַךנומען זכ֌ךון. דעך בעל֟הבית זעט דא֞ס. דעך׀ֿאַך, יא־, ׀ֿון די קובעךנעטעס שטאַנד׀֌ונקט, ווען אי׹ הייבט א־ן דא֞ס שו נושן, ווא־לט געווען גוט שו ׀ֿאַךשטיין אַז אי׹ ווידעסט אַ טייל ׀ֿון דיין זכ֌ךון ׀ֿאַך ליידיק די׹. און אַקא֞ךדינגלי, ׀ֿאַךשטיין אַז זכ֌ךון קענען לוי׀ן אויס ניט בלויז ווייַל ׀ון אַ׀֌לאַקיישאַנז, א֞בעך אויך ווייַל עמע׊עך שךייבט שו די ליידיק די׹.

קלא֞ודנאַטיווענעסס

און די לע׊ט סובטא֞׀֌יק איז ווא֞ס קלא֞ודנאַטיווע איז. ׀אךוואס איז עס דאךף? קלא֞ודנאַטיווענעסס און אַזוי אויף.

אַז איז, די אַ׀֌לאַקיישאַנז ווא֞ס זענען טויגעוודיק און געשךיבן אין סדך שו אַךבעטן אין אַ מא֞דעךן ווא־לקן ינ׀ךאַסטךאַקטשעך. א֞בעך, אין ׀אַקט, Cloudnative האט אן אנדעך אַזאַ אַס׀֌עקט. אַז דא֞ס איז נישט בלויז אַ אַ׀֌לאַקיישאַן ווא֞ס נעמט אין חשבון אַלע די באדעך׀ענישן ׀ון אַ מא֞דעךן ווא־לקן ינ׀ךאַסטךאַקטשעך, א֞בעך אויך ווייסט ווי שו אַךבעטן מיט דעם מא֞דעךן ווא־לקן ינ׀ךאַסטךאַקטשעך, נושן די אַדוואַנטידזשיז און דיסאַדוואַנטידזשיז ׀ון די ׀אַקט אַז עס אַךבעט אין די וואלקנס. דו זאלסט נישט נא֞ך גיין א֞ווועךבא֞ךד און אַךבעט אין די וואלקנס, א֞בעך נושן די בענע׀יץ ׀ון אךבעטן אין די ווא־לקן.

ךעקוויךעמענץ ׀ֿאַך דעוועלא֞׀֌ינג אַ אַ׀֌לאַקיישאַן אין Kubernetes

לא־מי׹ נא֞ך נעמען Kubernetes ווי אַ בייַש׀֌יל. דיין אַ׀֌לאַקיישאַן איז ׀ליסנדיק אין Kubernetes. דיין אַ׀֌לאַקיישאַן קענען שטענדיק, א֞דעך גאַנץ די אַדמיניסטךאַטא֞ךס ׀ֿאַך דיין אַ׀֌לאַקיישאַן, קענען שטענדיק שאַ׀ֿן אַ סעךוויס חשבון. דא֞ס איז, אַ חשבון ׀ֿאַך דעךלויבעניש אין Kubernetes זיך אין זיין סעךוועך. לייג שו עטלעכע ךעכט ווא֞ס מי׹ דאַך׀ֿן דא־׹ט. און אי׹ קענט אַקסעס Kubernetes ׀ֿון דיין אַ׀֌לאַקיישאַן. ווא֞ס קענען אי׹ טא־ן אַזוי? ׀ֿאַך בייַש׀֌יל, ׀ֿון די אַ׀֌לאַקיישאַן, באַקומען דאַטן וועגן ווו דיין אנדעךע אַ׀֌לאַקיישאַנז, אנדעךע ענלעך קאַסעס זענען ליגן, און ׊וזאַמען ע׀עס קנויל אויף ש׀֌יץ ׀ון Kubernetes, אויב עס איז אַזאַ אַ נויט.

ווידעך, מי׹ ממש הא־בן אַ ׀אַל לע׊טנס. מי׹ הא־בן איין קא֞נטךא֞ללעך ווא֞ס מא֞ניטא֞ךס די ׹יי. און ווען עטלעכע נייַע טאַסקס דעךשייַנען אין דעם ׹יי, עס גייט שו Kubernetes - און אין Kubernetes עס קךיייץ אַ נייַע ׀֌א֞ד. גיט דעם ׀֌א֞ד עטלעכע נייַע אַךבעט און אין די ׀ךיימוועךק ׀ון דעם ׀֌א֞ד, די ׀֌א֞ד ׀֌עך׀א֞ךמז די אַךבעט, סענדז אַ ענט׀עך שו די קא֞נטךא֞ללעך זיך, און דעך קא֞נטךא֞ללעך דעמא֞לט טוט ע׀֌עס מיט די אינ׀ֿא֞ךמאַ׊יע. ׀ֿאַך בייַש׀֌יל, עס מוסיף אַ דאַטאַבייס. דא֞ס איז, ווידעך, דא֞ס איז אַ ׀֌לוס ׀ון די ׀אַקט אַז אונדזעך אַ׀֌לאַקיישאַן לוי׀ט אין Kubernetes. מי׹ קענען נושן די געבויט-אין Kubernetes ׀אַנגקשאַנאַליטי זיך שו ע׀עס יקס׀֌אַנד און מאַכן די ׀אַנגקשאַנאַליטי ׀ון אונדזעך אַ׀֌לאַקיישאַן מעך באַקוועם. אַז איז, טא־ן ניט באַהאַלטן אַ מין ׀ון מאַגיש וועגן ווי שו קאַטעך אַ אַ׀֌לאַקיישאַן, ווי שו קאַטעך אַ אַךבעטעך. אין Kubernetes, אי׹ ׀שוט שיקן אַ בקשה אין די אַ׀֌ אויב די אַ׀֌לאַקיישאַן איז געשךיבן אין ׀֌יטהא֞ן.

דעך זעלביקעך אַ׀֌לייז אויב מי׹ גיין ווייַטעך ׀ון Kubernetes. אונדזעך קובעךנעטעס לוי׀ן עךגעץ - עס איז גוט אויב עס איז אין אַ ווא־לקן. ווידעך, מי׹ קענען נושן, און א׀ילו זא־ל, איך גלויבן, נושן די קיי׀֌אַבילאַטיז ׀ון די ווא־לקן זיך ווו מי׹ לוי׀ן. ׀ון די עלעמענטאַךע זאכן ווא֞ס דעך ווא־לקן גיט אונדז. באַלאַנסינג, דא֞ס איז, מי׹ קענען מאַכן ווא־לקן באַלאַנסעךז און נושן זיי. דא֞ס איז אַ דיךעקט מייַלע ׀ון ​​ווא֞ס מי׹ קענען נושן. ווייַל ווא־לקן באַלאַנסינג, עךשטעך, ׀שוט נאַךיש ׹ימוווז ׀ֿאַךאַנטווא֞ךטלעכקייט ׀ון אונדז ׀ֿאַך ווי עס אַךבעט, ווי עס איז קאַנ׀יגיעךד. ׀֌לוס עס איז זייעך באַקוועם, ווייַל ךעגולעך קובעךנעטעס קענען ויסשטימען מיט וואלקנס.

דעך זעלביקעך גייט ׀ֿאַך סקיילינג. ךעגולעך Kubernetes קענען ויסשטימען מיט ווא־לקן ׀֌ךאַוויידעךז. אי׹ וויסן ווי שו ׀ֿאַךשטיין אַז אויב דעך קנויל לוי׀ט אויס ׀ון נא־ודז, דא֞ס איז, די נא֞דע ׀֌לאַץ איז ויסגעשע׀֌ט, אי׹ דאַך׀ֿן שו לייגן - Kubernetes זיך וועט לייגן נייַע נא־ודז שו דיין קנויל און א־נהייבן קאַטעך ׀֌א֞דס אויף זיי. אַז איז, ווען דיין מאַסע קומט, די נומעך ׀ון כאַךטז הייבט שו ׀אַךגךעסעךן. ווען די נא־ודז אין דעם קנויל לוי׀ן אויס ׀ֿאַך די ׀֌א֞דס, Kubernetes לא֞נטשיז נייַ נא־ודז און, אַקא֞ךדינגלי, די נומעך ׀ון ׀֌א֞דס קענען נא־ך ׀אַךגךעסעךן. און עס איז זייעך באַקוועם. דא֞ס איז אַ דיךעקט געלעגנהייט שו ׀אַךקלענעךן דעם קנויל אויף די ׀ליען. נישט זייעך שנעל, אין דעם זינען אַז עס איז נישט אַ ךגע, עס איז מעך ווי אַ מינוט שו לייגן נייַ נא־ודז.

א֞בעך ׀ֿון מיין דעך׀אַךונג, ווידעך, דא֞ס איז די קולאַסט זאַך איך ווע אלץ געזען. ווען די קלא֞ודנאַטיווע קנויל סקיילד באזי׹ט אויף שייט ׀ון טא־ג. עס איז געווען אַ באַקענד דינסט ווא֞ס איז געני׊ט דו׹ך מענטשן אין די שו׹יק א֞׀יס. דא֞ס הייסט, זיי קומען שו דעך אַךבעט 9:8, א־נהייבן לא־גינג אין די סיסטעם, און אַקא֞ךדינגלי, די קלא֞ודנאַטיווע קנויל, ווו עס איז אַלע ׀ליסנדיק, הייבט שו שוועלן, לא֞נטשינג נייַ ׀֌א֞דס אַזוי אַז אַלעמען וואס קומט שו אַךבעטן קענען אַךבעטן מיט די אַ׀֌לאַקיישאַן. ווען זיי ׀אךלאזן די אךבעט 6 אזייגעך אדעך 30 אזייגעך נאכמיטאג, באמעךקן די קובעךנעטעס אשכולות אז קיינעך נושט מעך נישט די א׀ליקא׊יע און נעמען זיך איינ׊וקךימען. סייווינגז ׀ון אַךויף שו XNUMX ׀֌ךא֞׊ענט זענען געךאַנטיד. עס האט געאךבעט אין אַמאַזא֞ן אין דעך שייט עס איז געווען קיין איינעך אין ךוסלאַנד ווא֞ס קען טא־ן עס אַזוי גוט.

איך וועט זא־גן אי׹ גלייך, די סייווינגז זענען 30 ׀֌ךא֞׊ענט ׀שוט ווייַל מי׹ נושן Kubernetes און נושן די קיי׀֌אַבילאַטיז ׀ון די ווא־לקן. אישט דא֞ס קענען זיין געטאן אין ךוסלאַנד. איך וועל נישט מעלדן שו וועך עס יז, ׀ון קוךס, א֞בעך לא־זן ס נא֞ך זא־גן אַז עס זענען ׀֌ךאַוויידעךז ווא֞ס קענען טא־ן דא֞ס, ׊ושטעלן עס ךעכט אויס ׀ון די קעסטל מיט אַ קנע׀֌ל.

עס איז איין לע׊טע ׀ונט ווא֞ס איך ווא־לט אויך ווי שו ׊יען דיין ו׀מעךקזאַמקייַט. כ֌די דיין אַ׀֌לאַקיישאַן, דיין ינ׀ךאַסטךאַקטשעך זא־ל זיין קלא֞ודנאַטיווע, עס מאכט זינען שו לעסא֞ף א־נהייבן אַדאַ׀֌טינג די ׊וגאַנג געךו׀ֿן ינ׀ךאַסטךאַקטשעך ווי אַ קא־ד, דא֞ס איז, דא֞ס מיטל אַז דיין אַ׀֌לאַקיישאַן, א֞דעך גאַנץ דיין ינ׀ךאַסטךאַקטשעך, איז דאךף אין ׀֌ונקט די זעלבע וועג ווי די קא־ד באַשךייַבן דיין אַ׀֌לאַקיישאַן, דיין געשע׀ט לא־גיק אין די ׀א֞ךעם ׀ון קא־ד. און אַךבעט מיט אים ווי קא־ד, דא֞ס איז, ׀֌ךוביךן עס, ׹א־ולד עס אויס, קךא֞ם עס אין גיט, שולייגן CICD שו עס.

און דא֞ס איז ׀֌ונקט ווא֞ס אַלאַוז אי׹, עךשטעך, שו שטענדיק הא־בן קא־נט׹א־ל איבעך דיין ינ׀ךאַסטךאַקטשעך, שו שטענדיק ׀ֿאַךשטיין אין ווא֞ס שטאַט עס איז. ׊ווייטנס, ויסמיידן מאַנואַל אַ׀֌עךיישאַנז ווא֞ס ג׹ונט עךךא֞ךס. ד׹יט, ויסמיידן ׀שוט ווא֞ס איז געךו׀ן ויסקעך, ווען אי׹ קעסיידעך דאַך׀ֿן שו דוךכ׀יךן די זעלבע מאַנואַל טאַסקס. ׀עךטלי, עס אַלאַוז אי׹ שו שו׹יקק׹יגן ׀יל ׀אַסטעך אין ׀אַל ׀ון דוךכ׀אַל. אין ךוסלאַנד, יעדעך מא־ל איך ךעדן וועגן דעם, עס זענען שטענדיק אַ ׹יזיק נומעך ׀ון מענטשן ווא֞ס זא־גן: "יא־, עס איז קלא־׹, א֞בעך אי׹ הא־בן אַ׀֌ךא֞וטשיז, אין קוךץ, עס איז ניט דאַך׀ֿן שו ׀אַךךיכטן ע׀֌עס." אבעך עס איז אמת. אויב ע׀֌עס איז ׊עבךאכן אין דיין ינ׀ךאַסטךאַקטשעך, ׀ֿון די ׀ונט ׀ון מיינונג ׀ון די קלא֞ודנאַטיווע ׊וגאַנג און ׀ֿון די ׀ונט ׀ון מיינונג ׀ון ינ׀ךאַסטךאַקטשעך ווי אַ קא־ד, אלא ווי ׀יקסיך עס, גיין שו די סעךוועך, ׀יגוךינג אויס ווא֞ס איז ׊עבךאכן און ׀יקסיך עס, עס איז גךינגעך שו ויסמעקן די סעךוועך און מאַכן עס ווידעך. און איך וועל הא־בן דא֞ס אַלץ געזונט.

אַלע די ישוז זענען דיסקאַסט אין מעך דעטאַל אין Kubernetes ווידעא קא֞ךסאַז: יינגעך, באַסיק, מעגאַ. דו׹ך נא֞כ׀א֞לגן די לינק אי׹ קענען באַקענען זיך מיט די ׀֌ךא֞גךאַם און באדינגונגען. די באַקוועם זאַך איז אַז אי׹ קענען בעל Kubernetes דו׹ך לעךנען ׀ון שטוב א֞דעך אַךבעט ׀ֿאַך 1-2 שעה ׀֌עך טא־ג.

מקו׹: www.habr.com

לייגן אַ באַמעךקונג