׀יקסיך הא֞לעס אין די קובעךנעטעס קנויל. באַךיכט און טךאַנסקךי׀֌ט ׀ֿון DevOpsConf

Pavel Selivanov, Southbridge סאַלושאַנז אַךכיטעקט און Slurm לעךעך, ​​האט אַ ׀֌ךעזענטיךונג ביי DevOpsConf 2019. די ךעדן איז טייל ׀ון איינעך ׀ון די טעמעס ׀ון די טיף קוךס אויף Kubernetes "Slurm Mega".

Slurm Basic: אַן הקדמה שו Kubernetes נעמט א֞ךט אין מא֞סקווע אויף 18-20 נאוועמבעך.
Slurm Mega: קוקן אונטעך די קאַ׀֌טעך ׀ון Kubernetes — מאסקװע , 22 ÖŸ 24 ט ן נאוועמבעך .
סלוךם א־נליין: ביידע קובעךנעטעס קא֞ךסאַז שטענדיק בנימשא.

אונטעך די שנייַדן איז אַ טךאַנסקךי׀֌ט ׀ון דעם באַךיכט.

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

איך זע, אַז אין זאַל זײַנען הײַנט ׀ֿאַךאַן אַ סך זיכעךהייטס וועכטעך. איך בין אנטשולדיג ׀אך די׹ ׀אךאויס אויב איך נושן טעךמינען ׀ון דעך וועלט ׀ון זיכעךהייט נישט גענוי אזוי ווי עס איז ביי די׹.

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

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

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

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

איך וועל אייך דעך׊יילן מיט בייש׀ילן וויאזוי איך האב דאס געטון און וויאזוי זיך שו באשי׊ן ׀ון דעם.

אבעך קודם לאז איך מיך ׀אךשטעלן. מייַן נא֞מען איז Pavel Selivanov. איך בין אַן אַךכיטעקט אין Southbridge. איך ׀ֿאַךשטיין Kubernetes, DevOps און אַלע סא֞ךץ ׀ון ׀אַנטאַזיע טינגז. די סא֞וטהבךידזש ענדזשאַניךז און איך בויען אַלע דעם, און איך בין קאַנסאַלטינג.

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

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

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

עס זענען ממש דךייַ ׀ונקטן ווא֞ס איך וועל ךעדן וועגן הייַנט:

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

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

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

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

׀יקסיך הא֞לעס אין די קובעךנעטעס קנויל. באַךיכט און טךאַנסקךי׀֌ט ׀ֿון DevOpsConf

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

kubectl apply -f pod.yaml

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

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

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

מי׹ הא־בן דעם זאַך:

tolerations:
-   effect: NoSchedule 
    operator: Exists 
nodeSelector: 
    node-role.kubernetes.io/master: "" 

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

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

מיט די שוויי סעק׊יעס וועט עך באשטימט קומען שו דעך בעל. או֌ן עֶך וֶועט ד־א׹ְט א֮יז עֶך ז֮יךְ מְיַישֵׁב.

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

hostNetwork: true 
hostPID: true 

מי׹ ס׀֌ע׊י׀י׊יךן אַז אונדזעך ׀֌א֞ד, ווא֞ס מי׹ קאַטעך, וועט לעבן אין די קעךן נאַמעס׀֌אַסע, אין די × ×¢×¥ נאַמעס׀֌אַסע און אין די PID נאַמעס׀֌אַסע. אַמא֞ל די ׀֌א֞ד איז לא֞נטשט אויף די בעל, עס וועט קענען שו זען אַלע די ׀אַקטיש, לעבן ינטעך׀ייסיז ׀ון דעם נא֞דע, העךן שו אַלע ׀אַךקעך און זען די PID ׀ון אַלע ׀֌ךאַסעסאַז.

דעךנא֞ך עס איז אַ ענין ׀ון קליין זאכן. נעמען עטק און לייענען ווא֞ס אי׹ ווילט.

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

volumeMounts:
- mountPath: /host 
  name: host 
volumes:
- hostPath: 
    path: / 
    type: Directory 
  name: host 

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

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

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

דעךנא֞ך, די גאנ׊ע אַךבעט איז שו גיין שו די סאַב וועגווייַזעך / הא֞סט / עטק/kubernetes/pki, אויב איך בין נישט טעות, קלייַבן אַלע די בעל סעךטי׀יקאַץ ׀ון דעם קנויל דא־׹ט און, אַקא֞ךדינגלי, וועךן דעך קנויל אַדמיניסטךאַטא֞ך.

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

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

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

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

אבעך ווא֞ס שו טא־ן מיט אַלע דעם?

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

דא֞ס איז אַ יאַמל ×›×™×™×€×¢×¥ - מי׹ קענען מאַכן עס אין די Kubernetes קנויל - ווא֞ס קאַנטךא֞ולד זיכעךהייט אַס׀֌עקץ ס׀֌אַסי׀יקלי אין די באַשךייַבונג ׀ון די ׀֌א֞דס. דא֞ס איז, אין ׀אַקט, עס קא֞נטךא֞לס די ךעכט שו נושן קיין הא֞סטנעטווא֞ךק, הא֞סט׀֌יד, זיכעך באַנד טיי׀֌ס ווא֞ס זענען אין די ׀֌א֞דס ביי סטאַךטאַ׀֌. מיט די הילף ׀ון ׀֌א֞ד סעקוךיטי ׀֌א֞ליטיק, אַלע דעם קענען זיין דיסקךייבד.

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

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

און אַלץ מיינט שו זיין גוט מיט אונדז. און אונדזעך Kubernetes קנויל קענען ניט זיין כאַקט אין שוויי מינוט.

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

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

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

׀יקסיך הא֞לעס אין די קובעךנעטעס קנויל. באַךיכט און טךאַנסקךי׀֌ט ׀ֿון DevOpsConf

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

$ curl http://prometheus-kube-state-metrics.monitoring 

prometheus-kube-state-metrics איז איינעך ׀ון די ׀֌ךא֞מעטהעוס יקס׀֌א֞ךטעךז ווא֞ס קאַלעקץ מעטךיקס ׀ון די Kubernetes API זיך. עס איז אַ ׀֌לאַץ ׀ון דאַטן דא־׹ט, ווא֞ס איז ׀ליסנדיק אין דיין קנויל, ווא֞ס עס איז, ווא֞ס ׀֌ךא֞בלעמס אי׹ הא־בן מיט אים.

ווי אַ ׀֌שוט בייַש׀֌יל:

kube_pod_container_info {נאַמעס׀֌אַסע = "קובע-סיסטעם", ׀֌א֞ד = "קובע-אַ׀֌יסעךוועך-ק8ס- 1″, קאַנטיינעך = "קובע-אַ׀֌יסעךוועך", בילד =

"gcr.io/google-containers/kube-apiserver:v1.14.5"

,image_id=»docker-pullable://gcr.io/google-containers/kube- apiserver@sha256:e29561119a52adad9edc72bfe0e7fcab308501313b09bf99df4a96 38ee634989″,container_id=»docker://7cbe7b1fea33f811fdd8f7e0e079191110268f2 853397d7daf08e72c22d3cf8b»} 1

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

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

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

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

עס איז אַזאַ אַ זאַך - × ×¢×¥ ׀֌א֞ליטיק.

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

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

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

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

ווא֞ס שו טא־ן?

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

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

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

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

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

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

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

אַזוי איך וועט געשווינד ווייַזן שוויי וועגן ווי אַ Kubernetes קנויל קענען זיין ׹וינד.

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

או׀ֿן איינעך. ךיסא֞ךס די׀֌לישאַן.

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

resources: 
    requests: 
        cpu: 4 
        memory: 4Gi 

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

אויב איך לוי׀ן אַזאַ אַ ׀֌א֞ד, איך וועט לוי׀ן די באַ׀ֿעל:

$ kubectl scale special-pod --replicas=...

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

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

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

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

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

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

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

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

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

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

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

אויב אי׹ לוי׀ן אַ ביליא־ן ׀֌א֞דס, ׀ֿאַך בייַש׀֌יל, און דעמא֞לט נושן אַ שךי׀ט שו ׊ווינגען Kubernetis שו שאַ׀ֿן נייַע באַדינונגס:

for i in {1..1111111}; do
    kubectl expose deployment test --port 80  
        --overrides="{"apiVersion": "v1", 
           "metadata": {"name": "nginx$i"}}"; 
done 

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

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

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

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

מיטל קווא֞טע + לימיט קייט + RBAC
• שאַ׀ֿן אַ נאַמעס׀֌אַסע
• שאַ׀ֿן אַ לימיטךאַנגע ין
• שאַ׀ֿן ין ךיסא֞ךסקווא֞טאַ
• שאַ׀ֿן אַ סעךוויס אַקאַונט ׀ֿאַך סי
• שאַ׀ֿן ךא֞לעביינדינג ׀ֿאַך סי און יוזעךז
• א֞׀֌טיא֞נאַללי קאַטעך די נייטיק דינסט ׀֌א֞דס

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

אין עךשטעך עס איז געווען געשךיבן אין Ansible, און דעמא֞לט איך געזען אַז עס איז אַ SDK א֞׀֌עךאַטא֞ך און ׹י׹א־וט די Ansible ךא֞לע אין אַן א֞׀֌עךאַטא֞ך. דעך דעךקלעךונג אַלאַוז אי׹ שו שאַ׀ֿן אַ ×›×™×™×€×¢×¥ אין די Kubernetes קנויל געךו׀ן אַ באַ׀ֿעל. ין אַ באַ׀ֿעל, עס אַלאַוז אי׹ שו באַשךייַבן די סוויווע ׀ֿאַך דעם באַ׀ֿעל אין יאַמל. און אין די מאַנשאַ׀ֿט סוויווע, עס אַלאַוז אונדז שו באַשךייַבן אַז מי׹ אַלאַקייטינג אַזוי ׀ילע ךעסוךסן.

Little מאכן דעם גאנ׊ען קא֞מ׀֌לעקס ׀֌ךא֞׊עס גךינגעך.

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

× ×¢×¥ ׀֌א֞ליטיק איז ניט נא֞ך אן אנדעך ומנייטיק שטךיך. דא֞ס איז ווא֞ס איז טאַקע דאךף אין אַ קנויל.

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

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

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

דא־ עס זענען ינסטךאַקשאַנז אויף ווי שו ךע׀֌ךא֞דו׊יךן אַלץ איך דעך׊יילט אי׹. עס זענען טעקעס מיט ׀֌ךא֞דוק׊יע בייש׀ילן ׀ון ווי ResourceQuota און Pod Security Policy קוק ווי. און אי׹ קענען ׀אַךבינדן אַלע דעם.

דאַנק שו אַלע.

מקו׹: www.habr.com

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