From bd6f37f8ce513de89f37231caa09593529e00635 Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Sat, 6 Jul 2024 15:58:03 +0900 Subject: [PATCH 001/121] blog: introducing kube-scheduler-simulator --- .../contributors.png | Bin 0 -> 558433 bytes .../index.md | 113 ++++++++++++++++++ .../simulator.png | Bin 0 -> 429852 bytes 3 files changed, 113 insertions(+) create mode 100644 content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/contributors.png create mode 100644 content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md create mode 100644 content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/simulator.png diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/contributors.png b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/contributors.png new file mode 100644 index 0000000000000000000000000000000000000000..6d815be543794f3ce92128d552d7e83711856e04 GIT binary patch literal 558433 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 z zQ+}txX;Lr`A17>zwdGR*@wwg{L`+4Qd3@`|MEyS5GW&{KnhUYG-A37kfnMmyY^i%# zKjx3$y;&M-%99q(*4&&;UiVKq=zfiF3}Sm6o0kG7Ltz(9*5?*e)tm(cqG><%tZql= zm|snoz}c^Ka;*zIyWnd3`OG?w_XzPq2<*bBHXq3n8WoKf?0mB8~rtpRNUyp4?0WnBl`WMw(}m>TnfIqv`$w=-m{+vT6s@a*C=!{tf2 zVFmi|%dGi1F0^7k)Z2d4hXm6i7;}Eafto{?4@cz`v7kDQD2kPw5=LHjltMD~$9Lvd z=7eJDgNw#2ef8-KcvnsChV?U;z_uyNz@k@*%nE^!Oy{K5t7b$RTQInZB`T*q;?0ll z=a`!23-41M&rl8XhUX`{fVSJ*b{IwK8YEln$zruD@J%F z$=A8eQa|T9@ulAmzH4)0QQ_e=-mOPH(g8x=iol(yxuV#~LoNdBme*$wdfEXQS2M?% z*6d8Rq%Lobr7*EDOfXrp5S>LfPcDUJmPauX4)mKT;uP?nKlO7n732za~Bn~aM^RaPFUePP=7`xL_zQbxP?Z2Y!70J!0 z??M(aDU1X49!O#mM6xu{Ysm%pJlQA9q$1|+vQWBL_w*Ob+wZe~x-VJs%j$$oIMhy% z3<@2JM_vTLLxfC6c+;b18W?%opR!{nqgP%(PZYpELc|wyS6sH97m*UaWe};tnC+Y8 zG^H$Vt2d750Nm)YT6XZ*d^U1#AC)FdB#}Vk0|nNbQrx6lvP|)vZY*?ah&ZU2LJ^ua z2)sT@Tc4$ch721h%%NwfONA#bq2A#{B)kq_I~_J~%qc64f1!`6&@Aco52wGy{pPBwX*K0Y8}sZgDh<>672+pu^(DOY#sKRV zMd!EQBoMREfspr*!6YxsyU)s=afRb)*OdDCqk9vWA%`v@SNTy`n9H3W>!xv={({lZ zwD{-;60`U3 z2o(_z-wFd}66rsQC0nHLNR)!Bvt2JwB3K6fnsyR&H66$}i>W;zIjvat^Fc$u%Vu+AjL&_}jwR`=Atz5M z%lJ+C+Hu2ZRfjMp?HS5Y6)xK{dkBbrhLh&(buUvFxZNoZmr2)~b!XjjQ7B#l*nFv<)u6`1E_}xaw_?UC zc?NYAxY2r0Y;J;Y^l*o7v_Zl@Fg+r8?bp@zy|Ub2>qLON)63J6og`TR%K3$Nd1Pw(c7{pfuv(f~FTu8>}+>Y#C)iExs(yTdBCAO-r($F9j`I*Qw zejl)BZkI^@8m^yArEi0agJpt>78lhw7m`qW@sn-!SMJpES4fmt9?1akA=pS$^i&?Cj~ zgkYmF{57ZF_G=wR6+vf~pZ;`>a>p2?ZiXE-B_XfLD6>p=j*@Tq^!&Lu_(SHtlg7l8 zHx$vzl)==n)dk!6T~LeK*@l?6ey|7{))?53H0uWYu|U0ZPUooTgSFfuo(A5?V&VWl zP(C)g8uRxx{tz2x`bvC(vANGlE@)R#RCB6F&GIr@l()xci}p(pN2twP_~zZ%pxygd zLsqS9p<#_3T-W}bK(%D0eXoLY9XMDScdqi!A|q4zo9@R{5~Egsc#sKY31jOU7mYR_ z-czvYRrXxqtQ2fopPp6*Fwfb~<<$)f!UaUM=KYFBXR(H|3 zz~E>q_NdiCVN70LsQ*f+@Weit`JiEq$*WlTAM>m&a zRA4I6jim*m%qy>=+IGY#$oHn!)K|yyo}Qom`t${H+@@f`X@^cXK=Q8SiH_siOe3Y< zj8ke~c$&{bX|fT}qWbbm(YB(XxAzr8{dbpQM4I3eGObra>+Ull(5=lsIndChQq8c# z(NEbQZ(44^YY>x{YqqWjuVU-_{MQ%5U(D(2RJd}uoK&EzsX+3F2Qu_&d>g63G!9Oo zqsqb-loMFzWU@*N_kJtJ90%Mg4@9ey8Tn^alptHIE9epqd4Wxq!O~toQ-Nz-km?bV zA$Y4J7WE!B2kS+{jT5=b-Ag|0NARg_m*m{F(OU`S4K^+Sp?4Spad6s*2e#E~g58gr zLa{O*zxz>F>Pr(q6QA@IrAr%L>&hFTXtgwdc_sQW@m;Q+5z+4!UEddKzSZrZ7xRW7 zWaHUH9R(YFX)0%_gUM(7X~EeJgd}C=+lzdVHtKFQ^^mpZwZZh*V^hQC zDw`%P6DDt&6oqlX^};@B@Lod zs0j2sUSONLht5ZrEQ~}Azy4G-$c`LqGfNiuvufa3V9!T4cG~{6%F`r`n|;9O5Xj&Hg%tof8V)#1Tq1o>uj_Rp;c5aH4YUqi5aMf4 zO#diaN;)BgO4&}ZFZ%njs*B-#Nb|;EGYqFdN&xco{zobGvPQNyTOj1qeTP_z7M!I9 z5qUMng|N5JxX+Xw-|Dl6|HKbT#-L#0EM?MG7pXCC1qyAjD%TK{k1rMxl!0Zxm2DisQ|gK7sHXyc>Kb_tyF zi&+987_Re)h==R=7wBX#EUTEnM_<#)4{*0+5V|dz<3&@(MJufyy+_CCxwh&Ej-=B( zQ2<u}KR0Wn72c)0JBV@Ca}P7p51#_uLC66Iew<%bj_!`q4L% z4WF%%K}>_KsXw+YE~SGOMcE`UEy9?eI6)2=dfkxAay*peyOwlqh{UI|7FI%u~X@+ zBHaohK!SIh)59Jdpn2vk)yVEhOCUeM9>rkI`vzCAkSs(>%!fhJXFM}VZy8SYlg>(8 zDpus?2RGJ(_qSlo>ca2kqSM#l zp^6k;g-7$#j-83c)+<`fN8JX8BC)q`O#!L*jxSDvm-8Y%I|*T$*f%)xL-Se<4R6=9I=Vin~^T(kXmAM6S8o!tOXde{%s`=Sad{u%e-0JcIblJ2gY=NabUY za6CwHIe|LtY zoE(-9_I``<<-Ygn zr3&%82d_`xE03Pci;ApxoaHWTt3#P+vtYXdqG!D7JVKmi1R3@DaZe@HVO;3zw7Z>m zz_Umbxo3R19lx{Rfit<2733$WSt2&K8~19}-5sdt7|SPQBlw$&&6}-F6w*axibyOP z4eG<9du6i?(eeLUGV@XFvbpoJt@{RI+yz|2;Y~})i zGK4)hwUo-83elV!){d|7hk_ecNC0N+0{wYn_UUK15@ti4Wk}}8J@2ovG752$Kqvw2 z9){x&VQ%tdq?R>bKWzpF=w0N06%eZ18zi-|8o76U&yrexTmrYUUjbmEk-o;lTrqjX zTInhUuHuB!m(lk!XKF*}EWR*37>xEmiAOEJ;}=i~_%nkFHr`gn@`djK;qCL*FYHLd zWxg&kK_wLi1-ZX&KbM~3ov)viJYi(Z%v5M%xP6`5>4+MMYo10N{?K*thxM^6@2<|U ze&wnOAf6!c^Oxe$543OL@^Y9)&IwBIz&Ai-nr8|tt{v>5dKU^P>jw=d8LkJ`rm^?Mr>04hA(C64|_Z!jz6ttWk!9&s0K> zkUa6|qPz1f+pTyEVhgwqMs(ZUGXI(!X+q3{8fEwY1HPJ3Md_d z+sRN1?=$v%H$O$;-tXY#S};4nShXY$Nho3(#iDY#26s373=_#;N2)o&Dvts8Y#k*Th+(IvicbYz;I|S_{~W` zx68Iq*PF)RBw%P?{|Zj6TY*4ia+0l>l`Sg zigS>>!U$U?0tRLwF5nOSVqe07Hug_ocWM|te~8>bcB#QTn%MrMMkY}qZbLr*eNm3LZXVH$ ztrO-YX||~i==jeKy{ZZJu*-xw)1kvDBb;;neLV4rZh53ey2W}Fqu0`W3+bwRKT`^ zk7p48#zUSKL2Yn=6Z0|j99O&sg0YbDh1pl@@>ttX*|*;2k_`5+TD-AZF+vU?@X?!V z7&P?Y6%-2rfb)uKuUqj%??}cyybV5f`^oqH=-}w1}px4 z=V<#iF=;n8m0Cx=XDctHd zzMhiT!@EmAK6tH;f~|{BapJ$<(tN#RvU_BHF0%n*%$Kv3xprrQyJr`>@1&lIz(i*} zXpY|(jH5E&;sWYjV-OHtx6+6?O9O;_*=S^F6?YF`DHgx7de-15lP^pEfVt0{qWF_T zks)AkV_iW=wM^&}y{502`czI$B3$AniX2qPz_QGXJ1+F9L(!Dap1? z0d24g%)O>F)>gNxT|CEFR9w-s;p0$6$K#3E%&+*8Lp{wp=^q1kbs=eOz$Ta`I)%^L zfW>?SLjQ<(B#?ZK(*x~({xt-k8M~b#LJj8?meNIQAlF`F!jjOt|C+WYXYi<==4HD0 zMw~i<2Uk+?R{KDYl$l=Sr~`HTT;8>lOUT04gf>t5;>|XBHo!}0poKAo1@t}wRmpsq z;6XsR%!)wehmwZ?UAIzd$a4|7!U#via+=bKAfpNnY9Mtk$EfhC>}2E+hl>y^Q7Kg+ z{mY-B+vO_ub)Ptj$Q1%Rv(;G(ystW@=V#yml+?s##)R!{0&52*PigCZ~BuwfNGCuGNWGd<+Xt62Igx# zA>(%+Y~Mtkar45-!bcuz1Ddny_##_V)pC}(F04HOl{LsdbszC+Su`~f6CBa=^`fCp zgpe3{ewz=t3*f-x#2dg_=G#}SaMYx7!O0a?R&Xmrz!qfoUgvNAeGh=u4OjG>Y5{AI zJPD5SsTvZ%A5YAO%hprjjdKHsy+CNn3~(&PJ@Im{$?`NXND5Nc4+0ROY`7Mkl&X~o z+%12mmg`YArwkzDm`9wKd%||vocPg`PO!|1$JMaxO`trBG`tytO;hstYxw(3|JRzN zXLp8`n;3T#5~z<4y&V{2(t6-gU>Kj!8~sTI9HHnFyq1Cgu{nC~)t>0h?#ssJOOjFw3!O~ z=`6I5qj2j%#;?VIz+<=-w_KvS{d*+2y4UZk2FnmzqMp?>N(akN^?p}6ws8>`+eFbB zmy{4H11vKNy0bEJB+Ja=Gatq_J5Jb;d^)kngMo;8dD%)^iiHAb)nck$$eM8yha>AN zR=^C^@mq)ajbFXTSDZaQgF%`u2g)2<)Ab@_u_DUhLk=E4)8Mg+M~wWeLmNF$EbZbHR~)_(7sMjkhc!y z#QhOE?-NvF|w)I$>B+s1AhNZ-Sa5*IHHM`#{cVFD+eD~_D zlf$q|;+Of{_Oo8(^M>49eVz7_wZ&>Z3~4^gu-K23=@rdr9{NTEkhW3c)kP!OP{b}0 zP2>v211E0e_wyQ^_T;up`xPw4J_9V`eu43Y?CUaPfEMp~G52T0+UF7aJn-$yy}@dg z$9e%NZ4SOaDS+lPMOG`<7Tl~tal3{#wKa_25xS$%J;YBdVgIg8O|4dI>X4u&)TRi4f!0> zvm;z1`Ho&PTP;6_>9t5cv>j5B*Wh5>-$4}a^^pCH@7Ccxy|p(4@xVqy>}Z} zB!oKFHHh${PRBf79=9@PeE?@>EPWFQw?b)ba+5cen8jOWMe>%?nPgpWTx4xC3}PF0 zzm|@>xy4LMR?K?ZrB(%8WMYb1DZs7%<`?laF5>H>L1uC?Zy!yr>a*^#4LsXjRwkI< z6nt;={L#2E=mp-hq8-0S1sQu2VLJ!jR6|P}p$S#J)h8VSr``9BrS@cF@)2Q92MMx0 zgU6izYE8*bF;7G;!^^!LIW!AL@Q#=UzSdU^$~e9NI5J@@O}OH9B*Rs2Vtl0ODr{O= zbZ=m%K%bJ4ypt^Re*@8nM{`On@i{xDhVB*gt1m1YFI2GB-~YHAN2pq6rjt3Cv_)g) z**G&}^QwEkWP8dUq4POVbU=F=$piHe=rMTUXCx9CD$54xW(c~lZ94F)zcxh2l&-B53zGlQ|dE2*41#QGpllPGU0UsPQK#a z$=kSd-WN9_)<84nw|fzujr*3D0s^b$0LD>l2*deys$5GW=q%Mu$w_^cE%m2T(|H)| zaGtz1iRV{du5FT8{7y!WR^rH-Qhm>jFml%WHVS^Bw0Mxv_hsLxI$vt_!|lEp(yBL_%$ z&gOdDEVx6^^i6ZJj3g!(*XHGeCe(RUQD`qOG--8?nO#Ex5Rl`7Q6qfg#q+@uq*~Cv zd3VUiZU~H~sq0ojCg|P=C4X;B4S;I+pWZ-O*u397h^G|@wEj^Gn^Z;%r^vGoJo_$( z2`-HN%!*v6x6?)L-z^q+mJaw?UM!3lF8mcTYuLAT_1pis2#>VnI82uRrqf%B#>4D< zyeYtxbVMhGux-l!m;}%BoKSmGhu6H-6RGNI@Wv$- z$C?Tn{WYjqHz$&px*xvC9Kqg}WFPiH7N8gD(5{f;}>+*blgnSh+Y;@Rc zL8=Aiz*9Y^D-iWoKb*au?ie+c-J=m}CiJ;MiNc63;zPAWrmQKArlg6A`5vN(^Aw(k zz??uqo;4uyhyY&A(7tfrk-<1(lTkOeFagDIt*sd@dVojN9hu+(G3OP)-G!IPCXsQf z@6`3Tu`$p>dZaT?HYhF*xApra=AH=zx0DHY%$$+)z5s7c1V`W*MtZYVz?+PI-RKk6 zw}W0G(m?GaHTShO=NR_Y&!mQ6Ji7*FV_tDYx^yD;A5GEm_N3<0F{6dq{i^(@HLTq| zdc2n!=Mlm;KQr5yjlkI$8^mI5FBcYmR61wZ^L(H|T!)9%C5Y12i@2cQj>L#7oEq}O zV|rIkox2?GGy|rtHOEkovB9Qs=~z`}@>`C@!RgdQ!ekmydmUb6-s}Tqgu>OZFF`|X zYQmb~2j=voh%-mvwF*KIXUn>Fwy(efUuGnZ^xM#`6Vltx2|`L`(17kzeoMLy2JGV0 zmifk{ZBn*6R(wm=yt;lcn5k*AEM`s^tq7^tC`!+*dQ83hh`!Ib^w=^G2)ou22we%| zB;mR!F`11>1SQG}p;iYVp-3}1lS=*)|B3bsNlE*4-e@+a65`|e*9K-rDd0W#eGayE znJ(M+qp)9-gH-tea{WxF_hj?H3=tRscJ^%#Ak+4*yPpcG%Q3Kotn6kFIhjc?vA{ z0Bc^e*R^GaA}f9L71L$qba5;5zr=5ca(#z$*Sn{d3bo*kOeRk3lP0gPIq=mR>DsS# zU<|i<`zRBj=wu-YMk6e`!x&cAmWYwY3m6xiE)+(8sn1LWYH zk&1zBC`8oo;yFpQ!J$u{`H*{;muo|#+D*}}WiMdzRZ*y#4eyGa!HY0BVo>pBd_U0T zwekoa+&r!SFt@VNXXRX=eJhG-uD((LInec_$C6D5i?#h1Hd?+%Ddxc3iA*F`wy|-p z>B`)7d_E*tGG# z_ZKw{i#2>(7@VZfH@$>>o{F)aYMDESn+$}M7HetkB@Kp{CUs`(gaKNbv{m77q&}a| z|5gl-nfO{#xXhmSK_#ot7d<;#LLM*ttCS<2bgoTh6E8l-Mx$Sf9nf~^y0H$&_9PbY zE;_1-Z?I7h-~r&^CM2Y0|MiRWkxJbY1ZrZd7Z^+SLLJR?=T{12J9yw``<8z5(S&^m zcsf{}CnNMJ0h@~#aD{QF*z>2UVpY!)LlsgtrijIVe)hyb(w96&d2>QRT9^CB2yn~M zT>Oq*^7x15k*n|55G}GV$OCCVJ#KzHjlGuV0%|e zFf0`w@*}ey1tPstG+g>j>BEG^=*Es6unZ3`$$TdxIL&7zl_AA$pqg3tt{tNC=lb*L z`mq%-&)aBY z9FSUjY{xa=ipK6b_ z+HQk&$Fkdg6$d2zU|Cu%adxeanaHZ=D}TWQac1MPcEmq}A9ut-7`javW2uc=aj&j;HUO;uAyN zX?|<2Q17K%Zudj+tRcwYo-6BQg+vwKE~iP(AQ597pJ$8#c464sP%&mfmcrPAk+YxX z|I-4pP~*M7b99GY+6=dBCQyQ6nI;THskbozXgMBNc>@9$W25liDj?hSU;-QcpG&6J zs`$1{HO{(vSi5aYr=q3FPn_)!UTn3gF@l~@!+Q9762taX-w&T;UZMB2 z)SkC~#upQQV*i7aMZ|BLWb)Deu`PBm_SA?u?pxM1y26UQU6x(GxIKrO!;7s^mXIS4O8 zn5W|^d@Gqqg+!;kQjqcb3ohBZy`q>fZoNRBsj!Wqi@wkKh`1BWj>oAjQQ`AmCQYnk zaTd?y*Dc+7f&T0zrP?Kx)d#Z_AI}!9o9po~%r|LvKbXi9dmpl!zxZ+Rj?y!s#M*Ib`dq#~mbAXHo}%TnBSb3_G#eM*!M~r|>c%!$ie- z@0DRj%ptVlWgk5(LRycF_EuZf1&9ILyB>wV8fkN4WWvU=Q$C0783EH(baq-g6fD~p zMOEH9nBoGRr}4fZ4}JU`QouC8{}i437y$L~*tCrR{O9e(!?Jg#2ta!?Wwc;6rVH~m zYgcvHY8WDt3n0H^zJ+|)g_oBpnhE@no1z)P6wN4t39LxK4B1~Fhs8gEeHSgv+5k(w zP9O*MkjNoZF|DxG#blSbt}uZlGjybyQYSm^Vz>){*WiJGdD&}k!j|_SO#Ty`Ym7Oh z?OmO=3ez&0H82hXa|~c`7<*N{EFOE**4ku!3FSLEmpbfhnoX%E`I&{u#DqF(37Msw zRwe(@smPHaZg8%e6Tc1D73nXR+tJjydWWm}z2|mHsZ3JG1g>P(j;LPPTT{m#ED$ zcWPT;Df^%u&wIOVeDM!)(gI`ws*zNJ`=NV+9AvWs+F>I4VyKG;PV%=de+wxizaNTQ zaJVSG=*kx*E{auE@=knMcSU*PK`LP?M}BwFP9Z&4yC`;HKt44)h4cYR57|>?c$$SU zd!fVwH~g6m?fpU_AiYNe>mA9~$w@cLso9sj-Pzg2_fCdS7P~6}uzw4AYZCxTNf#e} zZQYX!#&$8#E?`;aVnhxS$c~JkdScS$3IrEutt}I3DHEW5e$uu zw9BdWp?HwsL-9Y7hECv^afvG#6Js0PO*64~dI^zxbsa?GOL>eKra^ zx0K5UZcDYwsR??X-Fj8h4+Zay z$CD51!NEAW0W74ykkLL(1WF*_<)6D4-Bcvq_UJ#74Q;5bj;)15LEn|E^9%I z^2F!5IEo{#O!4@l5|U%dUk(U}79X9G`+m&prNr2LODT;?Rq@eD``3(md4cVtm>j$5 zGk<4Co_shaDcXuip}s_bW9Ck63rKF3?p}^C^O6^StNqF^{ycKNzLJ?cn=SB(PyM@n z=~0O=O-OZb{pg{xV6w{9gJ=D zEKH!ZAwc${gX4CLg-xfc0VRm9#u%X3=UTK)?C*Lv-GaSxwhiPJ;J#sXmvsX0j}8Mc z50BY2Z1Fi6D+KhYqi2_IOhD;c!1}3arvB3r%>kT?pe2xe0=saNfY_r5qJhzlZCD#n5K@rf|~9wA?Vd+)#qi>nS( zM(A+eMmtoLX$BS?Xy-Zv!f4Pz3$3=~1hg}ipKxEW4gg16b)Ge}RV(pgvI~G0*i=hf z3TV#(w97X82x+yg1=N+vm|3PSEAJEljI%L0mQD9Z2AgcCeqE_s=A+{My}en7U9xpf zF0hFi2OSK4lyg7(6F+X>_r2d;E;Zt!Jw;qd3Wc2s-X0xPD zreVwEsWfx23c!5rD}T$C!9L|#$eAC4`O7wZT^JuT$M8x#}*%{_OX+6XX)U#**51tb8C_-oU1Sj7)d@*x-4<)3yj=GMmSYX4*@jgx+6zFtu1sLN>YoSL z*%#ohK?1kat|nmLfk`EFpj{?o#Artk<1Ya0qC5#?*H)TKY4^mw{r0YR|A9UF*yAM= zj03`J#%<w!rz2_P}$EbJy&;ab>JW>EyT z*8(mZQyPbm7N0meUn{hIV==0w*|7x%e;!x3#fNHvjEkb*SFj5?OSZi`ZYE> z#58$8?F0dVQGvslgopTAe*0}_-i+wJp_Z&T(reBT&%#Xu_ABjLaW?du?R>4kW zwNw`}8YpW6=3>^vWM2iy-U9Pn3-ulH#ZG$x(?^m;P^T~%kb@!6jOm$qfc9aJn+BMf ziFV%!SD!3<>~0>0Yi)#?E*5(P+QnR#ZNl+U0VdR!>(PR&YZzQugCMTaYnggc$Jz?; z?z0I{F6OcCJ&TY&Nw`2M0qwIs!j7pLwL60p`uH3<)@uhwb2iqwqvX@z9X4QlHm$j2 z^QG$GhHR`wl!=@`PE3U9wqL94Ncs z>PyO*Bbnj*cP`Dcks_yQx^oQZ4#R36ViC|W%(TRXz%*zecDn`*TH8CV4X=enrLdM` z#jLo|$e?=2`vR^G`j5J~7_r$y9NjDZg8Jx2?6Bu#E(YLV0|9cy3a$s8)K4vai%igz zavJE>z->0Ixm4?{EUXgyu(o5PZF=3WSj&3)^r-9Sfp(oI1}6Ig+Qn)|rYZv3W3puH zkVdi}qZZbhN3g6bib@UwOj0&W5)o5rtBge@d71>iDH-Pp@;{-h$WD(XD>}U&ljlKm zM?^ztOc%Ec^QOaNIkCo7l+*Y4ZFcZW?_<{GNQ^Gp4h{@3U^iM6mL06T1+;E~fDtio zOSzx?u^+J?`ho8&6;&LjhkBtG!W_Z&1ZWT7x|r+%a2J1EPQQ6iHsR2<%C1P2>x&T& z*>LaE_T+(w?5P8fLY$fKZ?g1-QO%HLmhR4-I{@3Sw9d5`kx?K!toCY5bh@c0&C;EL zECf@X>u#!pNHloB_T2YX+xx(+)|s0|UuZ^msI#L-d+~j?^};Q-`|_)-bL-_G=a4_@ zx^23a*{{_C+A*)m85RQV`m#qa8}0sDa0&iOa_kqS=B^QeNsM-8ol#l<*CWVY8E7ZB z_YuGO+wZime&c2xE^-qPnKW>lxo6%2THB)>L2m7)?e@wy|FFvqGSMoKUEsRB`g!&D zy6KWJ^bBYt=a@I)zU4s=@&U={T;7wi!<9vL-`Ngb)(($wU5W7#aqrJu-%Ct#WC5@3R^%JPX~HQ zDW|p6e&OeS(q8%Umz9dn!p?FF9655-{(xChdmn$IWKBj#Mr>%XG!S1hLl(HA7RZ41 z6*X7+#9iIpWo;j>#vc3CEh7$=%an`Eo`4g3rz#M+79m((0C+V@{|F{pp6(sCgMFh8 zx(oacz>0bwCQ;F$ioGpaPT1kFCJ^8bBN$oS-eM5QJn3XNEH7VeU&bkfK)) z!@U7>Goxdp);BQZOx+;__Px_voEfw5POC%jbFe*IKw@FrEcdw56#vZ|H`=>?=QlHZ z?8|M;vy^Ux4*56!_dD#ad+se+gVEt(8^X4G=1#5!1hT6yDQEleblGD+x!Q(Y0mMe_ z;u|?J&TJ}7w2bpz4GX2hRP=9dV1G5`n(0HDt$|rB4aowenuhJurcbgGI=^Np$z+X8 z#Ym}=E%qt4TKrUOcA0e%i(O#97T44HQpH z1o%gf@3;M*{e7DrJeVq}u$zJHg|;}EJ%Q}%OPuLiqJZCq)bP63zPdzAi69B=?o;4d zWU~uw$7|_N*<_dLn4oEBK~Vva=qhBF-0qO1_VNCluywxp6oV==LpC*X9ANAq0P-O_ zapEaEcKn2m0ov^X~efG%x zU$;jeyv@2>W^LW7HgtprJASOsP8{#Ii!Rt=y8zmA7hOuFFd>PbM-P~;mW_6F8~2pU znN(lZ-!XLUbJ-d!aHp-jka_Abi|zWVI&$G<05kyYX^?$spxw*m=e>XWe*5IV|3^G5 z+N!TpUy`|#Z-Gi6`?g)z*sI?1BRs=;?$I9E3JjMH?#%WCaQCxw-}UIFoiJ~Q(Y5sl zo>=rx>7X8y#D|w51KPuD#IOJBD7b|{yEEEpv^W6q@`vwjBO(9E5)Eg+Mczx$p)wA=2yyJQ_RlVl~E<&*?wK>I0ZMlnXp z+0orNeb_E*8F%~Xvc)bt>N1Psi?jhwYlK=h$;DWgo$*>gfC*UaM~5febj%SJ5A7KQ zykK!prE$Br2%PL9@X@gYU<-&A;4CvPt2&!)bw>-#jaFn|Es8qk0QEdT1jxFdR|~Mt z;(6~J^q#;@`UnfC27BxzLt4A{It8%%0(LMtwU}!Tki3bul5O@n+OmrJ>La4IbkLo0bef7Qwg%~GGW7Wl2-d8gfY)7MI#KV!C+Y?dVhrMz|V4wM6E_1)38`&@L9 z$rNp(3uGS|8gz!cKyYcG0<*zVef$gPQWqDzhK=$UXFSPA% z`z;qPTutZR%Z1F75L0Pq)VM_ca@;y9~(Qih0R*LTdQd=U==00`*+#TMC%yii2_rJx|$b zXTB(e7Va-IUxQ(lT8EftF@*^=$m-E0;L~`v{ClOxzyQZ4nb|PS0R8kJ`oJ)%%8=c6 z|DAUK0}s2&m=@}+MJjh8D_(l(mDU`Ac1*n33^S61gyVwVg1$n3Qp-A6qYkux1EBqO zTh%si8`g9%W46h9dIkXU2W=}r`z4fDb0LfNRk!k(GB{V&>g?GW`YW;8#m*1Rd>MTS zPjWTq6UeSB^+#LRADVUc#~A1Xw`X}3nU4uTyTJ9d7i7OY_ctH<2 z--hpGTK>ow?RsBmAOF`272G1Ao%blVweF4H)Z>R9$8P&yGn;ZCW-HqE^#Ha*Jj~q6 zTA&ihe!=EV_M4a;+q7xp$_mX=pS2dyBB?ig`KFTR9~&99!NJn+Pst2f;IdjE1KO9> zOyv_*G8eO>`k3v^O#qN1kkPRU6m9~17N9O0yJD#eIH}eMH>apmLImW=syZ9Me9Hg^ z#t-(7*wG$Xq5#;TTZS13!(7wXlqWFSX8@lYus_Hm6>W`}bZJANgt>tvIFHmf2beq~ zW*;_U#Xg@ALmq(Jfp%o)Nlev@v*_t43!sXH?u-!5AvSom%*+55)KKpnW?(ux+T1of zhFR3rvG6L4@Lt#+NIEpr7jq0|tQjNFoCKXF%Fz zi(MdlYje)M1`Z|x*e6)HR6x51CNvvBtbc*+0@=lo@c{>Isf*YKQ<#>SpzZ1e##3fJ zfQpzf{3`|BF&9XCH(<7>p8Fu7$4$xr290x`NzD2TPS@HUL+fqKf=Pk&-4~$W*VB{P zY)?1J68n{GvR`xcRrcOLc()J8EKy7reU7!jyZ_+5_L>gQQvsFjJ(6r)N z>T)BvE^}wIvd2z8DhB&FrY6Q=)a%?cFx%y7+#Wl97v~Y!E|6VJ_Hyl9>U_^6OxL9T z&pYb{1*x85TKORHg1GFkbPH6n$=)y9W9e zI*}RP^RC~qOLy;D7*+XL4|+moaj;$Y)J?}|E0kNyegd_#8)m?2!D|@ph}&A{6fFXf zomsJZ1e9Elgvy-fJI$I^4zy1VB3ENB6OdioZze$dAf_lgIyzX)wbQn5-)1{^?8bD= z1t=LZ8H1nU`>Ha%PFyqBJxg8ZDQBqf3483}+wJj3?gnT#TMy9QOg}I(JkB8SxNTUs z-Y&Rsht;g#N?F*0ufYSj&s8;GJ_h(sBqImgL*K-ZaCn{>JFaC>#(WFwdbn2E-=sSN zS|7LS1|a%IzCTsyU{p{bJ1yXzA!m+N=JMS?ef(eT{U7|Rk{P5YY4OL*Ex!dS*<`=w zC2z17z3MID5%rI}`VoI<{RA$fAhU(pczUSyENi2!c7pRSo)CAOZ`jo~c%FceASC8j zB9Mr8`c#G}ekspOWb5D3RQVyJr%VbJVIhRZJR*pN>S^nt`SW>1Qul>1o>tHFqC5)I zzh-MFLE@4EytbUP%FmlFm6&*#--(%3UWiu`FC&#EEU+w-RKd^lZSmGf(o{i`10cXG z-%>=U}1CGQCqm@dWg5nX1v0$tncaY5?sv z81ii$t=51!7Xj#v3MwHx5{d=1x3%UFg0=W5Y<0ZY=^987V_*9mxYxegRPE`W^T-5`+R|+~!p^T1 zAdeZE2E2e30qbI{i@`pFVpqeUM=kB5MQH0-7*=-g6(<|IDr$75)^0ey%7$kbgY9BU z_5!wNQ~#HKdBhym^yO0SIv7=d@<;C}6_tgZCoS+tfAVMcsZW2VWNl^hO`Ue;mTrNr z?p6M+T9lIhU<%OqTxGH^tgreq4S4DsDdm4+g0(dw(;PNYq5}eS>zm9X)d1gaP6i-c zpm+r07nYko7BKBI!sr{c(CN6(+6ptDWF{umfq`K9p8SHRGE;+(w&7)>=S(@V)HK7Y zl+yr;`jX5o-2%E7O3|MqEn@B2Q$2^Tx9VKu<|D4AQj1=`x%eTGD- zlrMPsci45WcoX+0e9?4!xvQ~D$!AeW_+FCEz|EnG~1QH>8b`N*>}DX7d!pX||wby+tiU zHsKxm?rR%ep?sAaL&G*4hLS>-1*P&mag$U6*yYv7C-+BX$t~*Evy1SWX#-o*#aN>@JH)P1g_wo~EWc&aK5<>roQK$Px1-42ld*SKEIc>av09P^a{xB3sG5 zJtw^G>F{j7&;mYvnT~p)FsT$7$X;lt^L_8VfbE|w1GZ;u#HH_UXD5qjGr+jW@yXL5 zssYp0nC1f9#cUrM)B>p^-p`5k?tnV|i-2z}j@sJZ;RB)q+m`~tWr{}Me+@Eg z@zs%`0iX4xMZGl$tNb#t)(C69rM2Bn)M#Kg0{Lg7EgfukW;>nM0++E77c@wT!%EYa z+jqXqE_%feTUC7%EK=kq2iikBOI=62NSwl4l8`ikixCJr0{)mC;etULXm?~#ihOe4 zR9I4A%UIa#z%addYX9~Z9Gu%;6{VnBmImso(oJp3X)EHT^Af<`v z7AHt*QdDjXQ|k17tZBF#iVLw1eWDE5PMd2$Dl^-+xZPuj6n*i?9%nF$nkw;17xub~JJTb~j6Grpo_@lfe0skPj}6!`GiKFSIHMh)y}P^1R&}klHQnoM&8iJn zgSUBrb^-e?)N>w?%xMZ7=0UhgsB)S!9_j-vX6pMZMtVZ?@}R z{-$srdG6wON~KAM)iV|c^7Vx0_w(-uIpV$^8GYCI_jEd9UyOAx%8xyf61vmub_d!y zQW`lGCs)W@oF~TT6ZuZzrx2gM8sdpiz2esQ3)#YnJw6>6_QQ1xx8T7~xmX5o1#e5f zcgm-T@kI?=h|LEts3{jui84tA$nFE_zF%kuU;8cr+I2l6!vpqj|L{TjjKlfTzSq_8)l)q zF%~==1+*WdyjkqKOHqvdu{ua!kO)&T(_Bjg)g>j&2!!W)>-dO^882JJVz;~PdiDj# z*T*<9&XG9OUaFnI6?KpTSL6laM5epiQ0=L*Wfn*F;B`I;H1(WE0De1dAV&KHz||CO zCgp%=Yy{U~6TXox?Tt80V>sI&0QglbOj~b%zbA(|8MSw@%WNYSw@3P@60=I?Vm|P` z_okC)`{#KJ{Qe*QaoMS84v@gy&D`P^sKl(A#MGC*YiG>qJI=|1G8De)u7nX

@0z zuaj#-{JOxZ`2aGEb1jgng;JvpcV*BbeYFW7-jvHR11Yhe4)a_eXMLa9@$bLR z;^m)t248g^0Zl4XvuGk)UW|Dyep*exroq=zgMK>8nQ)bu?b&qA@^?TA zUH593t0i3fB`>$Fulg~7E@q+uvRBtP@(if2*29y4BKdrT@gNmFu}TIi=xf->e2nq| z4p#A8Mpu-6VSX=7g)DGInTT7MBo$9BJ+t1KiU~bc_|aPta)pAEH#e0ceVySQ@<>h+ zvGnkM6=ez4%-1!)ld66pEapsy6!s&?k~(*B%X{`xb$IaOziA^+eKQuH---m$d*Vbk zlQ7>R#XIHJidxmxd%uvy>S8 zlKFzQy#H&~tO?(E*zxrkKX1*oS!+`}x)mfLEoiNGmT$cL0K}q!!Q=EhC#cIXbsFNF z^URoqpv3zv($5q#grz^x&01|k3npYPwhOoJL@DTk(M}&E#53v}PKKhv0L$xPyVr^F z4mTY(5?eJw+|mv-$6O8iiF;=FR@0AbP+|^dKO`xE>@pz}^07Gy_b;FLl>O-kK3Fnm zHj}Vqvv{E74B2Hb<*vQ{jdtBD-|U}YY1mO#2;bQx2Oq401f+K&gu8s??})-AFX{bI z96#D7N%g&x*IWqy_Ib1t$N{n|j`zyrLSX(^^^s01IU?GvZv^#7RV8LD6qd>t1HElaT|Dn%HQ>5t*{gr| zcRi+~9AN=I>r?ISZr+BN-SP2{e1OH3kH_Nk+iWIbz9|;%=s8=(_f|7P7rKjgY_s>g z^BoWqGba1OwmDyq|L@=ao&Eb~K3lT-*-XNc&9dUa3}|0rlU1@=)iLyh?Z}NGIM%bc zXT95EZ^Bl14$~<*mVI$`K=J|$rjYPv0Hk&79TJ@vur({*SKAECzFGVrK=$z149pH} zhXb_B3m~6{i7v3&JN2ZKoW~d<_%uL!jdirt+q%`wwq<<>3#7^>;fRgE4w;c@7lcNU zx5ma{cvJQiHrjnrQY6G??65btv|3wRI|2#JkMk)ILCj&?pwTl*a6VP7DosET0^$iYQ z1D7aLC@p@>_cz9|lYGaMt&aS|9yV#k%2N<0a9zy&DNM)6)Qfx`80Y)!3un{U<-{^% zT7MJU!1_v*U00|ys0{OwvL-MKFgiNyCTYR|EPW`cy5O5OXAs}%9Y!?8+U_a9z2v0xF%BN>NgeAp>BK$Xm2l#t&Y)qI= z70OcDm|pcQ1x&~ISW4W+x@fD~l}Z=V+QVQEbs&rVP9wA=8 zAuO~{lGfjA?Z@~~FM%faee8eQ*wIIlgoTa1ivrs-SKI>S25fVXW#0GR-?z&zyRGDogVOFbTb!Lu^0CwMb$DMZXU3W42wFi)$8NDQ1*VS!n zR(ILDHQlyuEwg3unps*4_}<%p!tUSmkUg|_k7L&wIBjolvrQW}*p|(kthcwH``?Gz zN=#7tpJonY9+DZkHOQ3Jyt_33M1xw?ZK#iGj$0Rmqwek;dWdFH1>NM>@m@QQAH|gA z1ha^9&24tg^RBh4o_`%90RXXL&Z1`+m_*qLBV0ANxo9OKk0ya{a8EHNni| z%oSQd`iS(BQtqnjzRj+G-P^-gN}nqKT*dxF&w9wE;Jh3`SP15q_aVqiN)g|WkVlDP z|D#WyzNmU#VmbNGpqGsf%E@C`+^Qs{mwqfgJMCiG3iE2GBa8MqGv|#?^+gbK{W{8d zMJ1>(r72OU(rX5x^zpQdeGnRdm~oyupQlS#Hk~oq&!5Wk6*7lKX9HP6gK7&&6T&pq zZxreqN;+};sD121A7JL=;sqYZks~$ZHgm--AXBd*t1NU|Hf^-`{O&uzQc9ceTbMpO zK7U%^{eSV7_W2ubTvTDb=aRRidu8tATOb44SI~BvPNR`N34aS+=lIihVNEZfI)FiA zEzEN4!?M_BBim*K$Yy}!2J-tfVE~M2fMGEf#nKU|AaGZm#0(wO6yU=Q3i%A+^(eyK zm=-G?lUWo^m1mK;(P>|JRQUrS0b5)Qa!tp?wKvybI;Mt2QJZbk`gW#SwsO7+XM#_` zGMSiQsh;s!zzP;X1!$kfX5y@D3<{KHVT&#pFzuRN*#_vr0;RpILfpsn{NAAV~>fQijzg7%%lwpDDd7vHJiq*vV!mXrJAFJ-KE=eadG3{+F)`6d9&_D~B z$~Dkt@?yF>NKZxw+7aO0906@6_P=bZ3uvF99mWCvr(x-f)h{zL0&-?#7KidWVY7F% z=g^&*Dd0>4gc=?ZPI*^2IkA}MO-$$4;>l8^(%`Dn#q~&3h8Xg){jPAC9}_cPinQ!X3aHPq;GF<` zl^qpYU0hyu%kPH^jn|x9y*9XX`sA2=zL#wMV1++58Wboq(3mkuiW{@sfNk^UEA6r$ zc(()Wb5odRfQ?=SQ&r~g)VaHihCCA=MjnxZW8WcNzmN1$EL13r>7g7kwr&Un6zF5bQD3+xoe_WGj;iF!j zu0K4^aifUDB@xLx5RYPP+a^AW3XFkhV6Ub^DcYQ3jvRxsnY}I_E7*49ncc!oZR?;8YW;n!3?Tu4X1&= zUc2#zFWJ{_`ik|VtT&=#`SjS;9)!T^kEx@?86jWH$~IPJKw-}zZNrO0@>xqnL#(k z`XDuR^O(NubdT1BjvyUs%nlztZby!uKo>%9pd8t1zxH|0vlm?Rd~0mTx$YqSYH)A} zKkT}RuV)2F-UO4rDc5eTZCwnMcUxndY`OzXab97pBK%CxjXTI*0NT}FB3fxd)Kder z>z4jGi=+O-$NyEkMNR|dJ;+-!v6eYn9(h8uqS7)&Y?qx^zR+Itoj>Y_k|*?7BNDl6 zq5Xvtjmr^yx}t2Mt@4FMMf`aTV1b!cFA$29BQG1TvSCOAo zRdvlZ=;S_-rZ&LmU4Z-0B<5ts-9Ec_K%|p7l*vgk1?REJj=gqR?Q6Q4FdfrktGik- zVN>mXj8WX)z7gy1p8#YR*sf7vkuhX0hJ{qSIvogYXl$mZWC2nB4)c;7KG9=CBG-m29s zzQ(s^p%ZgJeZ%Q=Vj%@~IKTs-hyZMbsa_5O`**zF`ve_pwvvELeaGX#ZWZ5H|8s3o zI#JY$q-ciP`*)nq#mxz%!1ieROW$;P^;uF*HS0+Vlo(4gD<&_eeo@}-veQ0d$7^9k zG34W5flR}=DKfwo^#p2l^Yz_Z?D8M{Bdfy(zfT$GnQ+rDey_N9Qo@sI=8|oa z$1%0DP!|_SLVF7|(7i4K+6#A~00SpsUT`Qqo}=iA;6+flhb0mIJmrg2V3ISxDU?va ztwXv{T0V2KlR(h5q!b+Y<2GJ`W(Y=?kMjT>Eo!}_ zocQG^)wTA&fM@EKY(&y~9fx*SDGQ@@7_|;#sZ-3+KPf^=& ze*_>pn8lXwvA=sfcMfoI7U>XGeAlq+WmDXn0f62weD1UMrNT5*$VLF#tI#p% zK&+8(zf45>8XVL?{RbZa5KZ)fh8hS%tkJ}*)(K3}jKT6A#*EDX;JLh>I`waD49@Pj z@It$I>sBf&0DtHrI%l2n=ZZtkR9qe1ATg^ z)l6t4nBt_3Fds8l#h@}Fvguxf=@^-h5!mh(Dy3`a-9+|GjtomR)(pL)fCYdQ z0&>OZ7WgYYM4*GS6}|VCsS+`$19MwU#xeW^!0rs`XNj8=7*ow+qI0zX*IH1t%KBIs zwWn{`M#h+)h>$48^@Q?b16PZYw&rRuUsKIusEvT^Ia`hCm{lx_s_hW0^rsK@*pXw{ zSqHQi&|Zf?D^_<4W@A<(w66gKs^Xl(EV4QTGi5(4k^@JM+bA{-xfBQ18){*)N05~Wq&Ag8n|K8~x-J<9wVxL#9{+vyvk9$4-BNX3R5}y zrO2!QO~O_0G-w{|w}qeaOD>!>l%wBLVTD*~MS^3G-foY4@}246 z{Qh&D+@SB6$UkCzFLXcpgWqpI{@;IiVem6J)}6%rGtE1PsU{~234rEXEHPumS&{DMs~`{<(eYw)X0Gf<{rmbbJt+Xh(b>o=^k31&Nu()Vd4 zml+1hX84Xz@&HKgkLDyBA?6&#=KHb3hiwcwf)QfC_9<)N;g+7|CMERlledZ4Q4Opu zRR>64MV+e9ONN*UC6h9v^mo#iCg^L_zctg(wUc%Yvw2tJCx#&+_4Hv@Vu-#G`G0hR zZw!4G@8UE-`zY&LNf)~G@~iFJUh{gp@+B_~AiKbJ`kC;`it!6u{{OLe9srUZ)ww>C zbDr6mjoKisc9juGB1i~CkiiHfa*`3Yv9ZB6*cdQ2hKG$aemsLQk7%Ba0Er}#gOIQ! zf^t};%{fg@J$dGR|EaF-+ubv(RX}J$%~ao1Rky0{y;Z0FI`tn6zD`2vIjzA6Kz&&$ zeJWHpC8C@0fREvkB%;3UkN?!}xci>OnXtR0+<>ALDI&+nsdc5j{CD5ua*q1q z9GQjZEd?uo>oXllNW%LFml4!g1i8WEy260QqKX%Q_H4VGj?3n;0PT9W^*tnAGJDGJ zTu%8;wA%hHC;LtBuksU19w!o3*k6lAyUI^{7nLYtmX4*-E}(sEe8zru<8^k^_1}n5 zGF!`_`U~qdp)tY(4(&j@xYdVK(4|PLo3y0aE$#7fgwE+{ zj0aVq1yTXGVI7=wjaAkPKY3eAty9Qo*?m_RG%&p>0AzvlljIqLpco9Tg_~VQP|H{b zIgAn3&b|Tb?i;lJ;S}2JBM8UjmprMP&j9V@I~aLIV;(JVfz$&2gFqg-bqN*%+6A6# zsb&D&XAn4xJWtD78-36vz+7}N!%QHEJFy1d^oBYB9|U+&z6hKjBrp9e{Y;ULMy~w3 zFr>Pb(=kws8(z}HhQwJdSuIDir5Zl=T0nO90O-)?_!?ylMvU2v8veyeQ$s3TkH+5dyPMzrJu!712^9M zGkf>@{(9EJN~o2#)nasY4Ekzk8T4uLHBx8&s_R8{KRh&mAH=|1tF`mpwm=tFUoYDn z^$wUM0rt7Tbq5u_4OT~$bv|I@&2a$*Px}#Uj{v*(gHEZcW#a{~Kf^zt$shTpZ4VQ=x{oFYq;Vhm>KI=XXS$~h>Xic02zZb6 zkgb8^-;)7w4I1;^FksKXEE84v;TGbtCU#nRCuei(U-lQ)w&@x4+w}F)c;)%Y`+EiW zCjd|y?Ztpz0^2jdgM!5b<9<4>UlBNh_h$)M7YwS#2-$5Wjr1wK`F>7$h{3`M&syTH zz8k(20!UE7W!{}|7|v%B@(@Tf0TTB+D9`zhQ?s1S50yTSH{w>A5QVXQLLhTJ88+-^ z<7NYeb0MwV>pGfCqdhn6Y-+?vC$j73->^MD`AqVX?@NyE>Ri0a4NbJ!m2j}{}TXqRR1R9n4~{!{_61ahhElszO-Utqimusvl{{XO=bYp<~%{_y*N z*ZsDpz1dbTYqH`gCRdTSYwBvP1CYIac?aJs-zsB|X^f1{U}s^vyvl|cZ%8pmACe}4 z3|7)MCKN9{(OOl@S6t`V-`YG@2gnY1fIV||#srs(@d zSPdo3_7qAqddH+JR7HDI3s_%+vdtLn?qE+JTKI6Yqii&epBiTs7}S&_lSNDjD4iKQ z<+L;Hq8Gf#PCx$ww2z>Ukr8ic(>o3-sFm^A3>xit2VSMoUIG_AN=)qWJkl@tV|+4- z-qqD@Z~23_+u>ONl71#71h_9or|(1GNxsuK_ma!sWo^q>^Gx(yN_a-RyK2Yr>i@OU zPA(~1=vZxIY`3M&u6K@5AzV7XYkDbgp3@VLb1{1S-p;09gYZpB`A**!_x9`A1j4F9 zO(gjX7A}M=Dzvf?w%I6Q&(rridA{Ri^>-A~zh{2@8&>&~PM@<e0(6*)SV}y>!~1&)oYcSUQK~kpr*SZ0x8QQAF9L7~uv{)0dS}XoJ*;>mWC6 z9f}%P&-44=xytUk<7NWoy2Y;CpcS@dw4wR#wXb}+{ni^_mw$TccmdbIy<6_H_x#ld zXD#7kS8kZKQjX)~643rIm88MG0L0Mx=LX(1v&+`h8(d2{bxJ0oum_6zBpSXqVPjskF0Lt~iE(C%JP9qnuMS zglC{J1PCl(S_XKO7I)xYGAcUbMp+x{E3LVq%Gz7&-Om8T`;y2Zmfr)WkHFVn1(4m0 zCWm+m2T5;mc-)S5_uKv>y>_H$7$JmyPl5<#5)h$ISs=MjC{S*nOrU%+`YLUHU&hI? z%B^~kSfFyJpnMT%9r7G#Wm?g?Z-LrIG&`zm0U86tTHZP88t1iWnp6Pb3xs!|9pHNa z4HFqZjh%5A9P1HD!+>W%mn}~^;J?23CHusuK3h=I#k!<rCQ2ixn_*uQ(i3!~nK9w1NQfPW&ECB5QDbClPs8EH;yq((j6N-ozxS>~?9|uli;)(c)*a{e~csNhY(+=+` zmtxx5RY?8#Imu7#dvxxFyyAx5*!szIvK*uxC(?+sr{ib!?ZoTZt?DIQE=VLBDCV0p zAyi>P;k;mv+;rkm+$IwB-Ecmn=Ri^BtgeJ-7UIM(;ixb@&SXv!mO9>Y?Z4U4yMGWO zBz~oF+zZ&c*xX!(v^Q-$$v*$-|M(SDhrma*u_&dmmF=W5O)~1;)UZR}kT}z2CkhR2 z8347BLA&|dZ`u#O|6NOAm~>@Jy{*8P0YGakQO(5evW|AZ&UUC>8m+3S#Y*d%tN`Lb z9lxlGK^4ANn&Uj*Def7SmX4w&-*fnYbsgAiNA~T)@3nfAit1SPnlUm>o|d;SvyN4( ztf^zARW!C*WmBt-LzvDqoNLn$V&g-8jP_y%4f~?8VJjXTwjyYX#s_*W1vSwK3O$pI zktR{d^1eV28c1Ap`lohznbgggW z8!v#JQ4zV&s3`N2KQ7PfmRoPPKY7=C3e)1|olHnAHokU&=bEsUERpY?`_kXBjc1(e zPr%z?Z^wCc1vu-8shOsc)pPTHLR%%GAHwR%so#lSm;9pQcsv5m(nzaaR8#LypKbmd zP|SN1jG_A7a<2O-JIXZMByjdtp)U;i;WvE)-xS=Bdw4RYO$Gc^AJc9QD$w+=V)T!dcdJVDpA~N-<6@{U0W6ECV{$1%jwdccnD;+DHhB#s!Kp_02;?WZcT=ot}AU6UUIK2B}IQ~k|sGCNh z?1yh~0D*8k4YbeD@j*Dlz2J+79;F_tltwh$We~Luua%veg_dT$jH1fmPdUP2Em|KH z6;%N21JKe8*`dyU`~ZB3lNfRZM2A{N9sD?e`4r1OrS)BbmUy`)0yN10up zRWBptcUW5S0=y+0sjp3MRgW3~RI0u?haDt@dbW7=&C0LnVx-wFki7x!Mk$~$grMPI za>IoNO?=3%ktRQin2Z?pJdb18Ra)($#8Ic+Ia+F0b*@5VMIuwKTWlJ;b8)+EK6#^k z?o*%0t(>K!MO6bI_|S*#hu2+SQ08F(OBoSfEKUQmwq@G?H>(MKYsKa6!gJ_w{z+5NxIOuM@|5eALiEtTSeY8#kXmJ+jJFRk% zQ2Ru_8~J&7qL1fV@zHql`F7f?{!&sA-bd+VEoz{LK3G8elt44lN3hyJTCzbv2&M4B zx1z>E30%;3$JXU6b?kV5JN+GH&p~e8F&!%tSxIwUfdx(=%mi9MD2iY%mMNBpUg-spI=bM!io4>7&Klf*v6Rg zzUkV?2^T^17&hl3`HHy>Tm8x_6CoopzT$;2+GAhYk8J}NGS}Eqs=xg7J8kIDLm_bD zcd=>g&b8u0Hj+N`A0M-mPC7ABJCE0{6jC%Hi8i_e?a1b|d&QD}(H51TW;`)7GGxVL zD4L9;(LUH~H{bAM`}xiPW2wO&Ypa9GvL0jACCJd^wF;oUskOx#+ghy_&GV{eRz%je z*i2P}%~Up6A2gY=$u!BtsJ@WdHaoOur`03q*Sdm_Bz-x6cG7HH zx!M{!R$Eoea;s`xVUrbgHqE$cf)%WNgMCojq3KOuI5j$GMJYJnQ+>Xj9_q6R<|vz~%FJW4kh@Kl$l`v=*br?p!NA&N%O4d*%yXNge6Q@Dz9q zl1YNBq9?^4Z8Y72yKp{)Ry*!bjqv^iL*(?6R7_l^?e_yuBmO9kfOK^=A%47~E$7{< zUkm5s){l@ioHB*+ZFI^{bYY)}iF4_U`OOOMrwHjWuNT(8v6xyqe;mem=`5uK@IDh) zJ~~}b*8q_+d+~C(n$BD76XV5j58)uxEAo(Q?+Ai!G_!x$^zxTr* z7Zh@dj;x?c9`?i%(0+_6(h`3S{PJD(NT;1teAud>7OBM70uVRACoY;335C*3m!I@4 z+_$vw6%42ZUH^v21C@WhQ2gVBuuE|lvp55 zfhh_h0Az3|Xsl~Fm+DUdz4+Kwe*)LV(=N?^O*Bvv%FGf{;*K$Z71$m?ci{2#b#=1Z z*FaT3dL5mE^EOgnf-le)ac{s4l>LQWP=_A|xmUQJH&5 z(@~XA&mC!iv_w{dz->oM?An7(+#%O3CXHQ9g0!Itn-8AJcED%<@5eEIdQxuXEFCSX z8W4zi`J3Njd-m-wD0feHH!DTZfLjD^E*l@}Bh9HBcc}R zs9r0+&+`sIJLw>|gaLkl!90+pfXw~a;lK~WMIW>)?Z^>7h3q#8a5sSu8g>HK!-SB( zXVL~1XoxEXkSmelUf!K@Rz{S<6D^MEA_4AtkMP?1pN9<_wYWeni+%sg>TBo z9U6NSGoGlis)iOTZ|<N&Y3Ts=n-a6K9u+}wetelC0lBQ-TZ%Ch) zSoI|u#Xw1te(N=%N8Wt=pmyn3L6uj0+9_(rD}MSo zTvq!{J{4E#BwVODPn}5FYcXlnucG)i5zh_MtMBGJcA#CAm3E=GQ2CS*-7$MjK^$mT zf3DkwbcmWg!0D_uOe$e)<1p!o(e|`cPl87@X=^Yz?zf7ykW+{(8yy z>0)>Z9;S@%__O!e)*U+wLiNGrE+wQTcYHOl1hmglPjhLFluV7;rpcXXNsHSY(3?)L z4my&yCN##IF{H!GH<$&$dAAgr~xFsEVGOl^91-VL8C<1hS9nZ<%^7?j-rtl2B8A@l_o|&D@zbO zE3FZ2l2#0&wzoAv6;l@sxH32$M0=yJA8@^Y#JStM`zXUGf-~b5H(Kgi;5F={ZO(m0 z5KaS7jdlt^emT8Zg$xeS!Fh*GooXu|1PdSTx@f7+ei)!#lLO);4l~$AOa#j3LpYFO3}&?}90f$Xj) zPt{E!6iiaD%BUMg<+;_$I4aw!DjA!N#`z@Fhx!kb7HGp$z8Z`%>G=ezANATL_Fwl- z+Aoe4Y9lTdp>{5xSo~&aH zCS(M41Os*J*R8b;>(|=p0PIhH`qSO3pL(oLz@jw4r5!GTUUW1{SKbFwg`>X5ddq_N z`2)Fv0ErXF6SfE8^1%lmbbs6Jx0~MUg9i_z$SB_ZdIwPwNj~D;GUt4!qsnuOMX1%F zZ??&XQ(pJKtZm~tUMm_X>sjgja;|9ld;#t1`=a2ufgt2;zr5DAe!p;) zoK_z8_H-wcS&;j4DgV6q;uqNa-&fejK3Sh9O?(hW}HB-SpJnaDE<*c$5pf{nFNPIsH@Vd9vqbM|kjj5i4_(N7QKE(G1yv=Ln%080) z`Ie{9JfE&^w(=I}V_H@Nw4*H#_xm_wxX$jQC>3>Lgmu)4Cx-#pQ`TBBZEfY#R?B`l z?MShxa444nv`=BrY6y+?35=Pp+ql`*Z$2GLns%G2tg#s;%4#r5Tg{5KNhS-WI>7J+ zg&t@$0p9ghXgs5KMhYnMeBF=NqbW#7#$GSK;&<)PkwU<*3lLGt4-45z#+Xg{ryL&r zSHJZ`R^Qm-#m~0qu|47$rQ1op@0qjl94GRcQQ9inusm7Df%X_MZqpU6UP#TkfOfqB zc~Ko?57)S!|B9$D^FAt9KFi#~Gn^O6ZxU{<^m5WvL}{e+UaDYW?5;%8;n~FK%Cq*P z3s5%`Zmb5Ei`PP}sg0M9M;^p~GWDzPA(QcNT|j#lWDol>rT}(N)BBZh_jpa)fU5+c zJug|;WUmy}t%mF>hki)x8`pl#ZvOdA$z*(gv8=Xj)G8vdl6-ghYhP`zd+n?8PcI!W z!W!7RZM(hW&;O#JR z6v<8oaIyhEX3R|g;gjDM~JL;w!!Trl(_z&g;bh>j(6 z$TK!9L!)*NgMx>mU~Hw44jse*HW~;5xALT5Wp^Q zx{_@LKz# z(1lt}_K2H3-#zDo^X>2d_JjGS7wxgW$36^F$tS5OVue)k&NnnPWDHSCv-9x)J7fA! zhV3Wed;0>M?fGso@FFf_#m8($f~C!`_Wy}?YNtgXBW=Fr0aid}f&h3*B4 zKN2TEJ-*-C_M(C9b}A^F54I?z`aq@IM0+7abMWa&38E)U0*c@A>f8f9Y_dmJ*2D|RM>ukr)U95U*bT5GPu{aF? zokAvOG)%umpW3;=h1$6&V^%!l6?XE)zf(}H0`5@&pO#%}%c-&yAaH+mY$pMKh%6d>b5b!xu^Am%$Q^S|;7pY!oU{l@c(nZ8rCR{|5Y+BbfGkJt0bPv@uqbCbRI{U6Lf z?aEc%P@gSiH<$9yg)e!to%XZ~vwcLm9m=+QdPw?LoA1B=+`<`txt8yifcE(dv}?uu z|M}QQ?7*P|`H$7QJ3C!bq~O8=IWd>LsI$&E&HnB~A6OuzTq?%nQ3F?h?Hl&_|GKgu zsU-@Tf-0Hw#1haxOV!M^?5ts|(>7HN!b>Os7Oz1agEUd6)S!)CgXXum+9epO!aR6(E9==>GOodO1wyB5{2_!POS05SbS%Xz?*}*#fKL3lytzai z=m>YE#3^HzzKlUzA3*uho&oD8Yyht{5CVK=a8h1YWE~ho?Ld=VbSX6eg@at(61HX z=FN8T#TVNPU-&`?q#sE(1VHQEmfyK^r|o2^;ZcmQX;qlK?k6x_`zM@mg8K~{HrR(oCN~ei~=8Y8cJf;hv)yPlVeUj_PrIq`GjhoxJE92*5on z@8~;48>76HS7Qji3i=EHz}l8&R@dBa)o5Ib_Cnx$F~VSp1VWeQQ~=3g2z8m+1xKIL zWs4;Y=M*})^m%RkQn>EFF-i=Y*b1;z!m<7f!NCZ&r;|;`Rk{kRzhv^^uHj7B4-vdP z+SSQ)1iu~w#cevw*l@qy@Nd5dRY|Um4?QQXkkWHoh_1PrcY+n4`R*V7_JejI$_>9t zr*}YKl)M15fgOUw4qoncuBMhkB_`~m@Wq!n385cBTq_lDhTT1}pwP=br z*A!c0wSalP8y@xu-=qNcQOG67`9?>Js{z`pt$#{DJG3!X%P23(9Q9g-+iD%lT76Xr zD87w!@3Eu1@3$j+w_1J4xYe+#wv2CL8f6^WpDIV`X1cuACaT-us##$(^{cF`b%WKm zwlkT9*7*b)@$kqGz{@_?f5eLV_FM7bVJjXuYR$!?)&dtz4T${I5aXF)#x(<@C^Ipk z%s9xZ;bO05^>VQ$2ACk=z7w?B(q>-qloZ|>vc}P z(!Z+b_Rk;rsD1s~ZxT*g zgYD_#^o9_@sR@=-+m&g*!YSefB{M$^38t^;xofgT6GEZwjOoMxqK#S7Xb;-#!bqa~ zRcN#eXy3kbyM5|2g)5{a>j`XMs805xO2wsNKT|5VVN07mFuG?2M8_R*3*s3}7p;U4tm`b4qi( z8h~BKQ0r>~*SItn1hl7|A_m|XjR^6M(<_rG!X{v?_{iPhCt42z+kKfZms#ax6;Py< z<5O_J_6-iZ0Z=!x!!-@OO405R$gW9&s+wA~Ge)hechD(dq>Vm?27Hhw;4~yb8ABD& zE}9!@xR;?-GESKy*dF-WwKUZ6an56SbQA-oV+huhXl_q2;46aDoTZ!s*I5VZz6@cy zN}AyS&|}cN$mouMcGqN=kRi{&r-BKEx@vgQYgiIWooV1IV1C#QpN<8feR&%i<^b(1 z0~WQ;5Gw+PNK^F|Xkws~VP8}^qr?Z}_JwQWqOT-v0Tk*yODIGY^&h=}c4kEoVZu98F?l1KKK*8j~jq>ts3GXRBLcfCAh}iSGJ7X zPj+h}CD(~xS3J85&CLZMzUNQ>#4df=B@3;%kEuKY`tG^s9=rSQyKVoz{npdlgF&7w zNU(hQay#|ZQ|**fPO&zYAj@mOu+ZGy_uOl5{iAml6lu$t9QAOJ4F4`i8WzYnP{MA=qZC74-CBo-D0PRgyhY$HzpYhmS z8GX!bD_Rz+mepLV2cL4qKUmxPGX;NSDl|g74g%{+TD}kj7(ow#B%*WCR$#V3?FdXO zxSXDnfNz)K*yd=o6G*|7hGdyZzST+Ea0l1XSf3a|dmS)+3~kskD3}JjkJu1E`zS#B zB;dQe;stH?pmdPjX7`iJ{$y#JtC&mNoV+HF(a`>dH9wF2DN zqP;#NjrL(C#R1%hDQ^!zdy0vLRB?q3&6F8xSAgy2VEZsH_`1_iv-6+#JbUId&!-JX zDG81DBB{{(7ZKiT0j=?s{?$D(4ZEi8)vtdO8oP&bZliWj%l>tJp}E;s4^}|Y_4+^h z2PobeXp?F4Gv!V+PE>>+sqM$ReXw+!&7ogShW6*j^VU{va?<&i5+da`fC|f90uOtL zk&LQTBG9hJH#b${s?B%mm@EM8sgN<{&2!__Dk1I6uNra^Q+mn!h5m?lKnjDT5U67^ zu?QdffDkV?KYotUxAH5e>39OY%zhmv*9IA8caHWFVv)Y;K##|tF>$`}t!wSJTW^ZD%4`Sv`oSj(4W?!S z%+npMBCVap_TZZ@f4#lx6_?G^QY~fsS6Ksl_UyGke8;=|J4@bYG1((bmiv+JF9Gd& zH8vN3*wDAb)}okL0ni>a+0jta(qI7JGCIw&v8{r-lkD#~$#nqkyEFKnU47H1> zPePAJOP}df7;L3A|4IOE%jjH0NuztnPXH360Gme`+>1VC9FV#Us+tP8!o~etC7>Ox zs8P}$7zUU|;2jtgu#eUiTIuRgN&%Le>Z_bGMut(VMfp-u1kj#xuzd!AS)HmnF=@4@ z5GaSx-WVL3;&=*x86mcUrOYMObW#YPfb61=nL>yzB^_~`*D@f~Ebs*2IX#|p*NeX% zsfKc(VS;wP1ML9mx-MaFoN^7If!_~jduuZq_sg20w5blDIs#EI6AV2AL$2Mf)c~Ui z&q1?2Xt$3OMqa$GWq|Dh+BJBsq$fpz#x>i^=}1c@T=7@Jb1LQeiBn!$?4pk;0)Q9q zq-bTL2D=-$(<$M=bdNg zo_lTv1Qe~sLUjN3@&B+dUH!F!qAkP;sks0|O}uDO@au9KXgY5+Z4=G1Pb_Xad857j z83;YZU|wEedNq_%Y9l6CjWiB#wm>3*+!{dX-ItdpyC#;T z)gC989_cEMxKc!`MU)q5w0EL~B;a0NdCU5GSPO0uWc8`%*jY zl0Tpd^1l;}lCw1vv_8DXe-B;;q(q4HXLBChb zwF4sD$K?rtI5&!l0z(x%?UneZjy2Y_Vy!i_1GckLqKZizQBOI4yn_&F{&|1dBumDW z&BC>GYFvruy$U(X9xGZnN~gy`_IfrQ zPhLMdriYq~jU7GBrXs|=)GRbP!ie@WqMEksPjrC2{unKtE8fvQn+1J>HwX1FC_HDLr z`(1$SciCarXy0Wk>dS0JGn(&&lR{4g-*I>MfbHoTwIk!uU82=KS-sp=o$@T(eD-;^ z>V%bOv(pD)1U1E0G&Cjs`)smvmrViU*G~>u1LK0KX%w0$Un%7)V|DKolL{ii8Nd(X zhl?s~n7j`$mh0zR?`NE`=G4vhtc#w9t&?ZbAC&RU0{#;(aI{N_hcp=%rJJM2@I;O; z>W{Cx-roPA4;KVph%2P#0uaxC(Hre4&wQb`>$yOCZnb#3&na!yZp(+hK<#(B?Mg(6 zeZAW8To=R6(zfv(Ie_ikbi0^{E^T%J@tO87k+AL~87fTZCoZIS)ux8LBoZXO(4eyQ zWOW>!&M7}y!ObnbjJelEk*kQw6cyXU>pVMQUuUD!jg(GU86M9jx5{ThnqH5g48F3= zk3%eFO)|5K&DzhKPzYmpZY%60FJ-T9Kd(Gx(-W`z6bbi%nf&MH{@n)pd*Wr^F2o5b z$r0*H^4%$$Hrl`ZLt#6SA8zS*@z%hVU%txz`^#4sRKNhMiIXez3j!>iuqB{9@e&BI zl|in2H{E;4R!*^`5D>irE%Z2;3K~xs9Yw>up-xL2;eTbBV-w5q#k=lYV!yg9}8FIs?V{oFwLtYoa3-M$N@SR3G zL?HAi+TNXA{TTZh0AOIiM@OQLTXZqiP}|f2AlG34vIw?qph_*s8ok=v>Q5rt{$h( z83DABF;q#Y#iXU~U+1Llu33JC*Ym4jQlLf}fe5|u-B=M55Jj&2J_UFo5QvEe_ZT*1 zf{&1C>JXp$GMe95Vd zU-5wtBmn}a1O(Fl$)CLOBzw(kUSqF*^{bB?Xx9pjTW`J9jf09#MgF9dPO>x3IKzQ! zt=ftXbKy=+- zemAr=-OzN2+C|@!yawI^*~QbYeR+ZWcieG@uPza|F2G-TIP0vl?94OIJnq|nRY3cf zzGQdYd6!SJN^7pjf%Y&^Jnn?%2&f5*{H47Ly3h=x&bEZPqQ1?Z^RCbP#Dxa=S;x@a z4>d#&=W~E|fzS-j1#pYHMJwk@n0zlmF7SbSjN=1wq!0lqgbCC!0PUJ};+pz+4eG~H zkeFbSG}VXAfzCtj`#bkr|Iz)HVo*LdhTMRyg9(hNi;Bt9NdqCSU8i*Lo>#WYoBrf< zUVpB|=Wzm!pq_in%JsHv&B@lfYQ5FN2i>p?j%lrU)cb|36AZVaC5tTN>3Nd;grwuf z?^E#O07W`rrfSo9Oa{(eQ)V+s&zg2DlR~9armWe-!fx^&g!2H2bBTLoW0GP_CvLeI z&-EYKYd`+zTa&?kf1yoC&1C@fz3+O5z3h^g6qJAN6RPh==cHOAs9oEjwu15uPkRP> z$H@V{gPtMVziqc2-tmz2?Au}e2lv`=*J0~G)^4qX+7Xa_2BV`hlPRmKL}7)oz!Z~- z6HJ1QGuhO`3f!(y-iw+xYtg&E<`g?Li0vs9ZK@gXY*+`-zU~CO^R`>;p4)D;T@T)2 zNA^Kcc3{xfw3OM}jtXmUskM4mwrVW0ZO37|d&i*d?PJ1?`%PCg*{M&x&@Q;>1-9vw zlTjoZMDAyG3gehk@>P~%Mat3LHrBb%Dn|REyqT~vx@qyW%hv#?mz7mQ5mRXcQ^hs_ zcs>G%K8Ee8VZO_5#%o>F#hT5V?3u`MXP^5_Dq5QC(9ghQKd$iuidh?qGuYQbd@Y$v&mlZmiPJTAom0SeYP4?Q|)2c(b!z_ zk+AB0A44WHNWiI?&^kc`EfNlBYywlybCc8S`qJk zO!B&baurM?=1@RSJO21soG)AX2q1O5!j^G+>|ev#Z2O^>-tVQY$BiWkVWhw&L#f(k zT?ng(Bm>_nM>4A+oTui-mXjA%3<2YzUk%Sm{gOMP@c4sgU-?p9MW;zFJj%^G`1wFV#R!4ZIz#_MN-; zD-?3209|__>Uz6z{y%nyQMO7Dn_TqKaW`q+N(eC^wjC7=ipyqf+5v00BXQ@0BdP84MIgT z2`JImc2U`BYGnj7?lz`v*p>AC35aaS{$rAdF5EryQ*kY3WxGUfSen^3#dxuY@!!0O_Um zE^b8mA_j9ZMkGytb$HUKuRx1jn&1N4HNc%F4J|tnwa!p#98ew_90cSF1X*c)h`MJO zAVsSIv>l=T#LezA)8KYGm*_Jyqu4jGZu$F56dI2^s#AE!CfnaIs=DRmysr+q!@O$~E=jE{`i^T6N z>IrS-1tLCLrwO+Ex9@j<@Mt&mPEb4zpb-f-sQgLm*Vqf5|9rdXqUYM$wQFtNx^>Re z{%G&_WRLgV@BP63<{$pKAe)1LveGtQ2(Fb0TMej_PVJs3x_;eG0+F}Dj9#RLE5Gri z6YX`cd!76Id?)iO&{`8m@}fh!^Ugb+sznA)_Z107b=69H{KRSR>jvOO^Jw+cd2w>QE7=ZoAJ{v-teYg*ec7b%P))2_f3as#9PF}?A8nK6&23;vHxVlB=@+K2<=xg$BAg^91xbP=>VB<*~(B>aSEj! zC6GuYu^Yl=l1l7&bbi9AyT1E*+xkC+T2{SGx@jVAzB|1a%djJ%_crOCde)it@&EIY zR zyS7{BZdP{g*@>~z1J;2|-CTzP3`S6kW=2ULdl_ZO=8S1388b}M-cGRXMJcFfjJKku znbjN{tZC&*b`&!WIzQgT*)T<@?m8xt-DWjIj|1!KFk83VKz11KS_K6#^^cfqsm zl&79YWzzpct7EPNMZ3b7B#cwi?NO}WH zJ*04!?=HFGy|!}gMn4^z;W>bIp0hp!55t}SUG)RrcC+u>{KV78`QN5a$Imrxvr+vn z90qXP!)7mfykf@7{-pUyK5^X#JunB`6Hzj4L!h1w{aogH?0fivL*aD)tcyT9u}CNP zS}xF@ca88qNlXsCEzilT`n5u!J+%4!5>_C)aF1M*EMB^x+y^qPl8?O5fz)xghxd5itc-xrSEhfr{mLg|v5y#|(m_H@0>)dQmI_iU@Ml_&hw5QSyW&(mMoHW!4Cv8n>SWRkRChcgn zpXd|lXz*+`i>=N=T%cos<1zv&@OcOt7im{FH?gD`VRK*z<2`Vi%V3()mBw4pj2GWJ zv@#NU=|~#tYMj1i4DEJlgvhvP=)wYpOh;QIR4sLMI-0Q#fU^%S>2zegRbKZW#*0Qq z_m;8NVzfHwv*_ah)73MpQ={isel$p&L36{$ya=K$wIG}e+?TJy*r+(s1-1v;0&xTf z4%7*jWhyaJ%52rgdZ$T`soCfeRtBU1Ox#Ef^`(w-3PDJ777=Jy{$>zri@7FBpD6+D zWLSn}MHy4eBts*b^A+TwZ(tB=njue5lLci=1k^V``@^b*N;GK7Sf!xJjef%PLt#@6 zXr|}T3}57mjy5zjFfc^n3g8a$4spvAxoXn(^S-r)XNK)Zlzt;UeQA48z`-g~c4jzo=ceJ@eVU6Ur# zFxQG7aiPnL7hRycc+~H^?>-01Wq?&)Tfc+^?d5UwtM=f{p zwMUwmXoOYYmgs8qokfsdeg6d)Twv#)e||>ueKzWrWZu5@t#8@azy5Wnj?s`(UZ7Z@ zkD>E=9GucBM~=vM3&EJ32E()2!f9H2nqBzTe+uFQU8*DlcbT1dB5|7cn15V)ixA>U z4xCgUF73HE0ixp&QnE?_U9@#gah{*P34!!loi}jgp!FXTK9on4(thFcaR+; z@_`x#IYY7?UU9=aAmK>&!E-L;1)x#Klv{tHI07U%!V7qa?@u-KG1aw=RtHCW20q@k;B_uWK?a$8LSrKoY-B{V z51_h#g0w1m@0YE%`t~)}GlH@W{f+F1tX#g#Rv~lm-Lu;c?s>>M5A3x5E+)S^kHY&7 zJq?tY8WT;U2qaKWD^MB!*ucn)9qmKgynoEje9GB&(Q_`cO{}`=Vx??%SGV=|4cIWN zQznP{tP8!4QD--feCW5yi#IZ;@=o;j8>+EmpZ=0p_Y&D_tC^L`@|J|t9Ot}WiHKnmnirQZ*vpqFhmuj-96bAJ93rM2 z@BzhB{Fv`}RehGm?BS1%?}czGhx$9Dq8yEO-7xef0@+m-9VcC;X8d&aTA27yR>Jep zHtA$zEd#WZw(2T6w~55qd;&~BE<9UmgnnNjd>{0+0@{yaNc;L9e=|nQY-M9j)Ryzz z%|>Ne&E)-OKlSh69$*U~!c;PFuL7*CLF-)S)v0Jz@(hEq z(bOLZgN9|Cw0fat5kT*QO7786TjhpF1saD=5x`nn-GJUoOWL>cGN!7$ zh?*rXZ&nwnZdqF8qFE{8Ug{^k%R`W)d*gtqW%ecTPR}5)s@^a-T8Yur3cz;ppKDMm zuYqdN<}c;m2*=~(1#DcLh7#?|9Hd9Pon)l}IWC$5pBP|(Oj#sEOaod9U@ygsKVB2h z;#5~Bs`S<0YQm%3X=5tkQf>UG(`l|D4 zmZUCgYsR-&2S9s^=wi?;^FWeCm=zzyYm(%n*FIoBeJE?}l0fd}dqXrA9mb#j@!J-J z5f%Ub(1PnhsJj3D2kbulmiqt`x7=sDcI^p5VMZ|2n{|9n+OD;$&$QZAXIWW&JDkCl z{vGvfyUBXC-E6B{tL@q6Kf}&{#(8e>ef8>9&=%?Y49;mJ(9De6htsx=@t(|EQEt2q zusz=mF)J=`c0Rk=_;dxZ>-~DNxCpSMh6XUW-4Er=gytBW5*8HN|%j;&6_vdHP>8Y*Is+A z=TShrCI=$Wu6&B7>DkYIw%`AUKm4I|g+!Lhz6r61FB*+BVmSw#a7WTv!cz3;17bR&|h)UAZL*q1@WS1bFf;Qp^` zTW)o&%dNJl#cCVyfbaFoI`GSxo2Fy;>Ea~^P)?8gv#sd z65*3qR1Ue!ukR>uOeb8;Tn`oK*L6iMTr1o!xEO+XnIF3O+jiSGKaoC@-OP8ICAEXn zX3uxhK>Wa8{YBpC#6!u{YhIAdVF;`DHGC^vNLPF=(C$}*oLw{qa6O2!%K)~LhA_}O z1CKc?K(*H>^qRdrP@DB2 zZ@@7-hJj;LfY4wMzJ#r&PsLGP#6ANWbZO|r0om1y%TG{gW88C0hH&js40s7G6b@9P)P4lV=Uan~I` zvpu^XO6MrMneQ}9!mFB*!}HzctVDm^YhRUrdg*wn2Ij1Rox671+u!-;1=kmfGHF4< z9)}Z4Ks%Kv4P9yK=DUjST~?9mVqi7lbS=_+)4;b3Uy2s98!1IYT@)tiJ{kHExW56} z1&miCL<(%L2i$Ie*SnO?XBf(eVSprb!!dk{wuCx50m5ldyN|}mj17-rh!l`p{GtN( z%K&}_AWL8pAU**Yu6?9d7X&H*igjPzPlicr0fr|DBWjjW^60_>1r+s74cDqjGYZ<8 zh0?6AwsEj0ZE@X0pnEVHq7FL<-l`|>%;?lqZsl3vcnQlWOA$7U5Woex7cr}?4p0mV zC8ZjK;sNPhqn&}NX3(YiUkUIifSh>^@+_bn&rj62mmnbATOBD^{Ja2i2h*v7Vl+vL z5q66J`6tjUSBI*OR+?<3MD!I1+(-TPlmrj90@q8>T9R*&H@)gvLc<{^7 z#u4Byp}ht=phhTT8XFr}We^PO@gk5PDuD_(a_}g?QzsgfDeFXg=AVDm#kE{F-y5P< zmYvDqY|?F5zs~;q^Pf(hns@v0+Yo>!gN_Fd99zH7B>`LdQV=esf5m>JsGCzI2AKRl@Z z2%!DM4fb2VC7}Is`ncS0Jeg+!>jKl|1xCw|settOj_SPZ5!`nBZ9X}w2~vd+NMPdzroTr7!i>A_BR$Z{O~=2`;+mA~yuAcUuNBkL7j)u#2+hfd?M&yehw7|$2Z~o?QdK%(u?*nL2{*{LK+T|ZkyI%Gd z1n4`^E;=>5G!?bF%fZxR72pwEQy-SUf=JQlvjHNtX#x->Yb0I!=BL~FSNvt>yu-5+ zFcJgqWOzv*0XLvSmki?aNg5dO6KRBlpZ7UUre-bFJbuwC(>+(Wx_oE0A9 za5#7F*0py#L!KpP{wG6850llaPy%QFZrx_1sMZ%BX}Ad;kK% zRw3kcN#)eG47s9Q9s{Z6P{x#3V{jdf_L}-8YiMn^wi8aYW%vpV@Rp$wEFOB-i1$Q1 zAtmNcx0Un!gk9vM7$$i(gwk)k8uFiWMh7`AhK<`$Xv&cerLq<{RfV5SXD)lAY`ny| z%*jMT$z-*E&ANgzw z6QdsElMCnh<(tsBU~&e-zf-K{m=MrD=*JZR?4`p{PY$Br4b^1oaF3;+wHi8dnAIRh zEQPjoBkf@Y22ta}&r*Q)DS-AAvi~UGqqN#5QBIm*3^r9xyI)aj#Z?XNOR5{)7LceM zWf!RqMW&;yFgbc?pQQ$%&w^WBz7*Z^FeRtADtLW|CCF+MqtmbOKJ`o*0Hi=$zXpvBG;pcpqo!=geLh~u0PV`_@w#N# zC1Pgo_DdG`}|k<`7i6DzK3y)y{hG!VCk1_*0D#N2-GvY;8 zXD@Aa8BR?}+kI#R-f}d;>5DXoY=ZJ+SxY_Jy0oZ?jE6udFkah?;SmWBboN1Z2m{Oj zScgHWxZefxDNTXz;x-#sIq?GDiJ5ryLcV-vm?fk>I7Ff@L+}(Ap$v-_mjr-a!m6~u z0>}@Ua6M|Z%ZRJ^Pe;VfE|nDOs!j%1q0tdIFX3OB?Mg#cS0rtE z1YLps6Q~zTJ6{01Q{D*3N01kAF0S`psC32{6t^#Hvi6QvH1-*c^}^Q(7o>o90qd%R z8uC>O=YDf@qx(8&fdm4HM_!}hFp&^I74hM3-L}iNZAa6le~A1Q*^N8K?Ec^oOmbZ-)wJLl`C4)!?fcgf94&Gc0`s=TEdYYJrFiBo+(t1}O#7Dn(?_T$sTvNO*0EeeN?P(6iO9TH{ zPC&b~<^{BCVq6+i4zx>4D-S?ERyxOXZJ}wkYvQGDmS_CzxBjCoTeq1umO9KxF{&XQ z#rBph|3OPn0EiCs&)^)P#^nY0?FWFVV1o*wP06bPij?po}~45G3V z$UZjEYa`G}9No3mj^GEnj@XD(#z39!`L~oaZ|1k#`wP6jhz%Oij(HI90Xv4zxG5uYd>o3|qbFOshf5-NANN)&(PZ zl1IYbJYBCBuO3fZKZsAWIGv0ae0n2$=%JNnrWCWp*VSx%1&Gfp)=|9bktt9%wRk1> zT%r`=ew@h038!=-p4)cY^>*Wxg`DN$pcWVPd~*Vd+dGzL3z#mzWiNe+z5CDJF-vi> z^*GDL#Hs8z5@P6=r=<5XKa}Kb-g7D3OiT~c&M^UnA49W!Xr$Ms`dAT)pXwd*eH~B2 zdp^agwCSNin;9Om8qz2!mMtgVYs6t;&6Cix4D$|*@|{oco(pU*Vcb#wy;f5`ZPoZ0H0(vYsqaKeP@1Unw@DOzOa}D# z4m0LTSzB|ftp;RoT89Q^|zGlzS~xE@Jh`bSdW;$&KSzu3c}Zp7m5~+;kcmQ=~ga9hS(h0uu;KoH@`g zMGdd*Amb&f{Wx}$Pw6;E^Rmdt)P%S|~v!ohB$>`zQa*J12#f zT;+x+>npt87k6>Xfw!L=E1WlJY{PycP&!)N#5Ok`YnyI{Gu!Mnr4xO43$oXEJJhD} zTIeaqG~#t#TheF`&qKg_bgCyL*TJNE!Dsyt$`y<9#GBvB%QE8W@&xPSmy|ID`n86R3JP`b6nhl(%5c;%B8)f!D?7WIRgg9=!i1J{iD$kE9`iE7>YPA$f!&G| ztagV1k%RMG(^i#1Q1XuOikBuy7+{g6gYBv^)mZQX$)&j}1FX`nuR#kjB~E&H9!DTn z6wt0ZS9l2*suOX$R|7&upxuWHJ`f;)Pk&2jRcYW>=Qrszu$AyKOc@5@xSwS3uyTdy z4BCl014Yk>^S}E5AK||afW3vKs?9C%Mb-fdP$$xqEJxF_2+)2;T9Q0#b@l>RM3eKt zgFEcOtvfNCIRK~zziVpBzJH+JOPtKhd^H-;+|ufr{>idz1f2WAXA3oCl40h$l&2yZ!X1KeapW*mDRR7 zZHzQtXLtukyLa1Y*DfoY=&^>9VXG^F`?QEjJr*UGq`3`s4*{9->(;Hy@LbP&pLuxl z10VXZ{qVZ$b8;@=OI+>q%}Eox5v}QbCk|ABdQV0tkUaqH8|;cJ<_6lO8Loas+T_v} z|K9h$=b-g({KjuUJ9CoTFgURPfZcf0jdtCSud{pZy(d%LNO>gsmI&tW+qcibasln9 zopzdg0r8qt(qz)H+}(HI?I6AQ*~P1V!37sM&@OFzr7NIaem~R&(P^-uzFt7P^6>iC zzutj$alH$0kG2?|^{i)kn##+u+_%5|ZJ%to^RBz;V4V@XlS*1uk~<-v4t< z8y^3BpW|sy4>^lElyZa{M)iouaFSmHw9^)A^`9o_Q+*h|KC<5i4j+IjX211f9Br6$ zqa!RW$7^NE7+P=YGt@TAD~&0PyX&6HnIsYAL&tKGVH|wtTFk1`%jh^A*0<^KsvF69 z0$Y7Dfb-=TL9N90LtRswt=zE5R;=G-%_~;J-@d}>WR#x5XDdZ_&SW7Rgflvu2e^lP zCIV%5V}`S53ije-@N{#o#^;m`G1t9Ah>(v^D>0#T-jYdhDIV&Ti0qdcL_jR@jJMDc^nlEB|fF`F;vre1>sb7(#U)-^&n+U+tvd<3v@W$Pz$ypCm@< zWqe9Bi=({A&^JOOGcv|tdJtI}aDAc&-uCVRG}*gt_-Ln1vl^s~Z={@fHOSYcCDW|V zKoJM}7;Q%zpS@pLZ6kD1l6PpF1yd67e3 z;CNY{3r{qD3d2Y3LraUcPR)e*<_t-wVIR_g@tfM5h#+d z4J}3oV?l9I_UMGM$Z5j;D_4G+rAtE0a2gCFH&Lf_R9CUTSQZcczjda&q$_SvkJ7fp`Z#?f8gFiVqL4X_*hq+?e{ zFdDLgEtAd#aL=BS`o!`^2Kyu;sBLrl;!|@ zO(j6M`fLe&3@(w|Fg|3~jWFAdHbx4tT?RS@mOHr4R$5QugO|p(_63eBgED~H59gTj zEl^(0HSE#U7GT~BC)p5u@5*Q7N>is-2Jqe9+F%`M;EP&DP9IE4Kr|FIDxPH&)3gH7p%H|X;bbtcYrID|CR3??K&bjeev=MvyhO7&LeQ;=$dR=jtLQU!mBYr zxq5YnYr1Q3=(L0a>R!*Y8IXPD$`0$m0FyLiim77(>?H0}=QGUOjl%Cfg%+a*0=oBo z4{Sp_b0=DzJuZ^du3=@B%-@Y55t4LE@((%6+3Ah~JNCO7!_ z@OPabAs&42A$#-h7tV~&M}vBG-gu*XX`%~g*Cdd@YJuFEs1oFl|OyQ%0oWTu6FFa^UiaPb^-0f44lLvuQ*Ce z!2NTd`&{?y)~!2M7F?U%jiI8^E@Q{?4(8H#CkJ`QOym(*49EW%SgYWCl8JeV+nf1hNZkA2@m#P4$S!s}Tp&#`~fWP|7m ztDuW%U$xf#@(m~3iW4^jxUcd0LKq447$wC;!bxb z1|I=X=aXw^!ZG`Phn&CcH(zY;efOWvQH)qeaa$Nn@0gywzf=C4(sf5=>RpRfs+hiF z6nWoQc~E!bXpI-cg^uX}w9;8MI+d~#lwu~)79Z{Ivyr2$CfakrI_U@aU>sntMW(Lh z`=HsSeJ)1xxD+awVibq4kA!SKf-E$HOg+OS63a-fs8U+rOfCSn7nRr9p&pE0_w>?E z5AvM?cq7A?0N|AtOYqazWL_)o1p$iX)DGw zQGicPOxqBHwJyeKT>$!R%U9aw)6cXG0PQ7|qXf=*Lph@eJ3Uk&HLLNDylOjH;~XB- zJ(94;Ovo;K)$8mq6Cz1BAE`0w>rq}q5i03QspnV!@jo(dqrUaJ(+5NsCRVjFn+LD9 zMwj&7)86X6$v9n#-wEGV_9^{c6+AlKSU%4YF1#IT zpK<(TqjD~N9MX<)vmtyh_ac3f_d33fHU}~>i4Xv9Z7C0N<)aG|3C?M*UB*bhBZJRkb2Y~Q8h0Jal?3`oI2WAQkK&tyso zkY&9F;nw7mf9-4CEY{6##>Yy~2EU!OViMl{v9YqnI^CN=01AWdUlfhKl&S+Ui_FW6XD zY4xHcL91PURD*ozN;C)*RYXHIbSnsQYU^P=bVEB6XkBz+4Z9OzHZ_8V2=^1vUI`6~ zjICB8q()#_9i@5@4H$cR2iyqiC|cJ7$JL|M!fz;^!(lYKJJCMr8y2$pQIJg!Lm`1J;kQs@Z38tvA$`p) zX=0G<#Y;Z~z0ObyiXF{Z3v}n1iBDgh^6Hf>@LXb44DJ02%36WOdgJQ}-(2W3doN%OTX^$?|$F=?Z%sb zo|6qxt#oz5!#YpgT$54bv_ns3!CXN502;gEXqQI2fN+&1-}OMjAZnG}yLUSvt<@g_ z+68h;qy4~v1MY9Q;Re?>7Z@&WNO^(aqTO1*e!Ww+y!N%PHEEyAV5&691+2>pXy345 z18wiB{M+Xo>)zk`*0=1ITW)bfs+U}HiSxi8Jb2LaCyje~(cI|%s(+^|;d>EByYBzW zSH6<|OMTe5bGZxjzv-r%oC@dp&wsw>Bj=`h2cpio`s%BlIwnv`0SMDK`9SZ{vHdrTcn@wuS^$Dtl?W*5$EsiIEFD@$?ueE-7d01i!z7PFoy54|ipnLI z-fF{z+-n{n{S(87!}yuStzv%h!+&UfNB1Wq`Kk}C{+KUrE;}Dr{^w_G-MY1N6eHG6 z+~x)gXL-tcXzAze_3ZVnpWNpgXc_gci#Af)o>!?Yc>s6OOpa0? z6KXH;!<1owaakWqP+d?9b~9FM;k(>;%IUU#<0)2I*Mw(o`1Jjv>6?|I%CM?38I<=z75!{lvfwPKhgXk93qC%)0#XaT$?(>k4P z*OY3AqjPyt;w@+0G8%V~U0W&mh3Vc9RQU>hjkeiwbxbG%?Xk^>&9ttopK*hy*kSYI zbf#k7w31!QhQbw+&eKYsm~%fjUhLPr99}<^D-pLyE5P&&c_zua4?z?%dhLdo-V|~; z3B{DW`r_!c^88;v@^_Bw#Br7rFE5i|sc2GG<%aBHY3_v=##aw(+)&^*mR zN1E-!2!+FFjtJCspj{f)>fE`3caH4Gt-xq$k`J=+I^s z%JwM0H9)(kL;pk>#F@SV?sDgoC%k$dUqULt1R+J;lQgpg%ukTEyiY2q$D;GopM+FR zI*bcwXF|fkb*Iq5&?sq&+QzAG5Q;UZ44tA`PyZmA`-5nMvn-qQBtiJHv^IOWvf}cu zzy^VfD)R{1>LY**6`H)@If%6dYi(=u&?s!pY)|MKTMt8bMJ$I?b`vHjxy1~ zK!PQ;8oC@V>97g3qmxb=ak64QAKYA%QE&hKx7ZtA|C;$wgjw^bRRz+(J&57c&h9Qi z#BSSupx+)kFklD!updx|;n&(Wt7uqm<&7(#epv?o0N_)K_LaUreGL9HYw~lSIdvNWjus5Ws^%L|~? zGm@XL?iaV*YVZ8>zbMH5d@|BC+hmjmDo)W=P_ie_2?yHYqdsZF2D{=4G}_-ZJ4gFb z+ADoC0@}rqE-xAufzl_Re6sVS_rq-~Zggpz3j~+OxV(7RSFBj!t1)DR^u;fJv4iqI z|M|~dqg}QK+R?gMyLPQ>$3GgNU34?Lzqr=LpDr(LdEI}66?3yM(G)bIv z^GOqNE~E3$`<=hGwWpm&pHKgc7OD7>oiZY=(O$#=THf1R`rYU<&>(HGpLQ@siVmX9 zLpG6Ss?NEbq3G(w_0OOBazBt>UXdF_9A#3z2cZ4Xw)^eK&Ig@3V#GmqwAp!A#sJ%u zmgFhjk)%8c2_|aOQQ&2{Jf71f0xpoPBrmyb9kv451JEwHO5&AdCGE>g$s!zkw)jz* z{C=Dd?-i3RX#cjfFL%Fo^BK0`%%?#kvypsACgjcn(kZ{egDq}pIv77U!?~F$frg?j zL|d0Mk>>D}pExs8?{$D3xewZo;)*6FmYYZxAXIfFuPC!PuLnP$u9I29WKZRW@wlFs z7$SWWE@acyt;6}`Ip6o6m}ZgP{*!C$=4(D56U%Jp6Not5WYlvmIN$#MZ$FqRPvK5{ zIB}Z|5$aBFz4o~7|JiWivq;t~uMF~jkfr%10l3E}ppKbAUV({RAbUv(6R0Qxl`=jl z9znAmka_!-2W-dv_p?fG(CW)etX?Ztd9RD%Xs@g)VXVa%1UpNN4lo=FxWyP}l5c#9 zRV$Nx-;>zC8Jj9K?2|I?VN8WF(ICrXoD{A43Bd0L6l0njs-Ve)PLfx(rjimtYoiGP zeU|zLG(OU}Z47Pp8Ei+Du_C4%*-iA6qLCRVzbs*Oe)e+gNmZgiqwmyds~GEP-Ljh5 z66{N9OjL#f(iGp$s5JW-3yFeCz+Q^6M=y#?{iKV+Joz=B1Y5sxvz@R3^^;g%|Zv-RrYUw^Q(5( zUAJco&E9+h5%nx(=R;Ug(!KiSm)aG-^@ilBrTwKEcvLm8b?Y{J$GhKG5O==X#wjSs z<8)$C1MON;qop-T*EH5?8_QYtK-;8c#l8el!WE5{8mw`&I7B}pV77A?} z?eqb_Z7p9^XRZO4_}Qxj0;7FiQ(5L9`$~Z9RTxH1F=IL)!$AnK^=PvTh!+P~9|G%; zETBqzT0$s-*^Cd`(Eetit--d0PYIIJ+K?emEqT(wRQ%`?GzGBB3y9WMnp&cQkslnw z$YWQp_4Tv#Q^KTovR+&t5OzQvvmA}?Dku<~zm$&Fmp&6%14h?QM<^BdrFapiNjqqC zNuxgi^1*;=$e-?64ZvOv$X|m-eGNRLo_8hyr17r$62ED`s0qlMv_`@ROTfRh-34l* z;ZIn3rBjbFH5ps&#qek^lNI%KRn~?f*edFZ|<$?j$|Tvx?l|9jv1+N>Iu zPxkV}{5|l%18Ae($urwxJ9q8I@3D!RHCDXrbSrK;(U<&c8MEkON-Z`ms9`?TJ00VT{a2#==1~tJK9szELYaDW$jz)s1=QLTG41X z%bC&k9P6`7FTK<*yX-PM<&;zS7PQ(!@Xq{ozx{iEXb(KJHKzdc1w>RkGuz52P4cM? zeKNZY&@PSkH_Z*SOIuu2ECSlMZ{O}-p!IW}^Bmi}c{BY`(Dap&(rc~(?7}Fj_|K&Y zFMwNN&N$-?=TjH2x~OKNM!P`rwzf7~yLPQ>$1D7?oHW`6=Ku1SzszW~%Xp~(Pyy>Q zQYwviO$I0r0^mi$1_?*V98QkVPI$vL0SInTf#3}FVz@B~GXhms@=Vn9SOUGeJkDObE#RK%R)yDIu5 z3l15T8FH8z(&RkT`Q)6>xxe4P_Bvs|Bzk`XS(COuZERjuA*BV&X?uPYfVOVZP}Av^hXpi@r!+Hyr zHz)7S=!SW3F3SS2%br;G=BkslS!TY651mQE#juat%Z})~x5%)gw(doeDSETJo$OOo)VY46$7a$!# zJ+v{F07mDTAfR7af|a~9i^lBCU@k+vfh+;8FLKV(0>{9*t*S+~qYjC*wjHUqjs6e` zj|{*AE}F4Ya5I-d{-L5gii7+tJE#0hJeJs3faK)|7bit8TS}t%t?at-O!LL^v*j;k z_2<9zDkep^|FUqtfQYAC8TALh^IPf4D;{5VN2@oB@+m&^{%mWoO@UWFqu9fae0;ID zNLA?=#~Ct!C5FsVe`aP`eK$3V{XQ8i^%lk^P1K(zpy_JHLtnrCE9qt=!)C@taPSVn z2!OhV$*v{pU_&FoI{)en!V4Ay% zcXn1u$(huP-=vMbZIG9E*2vi`TGtn;yR?04QoJ|Fm#dIn(MxLtl*h?Dag?#u5UY77 zkzGu~S!=bETIVpl_4ofM zz58F^Uy+0J2}E3LGHS=c%hNNz|25P%>a^9`$gA0jR|#z)BgQ`85jjxnd1qc^v|nVj zuV%Chv>!ckIQ`XM|7oeNtb7a&;In1bB-P5^^|N)l$*6z)+rNbT!b+Qq;bI9q3?=Z( zZ+sK@SEcjd^Vz}n!%!rrByqt4?Xse~8Q`xDk6OGhb=2i$NwUL3dmV!_Td6Rg02C%L ztknNjcBHcdFpdG0-vzb{M!UVdV7maljy&6lUC765>Ox}^=cw~&3c4g23jk&Y%xyH< zXJOZk!Mv6op)PneODZSO4wL0B;P0e>0JAK0uQvmmBv4~Arz1X>=WD2|zaEk)0kp$5 z;ar*J?vs5zFf=N$Py!K)Y_jch7l|lUi2B_e9OMvAt$zkZ%bFX!P&@QK2 zB*xOZ662jAA$Lv0kcojKBTJpQg~Sb-c^a6;Y3@fOSl~Ra&GIwB_63c580m9H?z_Ik zgtzcVSfVP)~5EBZc=(&$hj3X^W*>>Ux76$wz#;+`MjVu8$`b+Ma@}OK7 zN&{8_3ytSCRu}BuvmLPVKss=6FUwkSc#09t&Bwqb2I)>70J6(WRYJ#Qw2eHM2A>UO zd9rT+8HE0H$DQ{A)*j|NQVc939Vc%wupuAgy_crNrp}70ro*M-;q||qc>`=y9ZZ#n z7kuycq+fi)&z1jl-fe&Nt6vRZ?FJaBx8HeJy6uj;Qq9IkrnY@gOHErJjV3S*RhBY` z15`lvY8X*bA7a4Dlg*>nhj!o8i97&yB)}G639k$H002M$NklJg_$wh)l5V| zqDACml#rPpJ(}a#$+S4xpB5$t(sRG-+3CBV^Bn+~2V<3p@*GhwX{)Oz4q5nGt}bBSg};L%R=j`uyZp2ITGzHeW8^{Y=0v@08<+>1cFZRg8h z{&MJ@Kl|Cw4gfotx4dixx79m$B1@3n=&Fl7d-kM#TtoKz!Gi~bZGP>w*QQ%*#w zu5^sY$$mdmSPN(uoHq|j!Kk(FG3M3lt1a)f)spwqxO?~RVCbtA@5&aB6>$IdZ~yl6 zq$fQo^0Yb+8RT`KzLehn_P3{h{KvP!XupA#P&n8F$O&l@-VbLp=+h+LLuD5kVHEb|)5(WvDsfGp%9QDKw`nKA0h(6PhlOy8OM58sWQ$3zS= z7)tZxi6oe?as8YbiDKGJ0_<2sVebX7&TrvIhrBBplZgr$Xm_$+|2`571nsmh3o^$X z+q041z=z^e*(s$!dtSAq_Haj653xJ#186_=*elYG{fDp%B~6gMxskLu-Jh12jLl4S z?i+w|foR{tADFxtn1W4FF0TBWf-x*x8Nk$4Tl9UkEt`>+hKSPCoobOw(>F;q?BA+t zBNr<@56eH-_~_C6S_-8D%8v7-IJT^bWE-^npq1^i!z$9Wi3x@pJto%$58)d-Kl+Zp zNniQYhfC+=51(J(d9a*$EuT>bnFRfNz>zbDqTGs4OPlTZZ#fAnMroCj$;XxdEuN&4 z7Dc_YEy@;OU@~ToRd%yXUnsFw|I0L|29{D_=_#{ni3{CY>b=Bu2HaQl6NiNV1 z(B0XI)C;To8W^KZUW8V_FhWHGp{wW3V>vpUEQYII)g= z*HNEkw#Nh?gr_Omx|931>w4JuacUs)kk!g6F^L_5&q2bOK>O#A zhwzS$_X_ntRyy#mE5+V(Bh zX{I7e#V6-V;Hzad$f?pXru;y`GFx>F*H<=%3~^1jE6XufneYq?8?5|3N~K1EMWXra zB84m+<1H5ZOZUz-|M&m?>vYe(cUNR)8k|PP?s^YB;9IUDEDuk6^0%j7`i1{i{?ocI~^Qc;8%5<*^pKs&#%WJ-%tE)S;=_1z^m8 z$ia}EE`2Ws(;S9imLhQ(qd;Q_+$-$z=>3lFj=5c}wGeRA9w8lI6>}rMm zz_MN)qt;@)HNyO8#IVyCkaayrhgSoTTLXJZjrNmhAda#`F=pTC5GMhW$6#p-wCf~I z0KEeVoSvSpFe-;&SM>Eo0g1ZOFGQ(g7aB+0u!=(MYGB!KMatq%$)G z=v{*bFMvLi72FB;k+1FG!pV|x8SOZ8)iG-W;JpBTXu~sc@Q6$Ir6)h>@oCRvE`#mG zz?^4hg9zhE>z$yDVV;I!f?_N>bBz+eA3kzC9XWb3oj5swBh;bLg`Z^-K}L<;b`^P_ zM}lOmV^5^D{D(x3uXFFrr(;+B?O*%}<#x&Pt(=b=0)N^QHZ;Q2Fn1dORR>Wq)UQ4Ut@hvAN`WKq)?2nY-Ts4p@gU1CrmKqQkrSebzD zvm-~-+{m#sH+BND;y^IppK|46(o?RyJRRJ(E82cL&b&Gqyc(T!JKur>`saMl3&Qbo zdEUnX73oAgvV4<(FR`{iF9Pu&vCDO!DF3 z;fNhfLMRO*bKPyD&Qd@A@sHy``j!CSb@ID&=g!b)S4!qg;dDT|=U9)Fk1-CR%WR$n zp$mDME*x>T(^onvEy(ZnmBdj(#^}8mx2)m2MH|5MjRNie@DKl(Zs0xA-q{^dfah!n zC(-mHQXb9+DYCWLRW;ZJuX)SAa6d4s>8HcS3j2w{v^Iu-7JYEMD!F0zNAQE~;&*>@ zR{^xMl>q=gW8xB!(3OJ%cG^7k0$@Z3)|Q=83PZ<_reWgH@gu~;Y3Sq;Kz3Fa67|y) zpaU0)Ren5wyMO{fuLTvT6IdYDupQsYdp#5S1<(5{rk zq0@GD3n|3?#l!*E&47*e6ksKihb=fo-S>!ZOOJTmm1)<3gV=XS3)TXvPt!->V`yRW z1m%Hk#x=D6=CLdJN?(Sm#vI;ZrJ_wmJzvftE#_ov$GMI!bl zJ2BD2{*G@LpU3XMC;k2J{DK*%2WRxR+DElnSXREDo@} z6m4b&@GFipg}fbqJ(gdh-1(EwrTxShi180nL<>yREFyR3=K`Np-qb{0X=a?_nYUlZ z3c)Ymkj91v0O1+mFsU;&rem}b(x%;Er#Hf8-?F(oZQQ&mHMb$#DcB9@tyJb>72~K> zNBh8;>0(W~^PZ#Wp8M{{Au8Z+321L+Rcu?E(vggT#s<^)*f5OuCB{I!7in`bM#47F zKs#eF>U?IAL#$$QYD3S4)XBtX{Dw_e%e8BHZ!7Z|E0h^;ICjAZqunshBkwwP^Of7k z%3Mh&A&W^{9iV?ZF0lsU)wZ3x(vIDG@tv?Ob#L05I(s%zNg-z-y)?fBiK?8@PMOu5 zb)dccIdeZ1A)a!2{m=e z-uHc&_w!K-#h6-vwp9E1EVUboP$HSPs*nT~0h zem=v$p6x9GanOHQN@YQNgn0c8UrO(L|9i@IV=J(C&UG0PHZLBjuiCdkY#*phr5-y(lX)A7DEPb6j&nH4JtP z2re|MBO!XB-cCGM!*Xxc(8LOLP+3n}^?W+}t|21Oj-5*x(8=;?N1NFt7?m2)XcW%E z>X?=;0J~o(+9!I-6`ZicF zXfMi&pTYodAkWRs$n>BCS_M`yaH%va2%2`d>7TKl;&#Izts`SB|AzzQ}%408@Zl zfZo*>g4<322~rClD%0|@k9{n_?#Dguagm0sbR}d2!_O3KyC3+#2O^E{`mXOv&wcK5 zgMl8CwxxdCJecP~qg@FsqsN#B^Cw_$bV9%hD%(xLxOY-ubuizaCu{!gNXNYGZEu6w z|JBslEyK7s`qd+IOnV$PYKc7LpQeTmQvA?B8*rj-s*K;j z;rmkmk$cm~$zw3vPXZS92gokaZo0)FJ!ItgZmtT}dLx5;qXYy@q5v-h*@N65k$^hs z#Ju+79Pjp744N4bKw|;43+7Kp1kmJOfHwkgkMiJNy}oHU`CvP0f(^Xq(52~;$2=B2 z=)Fk&DGvy7V$um&WYET86LGyPf9OgNR~cegHuYjxZXo{v?eoL*Gb7n{0W1_yajqyp z5&*&)CYhVsx1{zB2U2U#UKq$-0PtNalg?!ipxBJ8lJ|l$7{8ZxQgsP@iG%Ww844>M zu>3?l(Bm-tNyk8qJ_Up*E;kGYbpT2Vab!mjQQzOvMu``nrest`f z#|PTy+qd?nE!Zlt3JBYZnV&3S1oL}t0qIM|9mcQUd}qkXo#;CW&@QW8e@t}&)-NqV zo+*Lg4Gpm8`Q7nXu1_%GAtAZ)*Rf3o-)qvQjT_Q-uDb#Dc`X2cErXQ?R<|@TerjuN zPFpu`L`rfK;|CgnKsz?s2>we(VCXk6U~6N%=Xh&$OqtMeeESRnv=1^CoJ)K5?N56T z9D>QdJ#}r^oSM62T)PsKd!jxH_%D)|TFOgsUmp%of<`L>A_a(SiGN|qk|lr?T5M_tF{B=EnP2;H*KCF?J7Q3vJ%%UzIy%DA^+rgc~9}_^>WPl zTshNcNEXc|f9zu_L*5_fx+C8}>5vSx3y2#9+l%162hbk3K_3Qhc3(gbXecfF^XKmQQI5o+|otLk}?jEApWD$dCX3V~yScffiL`X1B= zVR_iTbxZoIKRcCqTz<^O?TaPwP)gu${_gM7d)|L_#i`obedmcU!itQag)bK*(C#3m zv%7LIUrlH7jK-sML^{BMi9|H`qBRD9&Hzb$_7Sw$$6!bc*vha_dt5`<7!F7=K-J%N zps(bJ&QOERjw7JVYG)8*$LAmd29sLnp?B^!gTDnjj7DTk8UO}P42`EFeZzp~Xg5cP z;J`v>qYT$1 zn?V27m9OHSV{pbbHgq-w(B8}>f!$RNi3QkBrzU&LNrEaEMqG+W=glAp^PFqa6$7yQ zxqxFM+Fj&%PQX13;L@P6S?y6+{Y@A6=J1hY>DaN8u_9o^$qbyg4iiVmSQ<-N8|yHn z1^WFIB$QcG!|3%`bx#_ttCWvf?>bgGQd#YM?`MAU$I}nI)V_%dy4?LB}PixTl7I`49Hl`oeo9Eq=m!~qAbz7iajrM6KmWVn>oo9)(p!)(k zsWRO=s)i$OY_Cf@cWh5Pw{Hs_Y_+gu51)@gz3bQi+^I}Nm;7h2YyI8TS_ZA)mSF7p z5Cqzd2L#$*{e$UMuUgv~s^xDKX#dDZK9WBC;SY!A`ZJ#KjQ9*+4jA^!6V$x4Ed%=* z`yat}_X&I(1-L))iBAMW{^?JDdNL{*V>%DCB11O3*Hjy(Hz) z6Zg0JoU`#=u*b424-=((D*tW0Y&*HJ5pZO6`2N?wDeb-NvApjDgatLU8~8`R8;o}D zF)z!HuDJAvR6M{BJLtR_fbzt|Sm>Ym0R(M~2Ck({ z*!EpJ(w>9+()OKO00EcKlg8>ogMEex*;)Dv@eyrCokC7QZjb}e(%KPGHX^7z;2(^A z07;{y0B=C}dLF=Y9>r@(s9lLbl)bJk-2&mG!PSYBtzmo`-we~(lu%aY zVMQ;(xc~BJ|2_T3`~D&J7k_+qt|DBop$m|`u>@Kdd3@H>pPGK-*Z)WH^$edyITxQ4 zXVfk0m-hJs0PVItA0qWs)7OwcOXo9IsbaOAWFS}FxviZNc9D&Yc6GyNKbOAvh0mqY z;lX%5uGDQo&QVFnM%e82j4fof_aL3=z1E{^u55#(8HO{|w`#!av2-UAjCb906owrB zkA`TU$U~~nKFg{U!N3}1Xw-e5rG6+WBhe;+cJkpZWHUaKgxq%JimPHXPM@7xGQF%+Mrv-4N}=KrN%S3V*w(#!9r zmES#q>QoAB#Q)_ViXChI9w0DBMBY5F$YY#Ey4a4vy!Sp z_ogpi_azTm4(pu&w3h$Dm%aG=(^ao{+44PH+_+c*4_683=WeaB`+6q;JzV$yKJz-ZSTTxy1aEFUasnyt4FR;RWOPiY`J7Gq*u@jA3@4R;8uo(OAdQ*($fp0T&B3% z-Rko?qhoY%(5`F@Z0a5)Sh|TCtZHY@;#6Y{hn{0N)tP7D=KySx0cJDDv>*r3H!_iq zV|)$)G}8wM8)(b&kqu~9|`7HT0K)7#mUHg>nh@=6T>_X)7e##gglJwsXPg5^d*_pGxnv(Xi% zvdtV!YE)aq4w=+Ilu5z_1pxUHI*S~QWdIWf<5ouTJoiGDIhQ?d&sT+$(SgBw_!m0tS&vY7j5=KFerOj zirtdx09L9nq;-TUuxc6mjHXViP27hgz+)_9J)G{lAF%y+e>#2=CJXf-STo#T7uxnc z80ucTm5H2Y%6^Re3DVms56;!5qfI+bX^-nwgZgwn3_ke2cQGKToG>`$rp|*O%7ONf zjuB|z|BSTh2|tj!4n93UfA528Q2OJ>*$Y-uLN@9JOklK6;Vc>U`l3s=c~^w)u+joB z%Es^cd>Xs=^QpCJA{{!gKdIv?!}!W8krF`b`g{#9dHD~f`;Q!{$o_iPpx&?%9b?{^ zIRQ5&hfj0CxL1uWsF7p(*fP{p7*?nrV;F4`oA*;b>NkqF%4y2WB}VhB)`Wo5g(;Y56H=FF4$yhvuvPG7c>Y)JAiv#eG9AEAVpxO4a1f- z2GD-=zBEBw@HjzvouE!jf}q|y2_WIZ+!^c0S0fYZ+DqL4b6rjlVK;JM4~vT!$U>H^&B zWp!o;;AJ)SANmG;!!$PNEGzhegn_Lk$gXsrQiIwlovgwX8+CFwODg2@*R;fqX>QHuh6(qzEj+39_RB7 zX;H}zGWN&6_PQcd%b)92gW7k~W+oa}hu?V9ucl``C@L<%lq_GjAe!yb6{)ZNOZ@x zO%MULU^BMzZgs-71{0fAtWGE_p`}jUlo&M2WRT;R+wZtHeeyG3N}v1USEvh2C<4@( zH$nDU+HS}p!H#D%!1am1*da+n+D<~bO2zj{1`VZ6IcX&5j#*DTbA_U9&R31|N)nOu zd(r5-BHkBBF7$RIZ?iFN+0+xxS2r+TXo6&<+@yr7!`LU1Zkz-d!N#AqUG;9j=NF9l z9lO%5J^RzP9lMdUXbkzmB_@A>*vSd+vxvD=`SC1-Q|rN*F7l@T^;_w~AN!ArL#BB@ z4I$UF9>ZEb47TjPG(G2~uMdzq=ea0@{4G!3Ik6HInjedL>uX}A?w8;1a^F&!R2&lT zWa~WV=G|)?R7!01lQs`dB(82}9&TP7liQcOy*gN@1;i_L&p9sg;iq}>J-Tvk0POCyoKwAT!U$}>yuDdMS;?sMsrh{?C$m*2`rNd~0 zmIFr?KNKh1KKz|Fnx9i78<+O-c`}~#p=?fBiSh#}^yxRfGC;J`DcyPkuk`*uK5U{>9IWCGfD8z|X$n7sJwEIF{OE%`f{Nc2rHZPx5i@X`oRl_QG1_Hz^CB!;Yf@G8d(S6n>W9rff^*F&rBaCDOpE?f7D)UCa6S##D+?UFoz9KU6Tm}; zyTF0+29bY8QfhT(xflR;Iub#42aPUu4weugdjs25bgm9wT{hPV3*5;8kBPysR;uS> zsXB8V%cKF?xeTC_1}qFJz~$*_(jY$+1BcVGD#Z~IgO??~_4Td@U?Kp0^(p}NRGkfI za!DEjGXm||NRB}uK>gs*1Wb}~q;UYTk?@gC(gYK}qpdbr?VSMa>gLZ-PGd}lOtP#~ zrk2aG+qs8cjOHzyH^AWBgHyhJsfm>Xg79PvnG~IXu|yYxT?=Xn_Wxb?+?(#c=Y9<9 z<4D)^rQflcRv`?51p5rZbJJZs# z)^~pOtXKBPS_bVCpYZtf`)~cN^X{D)b)QNolU9(;c>7)VrCaW}JKb^jk#vMflOrbv zQ}fO%&}e@Ss~aA7?(UJgXd4TSc0hK)b~W5Xw;d2AnD4O3hHn2P@!Hh9G?p$oxSx0+ zG_%#s-o1PGxy%1IdF4O;v%g6H{PuTMq_SSwBd3*(LGyX7fl|dyt&=YT?ZyN9Gthq3 zRafy|78qDNsC_OI+~|8xt@9ojW`(0snc#w(mQ4|4wF_FRm+qj&sB={{)a{R-{NyJ` z-4!JF`vZkL@4PeE>^I(cV@T2{OC!*J;J|^jXU`s9<$17XIz9(u0g&7F@4xTtcDl_ z1Q%$R)o#r76S$Cfz7tV%0GWC9q_Tg4_J)=F6riZb$a2+OcTXFWTkZHCV1?eMT0UuW z+^4JfT+z3v?krKDUE+aKf^FDZ?X0Xc9VZT!u&?+aAGzHLIv6IWmauhUz;|p;TXtTO zHf}!%+qyksEj~*GLIjLha!`sg1`YfzvWtD20d#CTE3HwW9Txr4{8TxDGU}m?PIhd+2Cyui}vl^k@n+9rnk2% z!0Pa$#50yYI)VK@(9de!!O=)kBF@pHed+5r-Hv3;UDQ!l&{EH+99-Rh*hSQn#buz~ zF~b7y3QhJ>eWc2n)jV#?6ESlP9+Veyf=KBWku~2D#u~mC?}`kxoA2fzPj$4nFfoN6 zE+%&BL?pSsW2XTmV+LTe+pn3n5T}KkNq0~p@FAnVl*|iB)?1Fq)whhAG_9a*r%1f~9=h)2UlG{t(KK;?FpS10(9B421 z$6#6y1!!N+gY7ErVe6%@Mp6m5Z(~#eDzs9bG$8FdB(XFdQ_()Y_D3>L73$@O6yAk_;ic z9lBeNL3dpyGtB70;ZeZg(G0XZa3uNy#}-WOIQ!hWxijrTqp-!Lh=AGx+LH|UrU363 zNLvS4I`-)7Vi_Z#@DziiF{EAum1S@b!=j#o{UM8e8r{t)K=vsHRWjLSeVfNRKwf7x zWxeM?l!K`p!@%S^3o&qUpa?Sy_I@+Wd}Dy^Twf`j!U>GdT-9d}W0M5!*mbbAK-8eE zgVA1FXD3OgE1R9cqWK-4#o2%2PY)lvI`z{P)J7Wi%;kYO!AQk}GJCNAe z0>fr2PWQF~&TNb4=fuerMzhSj7M`O9x%W5;VD|N!ZcR7caz{FPtS_Fc0DH02T6v)s z*m5ms$#-yW2h29_QB8W8XVcUXCtQ@78Dxp+?K3TDp?h1!i)g)iFyFXoGscp&b|w76 z&;C^U{_p$0SAIB8wt|@m&?k%ah8u2(cyfgH#8`iLx;l-|)evb18!t&MJ1$R68}^;M zJEPuR$UytozJ6o+v7h{zQ_BA&&WC(Aucx2}qDF0b5F~P9;Cu-afFk3gBOx85Y|K?x zz4DAeyNvMr@6SN>9e3Q3ZUe}YiCZws1+CRsFPB~shk$9N)8NPujb8 zZ`!wSUwkV4@?e7PSg>8d-ZW*!Z`-yl0DBqstATRs&As>D8_{#j_uY5ho%XQ`qyXoY zo-r06{aS-HC1<>z_y37&u1Wv?AOA@n?x7BJ5<4;|^k8n_VK~Og5JBkjFits}$MqB} z&rNGMmVMRF|F5+BAP&gMYzEqO%r5vP;LM6S`krubi2dc@yBI{!h@^koj!S0$K8Aww&ZyY*t zBn_W93iv)sKCnFi?hA&w?_;$S6yW|`z1Bi(#TMv5PSB`qj8O*O6q6q^ z)JL%=M(Kyf_#DSBnBa4UeaiXCnip6%YA^<1!Ke2cA#PY;1CSqk)Y!oULKl8*dV8CY zU8<)I2%u~CC|zYaViOWWN)V|%i2+SbvWhKJAQE1u`pH=`!hE;8Z@`WtY3!;T8=7$* z+`BDx^lYO|_e893)YpM*MIDASDObZvK*}WN)4$|7KUmThB%ftBiJLh<(liHnZbZXd z(A3ERPw-jJ%}kc!H2G!Hfs8nDA^D>oq#ctv@>gApBwq~-=W14gss*l;i1LI;6|$ZI z+odht{N?-7H6Q+LWUKgNUDJ`>dJCPrGn-bu|Gx7(o|S&>SAY3IX0=pLqTur>@eB3F zPpgu3CqEeX=i}XL)pC5}Pa(lz{qvCJ;ITvva@r^zaZZp%u{b=CjvPIb?!Eus^!YD- z0q2_6LogX-BCw80*v545!0vR(CHt5J>Iw3a5-(H8Jx($4(+9!fzI$PZ-+!F;#H1Rd zB>gG%1HKOoj^z63HK{hP8mpr{M}8S+EWu_6mW;@VBgQu|{GcAHe;!j@e7fq_dha+u zr^`ykSQnM}lni9S_>S^@Be|-HHf%Meaz>k%$!-+H6*O={Pv^->f(q`}JD!0sR82cD zZrQpm?LT-Z?LTk{D-?F1MZXg=Pdjae_7Y&bC0kj#%fF`<&;! zD9B#rdxq$*9hA;IXJ9U}2qOHfzBKS_Y2(;&J zDc+B#G|SvR{Q14_dw=>Q(pcp|dEfyEBkL{bGpd~EV*ajr`AgHwUUL3RzOJ{jzL=kt z5;%P1=$d2qz7r?0MKLHZ;BdhK?Q1c0nK9EI|7LvMqU%!9l6gGOd8>YTCP8vreELqt}TK2Y=zj6s<*< zgic_Hk8_XN_9q9Foop-zk0YZ<#!v?8v&&L%Ai}2U9jDJL+dG= zj;VX~d*8tl^-5=5>nY!-%Zp5Q0m8fQzB?Q+>V$D(2~e+P3vp9gYC`j|u_x7c?Mw~b zyHZ_SnZ|jk-8;~9u%$5{gU+zQ$_F*Y)j7d)sPmbfk=tak_W?htuPZ=1(lOJ+U=zGc zg4ND|k_j>ailN)C{g!03TRty*=__ETo~S6Q5!lb_W3Q*s!*X#YD$0Z4kbvR&5MnYB zP-GH4YBkzrvl~|%>E-t#>$cEY|LkW!o2~(H7U+J|qaGDeeRCP^ZDo#_bT%r3U65LR zb)yXUr#tny>%Er0QgUkrA=vN2D2%2U!6S6mVKFVb@2!)GGE zZWM5r(QclfjwHh~p7D$T+hyh(&lJ25(-7qU41=!EeCD%Ai5*6IOvh90(caH={=>P? z{;f{Cq%7zRRZYb86a)_i5z9kcM^F0sxBPY3N8$K0?4E3=*v~tGuAiKGKshzg1;Jc7 z7n2|HKF+V$@-$u9chljabR%(`RfpOsYD6F0)Eu!MV9xi)1mMxg)FP~M0C4(*S%7xI z_R+rM5vS347i5>kZoQesPIBd+WCEp1EO+acdBMEO#0I|0FqhHZ4I8!xJ3=2VMw$BK zTyq?Ne**h*f@h@tIELLJ*ggsHK84Jn0A6Mmmq11ABPY6xRfhthg2eVc0)xuUw6@^$ zryb4Wu7R8Fx)Dg~O+uJuXLADV$~EFe2knVX1!?fJ2?DsyTSg2E_ZJNoR}cigvx7bi26C={3vaK0M4 zeGO!n8uZ(%Sb<=qc;;b6FXHsIx<(ED`t-Ix|73YJiS6~M8|q|~&$T@K&o}Xvbs{*4ZGGZcf4b)`R*NFX zSOW-MOC4EqqJ+tz1?sAGSJIA^Bcz}Jyt5WFc?MOdMl(90ol=ineJh4oOS`BmX`suR zw~ab^H%Hs4)$u9yNF;rVHfRKz zzLmD#h*V@AYg8fUv?=Y~cL1RMVA=z#eIE`|J34Vd3>fbUts?9|+5JU54xvRpoBji20Cw6B;rjxoaW8D=KPBoYJS zKFW5PImgk~N5SzTp2!;#BX6Z5i!ZI;PB~V~6{UF<~8e0$&VqVaH4!#5>4+0t= z+9pnjbn<3?j-FTgzWT#+eDxOR=KZCkxtK}be#f2Z&;R!CR-c;I+sY4D=xp3vHhwMT z_|O07chfG2Bp1WQ5;&VB@cN&9L#RNMUt_(l{3y@k+1|e3fOZWbJAv}hJ$z?so5cYZ z1GJf$MS%7?fOddW7#U%FVd&d2_~O@KlL@gBUFu7RQ`)byRMQa@rk|qYv;*WNPAAa} z>v~gH9nvu^X$Sh6J2rR2az|nWjrMV*W2!uXw|XrD=vILKHsZKIEiCp?0A4|LquV3n z4%X(;`dkD|CvgXX(86VF%wVW0LBs!ieQq|Kb#mXbu_qb$>3p>bR$LQ?uT1t<<#I4& zEt!zDq4N~>wsWrK-dwgT`#sp}yv*&Dyl0JAf%QUH)TP!k?bTbHrYs$_$wbn?mi46r zS&eF01~S`axHq8N7><&dU~nmD=rNK{2YZ&ClLIb&mhCcPS&YF3W1_*b)$VU;u4buc zJ0NC;JCU7pJNi%^J>v>HUL4;p|8) z_LG3*V>rNdaz#z{aC*uh*ukHg>_(aSEsf|-5`ytU9gxkg-r>k7lP^Q+?8Cyp`wJ~{69xi*trRlH#{Ey3jI&ZcG*=5xVkX?QC)e&cEkZoW0#JeaSB(#X8i5Fw z+CS((x&gG$Pp8Fc*p=wi2FNbh&VW)!WX7S}u1SN$=B3eZDd`x?>9>C8_tN{W{$NFs zsXIJ`)57%?VmbGS}(a?$w$s3V51Hs0oxB8*q^R?}89t_GS`a$C72;33$r z^o;Cyqp~hKx|1ni=&XB><};Ydoa3{xf6bG-O-P3wj3^6VhWMEzbIgIP{9A6hCEa}U z%}K|-U%Kvk0Q=+g8?7N7P~2N(ZqLp)`(E#Jby#mcKh|REKIVzfNH4hRb=XjI5uFGZ z1h$_SWS?fmUa&=(+?Um^b9U{Nusr}<1(SKp253>-zhs1)j}E7skLjFHpk0DMO8Ymq zr2QKJz5&`NCMN=HAD^j8W3xzCj4;VGc!GE`jrE^IM&=~C?PCG7Wj_l_{{i|7!eNs& z6C3E`>sg7Xou%Dpv~Td8EfJv^@U0npQIJ70fzlGA%EbU&O>=+7V7Qk6_5kw*_61i; zH{*&#SNpk=vKlbcXxoW4#BtU${}n)cPd8fF+i{M%U5CG!U=Xq~Tw8{GCVFJHr(n8e zD|{fx?r{a9Ju)DwKn#1A`@#AH(1g*8)J|JlZ!p@MTRLb%Xl^&5^$y5hOCM)>*xu|G zt8r*wLrhhGxUo%f1irL5jU9|!OkG~FsO@Q; z7ZA&=e*jq6>=HBPu$$+Cr~_m6dJ#kR@ERfRFl&)C~k>a>J(%FyT# z5`1^0uigB0WcY4_u!1b#U?28B6Ce(FFmqcON9kNtyFdHBqAu|a-95#s)S-cqG>UW# zT27I66_Y;2zX05=A6`_^Nm$`0F3I~rfR6lfYGgM?GPW7U zEshKHmk=v^X-gau^~yG7yD&-^lD#g-C;(T(SV-{Q{zD>Gv9iVcvETB2KvRqBb#!(i zO}Z70_MP;phtk1Aj{tn%8mpdKu&Xoqf`YM#AC^!&z~a+HPq)4Lg88@)efZ<)*MIYO zD|Y%mauwlv3cVX(>Qd(A;qs?{UwZVDo)hn1ZIh_bzK6;V%HXzrhW31^=sCb+tc#u( z@9^@I+()EZoDvG#DSvw4suTT*f4Lo1o*wUR>!Oie<>^O$tdj!VYosaA&MPp$_VQG7 z-Z@*K-E*T>=ObL1?i*2{J;#;2npRG4<+D6Lkrr*iitU7NE|KEOUXOC4?Ufgi=X-BX zM!Raga#ghVo%g%qTY_8>Jjb26eek&o`S$W$E{a;2v(?3u@t2%F2^GmMe@5>8vqtbz zmcyy1dC`^lYj6H72!NGjpY^u#qgfd{NGs)G$F{BMFaPup%YVAKeX#`2N(ubk-~VHJ z*L&Yzk@gI>uD)?D;EcxkjlXz!!o^u(^4cz(E3&jGL{oEc#=^i z5FkU^rM@c?GHQ9kgvYRRnQj5>%Ek#GxI}<((zg)3{&Eil&AvG@88M2o(w2IfgP_F^C{)5<}j z7<3pv9F#lOT;58y48vw0!#E$~zNe-caFMbiZ3~RcZl1Nzdn&+mf%aj_qy?Q-J1Up0-gDnkbi4Zl0B|rJta$EK16>2V z(MbyKMMty7JR#G7few>j?N`!MmwnRfpwT|c^ONDfxbr}&?%7;X1=pLyi0+QW_$ z^Fvp?BK_Ep{!m4}&zCPUVAY2f7<~7;-<{s`p7*4=dX_S8I+U6=?uX32J2m$1MxVbo z)i$BE+>i%ESbN#v(-OmgogM2#kF+mT5}-wi%{wW812u&hRzr zJq9ceP#0##(jvgV&QOs#iq;5Nga7`!wBL&r5#jr_-gEUm26;BQRSfC1^X%LKp~HJivCJh2UxfHbHv}y5htpkaH*O!%o0Z zaIhYM*Rb+=x1JbHx1Iz%=XnDoC+6?d-rm-<2cR7{hD^?kVWS|uH;+UGa$#fC)zOnj zh)2`pP=A_0LS}km9I^!rbLwxbUcv~`$4&=q+;;4-CbXEFTbambGBs8-(%;K|RsUUo zJlcpx*|RkO=Guir*aO4fCpO`nQMNo_~~k%WngFt`xJjP0GU1AO#!lRM>?jVfe9|kCh9WvUt=qSDZtMZS1<_yI0P#M+Ku8e z+FFu=_4R|9LmBIHM`Fn$W#)v)B7}x6+Lp1Cm4EHnO6`y+V44#pPDH!pdUf@H~AJE(T_1f!HREcq@p>Am+%EU8YP`u7v*-aEKJSy*pN{@0Qqd;H~(Nq_tYZ!OF9 z18o+zNbz~PQ`-ce-!EjwxDILp17_L=cJDiNzkM(@2p-FNi90NJnm>X(Dj zz5seI!0x1nj!TU*L?@F>xz1Iwj9(fh^}z6^1+(aZu>x&q!Dzb&4h$az*iTi|QNz5p zm+6sCEosy^PN8kj3y1@>i=PJDmkq)8YJoWHbXoC>)&(ZLYG9L7#i?743Ah!0kK}2q zzC-y&`{f+cv>to2#cC3#rEIGO(C!MGARW;@^#dWGXu6KKT*1?UzYbTs9lGRF9ED$& zw(r=Tbei7Xvmv)l#v*KRjc+!rJfoGAir@UDe0$}H$}RnujHU1V-j`JV%(p)LnKvj-Z{EX-BuQ`~4?c#J{ z`S?}mdHnLeRVVvyipcNrj&^@>4bm|$j(_>H>P+9`0`11~UAYZsuw9_NsK5Cb!SyQJ zFXgcsXt&N&tn>@Hk1*Yev}t#adnjBIBR}PNGOzJYWQJV9=mUiwtu5iyVtu<-3|F&@MBog|u6dI61JhGhMoGTiS?3OkPSk z5glPH4FlbdWz!5QWl@ikuL&GnnZCgC1i-%1G2=?dV5k~pYpBaE&@P)@ruz)Ws|+!h zFKZAs(DBJQ*GZ?dOtB=FYqS`{_;u+fhAReVX0pp}_m<@d<^0D|Zh>ZW$s33=v<8sM z83JsV2|j^jP9F5oMNvkr0__Y?mEg%taExTq(x`W!oHg(r7+Owt{0{Kc<0LP9H=1XG zc4cFnC=kfE95{@Qyb6a!&1nOU!E{L4#B$XJKz)s84v9g26ZsTG??x(S17J@Z44YBP zU<{U-Ap5bC07gu76b!XN?&rkGAtn$eqTDPypZN^su4ImkPY2&RJS_lrjRMUEWqHO) zcLJFinVd3UJZ~D7-SiBD!j9gwu>BA@TM6rJ;I{=3EI*KyJpTC~{a$*^qbp@^R`#y% ztpaG5jVjRou6MmF%{OGAy;-0gki7}8T_$@?BOppWpjoie9ni5#gtoPabG-3mH>QcB zHv$sqybFU?BXm{JNUUvYkJ#9`H8u6_O$}Y!R~>bRucbO4%yn7qF#G~&pJO`!cK{#; zoddW0JMlkK^TJR#LKSS+5$gHw4AqiRZt0od`8}r;Qa=Mf2kq-2w8NgxGE*zL34ks& z;s5|Z07*naRE_C%lE0N)ow`-LR~{N)kP#Aq*1Eu=VLmJ2{T ziFNC(w}wWzKyNwFUNFqnZolM`OVXi3heF3)O?KJk4>ed91o;Kn{ghd+oQ#9J;vQrI zJ4vIojB(rcZ6Ot-E_`vEgZKv%j>GU%s>XQR?RTa-?z{`%8^ghJmg!tRFnloSeY3}? zTU;@aCBgON?6H=9as#UcR);sf^=}#7*Fhja0tg#Q8ztl&!e+_(;sOdvHZ;=7>&&!^ z)oLw}4+QBNuvY|jGtiFVfNeF)Gd?;znU0JAdQ&e17is|zdRuBEsuMoJgpx8Y1Jku> zV5T;WGx<8%cQj4+A4_wiOsbDCk;*ap^srCXbkio$cG2N!J2pfuPBv?BZm9no2^YpG zq%xealJy#3C0S~0q;4|-<3xWksSg&6nl#cb02d4NCkwpC?MH&m&TrXvbfto%gk~c5 z%tS*Aw&)~m{LwKc5y*cvc@iXPVB(<(|2A#y^=M${*xckQ00B(_i`>VGGT!zL)}T1FD zwB&y+XTh)ikyoczzv`9T_k#^SNJH_Nzg7NS*@tCK`DHe5*seUh%J)}3Hjbk$vC!1n zkO0}|Al2OV^_$a8x80m>yZiQZ=Y4ml!}vF-qK>&FR$zRF_BKNupO{7#lktlo#vs_z z`Y~#9#fCN(>B?>wWM9Bm79@A2YrR0b&(mkl_2*c{H}6Ci;9NC8w?I4dG_=FK--jRP zQUR5YF|9fBYqot43AB4hBv}I4srxpNK-sK;)H-BpoGdfME`AFzlFvErMW9`qKG?XF zSCFDeTTpSH1|{)Fc6)PkD-N18d4kC`v9ro61toM{z`P(8_7C zWtzTN*V=7LwzHgW<%#hdbv?h7^Vus`=2`Q_Gp(}A!Rtg65XRPV{B9bhz#G48!pJtV zk}D-&9NSmZPdeVuO<`q!exYXKUEFNhxlwLhOR3nL-=ZFqL-Hrcu0*VDqX==|w3}j# z?}SzH&WU@Y?Z%{69OL_F#V+&G5#ycUc6lLi?NU3=>6wR>{YAFR?ySgCe0u2eYoN3z zPh42GOz?t-IM)087q3h2`_M-!&UGTn390oG)*?3i$}hbkJ?V*8u9qxc%*VHQ3B35_ zKZvbex$aA_>_yyGRP2YSF2qvh=V^Jc{VX9Y-TW|&bc7C zz`9_9x}NIL3*O79YL=B9AbUwVhV3PcO_xkMP!(L4WiOLG?uESAfi3a9sf}v@SkG`@ zPBx5;!jfl%7VLfi{+Nuw_-%m+X0$8|gFr*I*8D`e44C;;(ndhqPOlAMTxYa)?hXb7 zZIpHq9QV7&m|lAu8l`BWs{7tX6!iAVg_%+6J!Rc@qjld4i(OfPHZ;{8$g0im09ftx zBggyFQP}GzaKhBbQdU{>dBOn4xG=_aa%vDPH=m)?3M-{xw#&*F9MnP5G!qR|l&{~z zDHA=oMxY?vJRSBN%bACEJ~q-T{}VHQg+)-l^Gr_# zePuc}bZkrwXxX-GePn9i{e;xI?Hin+pdM)GVc}7Ccqa(9yPRI&U9g?lf78d(z)c@b zO$&qR5#C7|6W|6{NFsZ-b^>uKP(mct?6Q-ZqdJ;ZyM_o!?xwUCVh?Js-T%OVya z^#k39Ahuw)z@#!Rvf2F};5O+O!S|(6z+JFiJ@!}?B>=+j4>ic_wQZM2Wul5a*jITk zMhEJG`m)%)zI}mxqOp8XcBZ@t6<42hC^BeOF)pJ24|c#ORW6k{VC`-O22>KL|wXf z9H1Quk;S1CICMObYQ|5dnz55Hef&YLK_yn+A}d zo*aP*&qO_}S8WzU8-TRusMBs*O7+cQpUsi)AO{OlU}t%b0KI^_^@r++U7?mW*JPDM zZ)XRq9y_RKBWYluFHHcpV?qKZk~24ueXeb+V!1f1`%Xaj7Jzx2!Z$(Z*9KL4+InJH z0VgmqpahNfnYJ815is$z9@)o44S=;kdm|vbagr5^eS@^`(OLB1S(dKd$ApK>c~=*- zbDu_6e%1kQ3vj0zR#c#$J~ca@1}Nh}B1R)u(C(vu#0D}3QNgxj6|P0cy@tVAHRS-R zE7-0rya3Q45M=hvZ^2quhkk*`BcLvk?@57nZiK$GriPW2$O$$P`;N_|kG^k&e$@M4 z3F~R#w-&MCuUP8;sLLL?lHmv3%Jr_Oe`_6%RS`e?*xk1NX_pFaNrK6Bq&U+f_(yqK z?gHXVkVmE&PYh!#U;p_pr7wQvORV}lnuaHE!i;^i#B*AtGR^VKW(C@rNE&A%cajI> zB##qEYM|@Spb-!*wA8JKq#ew5^FkJFGit3n8x(*Z?N|`ie^epHIh@1TNWi_Ci8vh! z>z~4OngI5iNP9krE&NVJ&y02|8RHCYHc+)-v~#O2=rBF6qhE#q+WGD{PVg<5z+`Hk z^d-^Qw?sSTT+7URQL;0yu0?2xZC4h%!fDgS&1v)IE$P6)L#(2Dbh_k`kA#hnT}l3E znA{DmF3LB9lVq+``1v`-{ql?8YGtro$aAE?{?)tV;G9O~d8hyO$A9`)>7U>6o{9rp z^{h0;dI)O~8+IOgYp%w#Y6tIGG0$ydac(u?FH9o}O(z2%ZEE?vsw^4E$D z&x!7_?AHvm^WO0tNtrs<8-i5v2Y>N5Wk==B^&;2jyJy3uQ;7}ldHdVwt1DNipK=oy zf4Eoz4^s)~^W#f5+)$C)dXwv`$lQOymkSDLUrV2T*W$_4QI!W)0;Pf_>T}9O_T?L3 zDgz4H?XsyF8Bklz9V*|*#z!9k1G9wnyGaLpK9!8c# z20Q=xoq;LK8#f_BQM$fq(L&!8=dEH0vz3qb4EZSrzEg}SkM|9v`;VTCc<qbN8Fj`nJTjE-y5sir z;SXJ%KK#L}(?Wd*Ap4#G*c-aG!8+d-QZLn^sh%CY39$RUily;$uojPf`9ta04Ie<$ z_ZR~&qyngCtAi6=jilAswKcUfq0)Kq>45E5tUm04ziU-e_cizg*%xP-WRlgskiqtW z8$XizZv<$c9{_0I_bmss|M8#wMf&HrzpJ90rkEuk2GBj%LBo8rt3Fl*K{vsH^&T9Y z`EGVnKxXYc_3F^U1L+5T;0Mx6U;5Gjrq9+r6a!G(XCZ;{P_E@O$OEJdmYas@*~iGV zmsRh6S@Xu?SU(?XkU9VHkAFNID)+GxY7i&au7r~@DGQT}Jk+Eg(s|y?YKbosS}y~? zwTKN@KK0q@dtdx27%wyFUYsG`hyCP=HRVElc51a7wTWuEKW(TD-EG)O0@tlflql1K z3<-U`0CE{z!Mid89P!>{kM&_3rujH>FjIi+)4WH=nH0Kxq$b@qQq2Sn1cdPc0QSMu zG>O*!&VXsMKkijFUF97}fp#sRCO~{=2TtYNS>1!o zqR!}zi&c|2C}mOuo9$Tt1hHT@k#E|GzHC}x!?!VMq8tymO5Z!lB)5bR>?_#pmW?uw z)2uMHo;zvaXRz>1$$Yai0>_ylDtAcW;tE70EJO3E7A!gRXkLxb3+D}aw} zWW5ah9zJ42(eD(W-sMWjzxubdMOlS?#8}7r;mXp=)iFg|%CEI5>iq(QnlXqeCl4P> zpS|Xj=~G|$OgcF{z_X?<1J?P;=z)nO>NOKdGt}uZ{UTr&OFC(W4AV;64aPbvS`fm7 zwN5<*%VRLZ*h9Jyb%DvKaQMi+=p$k*#2##a#~;-Auy1?_?ofX z=J_t+Mg4w#G1c&nR!))%7O|w5L`qzPC{SsgvtNw*M#FH-QUIS4p=_%%+CA2HjS~V{ zI))Xm6sv72R@zXt5|K>oZ|aWIN>tPbUQSamA(-bv=1&x(DebiB**5b2ldqkYI~pq*ODy%S5HrvmL6eD`<3_KNhQ z+yvVBJ+8lUZSPSDG*@^Rku;UwtX;hR1yln6^3HdsfB2_=skq|{U8ntm z0opYtT~@O??4P?I0}VzMhLnJ=hLiw=2A77G&bS0jm5`C$-pB~UDENJX!S>1iknLy19IMgL?LCPe+Wb8Ze>Hw?#+}PckHUr>xwlx8=3$#0|D+~e$oH;)N z%jVs#a#9c(pjR-jmciIO*5a}L(R6%ZECzlB(B26HO6H()Gs@e@XqVL|DD1syU^_$W zK$h_f1|!Tr?$vy$@kZ~00qhmY6FpQ+9C%D=u(Jq@qyc7ABLm-QjvB&I=opSZ$0t~x zO`K&JD8+|CDjO-=w&3a|fL)N?2vE&6gE_+82hctaD+S=b2LNB7UFWPy_}CXu!@4w@ zj?PsrXTkPnm|xE1%9N5dCF6YBXGy*_plg{q->|VeZQ8Vf=Y}pMMze@VVssC7vrh{2bgmVJiEJ^0o&0cb-+w#uQ4sy?qp0D)|8=Ly5PFMd5nVu z?<+f-b;-0#oU>8l0XJ1`NE1!n6;*M)cxGNp zcu2$cTnBZDmA5Gm&wb%l=`oLgQfQYSgUx=tZvIkkVrfpq_y-)xeQ+$T^$<96W*4#oWwfs$GDjz`OLG zp@nq!&^#a@18C~s68h@xQzwYW5qrm(Dgf~$%y*Mn#2%>yG-zmQLn^NgFcIgVvf8nu zoFJGb&vStIt_qoVf~r#A`UTJ~1Gm)GkO%BdhygR`uul@z%5On}Mxa{9w1dO0D4attot2NR$mn#` zVi(n7W7Y!fXJ_!*$C5&HYCpSxbQI5Y7{~QTPe}IQ`C_vv^QSGXO{}k;4pt;~;tR=1 zfttDnjv=!+t<}k?Y{^L^8I5f69cvWqssKck9jGU2HII+8ngO6)_(i>8f%fb;w<;Y! zI-S1o$pI!PDj9t`sUI3V_YS(0ACs+H9=>sXcF&HdS@yY-VzDQVp>g=06hNAy-dhgZ z#FAA)dXjd-|A_ou-WF(If=n}s|Dt{fMxXi5Ytyw~_;fmsZ8gh^kvZag8PFcAcKViJ zv?CoO(C&&9!Jq)B8N*=NBS`~fCPBz&D^N|g!+tgsd=F-+_r_P5=K`X#)R(B=`lS+R z*VY%P=do+Kg$1`5q!{IhNRxMv_o!4%0kFGfLMSvoEt4oe5@4IGGUkBH#C|9I90%F9 zV^WNEtKH`~N*@Z%td!Co;7m>}fqWz&F~?`yicg1w2M?wzuY6*<{E8=}CVp#VWekN~ zI*0VRma#nejEsiZ=P{)NBDa){eO<7GDT`uX>5y;uL%&kb{+<_}a-KlD@6~e|y#KX` z4d4B$|DHN~HZ7OEPb!Dvv-C9pB&?zFa#_2eiNQU$0I#-*(6H zac-;^A8R^6broTG_}=G!XL{Xhf3*Cki`y4V;H;K_{;PiRSAMPH8n&n7$a-F=;er9$ z1zEd#dMciCHG{4lvqvzT1lKXS1h)cU)~>^FlM&4z#i*XSgW9YSnt^s5fR13G4B)Kv zSU*ln`{sjHq%L_Y+MvprD1qYOqCs#PfVly%TIrY$e(wTgR~uc&qYfDavIVu(1#{V+ zQa0vEgD}j!umH&qhFt>&9%G|)_u-T2o+E>3Vdmom`dR_N+h9Yf)h-|~i_t0QuTiMc z;vm+UZwG}k*u4f{A_}l$!3Fz1&xDgN2DFhk%0mZP+)S!Nue2W7mT8R3A=qi-V>37f znS$94!wc4w$$1}nNw|ZbDi}}B%c$^i{0@~Ux5>1h_bJa`WM_Gu;&WU?3qL3%bgVD08S7!ew@#B4sZ zv>2%vC4f%ysZOlR*GCv24gk74anjY%1Z%!MFL?#fmkmG4GaqMi!E$w(x< zex7N(DP?ivjWB!J@Iy{KZ zI-~+g5BBX%Fs7SelyBd5PS18BJqPNoqV(~J1D0e$P4K2Bs3Z*nN)fb_Ehb_dqSpBl&#YO~kVPw3*1BM@6X}4BPV$q7?MT(_U}a$^{l8LQAn~b>y55KFFes1@$fLZ*h$(Fg6yr_KgxCu%>aKy zjS#b}cKHO(*R^3>6`;&sQ4dD=1wT<_`Qw(v8{y(1v zK=$#;dHnM5EMUv`^w#6dxFKyJhBP2HtTwLTw{=mL{}dBF14A>&D@_w;u$ws-ySPzu z1om7r-@Cf%iGcU$%sZiCWNLu2rCjObCb*^%Qy86ZC+V;iX>J?_;O{-Tk_4a~kbP|2 zGSoKIZs*|yFkh99-anbXcEfNQ>RVw}S}C>nPXHpG>#)|UkE>qx()1HQ{+e$vYdrJ_ z#b@!2@BU<4;X_bS5|MqC?_T{wxgw_-xkkrGt`xCN3E&pnoC*kzO@z%mgLKRwD?mT> zpVy>oKmRGlJ;!k_jBSf;0`(wAuE7W(nC<#RkXatUvzq>Z?X|RhSAo`G>sMnBYaiEO z$NSg>w;3u#dvGiwsGR?1DBOCX<6JH70NQCU)#Sfk@{xB)-K}E(67LQtb#13L*yOJC z4XtB=WQF+J{zD^e?M+E~TpoyXW#<2~j@%R+um9#JX_D>wJ&U(bmZY1~WX znekNR*`8%s``5hh)W0u()sLpT@4dfb$I!qa?*|&-ISgy9`e4)e>-=_xu;WENqSP3-v*gvroPd!vzDhw*ox3 zq03qxYR3Cg?`&Tf-FDLsb~N&2S{Gii{mdTbSC&@_zzg8&m~)D#cDRGa!BK#AL3T7O zBeI-U{cs&;Ho*1~XcuHRD%+w|i_X3RfM=h2q-v&PMg z-DQ!B8l`M6IpIKzPMPy8mqMdG*hRj9l{O zQZ@&X8lF1W>W~eEQ?qPHlQv}?<`D+>*laqu((#x~e~(!M@EH$i{%!E7TBuh>+Eo=GMAaMv7RMAUM-On$L8p;& z8JllQ*AG7;T}K?AgW1UH3ESlA5XaXdIRg{ErlAc7tDP(rhQahe!O;_Kt&kX!y}mFb z_%uelq+KwWT|)OXmWERAhi<(l4c_*N63~9&TTVL0;(FmrUjZAkvP}&3_Xkk>K*f1B z_jdt)=?uC&m|~aU%NstA3oxYqZOGKMn)jjSv@k&n4mvVDgEP>2!Pq;10l7 z2^lSrdYp>ZQ`Wn-bf-hRHl!UJVF1UwIfH@4^7A?B^sM#__6GmMm(2-misLZk7m$r< zfYDw9xnh7x{Q>NaaU@b^0A%MlxND{_b>pvRVQeT30Va-Mdlk;neU~?o2f-cI6Jl2& zT|$2&xUP*8jPTgbwv#r&o{byQUi4DCcu&aGcd~SV{$H?tgwlfG?soz~c|Xh87(hEVoGTFpF=e}}@h-u^{%8tTyT{eQmaipt0*(u^ zZ`q>LR#$r}4+twdVjU7RrZtbxhPia?_)I#6PI}17z>=4!!L8EP6ZHU~y|W%rUtdA2 z6eTV!F>$fTDggmi@@PI?oH320%?vXq5;vSAbRwX$lXEZ#XVBZ99)q=9kA2w0N|su| zd8B9Xopk)@RJ!->3FJR$#c24q7!3l7tAg}n5n~%3P60X>ZL10!dtN*FWPj?r|7iN+r$3iI zcl{UAiNTX;8jxL}Jy`A7+}hm>fOdX{v=W4r8s3+M^IU2GW;uUpM=U^ysAVmd9L^d! zFH2oy09-Sxm{ilzYD^M&d!<Mcr;q;oCo0YyMPW?S5L1F?mXDUy-Klg@o z=iT>Kq^Q3S$0iqIxL|$@CJ)hRH%dO16Sc)dfSntD`xtA7DS%h|U|f%p`;1 z$q9jeWOtZMkoD9C2-*e%z6HjU5;Bd*#n4A{k22&nW|`MJ-1E`9#SCAR*a~9Ad z+|sSedz?aA)R$_QkX3**0ySq0K69e)q2g1CgN5nQhy{yXkR8N^IzA7`eoY#>?b_75 zG#ViLB?k|rCq3y&5qIz2ea6e3FFSwXmwqLE>a(A#$nJWOSXv7laR9EteLe)+Ng$N=?9b6gE_`)DRXnK zTn2$K-`nNE{`*`@EUg8Ow0Cb#PkZk7vyxAT&z9=W3}?cTuhXo2HzHa2BMNS%DqgYZ7#?z*e(e{4Q^N4 zHPGi71=S0wKbh>Yf`D_Kq_96#=0%c;LAxg+Hq{cbrA;|LnD-l$QPeJjU;yyl0dU^l z4%$iVvE$`QfwP8y={cnu+K(1-Q;<00r_$$*8K42LR&!zs; zGvTNG%rSw~NCpz%Zicw`;HzbHCm zoQtaA{w1!hjGtXYWzb!H%4_kCX{%n-?=&4Qo`Jh6p36m=IeF4z*ya&AoxSDk-^Fp2pYQ#% zzf8aTdw*E5@j_U%UCSlLftS20z5M3yjIvrqE^tsCYbW2YxpaWFVco?)J_Xv?-R%UdewzC|6yUgpIm2|o1eTz@`CesUL=Cz*$o zi$a&TK1=0_vhqDw`D#r$w;9tw>zSUOE?lB@u^5$I%UQqG%r}lb0muW=7a+W4alVi2 zXhEN1Cufw^P*Dl_;P_kq$D);rSH3wP&ADFEOB5-dg%k1|&xk=CnIv5N(y#wkaoEb| zdb?N>_vvNPwmeC!{HyouvGu7d1A-|e+X4f1_n#j zT}b$I=UOt9vQKgp4FyI9bX~>FBk0a!Vym%i2S9E|D@1ew;v>?61Q&r#|Hs7&G9W%c9$uHU`}`1i~Dc zQvrYp76C)h-Jp(w>|qLBVr?KTWac>yQP#cLg#rce1+HJsHLJ*r4Dj$(xKs^3m_}d{ zkHK2hbXZg5X#jHlKca|XhFrLUQMolMyvBqE6MYs2(#$kM@PdmG)|tV!WK|j1OTVQo zLSQP4ejbeW+FAq>qbR{FUg8|jTjDw@-x6DvsAJ#Q%BS!c6*ej!Bg7C8eV)!ndq+{_Qlyeny1(Yo4TBmIY54sBK?rcw+a8t7Z)A86( z8Dz8jKF{{LEI@&F z{0XeyxFmf|R`;d{Yri!;Q1`8Ata>wyEdT}l^*%3&{vL~83j2O18~k)}W|W{_ECeFB z>n>)s&n~3l$8IAFw2yz?0`33x_x>Qg=g%sGs!S32Zggbid8ziV_9AP6BbtvEipE!a z-Sc&xijjRq7Z07?#TLRShT9ie=T43FL&pr2~JMOq6J@UvSX(I~4 zrcIk-q0{-LP!t11p#PoyISvzZ0LuoS;mvP;bNH3->+Abk6gjRrLVI&udEmhZ(+5BJ zq4a?de2}?<`IKOHjetk%ni#qSX3tLRy=c1@IMTa)e|pJvH>NJ#=^D3M{qmGd~6I9fi#1?J8f6vx4W9Te&2@Lbk(-{v?Ov`hVsd;`ZwUDQVM+g8oLg3Mna1AE_ z-N@p54~)ug7Sa1zfbYle`y?`801A{(&{BWxf_*Zq8v*7IY}=MD*}gq>LySJG02{`MpEMnLXaK;ye-1`FQff`*qS$&b+O7qT=<@Mn|M32(`{(v2 zzb{@~#c3;ZQoL4Vd(m;aQc6}1Ne*`NIKqv_DY zkESOdc?@gXM~SIGeJ>$<;iFx!eGWM#6J2O?oGAlcv8I+bA;{i{RSTPt*&*^!RGIC@ zin8wr^c5hxt|F^Bz_H)*NPy9DC*}v(uDb4cC1` zy(-+#@C;tZeq7mtS>N+PQBpd4FmM3oJTU9FvdryIrsNTYRqWbxS@X z4qNk2`Tp|n<=0*F#Pm7bV*JF<{CveufyMQp6_L?k?db$Ba#KTZrPN! zZQUIG&Ha`!EKlgC&K!Zkd&u{+r?_%*jT$~=C>%C~JHBu)rVak)_tLLJ-FM&%;K5`;0f;XLy z)OO8oT(+JoyPl7Ge?8n|<}lV|#|F>Kqtte^q}GEwpY^@|=I=g`{^&jLtvLQdShTGu z(0TlE(E#mRwqibW*1+6&;sFFRS91-X1gHxz-sFlaN}v;he#M=jW5t$9NG7``zq$@F zs~9;U7(F|JqyjuEJj)!)K~&jZ0=_dVJYe7euxC-aWLP=jcB^Q#(~u)bRDDd+r!mny z(?0}zN5D7x9qsAHcX>}|2!u7T)Ma8n{N(ZU*i(bS`l*qHq+qFl$%G}y?{mnmZ^uk4 z1MMiV3LOX*5d_s0a3@HBcm1^shRlZVP#Nv8LzsYcY14?C8(IHOIkO6$2Ju;JK7Lx$p)I`wpHzi`qBbHGt1Km0I~JIUdf4*Z~Lx)nSS(LKUBWyg8Q!WBlu>P zDfi@XoN+a@zhu|m-cRHNc+h3w4-R;^cfm@{!Z{)kQ$nu@2yB7 zfu)6p4QX`Cccc;Wd=q0yHEmyE?|Dc8q?gzubOPG5N}Y^$gjih1&>{FwpABIaVVKX0 z0ciio$3C8Z`PY7+Abk6gjTx{f-_zn(pVGx8C~cbPHLFvX<5kKG$DS(5;z3 zW_eogMccK&kzJQxoAzCLd1}RauNK)v>1UdS@gqY7C+(k4r$+$CnIDx4T>M^Ex#qFz zs%DTcX4Af&<#cdURodOHe1oemWT5aP?Eub@JcT+v%AmG& z$(VJ(E(PvAbYsxt0iAbb5H#FP>G;0S#HpuKv-SXyY2oT6(KK>k62_Stmw5cBDL zCD6X!i?+Id)Y7&*UBNi~2mkGN$~QgB?}f}#e9|S9>q}XJi9>|HB_=rj>!aQ5m@3J_ z@`UcdfwlwwM;iziCCEfa9)2v{f6qUshwuARI&=I)I)3^%!E+}e8~~;xtIx1NqT8V8 zfAlV4J7sU(KGfk(F9Yo?rmz^aNE;2ki-xOf&Lw^?0@TZ%MMH@*b+@T*W%*nT5NwaW zLEoo41QEuzV4IXEL`Mwbl2TbCjYrU2_boM$gu-p?>E6aZtmUt| zTUac61L~=cHmuc&-;KrK*fd3OS9KT{;MxJ%W$Mp!{ycr0hZWI``twal`q{VvH&T1| zq&+NVUwZIhy6oz!Q*)1Qwd`RWQ}(ymrcP0OUp*!tpZCQ{Yy8Q_KL;?u3=-z!h= zXYu;m{^fU9ZsgZV+`O%4+O&BK@7=L%H5mxCck8aafeKs((6(K#B;P}k*q(v*viQRB_p$ay4ydD_sORRC+o4Yo$1$GY1EF`@6^t z#z6P`vP$U>{^Wh>;YS}Ye#Yk*^)Shtyk4md>&jM$0Ojd5_-6liKla1ro1XUj?5W{& z;=g}9%^Vqc+T)(Dox6YWEva$mhUe>Y7u|Kv{OxDc;79H~FVEd_>9(}&9%vY#0k4v<~ehLg&M-gcPMT_H3&O{;V~dE|6Dd~68CO28Ny4}m(K2nkO?vx$kU z8AVfpPzI0_uBPQq=FLpX%_zN=OF2d+y_3ZhzC=C7D>(@@!%BA%LeO2mr9#2Fj9DO8 z!2qvENN>g;^)O7Mk>P3b6reJIJEo}{dti7Ij8uhp3D%4CIB8%neVp^0K7SRg^jdwg zRl!Apl|C0fK@nzQftg*2?`)S5FXPflPmxMc67NoPIoe6_-UU&3DuH7_KeB7RzO2ja(%B` zE?E=`S6P@rz^Bdy+jTdiP~|y3gZ|kkcxHtXmB!O8Thl`CPA|KX);ow@w?PHZ0*?Ou zPyTrNU%u^ISIT%Hei6Xa*Yg<$@mp`bHGT4vp9~;QR~0Hmwq4Eus%%o$ zV3Q!^F2X2TDNtFtWV3(0Guj`1|h-22%!D7uYGMY3-*02QaR9W?1ayL_Ot2Gp+o7wfdgs({{668yMt9Jvoe^- z)V0c4@m(;;>_XbdKK8M2J!1e@f%aXyc6}|19M^pK;fLd%_uv0O`og_mj9jOCvlbTy zSZH47BoK8r5V79=5I1fnsP>A&pDXCf>u*kOr?|n=o?)?antW)eIz4*2DxDlgRmR=i zvOu)sF6UR{2cn^B5*K?@XqTmQt#Ew!_MUbd4jPsfMYJM`&)TQfVjOG zYdG@!d=)^u@f?}&32IsgvsPIQPCfJVBtU-7GgzOEoWYF^q=9Ozo2mh*TL9&|0L~3u zIRt@VkURpbbplz?V2@b_5R}8RjfZO`cR+0D#EMWWN#y|3&^T;tuCGiIKqlJ+_GG~e zwAY5!pg=ov3|XMP0NZsPm_c;N5XflCkJU{x1lqo5-OuPXXHhOI$Y!} zrc(pTt+2X-{g2xmK=TO*9FhwBZVowyde02WEc@vvSBuOVguf{k9?Y&UHxrDs1@~*s z#5OV4QFdRMGSSwpZE4#U6n}iLiwT+gVVIjouy!;Sj{vD)d?&61+W_2+X{5`=mKJ0? z0=&}gNl3ZO*}D46V7vamk)Hs3Y5~pbh?P=3g>?ckDk6-6q9gW^+B2Jnlzb4#$hX&|we z_NeP3-9FfkWQxa_%a|6j5XUR^p1o!|X z@6m-d%;s%d()PZ-^b!K1Ui*q0Qv0SY?6n3sCjQ0O(iXReMv*s`w)!K#UH6&t-}rjY z?_yu^xz_QkXBOXH^M-FjKU3yhP3sxNPJMQ*xKZEx)BhzFQ7mPEyXaKGXpgZr*HZBW zg6wAl?NR5pQQC^~kgiaQ+Kp=#b;~>w16%Ps@62zkxJ}$M-_0>p*-C4{tm|c>Uf#?2 z$o^`^u?X0y&_TlJlJNh5f>qF~$xO?h%>VNqLpR{P7~&|p{(i&x}DfV|k@`>+kU zh^Hl1k?beBV(r4M>Vdtx)Be4E^wCUIa6Sy;B7H3^^69VTa%dHkjxIP|T-OCyHJ?6P zk#ZdsFQnL-KP_^REBEAI&RPHe{rUg^KmbWZK~((DuX*KwVq2aMofC`n{ty0R`pli5 zFMh_SZr!wyTCcQLQ0;eq@7vN_-<;hmJ)3g92(&+&TDowKxsZYO(_k^*|F7RwSy^<# zleqM~7}G@ow5zOlV}4eissOb%O&tm4!U;Njw4*EtpbCo1Y)3-0v8Zy9|UM0 z8ih>+$gVF-gFzYCLm%pSdMq*IOU!tI_*Qa*%nFWB7&N$5C`*W=vf0hdcmcA{!0MWS zHIac{1OXaoEfZ-MZb`ZTMFQ-`N4P#sPn;e~Cp2@0B~nZ?PFf~~*l>qKIa;{Cij2%8 zpI4DvrdJF5ELZqn=QPbb^att!Lk5bMQ3NxiJr*9AKGyZK zt~v4uCf1{vmg(-Mhed>XoYU({CVZr#q*{-fXL^Zhm{;{oqUHpfeHLYI29}9T6MdmO zNw(qYLsonvtoRJH!z}G-PQCa;*Z-sE>HAR=X%&M>CirnpJORM6tfVlKP3wFES_%{{ zd1TJ1oXc)knbm?|Ox6`ZyW5n(qMXd@PW}<(l=h*xTL@`_Z7MY?_e~1QdNJ z&<1R1=}p~Nygqf28`?K!n0*Sc`K^9+&yaz3gjrbZ;UWgGeFbP|oXYLUza@#0 zEf)jOu8H=|Z+O!=mAam8F|_#5@}oQjqm@4XLP?HUbNGy&r_J{QAa2Cf)#aC8mTtcJ z=JZY9^iAiC0ngWSl>_a%bh`ca+oPZE*s&vR-@ZM3wHKheb9OKpnO}-e&121n4<8Pf zP=0>bcYRlS>s#NN`uh5wuVS8a9m}d4DuMRLpFEVFAlKpctAVn(=(^rX#k5?xwmj?U z7DM@CvlfJBrEh%0w+ARCkhTmsFjIpI6UNae2W!(Kr)$%RVP;0!lR6C*6p598KvjBAWRq^JQj@92Vw*Gb@a{DkAOLXcYd z!mP!kbHDPD?j)LN6Ilkx?gzsa81lg=3+*Ek8C;ZeDCh3R1QM_dKkdk2VUbAP2%ZGU zPG#vrCR`RW#(1tK`vxeigVEm7wU`=P0ZbH8Re5m|w*C~P0t4CmId8C08gWwCnPPvERdAL^$@P$}BZMYN&V3mdNX69Qt7aXHp zHLDdM_twpafWJV0Js^9-EX0;6{JM|9&>rQuMuNq*BMUdNU`-t?0sfA&xG;?Sm@@=L z9qz9L+67J5GnT~83q}iJ4hWY= zEc!?^X^=2OrLV{szJLDtTlPCBdU^ns+HIe_C4CWA`#dC;sTtU=0E51ds%q*V=BteM zcyF8+?o{F`wrfc;&B)HMziDTJbKHX80_}Ank4?`&Jfgq5KqScC1p!HYrx~za3tnYY zi7see$mJ~j7}tqB3vlmTX3%)aLIRnswksF90QO|V*YjJ}`3wtrvpi44RRClh8X1oG zNfKc!Pdqa~VdzNIoADN0K;vPM&2qc7?CLHu+O-mPu9^^71hn^=18Ao|2vm&-v*cQeV7M@fOZD#u>A5pk22z%6vrRx?`sl&7En>7Pii{Ki+5Z+hDAF9PjPTRj)t&I=i6x3a$N z&EH*Gz+A1m^^Rq*T9Who?V3@45^p+2aM!J_k6c`xpho zcGx`ntCUGTOi-{XlnRA4eF&;RYyK$MU~mhw%;>@4v0&B@4v(inKy4XG5g3Sx&S!A) zwLAuOEzkNKRBrUyERSw-^uI3Ht_i1RZw5rw+&MD@U}~{l0NHaCbQhVdbz?oF@QDCi z58$8>%_+ewpGJWb$R1~vx242Xa`jwa<>Le)oo14rL2y?PiHQtBMiXk4U(KCWs_TsZ%fL;(?!E*ukAM-pzn1rH4$gYuXWnfr^rC`4y zxny>jEF2grDv+3;s(h-@szi^W5Na_XlT7)|I@7c?yD$*&m!Yq3aC}p84Z(El&dEAh zFucD4`fM{eShowE1jnkn#gAfbWIt z7y$@f$9(BaUrNWz%w4l`VnOZ8JRkoD2Kougcq&-%y7d{t^slzLCpC6%P4%rT$_b#0 z*7!+#uWjl`tvg?u+IGH-V77bgSD98_$7D9Uf_4VlaUFxO8-aKbUc&^H zHs|NX;5x?Yy!rKS3KP`ws$EZp)mrYAR5WD3y-<>isBt~UR?J}kG(e47r+u#27^gZA6 zJ!#LLJg#0y(OO&M+|P=ubgFjr)+!%*v@Aa*U=~ZILiDOGUCAS5TNxC zjPjJaHy~$rV9^&KpbN=V9Sq|JthRaxR@zOTMXnhEWS;;~SGKL=`R8$^Gc~ORBeL2U zL21bo6O@sxn->Hzr%CEC%fv2FYl)XZcx22H$t2`LWka$utL5Laxs_m^ZQ%~4minm0 z`b!|wvMZZe2H$}eh)WP8luz~f-i?oUL)HChf}rPuzk;@tJlE(j9Gp0P3KwLj(h%di;JMiwMce07Kk{^i0CB@Q zfPQ9K{L_No(}BANV>^xDa%z~xF9BNvQaXOwh!qR#)v?e)+p!q^##g;6z3MfuNt<`| zr7CoYT34;&o#ej)xL#k`Grz4UNj$snQP&~trM}r;I@jN;srX)ex~Kem=}0fLM*6Xz z{F!tY77OLcm^ivwT934r1z~&lmh_$f=9gBA^CHmh*!v>TZr@oe*`JEM*8bd8^PE$@ zUtM@Dp#7mQKazg`kKbERv2Z^Us8Bc8x&jaP|q%Qngett@LQ2_00nP@i845hxh$q0PYCIRRI6fC_qyP)hf(2D9rj`tU$QJ?Wqk8$H5+*yoxw$TN;S038lORsvVnBrs z6I9MskyW7+{8n+$FR37ofVlv>%Ay4mK-CZXNGu9q4hkF2pkOlE$Jsu~Vt|6JvaL#F zBfyHTX98@e4rB}Yj4m1kLq_Hg$GRY4+lh0zX9&k^=RftFpJA@HIgM_+x}q2Rtm_qc zXe|>>#Ef+3r$1g%#tZR>3pTRaRn|_PJQ=>5^&hxaDnNIGr9S%Tqrpx+0pNa|T-&id zwQadHHTCSIy=e+hMtIR|v8Ep8QuoftHI10810Yn>=Bvon!GO2te0531Ho*3hk{Ilg z`5X*&ab}D@$oN$1i_0*`+@FE=+X#j_MljU<5fJqiuXshe;f5R1?%lh;x`JGQXMOvd z-$ty8N}ufO8F)yay85y$PmX7fl`oX!e5aZIEPbX3N_EBMm#0?&0^E4xjeup9pzT-t zTt#2=d=-{*pxr>IpZLTlk}hN%Prawdc+OYKUdMd`LY||mneY3)?@RA^$2-#Ay?fpL zoKsOo?_HkUE;Gyg;SYZ}edt3U!bkgqfHlr9`j8eJb-t@qZpyE5zP<-gb{3myJp&Kv zu0bE|<*5!C<2B#$%`pcr3Y57hj!b1R^+Q7q=~39mCx@{t0|;Bj1x36M=3D{1nx&~! z3)sG`VKnV&9!cAqrvY)1kI2r;ysGf(Jm(@ka~4tqY-U{0Q~~ND6DW%zV(R zbzoDIt2ky!pnZ8d*x@q7t2oE`WEokY7GSoH+%!-8oCaK>)We`g)-lU0oWkO5ip6*> z5X}Z~)rV{>zS5q22Ct<%4ao%tOqBp2@a}e*iMD0smRjV^70_DQ(`Pq3|4{x>=C)yo z3IhOor&%OE#hBR9Sqq?zjM-&epDfpKIPw_sDva~q&Af+A4Z-l2)jkKf-bh>fjA25TQGWL2!G}TrX3xn?s$0u7d}H4bLk&$G%2$Q#PeB$EM~du`1Bp?F0r?_ z1xpzTCd#Zi&*1OZT!j^ZZeq;(j-SS7zR%t*(B1=Kf}1HXBDO_&=P2hWGNbagGL~{* zOAAcm#qQL$upu=pv?5FM#>r>qSUjISnMM|eVKE~EL-3o@FF(&VH4d3#gmK$Km!;Fl z3+0T{vRz;EuNw#gEs3T)ef1WE#mgx^D}i>~k>i9Bk_A(qb(8XLZNfiIqzemNosugApK6Mn6X}_VDmLU+6#dWBYI; zi^>1u)i&W;}3+NxKjCK~GO37!`idgqC>gh3V*f(jT)`5(6iFWE` zMQTJYXx4QM?h5zs-Iez5(REC=GIHz*nTqF7wmX~Au3z?o(XJ)27A_U<#5Yjh?2DW7 zS$bXZS+;rQD^(NyePsh*D2{*a!py;?`YRo9>h$UK?*H^VrC<5O_u^c#UTMp=ZRgzj zFaPw9SZu8H+kVbLWgA`u+RG~A1@QGk2ikw=M}8tbb@W(8O|G{~%ZkFB#~&93(7u+5 zX4`as+F7s9Y|Q~nKzoeHC_jv@f~5k}0@SkEivXz#I%BZ14Tc)$I=Pfy*fOK@JOWw4 z5|LHWj=-l7t_q$Ste9zkeVdBOt{H=8%n?E6Co8n*x2mx8brt zhPsoGK~j&OI2}N{0kUMX>tbaJfLNh6z-W~p1iZ)!*iIPaM*OYoE=D$cem)l!d{&r5 z0lw?kT_Ki9UE#&&BRhG@L~7Cn4nWf+!2Tpma80#m1g`bQv+hc%^dcC##Z0Tun;BR7y`h@l)J zth?x;8J^`-_@4%7cM&0kA>S#*4W*g-%xrfT46H{4CFGdA2!cX`;4r%L8!EcGb$n`_ zCTki08#ZmMC{Gj5{Hc%qW5u=$@rUg*%z1h5vf4-Sl_#iob_(T^cjV_Ik31S|+J_!~ z7-j2NI(+14s_Wj9I(A-@S~l%Nz6SWC4Hv<81k-DqyCT=r5$gb;y$bgc)iAU&(4GOG z%6rlnY`)KwER)KB=mO8e4;bwL?O5F`V!9bV+Y5nM(49Q|`0Z)rvD;H~8pjNCA9-(p z>^IzSecIjEM}Jp2cs4hGroyf7{_lC`ze-OYeyXAnx>wT8(t4z|f;<|a)i(G-Nh*K> zv9mK%Y3KIs1R~v@uDs&%^vYMhGPzjuKLfOv_p#!;?a;YErOO4b!?=9W9g8lW^ncz1 z)6eX2vK`F!=kn~f04GaItH-tzaJpc$7eM>7Y4euL6!Ti?yX7+%$@>W~>0at1ANff7 zN5J-nAAS^Nk2#9@O@%cW$139MoGgbHZ{=y8@(-M~Kvll~Yx!OGKAmR;d2GOs_p9G@ z1M|LQ1hFhYJmi@r@~O#&bZoRS4NmeKP&)f)M`j5bLZF?HspQ_;$+V?zJZ)&03DSZt zCVZ12bMd7L;J%7Q_2p`Tb`*R-^ICxKTG+G;^Z0|G5o~ACw0aJ*1J*+c7kSGwlw~H> zH4+T5k(e{D2Q2)&?YGt4uCUD3n$SI5&Ik=<19a*p%nXO>83%2VvMv!5Mws?kM>H{OA zSX2&?hhc%&;SU{C{BFv`P%mI3*x*Q14cVf#3%5Cd@vJ`}J0XKmM=h-a)w=2+IP5S1 zS_wcqjUW1H{J4*e;?H~t_cjExm%SbY0j}z`1;3TUe5SY;f{yZ8M>oOk$O7QuV;(t9 zwz~4HE)(04TXnCoz+#D+8lmoy4*^~m7LfJkl}%+f=kxsToeH3lUP;}uh|c1R0cVxF z1eRJCyHfjNZ)#iwXt(ZZRD<&a>Gb@mgqMAuQ;X7So^KBF0i+oeAKoYbqR!*}3V>(1 zIqI1<>G?xgPmE(h^dO6(pTF()^bnRk%Z|qca1WpzkR2Qu-NJVW5k*i;k^=wqXKnyo znmmbvmg(b5SYRmYP#oFcTCPx1+U_C?E^TSw{vGL(OZsS6=uNoGbZk@B_C32WRZ~sS zM~Es7ScNv$w*i8CO+j|!Gk7EPC&qy$7IPYCgR-J)`BcW5$GwbxqsIV_$A}?yW z;l*3xEUag26Tyfzm%Jt2ygPmdqD zZ_`d`ljd+aR@xu?I4S#Quat4D11&(R$m$$95NmNa7O!y`V?fj#4AuU%T1Pn;Dp&>c zkaf2N87@F}uH(XoIJVs+%KdrVf|5_ z#*kkpS?Ipl(nSHZuf;;_nm(1b)eDd?K`>b=ggM!$jW~WI`voW-X0A*Cve8|QbwZs& z!4f$vHu)BWkl z36v<@meiuq)iT+3AjtLh_M|QZj;w&yq|>Jd5D-tMewgio)vn}Q9>LCGFoKWXMng9znWbv3do4JZeq0`0oTO?O?*3C zFhF@42h^Y7p87c-9@8J&bg-H9^Jrvo*&Z$qoEaFQoTIF6Yx;{&Lv|_;7cP`LKy5(# zJjrGN+X-86Tfkq}GtO^g_@f_Val^^ai7(hWydxEY?#>qc40lA?3NR)FF5Zi>iSHBX z12;0bdO_iw6^uttZU@68nmG#VI&p|P>$U(XGSn?%B7N4WP|pZ z1>RNM3YM5I;lBI3zdOC{ZEp+LF{^;l)0f^dnjI^OaYCi8{JFiK!IjM)|ME4fbi+>bbj{w+`2C)PwVM_dMy@Wb6ahC=Z$x%! zYzLsI<-Ky8fLo2MR~WCd*(ay!k=+=l7iFyiA^@^4EaOWT9(-;60x}nF=5V{B<(>iJ zTjpTI;+mvw5x_6Cky}9%VbGF+Cjid{&|$PAFz9+tw=&BCv|~MI+XA#)kRSl~HV5FS zJG>e4Ec25xW3VXc7Xpnc%MvM+Hw9e66^r}$E;!r|ll=r1k7uyd8k-m=kFhvahcEQz zv|$6xdw_N0>=;vK204TOslJ(QP0Tbdb-&EQ$TIJIaTz&E|K8-* zrOwnL(2iT50Lr-T@FGCz!WjbWjsaHTj)pu$5ZI$fCV5um)HBGAzMrzRp4L%ou@FD` zPaj0jXf7+^v;A7kKgDN0j~dMa?8;@_l8*_ogg>;9*z0y(ph;3G2ii}aI+X@bo=9It zR{Fx{Kc5~Y7_~tA0{+gmAE^asxBVI1wgZ__f<~QW8)Tx<(Qz{4Ik64qU05M6FVhFP zrT0@Cko{c`FkX+P#g?r->541&rGr-;pzRt501FbvfP&H91Pi0U`uc@hv zve&AJbm7tTYyrW(~(T!Low70je0PUmn%Q3Dy$s%?D?L4Qk z0_=}9j2qX#@*C5Q-}Fss*Zu>k1vY$}{+~#`1M4IHacm{f?)%9=ySj(pgUCev`h7L? zHGY?W`n{Aq^%>H8|LiZ)@BaQDR2;RQ)=_Jb zfh3M`{IY%-wxW8hvAmo1?l|mt%y?a#6a69P_dG6#PjJSgB8e9)B8v;`FCv#OLR=_a zFkJGTIeCsI)x_1~Jy;47ZM#UiqT97+U)r^MUut6!M>k~I;w8U0 z7dF)^{VbAme}3nDGQfu$%d)bDOvIDhpY2EL&MS#Z(6)@0#b?eX%_R<5qJJ;4$f@p8 zxUY;p#9sZ-yHGVwKxD^@SbVTj$=0KFs=THgQlzlFV?NV*y%T((1DCo2>yapaEH*ob zI1d7-iwP9TIk0f08#v%4ZzB@+;0YD7v})*>k-zZCP*B znRW(EUtFrnFJ(j|+`3Yk3-j1=Iw0NC3AklWZU!yK_Q@&LYH zj}zGR4F2Dzkj$pZt(eUP&T1=iJ$@(9rGGyCjLFlP66vd=829up7sQMh4o;xnMCK}}?W`|Klt>;uCSm|;$_ zTJ0oS%Zhbl1VHV^FaD|1!|5c?G!ARrwG65%gh&Mp=o}vAtAHUG@mn| zqkw!N%qb&<@Wbcm&g-~E78Z(uXT2tC-C?*ORi0ENKJ@;-D&O>i{2q0Wz$b{O(x`ix z#}6G%k38{Idg7_$>102yn8-a__M{#AuSy%X?cu#3$OWS^3$L187O4Q?WiJZ0>po^0 zW**%(O#&7y0=VcJL7`8J%m zdd_a=zL#+XyMmc+Io;;DW)%=j&^OTC6bzW4N5o_OMk$oJs0_HO(WpE`XefcBQQ z_PE#C^|4;RnH~Y8D*aDeN9$$Eyq2rJ7MRsHy!O((NKM(OzyOtHGEXlNuv5l4W2mgv zdFEo>$%Uyqb9oh@hPerbdMj-8X0qU(@{MGN30=4GK3f5MTgWx_$OX8CVdmy+#^~jG z-aFv(R3ji74DY20@;I^p%x%E;}VFJ+fGv76A1Yh_ADZ>%Y{Vx~tj& z%dlXgu9cdc_sz->F5b^m<|P>PW)};BY0Z8?_IVcMWwr~n&mlhwye%-!S0Sv)Ky=X| z1MRvb5=_Z}d$=y+`zfq=j-G+BJ%lw6E;h_PxLesGqaBwkg$1V9oJD?70%dA~rLT`@ zYJuE<+n8q9?9Ir4lQ7r^2jy;UD+!${{(Dg z;P2Sefg22DuU-~807@Ikvj(WdGEio7;X1Jjusi{l3q;IK1GG<5SBosH;9q-w&U+J( zm8^`Zbz=}0IKQ4}PXg^V*+L;$lL&Gx0PSsyFh60m>%!0WKDsoVhL;A@RMi;ezyh;@ zZ6mV*vX9_CX6O{}n1JWyX#}?RTGnsn$9yfmJMPG6FHcH>cYOL2<(rauN+%^_p_8d?OCJ` z{=+|}cmLLJR~$JH62cd8Lf8c;~#$`z-YNLRRpg0GJui3%x6v z0DZw@Z0~~X63JGRbC1Wnn5fGm2{*K%QW98?9DRT|UdU5LBXv>Y#E~b{N%HVeKf#!X z8Q0L$R}y!RhQX&3cf7N_vw^wgz-0&1fy)nK5!Q?Q6c((Ii9E_bTA;fSYhFpb*ZgW} zAGC=j%1q~7*&WZ!$+2+8{roIa==`**3^c1Zi+ij#6!ncI7cZE54o;{yNJKz?gu`|f3?~J%fVeBM4*tbdqzf5Y z)=t!}!kPtPowOB}1dY9hZcYT<4a%i2cHOpgv6|c60b>d4$M?rI0!2Rw1Hume2J{U?oLjinnsg+4*8lZg|*3u|I`{3{-K>KX?#WcuR zds_o0m8~#7y3*M5EhjFeidRg!?(}N|BQrXqnm^N)}BbXNMb!58n9<2W*j#(@z?kdAF#bgb*IvxuJ zDCm|!;8Y-faHQl5R4tep)+tz5Gu}&+HyPft^$gG&N;ArHxQ;>DZ-!Cmf{F_(3JEgX zr(v?WU!f$g_^Y1hTBI>U&~5Y zR$~2r>7|#Zm%Z#|Y4`5k(GTs5#z(mCzWajRUbv2NG1K;{tAHY_XcpOhg6l>3+`fJL z_OxTiju@9!*2@@BOn(=ep!nja*uk!nz_wSUY@hnEWljg}2$Ip9Fyy02_gIl|6 z)3vYOPq6^M$m-B7%#|$wvof0J@Y~F^4sgxf&RnfdZ(wvm;P9`@1l<78Kn!#~5tnFJ zf^gHw0~1)I>8hbkS1GWVtLv2NxJLZr1l(23&H}PeHRCb`;606TU05~xamQ!4xw;l* zTfgm|gG{lEtWv*#>xo6&pTK6{Pz$J5L-0+&vU=P-Xp!dv`YiVsWH&>!7Iq}#8Uq<& z0r_Hq&si4&$Od9`te8XIS>&B9A#ep_9hoOse8`8I%`0OHIz&51ju31=j$4aECr<;k zTxSVjmbVNP zf;A)Zy1_DaQPQ&1g-f3v-cM^DZ+K@DxKSIcg4D5udGa*i?u@P*csB%nl`TJb0{1|; zdMi)s73fh5nhj?KnHLbe(AuRGUqY+V1vnOjZiIYLhg>~8l!12T z|5@6^Ebl=p1}+Zxj0}%Eig`Y}d%GeCYTxcH=?Z}Mt6p*my45gx0|DXf`^fEP7ezZ- zSzr-lCuTyb!&-s`p=IW?`K6g)#U~b&U?~Jy!7+jYD$di#8Bb{Yq4=nXa9rDCuw3FP#@@od2CST={emS;i3qzeGsdY zQLIk9@3Q@dlNsJp4d-3`(wC-}FwgATzd!YC+{`ogqA%pQPn5E>2%Oz;M$9Waa`dx) zjtnKhzKE{6z?K`7BCcqb%N0{?sMw5qc=&v+)uIub&Z_L-vN91SD?N(5`9B9vkLU4*; zbkja*rVj!&Nmf%a#t zq6_MP3ms_xe}3n`rjLH&Qx$cl%U4~$UTo>20NNF3%l&=%lDAAAPCW?jAy6{Gpi5-s zfq^xqEG7!a@n8x$DWFt10jLm#4>2ZzkukhM!hja=4bw-I15KDSV=hlJPBfvEa06Y% zwBWj>m8?*@v8z3p?u!Ts21iw>H4y5F;pz0yQv>OdW0Nqbs!=>z@CVpRZj0-eby8Fs6DW33 zA%DW4=exp-0;}em`W;sQoi8cG6M)}C!&9(01fx-cU{1ATCcc4SSiRkyXMK-B0hQ&&D5w62wLBm&8cLu3;S^xJhVEi4O9P6t=4eB_&*4$nECTIJ zy9zGTJg4q~RC)^_NY_ESjEO*~GS+y1!Ey<S_jizEev}E6O-ZOIg~!b!+)V;u&!BGYGKJbAL zq`&|Bzb6o1S8Cp{kGz}Ur#n(J`I_CG>H57b=`vV?ra}lj`@8+5NZclV9vZ?O&55P- zNI#Y+OZdQrt+$LH(P{&y5=b@5Q#wtMW+j~?_^n>OIBF?;C1Q#!*bcK@hWp|yz7xrF z6a8TAPeq>Ye=^Ms97_9lZH^$328wiH=xnzbEBAf@eEG#+`jzyFTR&4#()FCI*E08i z!2#`zFOvWmDu7o4vR{qc7(Xw&?6SzVmrzKZ3rpD-P<$`?g?-9^SoSOZn41OKi}Rg_ z%(|p`9Rc8E%ZJi};&S-#;q(x|jf{53Rh0z;H+2A92&VYmEQ8TD>}RoE5WcvM<+5+B z_2~k@{rBIW9(?e@V5UF*_~XG;_kEeYu0Z>hS6-Rk_{KM;H@x8u>?gq2;6OZ+i*k38 zBRDs6ymNwchq`W_| zuAl9gZ)aU(Z(x`^*KZk(KBQcfcEN|62lQNP`4>HjNvr|QEjVkOB-u@(}p^L-Fip} z(8Ohv&I7Jn=2^0f@pF&{5W4`}kv#y`mykK;1=Kx*BB=&~T# zz8P&eqhW*baqfc7qAKC_Dyc1a~^EkFf#^er9!rKz8)1!PX%>Evh?K)>18 zDwE_X77tnoirPv&*WouF7mX8uSu7+kRuK>vi-Yzy2oJcwX<8%*|l{{lD@3$TFXMXp#Q+}S!CWypnbjEkhw^BwzL!iA4P^p2=Ud_8FZUQenEx{A@?~l~-SrcJAAsHf`O8Z{ zpX@GD(KL$RYkiiE`RwQKO8@R>f4<^~^>jnF7D?{fSAS=^`i9r8lreyIbgemocJx^L zd?6EfP*~qEmOdAtUHKw2+MRCzc+nG!B%6JKc2j`telOVES_&R{@{x4piAT~<|0%}O z!Ehf_oLhkGw5aG~#d~#sBMVdqUvgbK_|ofA&xXxmrB(p#HdXa?S>S^0MY2mX^hMWR zpp6EZZKZ$bCT_d({KBfeI5)eD6`wG>pHkU`N-2V*3bcn0cWzVy(%o&GpQ)(~w1@lM z0#vs^rKER&%EZ&NO?;(>Yh?{PA7dFMCc5bRm4J3Z_F%R1E(F_G80}m!VrJTH<>YEZ!LUZjQ@L|qj0u)&v=TT}kX;Zx{LV932j~xj z-N`LxYK27(G)(AFE^${gi(=XgnBQW?Jh=^p zs0|=vYyvkIkzo)6wwn!TB1@nS+va){S52BXZ|)+nS2y2l)8Ob34EYH_>a4)(OWojO z0`;1q_76>PUCgmj-eh;R2(EiSe2=yf?5hJXy~^WJZuJ#9T>{lzB+;a*4xmO?F*7Li z0`2t(xpfG&Y>I_|%(6Fds@XuBEHJ20`$^9J*8R*`L9Yd{$aW!v%es>_76DnEj1gc| zp0l!=&FoZe4%hDlXs-lF2KxsP7|;J?-HH;^#^hX{`gUwjfBxP-F5mQm`L4h-jKX6U z3^YIaRLCXu5AZW=a#*xW7E#mv2j{gZU!Z+cddEB75n%fZ9ccgM zUwwD_$j3ifQ8Vl1Gt{|4Mten~DFo17vGKzAQ7D^^-88n9LOIV&VcM=zxOw9S#@>x- z8_!j^a4CTAv)SbW+yX=b>1NsN1|F6*e&?NcM(*wHO$H_vFfaVEA2@Iz*x~}(ZZ~_L zZk+6&1!G;Xy*zvWB71N5`P=?jq�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 z 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�}K)yixY;U1)7Q&Smz<2wB_5jU5GQVre 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 z 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 ECNaSwvV*ZloOA+McO@%%E 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 NH16u&sZf3p`hVL~BGdo? literal 0 HcmV?d00001 diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md new file mode 100644 index 0000000000..df7351264c --- /dev/null +++ b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md @@ -0,0 +1,113 @@ +--- +layout: blog +title: "Introducing Kube-scheduler-simulator" +date: 2024-07-xx +slug: introducing-kube-scheduler-simulator +canonicalUrl: https://kubernetes.dev/blog/2024/07/xx/introducing-kube-scheduler-simulator/ +author: Kensei Nakada (Tetrate) +--- + +The Kubernetes Scheduler is a crucial control plane component responsible for determining which Node a Pod will run on. +Thus, anyone utilizing Kubernetes relies on the scheduler. + +[Kube-scheduler-simulator](sigs.k8s.io/kube-scheduler-simulator) is a simulator for the Kubernetes scheduler, initially developed by Kensei Nakada as part of [Google Summer of Code 2021](https://summerofcode.withgoogle.com/). +This tool allows users to closely examine the scheduler’s behavior and decisions, +making it useful for both casual users who employ scheduling constraints (e.g., PodAffinity) +and experts who extend the scheduler with custom plugins. + +## Motivation + +The scheduler often appears as a black box, +composed of many plugins that each contribute to the scheduling decision-making process from their unique perspectives. +Understanding its behavior can be challenging due to the multitude of factors it considers. +Even if a Pod seems to be scheduled as expected in your simple test cluster, +it’s maybe because of a different reason from what you imagine, +and could result in unexpected scheduling results in a large production environment. + +The scheduler simulator aims to reveal this black box, +enabling users to test their scheduling constraints, scheduler configurations, +and custom plugins while checking every detailed part of scheduling decisions. + +## What’s Kube-scheduler-simulator? + +The simulator’s core feature is its ability to expose the internal decisions of the scheduler. +The scheduler operates based on the [Scheduling Framework](/concepts/scheduling-eviction/scheduling-framework/), +utilizing various plugins at different extension points; +filter Nodes (Filter phase), score Nodes (Score phase), and ultimately determine the best Node for the Pod. + +The simulator allows users to create Kubernetes resources and observe how each plugin influences the scheduling decisions for Pods. +This visibility helps users understand the scheduler’s workings and define appropriate scheduling constraints. + +![Screenshot of the simulator web frontend](./simulator.png) + +Inside the simulator, instead of the vanilla scheduler, +it runs the debuggable scheduler, which outputs each scheduler plugin’s result from every extension point to Pod’s annotations. +Inside the simulator, a debuggable scheduler runs instead of the vanilla scheduler. +This debuggable scheduler outputs the results of each scheduler plugin at every extension point to the Pod’s annotations. +Actually, the web frontend just shows the results reading from the annotations. + +```yaml +kind: Pod +apiVersion: v1 +metadata: + annotations: + scheduler-simulator/bind-result: '{"DefaultBinder":"success"}' + scheduler-simulator/filter-result: >- + {"node-jjfg5":{"NodeName":"passed","NodeResourcesFit":"passed","NodeUnschedulable":"passed","TaintToleration":"passed"},"node-mtb5x":{"NodeName":"passed","NodeResourcesFit":"passed","NodeUnschedulable":"passed","TaintToleration":"passed"}} + scheduler-simulator/finalscore-result: >- + {"node-jjfg5":{"ImageLocality":"0","NodeAffinity":"0","NodeResourcesBalancedAllocation":"52","NodeResourcesFit":"47","TaintToleration":"300","VolumeBinding":"0"},"node-mtb5x":{"ImageLocality":"0","NodeAffinity":"0","NodeResourcesBalancedAllocation":"76","NodeResourcesFit":"73","TaintToleration":"300","VolumeBinding":"0"}} + scheduler-simulator/permit-result: '{}' + scheduler-simulator/permit-result-timeout: '{}' + scheduler-simulator/postfilter-result: '{}' + scheduler-simulator/prebind-result: '{"VolumeBinding":"success"}' + scheduler-simulator/prefilter-result: '{}' + scheduler-simulator/prefilter-result-status: >- + {"AzureDiskLimits":"","EBSLimits":"","GCEPDLimits":"","InterPodAffinity":"","NodeAffinity":"","NodePorts":"","NodeResourcesFit":"success","NodeVolumeLimits":"","PodTopologySpread":"","VolumeBinding":"","VolumeRestrictions":"","VolumeZone":""} + scheduler-simulator/prescore-result: >- + {"InterPodAffinity":"","NodeAffinity":"success","NodeResourcesBalancedAllocation":"success","NodeResourcesFit":"success","PodTopologySpread":"","TaintToleration":"success"} + scheduler-simulator/reserve-result: '{"VolumeBinding":"success"}' + scheduler-simulator/result-history: >- + [{"scheduler-simulator/bind-result":"{\"DefaultBinder\":\"success\"}","scheduler-simulator/filter-result":"{\"node-jjfg5\":{\"NodeName\":\"passed\",\"NodeResourcesFit\":\"passed\",\"NodeUnschedulable\":\"passed\",\"TaintToleration\":\"passed\"},\"node-mtb5x\":{\"NodeName\":\"passed\",\"NodeResourcesFit\":\"passed\",\"NodeUnschedulable\":\"passed\",\"TaintToleration\":\"passed\"}}","scheduler-simulator/finalscore-result":"{\"node-jjfg5\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"52\",\"NodeResourcesFit\":\"47\",\"TaintToleration\":\"300\",\"VolumeBinding\":\"0\"},\"node-mtb5x\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"76\",\"NodeResourcesFit\":\"73\",\"TaintToleration\":\"300\",\"VolumeBinding\":\"0\"}}","scheduler-simulator/permit-result":"{}","scheduler-simulator/permit-result-timeout":"{}","scheduler-simulator/postfilter-result":"{}","scheduler-simulator/prebind-result":"{\"VolumeBinding\":\"success\"}","scheduler-simulator/prefilter-result":"{}","scheduler-simulator/prefilter-result-status":"{\"AzureDiskLimits\":\"\",\"EBSLimits\":\"\",\"GCEPDLimits\":\"\",\"InterPodAffinity\":\"\",\"NodeAffinity\":\"\",\"NodePorts\":\"\",\"NodeResourcesFit\":\"success\",\"NodeVolumeLimits\":\"\",\"PodTopologySpread\":\"\",\"VolumeBinding\":\"\",\"VolumeRestrictions\":\"\",\"VolumeZone\":\"\"}","scheduler-simulator/prescore-result":"{\"InterPodAffinity\":\"\",\"NodeAffinity\":\"success\",\"NodeResourcesBalancedAllocation\":\"success\",\"NodeResourcesFit\":\"success\",\"PodTopologySpread\":\"\",\"TaintToleration\":\"success\"}","scheduler-simulator/reserve-result":"{\"VolumeBinding\":\"success\"}","scheduler-simulator/score-result":"{\"node-jjfg5\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"52\",\"NodeResourcesFit\":\"47\",\"TaintToleration\":\"0\",\"VolumeBinding\":\"0\"},\"node-mtb5x\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"76\",\"NodeResourcesFit\":\"73\",\"TaintToleration\":\"0\",\"VolumeBinding\":\"0\"}}","scheduler-simulator/selected-node":"node-mtb5x"}] + scheduler-simulator/score-result: >- + {"node-jjfg5":{"ImageLocality":"0","NodeAffinity":"0","NodeResourcesBalancedAllocation":"52","NodeResourcesFit":"47","TaintToleration":"0","VolumeBinding":"0"},"node-mtb5x":{"ImageLocality":"0","NodeAffinity":"0","NodeResourcesBalancedAllocation":"76","NodeResourcesFit":"73","TaintToleration":"0","VolumeBinding":"0"}} + scheduler-simulator/selected-node: node-mtb5x +``` + +Users can also integrate their custom plugins or extenders into the debuggable scheduler and visualize their results. +Also, this debuggable scheduler can run standalone, e.g., on any Kubernetes cluster or in integration tests. +Those would be useful to custom plugin developers to test their plugins or examine their custom scheduler in a real cluster with better debuggability. + +## What are the use cases? + +1. **Cluser users**: Examine if your scheduling constraints (e.g., PodAffinity, PodTopologySpread) work as intended. +2. **Cluster admins**: Assess how your cluster would behave with changes to the scheduler configuration. +3. **Scheduler plugin developers**: Test your custom scheduler plugins or extenders, or use the debuggable scheduler in integration tests or development clusters. + +## Getting started + +The simulator only requires Docker to be installed on your machine; a Kubernetes cluster is not necessary. + +``` +git clone git@github.com:kubernetes-sigs/kube-scheduler-simulator.git +cd kube-scheduler-simulator +make docker_up +``` + +You can then access the simulator's web UI at http://localhost:3000. + +Visit [Kube-scheduler-simulator repository](sigs.k8s.io/kube-scheduler-simulator) for more details! + +## Getting involved + +The Kube-scheduler-simulator is developed by Kubernetes SIG Scheduling. Your feedback and contributions are welcome! + +Open issues or PRs at [Kube-scheduler-simulator repository](sigs.k8s.io/kube-scheduler-simulator) +Join the conversation on the #sig-scheduling slack channel. + +## Acknowledgments + +The simulator has been maintained by dedicated volunteer engineers, overcoming many challenges to reach its current form. + +A big shout out to all [the awesome contributors](https://github.com/kubernetes-sigs/kube-scheduler-simulator/graphs/contributors)! + +![contributors](./contributors.png) diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/simulator.png b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/simulator.png new file mode 100644 index 0000000000000000000000000000000000000000..3b408ed1245a5cbc520f03b22ddd23ff6fe6eb02 GIT binary patch literal 429852 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 z zEtdQ6b|YJ*9n100Q}uC}Qk*9LY4xiQ{P9O)pjG}E3bvlTbR{VAqwd1GxD5!lI@N0H zxqeB`2s{ejT0K`~{}3mNUs~{ARv44RW1Rxw-L*hv2MJ!IL6xJy&I?1C?Oq{lY{etR zaHG{m_bI`~D6zLRy)th!oF=BNZMOCflvrRj@uOKLh$4GWNxN(~KJRBn>PJ;DL}S7ump3H~3bzBx zm#L|{+t<&43LJFb{0(_{6NC7(G=&YOb;suU?`=#*Z0TeW$n#EzTZqX z?Ioa3bL|+{HSOG&3`}=e{wzEHo51A@H;pi>YN5e=AHe&2aB4wF9tH11!iK;|<-73( z`bT$|2VHzit6e7M17(G%zA#?Pn@g9(aE@KjJ24aII&(0s6J-&@_;ja)Pm?j7uQXLT zBGo@`a6Fsr#1eczgZJf*m)dj+EeRh(Z)N8qozG)bTqpA;P25*Xm?yw)PDxXoN}2T| zju&7nb#$5w z>f~a#5=t{7vYn#+?Oh3Mrd$c-G+0K>oDGg)tUdV%ezv;^6_9))czvb5-ltVp#t9Jcx?c0((or8pVGJ(AjK zDyv|Lr>TZ^T5n_q|CV@ z4IsI2_od20_b&(xE~8nYwbW+9auk|v5O#QJd?{vUP-i);A_ec|2^l1T=N*3j?AGw< zncXjXdu|>mvPUTvsVID-cS9%hHgU~`4%v<&=bE|KQq$R1xm3Z8pY4BST1*pQ&&R8~Op@lDY^{4oNNuV*jh`<# z?Uh-AI>C*hX=g*>rkEEyKayhxNweEUHeqDg;X6s!)1T}K)heuxb(`B@&T~#}0jY}H z-hqZ@g)sG=q&Tn|dj9E$MzF?ycnO36HycEh-lDaIn3(=oFaE!|H%dzCM!f@(%tg&c|Mt>%X9Z^O*TT^?%o0B=-BOqFD;0p7h^|eVO6UA@}Y8%D;E9MIi5Bw zHSAHRqecQdA&jPvqTjvZgBPgm3%hqKxY*j!OY6|Zn14XK)RgT91iH6! zmNf~)GBTG7 z&LS2O3RN<26ONUEn^fOCU5BF5lN@vnT8p5_W!OX)p@q|W#!@Ti+&02wO9V3;(zp}S zV%6oDxy}*D(<9u3(k~@ej(AKe^mfj|wRXM)&4)#gFPJR(H7CefA~76cFp|`kQ^D{^ z1)VQ&=lSk}$8ODi5{MdFfL&Bj3f`WhfzIouFgyfvFs@x=1;d`6$)$FCYwg79p6j~C zLfH&M)pDJZQvu^>TldKVIb_Tt>_jixPBbxn&}_0ddih$FXl6|w7|6fc+$ei5$aQaN zK})i=MFHfoY-KhgU2`xcqjw&n=0@3T9IMhKEAs%=TH>lhhW=ym<%eTiIH=a3R+&jK zMuTuw6FaBIC0>Eo*0av&x{tC~w)cTF^^(g}o!qBWWL&y)>KFKke;oG-T$4sNPabRH zSgy|)~$CC*>zEf z=cBaDxTl&%$||+r5zI<$cLL|*;-9479F%Ry@!ZN-X2b3H=@nUofe^f9m;rWfjBGPk zRPrU)!8@@2l*%v5K`eP+KuNh`Jdp3_?#p5;`5L@_sa*n`5?fOwL*v|7nh|s*dE%Mq zVq36i9-H9LKFDzB_18u)tp@72#s>(A`scNEHk|2rd8M2Nj%S3v)S~M$Q_kz+_O~am zt@G{Ax~4rtm1x*4;Ij2qPNCo2(Fl_(a>qo^ls0&(Us1plLgv$@MI}a1b~*{@)in%i zC*;t|YEo$y9tACySG3(q5?daHWppJY_E47NxBPmq#UR%WXxCvPI8WRW7Zg(6K1R^#qBge*yjpIX^R>rLH86}JkWQ@eIF{X!c_MsV*4bUeoQ zDdXkt>wIX5;ld2$;dRM4{F8O6~=(h2s3QI(9`nc0z)1b;g5I)8sgkqlJQX|Ql_EHdWcZym&AFV z+^zFS{%|CXI!>zT$ zEoKte?S6ID3r<&+#&ipjUuQCBDdE?NzN4InW~FA@NPDi9eG7KMdBEm99N&2dRYV@t;0yg?(65y>H74`Msmf~RP&fYS;T1t&U@k3dhYcvhsMdirqsdvCj>dC#Bkd|pJ& zbY`bfx~7%7xi`X-lxy{-f?yBTo!BDhaFAeTmC(Ii3O6~9Fg!E7KGlK+yH}?udUFy) zCF`uyvJJW^=wDL(-afiO$Ja*T{JcwC^73WEBBv^-r ziP$!R7k3ABxG%tUt!F+yQI2YV)%*@BN;BYg656+W*EVM5xgsBD{)9@_cy6~Hisd)~ z)#AS>&40|xtcqR2tqJ6PU%qtgmh9OFq{Ma@B*`{Z?VBNNw=U8~r~9ssyy$=AqRhP5 zHKgTL8peDu??nEt-55)TCz?K?5@4Ts=)oN0_#b_Z8=*uqH^QFEhOqf782s-13$k{{ z3V38PZ-*=;&LPwie%KnM!HQ1!!s26RxPBTe-7=j^`=hW~t$=sny~!7{_j)_3VEA}f3nyij zqymc%nhI0PuW7!qM;P!G=S+DIvo>jQ>{;j*cy=H*(t=RaY@W_xL*YyQw>@Td7Ub|3 z6wW~}lb z*Q4|4l??FYnf?Kr?YFU)wRc|8Gmk_bHYk97(65b3e-v!7RYojOt(fy^l*WS-_u{Cr^W$aCR@PbF99mN6`;q{EAswH zr3q_{N)pd9_&rx}#~Yl6+`wR-WL%Yf@d~K7+US(U_ypbzX4_9Xzs22PM|rM8o;dl9 z;e8$R{@Wb7=1=*er}wsIb}=G6tB+BV!LXvP`%Wv8=G=?P@c{=pf*#R~^Sn!wM#pc4gAoHldsAHxL#ghxZ6=`xzQ4t-p}bpRo#`DR^PZEN2`Ya;JT2a+u@rR`;>UTG z)uH1loKptX^Xz}&>l$3NNmzE(}LZVIT@k-0W-CFosx zh^oi{5tcM#=-$v=SG|xoHUF^NE>1x{g}26ncvbU^f6a?>$!64r40(c66H4oHoJ&*S zB1Zc#6Mn<^%Y@I%8L=FLkHa}#1`iJTRV;~1oDJ*W-hzwGm($l})V_9|sO`qGS64$0 zb!M$%5POjeg^-$NC4gu~6)T04LQ2RQ>wc+O5AvL(#i%p(yp8vhbiZ=i(=TShWIv zHVIWO;V@lFsVOOtG-B8p6qGx&S$;FwGokV_ejLo%T9+#Udt25k!+Hn0-zah7)KvE%g`CsN3a{iWW1uyQb=*z5x3~wU2DhOl>S!oQH?|Pp6`~-V!eCl zzJ9j=WH54HeMlh4>RD~}87+EoU)g4bB0rN&?KxBxLU!aHf6{&SO&X|o9DSs@yYbYm z8{Qf$rC0Iadp!>67<)l{SM{M$u?k^wPYW>ceQtgCuW1Sy9)jsLKhTi?0{v>MS`m8K z8uHU;@{hl7-*b=-hvQ?czUEmg2CoUTg0OCSr}~FVlCS4hx<-?U21@3#G_-}dyIW2F z{)8CtxSbqTP>(@xsju6XWN{sXg(Y#&1d1(MWl#76C-aa~(jYp@b8Ge6`^PS>0OO}1v%4^%Uglj^$Z3%Vj=lM{4$=IvR+)V`@*_-;>$v5P z#)4^Hc~{l`SImi^+zdkOGIC6qS+)U-*wIF570b`qn+fBDAEW=MU?*CQX<(_tWmr5; z9Fe_8#Td#%d*ujiGxy%-?fCKc_o@`VOo_zQI5uQK8$Y}Z#lWQ2!+=7&wu)d%1w6)R z6}|36pAaAY!=>p;L@C$@+RvNjPTp@Pe|p8VWIGQkth=2V)ax~QE`#P=_!I#|(|OSP zRLn8IgpNF|`tPcAe`Yl-{*-p}n7ld0AYVYWhzw*DV%Uk9@#7c|L3!CLY##;Li99E4 z3NN8uzbvbTh7>-ncCdpLD{}wb;>vk%&9>{5jos?Reg3p#_xp=SByw;tt5q?oFT7q>@2+t8g;3FT;E`a+&=~}&Qjs4vESlN z!<(kaCz;2P{04Sg$YZeC^v(X6O4Z}OV+H@rHuo^lYYN}H)~+p@|miVZIZ$thp= z@Fs=RLd2Yn9BJmBiUMhGz@%z2FhpY!2v&d3rX|Lm-tXcU2 z+aK6s!ExY~V1M+O1>&mg6;3|3BnAWy>iJGN;<}Snbhk#j8H2kBvqF0BxAs2uIHo}) z@Yf)PJ<0J)FhvNBEwT~C_*sR_8bbjsa=vgoKWW5qE^NZ&ZUe{ueUyLAjpI)9Cd96| z%+&+J1doz32avcgPI}sC(i0eBSKOZ_>6LUE;cJQUA7vZltFF0C7Ov;-v1Q|++q+&+ zs~6Cn=^4o<0d7I+u0WrwLLpkTj4!9M>pT!VA{9upHTT44{D9p|93LHxuh{H*__MrQ z;_l=Qxq3#u=h{`UTM$Us?Z2s@Y-#|-@6ehwk>Q$yK|trqZarX@q8qohNk>dN$PT6^%z%yjKdrjPrSU)OrFj`PDVY|ME8g*w|wCG9+ zBxO=azVU^-g!s-`s}GH|`vICl9`7C`2>W)|jT(rj_kNU_Ep%XZEMIbAd#{|ZXW`go z!Xt9&gLJGmk$V6vy&!J-v(|OKyVms-q#U^(& zZjArne=;>15f&0EUVdSwpDN}O1g`V|xDKEHi9UQmBY!vjJY(&z- zQ^(lDJiZ&M#RTo8c~-9{F=_Y&6%)q*5nY8Sv+uZzM{haI5ZNBeUG26sW>MpK$2%(7 z^?5+{-ZKrx<|qmN2S zawBp4KA71RqN^vjLAUpr$vX}TW2Q4fH99N8gE{QboIl{=i7W4yxVXF|iw4G_dQ8m) z6P@MmX}U6RdecaGwGv!E6qZrCeMO1zCsGX@ycUk5L8O9;uH^XX0)aik182o9_qn=8 zT;2uxRe`PA?h22W(AeU*nVe_HxY^cg&#YItWKK#8A9s?1yQApi+naOX#CrMx=@qh} z>*B}OyY)`dtf}pTwRI^C!Dp7YN+}FjZ%@Vl=BIchiP~=pd5oUEDqmco9dLCqrGE8 zFI_f(9j(7)tlchGr25B06h|@a(n4pE`>Un^<{E_@^kv^PQw$2o`Kl#hmOLG}CPKu^~`r zjRW$&I`#5ijcx_|$~sJ`8Vg50$(?(XCWvOK(X`P)J%G5sno|ziP+UiOZplS0R^8mR zFiCk%&E$d~8xqP_;bFQ)Oh-P-^nHZKCq>1sMhSQ5wj7OczS~+Uw>hw}E!JjFn}0Ie z`i?_TbsED306d{;-0qc%hne1(a)OTK{?hoJC*|b+3$|jr?IG0rGZm?Fz)JbUjnW;l z>Dw6|NB1HZJ7?N+W?jg{f=!|M4;-dtps*o-vyed_huHk|lw8k%sBeGA6}RG`HO%0* z-n^nzR5WIqw>^_u@dhOuC;H4=PrL+E^$qGbc)M{vr)##+UO8{Dcq_^~stL-=?V+Da zYplE`54q(bN}xVrk=8y+<=~EGmpp+uu^{8N+m0!XAevPAr^cHYeUdNE@^qk)>DE2bJqT6;WLyjQ9+bk%YcC zLDBQI*|8d{3|&H-t^a=VTZKaYYVORw3!3fjwarl_mdYv#=??qfHASDqvzvS##c5M9 zDZ#6dj?0R30XEFHq+FGttfLv-s~>_$sl;BiX4DW`lNKRdQ%7b_d7df|Gah zi`R^3c-YJF!Y*If)v%ACiI1gthTU2PFjp?7Q+R3s_wZY?4WX#WFc-at$||Y(MW4gt z6MM6SwFEbGkw02IR&xhGyd9l^@L1W1;i{@nz8r2vjixCFbH?Q4>^4G&?nl|z09@l( zFmQi%9S9&3S1&;qt^K|ATTh+hdQVvWiIXMneA~ zgt%sCwyA*@8*!!?1np;97o1EX5hKt|H&1zI^3FTRnnu!h-qNgg1%Ss_lhw*^&^KYZW?0=)Op z3!XTGv{Ik#$oHszOQh-N*UR)ZL?S1ik1W0;Y=th;fj0d>z1KEXR$1aAyi1g^-5z#( zPaw3DjO5fA`F^W2BYYLi!x`UX{dRCHVp`K?29zOIR<#seV4$WXp&q2aS;dAat@g@l znlN74;S1_Y#?+q-WIqGXp+BV_b!7j7XV`5si;XBmngqCa@&|aRQWUoiysJX|ad#{^ z$Dr!QvHV#lX-(ByVc!Rg57fWZ%K3D2@NIE-K3Af_ns1g8J+$qVYLvFWKe2{gr153i z`i|300~ga>IETH{vKzS@!ePYneDeDt#FzEb`Z^di=PKbSR=55-tJjJi)Ig(~`#pSz zVPCObZZ))1D@RwOzqpR)Or^D<%=_sqQV13=V@Q&Ae1*)Zz6Q^kC$5II5R>8%aiSs| zXtc_unmNcb1M9)uCjZc)L!HTu12!`-iEd$b2vN#u{p(jgSrAGOQO6gwF0WlSvJpE2+Jnm!UIlt#vE--9}mRRrtBhHd?MSA=JmD=kmEm z2gp$9Gfxt!Cm@ei!uhgVR$Rm2x2WSjHlNAVM`+k1cC{ZkbDZEcta8kPCp4pzS*fm{ zH7{Dd9&zmz2e0N$IVvV5)%`JR%YydV+puaKF#o%XOB_HoD0AcTee(HFN zbeOY!n?kR9Ut)plqX@J5qs|^L$i>}afm7;_3U`02i4p{~;H=bxov$3+zE@_L`=WxH ziEFRp{Xxxbbni0(JeM&8m4H>c2%5!DIn!EtL-3D82150i&uiAs2Phv;^R0Noa?qUv z`F4zzke$Z?a;#E2OmnmPG<9#c%`914RStZ?EJ3A_R~=cusvQ-iRiblP1z1rZ!qJN; zaxjUehyBql!#k>Vt>cuRiJ_rTWRQN?_6-~~5OdpG*C7jXW#KyH?OB`r_|NlMTV7EW zEw4_}_gklT2Rx55Tt`t8vyq40%6L44^9;$U^bfOjpqoc6sdO3N7Mg!6e62Vp7j1D? zMa7E?E?i!e;go$V)f!ob)L+0CG&c4PR_j+im)YCZ@B|TEey6+>3F%4po6Jieb9OpD zm}IkM_!;o-`?K}S&SC<#GA?{%*UM57nK4CS`YfmF!uy_Q0@0&4>tWu3=|yq$39*hl z9Y^yb$R1fpvVt@9Qx1Mjg4EHK0~}>G*0#8{)BzjJQg=Ij(EiO%`e}2N&k3lhQ~N#| z(&?hQayU)7Qij$kt}EGc`V_Ql;U&ET>M0HM4aRnGep7tTZm{&3-ugh=yKz9Dq48SE zjin5V)_o|)&`UC%;4lDM9_7@p#yosK;n(ovPd}I&5hXD>>v0744-N@Q0L=Ac;9oTYpN z3)7Y@scR)6@#9Y+pjDK^6yCW>3lZ%$vCB}PImmM|*}P$}_Og^}wkJ!l+n%qC%kGjT zZ7*q&-vPV*am@m9vL{KG>Bnbbp2zMay_u<*0@W(lDmfu|-VZY)*4A|cTgCRW!CB&( zI^*auLKj+pW{+XWighV|JkP)FM}0oc83dNvIz!=RYz%Yq%0Tr2Eob2_5L(u6Xj#|P zVQe-y^hw2!O4Xe}WIg*LdX(Iq{6)F!LY85-iR)IWd#ea`0>9*3gPH)jv9=UjJ(ffG zc4nPf)Mi;C!xJX3_^vtr3CpbKC@Pv5fI9uYQDULW6?B73`DOpW%J7LK=G=B*eXZWT z9wrm-vGEt%iKz*~ z-SSVv&r9aYm9qC1%jxHzLk@R))R;SYCr{D`d8__`>6{yIF-VxDGQpN!hNUj>vpRokYuz3DMS>mubk} zvtE!Ug+xj2jwW*kX{HE9q>6i><7;92NjJB4o(0jRyh}V7JazkuJhjt);31pdU?Xho z3amToBUReG+c|4c|FK@7gDeh6({7vHttD65Xf!;Is1t>FWI%{5s6Rf-C&>A-wJ6m4 znmBK84C>gaFM%`MCdMEyTcpfUrZbZ0&$>@KrT_^8II?B{>%Ow*>a-ra{|@=6ko|1N z9E!9y%Bqsn#TeJvd4jjP4#nxL%dFicLmUmCPYU-vz)xkl#g0mQPQ^44B0jOCuG{xL zDgrAg{Qh(A8*7+*kjGA;)}hS1#rou;GdybEjjIM8i^D1lDH_yEf_ zw7AQ2lw>3Hi4Jf^tebcUZAJ;0X3R~_mIuA`_Q;zT&$gE6@2ut`Qm-Vz)0c$=HYKH< z4b=*~3+fTfTx=N=S{dGfgDDsY7`iQYVHNIOM`8=V!M`Pmr5b;wkG%;!_9}e@A>$EA zGI`Y%pJ)hO&ONJR=cu>dKi^`jbwM~o52mcLQc_Z5uemPviR4KbkY3oASbUfWWU;Qa z{+8&-0cfz|r=$m&4}$^6FwNx;@#BmTGdS+`hKD%EaW7wLL;hF7`bV!UriHJworoGU zELbVLtwE)AZ41@Ch+GlyqQA!Iu}2p2qEYBGd~N)-gcYfq~e6m z9|{dcJXZa)(DxyOEyq$Az0-_MEj?`{xmnt?fUIhh-dEpk6oiaH6tWuChBl34dQuo# zKo#(nN!zBZYS5R@<~~R%e98Vq1R-(b2_gbsxNNVSWD4k1X1G85nVvuz&NncYDY0@IIORIoLl=fV5qk0WF+09M- z;eqo(tgK3)SXkWzy|Jqd$?i&SOxL2xn0KObtAjm{fVT@1SS7kqv*iVl81>LPb5;$t znUY~fnJ0QH8ITdtb%w=e>$FZM;6Gjz4RaVSKsSt5poEFfVY2rSehURsXRQVLLyVx~ z^;plzFLqr?^IN;jN?HO2GoEDq-S+WPo1!U@MQ0SDj4YoitH`e7?tF~={aJl&v+`!?0)}fBSto}sj6N~@x+HpGA*{va~2HB zsV}Y}$1CwWj)%>+wsLC(uv@D~yaU&w{hs}5cAdh)F}n{KC3mcZdAUw{df7Z{-I~2c zq&sn| z{hS2k!46JuBHqUV^u$_0w*I7aiUhTC7Q?B@sIzQK=|OP1wG%j*&jUQSgEm%|7?2OWU!Hb-~ea zlJ&AKdA4_lp@XKYYWd}yZ^r@{)^rl28Q`_D3}uhbJefFhM|3W)A&p(4rAamPU}*$4 zcQ9)}&`e|9O^8w_FJP~=Mm_A4nG0zPt2an4 z<7PL_uy%v3D0i1Vw&zo*7*Y`A;$|=n$1A@jT^%qX)02G#jaDx8M$*n~GO|+8<9OT> zw19cHJ=;$8q^4KDU6*OD+<~G_gQcPzgQ6S9?1o+>Z2)swn5zKxwS*ZXIjjZ{{Yka8 zsQp=gnlmR9=A5!>B!clt5<|%oS9S6w32k{U_^~VndazUaJ2p}4ErLWXbt`AZ()0-`%UGj?ThFFU3Oubw z%s_UDZK*m!A?LD(qYE_NhaC&9PxC>RQ^MUbv{phbw^Tvy0)roXOFAV-yrHN0^L zPt3^2SM_ZX;ull2K9CpP7Z#phL0u{?c8AOtPWPU`pM2z zCpKyiLB}sy8<;9NsJ@_SqFz4tai;XPRDPdj7-^(X^q6xRG5HW*pJ-yDcVIWsq)KUv z%zej!cswnRiL};ZwAV;(SBQ!7Tpl0^{x6Y~f7gtd2M$de#q5+p0}6IwnVD{BK)-TA z_1!!eBrBJfS$wXRC3`OeI=pY>Sy^{n-Bmw#u)3Z4+;lrD%^#!^Kx;m%ZBssKy+P|G zMRhNVNk3`+nO%_mMlo{46{0S;u;hTe0o`<1qAuF=bu8APuFAppI=hnwq z58PneRjW<1)vvnY_Q<|$5WbYyXw>d#Jes2~ou#I%oODgoo!(cr;Q`|7LPpSJ8VnjY zUoTd1WGuS0Dx7J!vIVMHJRI;r6AIFTJqrh4*Vr{#wdfJ&9;=d>HuIBaMaVdk>2YIT z=@C6y?P!ouNjKk&rNp)R^PlF2Pl%Z_HuE9#ik~J|j13lzJAr=w6fhMFr^N)B3xvRg zc@f2QXjItr^0I5}e4auma^!_a7sd@5MYDTaJiM`<&5wF&xL|6ZH5A|zSX2nF z_5a9Z!5#%7&^_q8_psKQ5tP1JcM(Zw^7XUrv+t?sh;OP$wm}moqQ{^~T?>XtrGckN zQ*)hX26zm~!dmdAi3#YFFq!V&B6L!>+ig5oc(kWUK4a*5QTEgS0ocVGPiPj@p_q@8)2-JD^&2BWJ}qv%vU68bI@7hz!Vwhn zjuZ5Skq}qVPBKC#pLn^1SZN5=HBusRKU)et7>M72&B^Rch8x4^-r_BjW$$gJ!BFg* zfjpj!x#l*{8MXD7U|;vLkRPV+c;XmWS!~j|&YkwdF_segoH7a+vh_~|b}xuF)Jo_< z+Gl<&+C#+M46Aifn;N<3u4IP<74kOD`T={OxI?;ru_0Nl}b%dy+K#qc^L`Uz#=$ zb`r;HW#$g)X{jHz5+Sg5q66KpW*p3;B_53~UKunEO5AyggyJ^(Q{Ssd`Aep1Rso@5 zZUZG{m5VqBgfb!(DOH}TNzEkUy-clip0yJ{L&{rnA>eh(%)$H;BppIyh4W~4cR_ws z(QGL?Z(|@G*HFKef@!>j?qBd}T-ivPY+FrYw$Pnhf#E9bHJk#a$>m3&NFZBAo|Qdz&H)4g zz4iNp2gqg}Yc~||W9+{8;=SaNs4cyiy7O2;9&WLE>hi@;mEoU?#`H-hRX zKb1-STvYLuxG>uNq>+-nb_eObs&*qhP>)FO{g-+K=?;ehLt$^=CKvXeks^&bnId@M z9e9V!o5Jz^CAUxb0;nP$5RUqA2C!-ki*Cp^tZQc815cwIH2$B6#cnx^PhTz4YR~@3 zMmGdB$QYC$I&$Sn2fb{AzVA={oqsk${&)YUwLJx z9q$Vw5WN8GTy(x&VsJMgq)8Gp9VndbTT9?OmL-YL`6#q@1HHdNto$1a6hI7M?C$wA zKp=A7)0x?!%=8Wda%`W?y;e;c3J0)Q`!75V5Y?}d5OOZnG z*(_*Vqcl;ADB_#gz^E)n3c<%Z@2}I){)TddBJP9lX{S$sg9E6+F+Z9678HV51(S## z&rgEb6N+NRUn3U%4P}%Vz|QBI7pD+syW4LzQfB;m0G&6_na`qF^+M2EZ&AZvXKMWo z(Gy988t6OQ>w?*=v^b|=dSHEM18{$qG<&R4fVN47<(r?z9SzhHR{q0k37^mth2YvM zLKn_KDBRKtP@EaeLJvIfqR^L_X(=iVVt|)4;`7qDoHP6ERl*bY+i&5=_nHd*Z5Zar!NwX;+UbK1$TG% z;jgbxhsJ@G?w2*Jvwd^*v*TQ2unvVIK=S6vm2f^<0Oid&5pF3IP*uMMbS4;nsWb8S z!Tcfx%o*qYkAQh`eB!i^j}M@i;}9#FGsUU6NSB+(euC_UcgG%W9^#5c6gq@*Dm(xT zT=Z*JjZQhG!m@P#DcwJoVw1`#iaT%4IjMRbA#w9iYKvzsyjDD7HP^Z!y7=zm_1 z|Ki>MDFpu@&)eLZa^Rn?>tQH+@rS<{&(^TLA?b)Ifk>YvYg^d47uEY za>vzy5?ax3)gS&|kn&Tps5m}g+I@3lJ58iDT*!%1!5x!&KAlJG4UclYtI>xJe zKMxf6m!UDl5!T(#6cEAe{d}i?O_Jho913W6fygN%Oax;VNE1j$M|T-o z|M<$WU-&H-%sLaOp0U>g+9hD7pW^=O z${Bz2m?tU6EKyi;d71q|?-*Z(gON`*1S{7icDiJ;G{`*=;PCT=#?!#rQ(&m9yUvIi?{F*Ak* zn7-ThJG}#GE)OcXes2Xz`p^ozSsRgyF;$-z1a1#7S~_Z!P?a?dD525(QX%N?inOKN zx-Z@!8zO!+|5*z&e!p23zt~b`GnM+;#sQf_AMr~1Phmx~GY8_N9o4vwm+p3pRy5F3 z4+n3+hd=PB(a1K~2{&jSVJagRwp5s1-7fHgN>N0rnhpS=l;Dg>)Tdtv%8hGRw)Arz zBtzjV2W;h4rdQ4g{Sc%RtpD-y{i}=A43`5AHywR&AGcE@!7N z?``W{x^VEfUmP(nUj=dyX|#__*>Y*#y<8`g$#c!1T==R^{$+j+O+c+O)_o4Sret#V zshWJ?%cB7=kJ4Q@Q1B|C;V$W05F6$sPw-hG&bRE+H?6tOJ!$Y_LIaQ z+&y&fLQUVgW5rU*s#~cCwr-4oSPJK_ToS`It`r6#igARQIHYHJ8b4z9w+_Jjqn8?n^Lxh|-W);}w~sfUIlyr800Rq%7%yD9e@@cbYEP&$ zQ33x$<}{Bg?`bjJV;fFGBN?_!LB1tUMNqlBq+1NRmKg@_*loQ^DgBbIL|5iUk2*&F zA<+$l_|P;W+?oi6-ouqUM_c~<)!?`P`U`#c*6oG|{fwX44zTqX+llrE*@kDGyz)f0 z^X{9>jhTtPXAd7%Qyyi&myV004Zc@7PiSnqjIJV*J<3vy+ zsD-7EPaR%g$ixt1#-|83vj~WLEiuJKLygWu5dv{Qv*Q%+G?&i8UwniqNAIJxX(A5d zAAC7dj&Nn${3e!nwEFdFq9{bE<67oq6`sLqe1yR@i#t})wzmD#7>QtC zKKLVFNcG`8cw5WY_WE!gym1Bp5a|-G*#4W;+pJZ6DdCdfEd z>37O`H*Vfr^nH2!B_X%C^~l#&uD7_E2{WCaKmXY5v|wHWUZ)uP!j|A6A6UFg)QHHE zUR$${E|Q!+{cUB#zOZuqbgqL@QS!6#8RM2rLN4Xa<+X3mw0s!azNlR2MC(tU5&rDJ9gKHrzqjxA(*OJb|NGx1EYXPAbma;{QB0-*D=1a@ec9h< zI+)*ol~ZG2qY%{>7WwP=${2KW@PtcF8`Y({V_~RINB`)MaX$l`gy6HmaqQ1lVszqY z;l+>}=ihc$(X==tb+r-k6XKOZaed>4Zu8P8=d;A}q@L$K* z{|oS>;z%{{pZ)n`_QArpiMO9{%K!Z!apA+@}SG!0OzD>zzvU5)p^N$lj%9`fA z*WJ{+Y>zHJu__M(l`J2hUM7XXL$<5ux5S9arM@k>986F4`vNike8^7>7;x=ioi4a4 z_s?RAsXq9fhO>TpDJgpuze0=od!;<^Z{+zI2k+5h_6+^iu4{{6`VX4mTzF zi$6Pu86t5HY@Sk%9(%!SuXOV%kXLbub99>a_wKc*Ny)CqMdz(1+0(Y+}f&%^>>3_3>uU-%~U3^V-&kZu-a{a*{Jjdb*L;}1VEpqQ0MnjlA$ zfVgM zBW8$NORT3Iw}vW6-Os@5yA9C4Uk@3<0(3Uzb6pKFKk_Vae;-)Ihkv??Pei~f*dBLp zDYRkM!RT7QCho&i8u&ymC-W9J$PF~aF_-J*UX|2P@hta5v7n5e9 zJK>|!udJI7nKku@2qyCy_5J_k&=%zps1=^aS2kxv2Z^ zl~%h$eN)oUy`JDr^yvGvI`qHvi;TX!@1Hxsj+MizG^V6f;HoU@$->PcRvU4ToD$L{ z@+3)(K_&d<{+2Jy(4O-u{|*l6mX&nIKU-xR9kA)ngk~`b(kX;pU$!ODhY zlWWVS4S#I9?XI$EK#hEmw3`9bdr*5eIU~{%ZDq?c>+B@B-q&bb-QWWQtB-1r-lr~A z%@4X-yd{R4ABFwR?3HOoOM1J5v3b467Q(6jCYn)C*V76`gaR;j0WJ41r+wFQ6 z7A`BN;KIH$SHt!cqt21G#9Bv}PqQBX z#Js+TA+V7$D|IXy@%uFkCglY;$MEj=#=MMRVv32{75X`^XLg~4hdM?=QQWMby2~z( z?Q3ezQpo^x508>OCW9JNC2|>kKz5A#7Zq13MLaR!mGSc&$(F^BSP7&Q^*ZA1-_mPE ze%m`+jwx8axkJ2|89;Ei2MUsmFj6NZk>N+I_@Sr+S1$P)Sc5>nux>`mliK8+m)feKc$Bs1qc zIljy#^H_9zVJ}O|_}xBk59lGvY1fK6F^gB_$N3dc>~AUCb{bKS*)ShIKivY{VK(cF zV=`KB#gh@czB+9U0UC00ikyCb&DsF+-3!?8Eqn#tYf0uEjp>+fPD~m}ih&_=vIeO? z?EpPlae+bfZb188axJp!McONRyNYhI{-b6saD=~zUalW-gF1x0v>q~$E-X;o@bkl> zHXNy=Z@V3vC$Vb@Aq#l#2gCwU3 z1FJ`yed<0-#AZb$wfB#_DvhqZrUxHo`kFy=NnR8JB#Uz)Jj*OmoH+QMyz|Xs10e?c2}ZwDJ^yeF=Hgl{!53vOva*{mdEmLIS1Hm4snS%y|54vozZb{A zV;3Z*sGX4i9;4hlHK6Uf!Pk+S%hCLAuHolvZb93d=JB0C`%oH> z*f(d347BG8Q!i5OM>FGx+EJ$qwAjKHJ(1PtIkYHiGeOz{@qQwf6u^{6<4bZ^4?afi`tOMozVa917Fx?dz4?*76 z!bDs!=umyKe8&7Ep%B}Jj++QM+Yof4TJPg zFwV+%`c1B0c_23ml&Oou+fMsf;CNPP&T?Lfa_b5U76v%*!^Wb?jwfLJGHj{tg{zag zP4W}3*azR=G1Fx&y%Q7dguZ4bpkJ%~B?}3a9c=M(_GsWY7rVS$Nc9Ig=|H$&<`Jq1 zS=%8u6Ox{ae4py)JXD;5COv*v^SG-5h`yHC(JSSoLQFUDf#~xDr)!Ivss3zSh|899 z#lH?gAzACrWZk!kCC8@#67c26{ML_^b4GNGPJ1SyZ(CCH;ebBNoS2~GFXBa_6?+9D zMs(AJzvE`KI>*vkmmW#hk_KyzRgoo_0uPNLt2I5Tf?99B4zbGVh=WDtB%yC#^KItN z*vYC)=H#KmiAv#F(*la?8PJOr-_~4T@gdJtUXt;B8n5-N=ieNFPT+X@U*x%&S_^Kp0e_ZMw6vaPNXf~1r!k9V6?cdYZ2kXz@a4+*# zrgwx|aHNYBY8?`b_iSW_T7EL&LjD2_7+}GTw)gQ&JjAR^%decxTjud&|0|ND-$au1 z&gb5#*?c9rZ-6+wpWaqp%LLk(ST>gqOfJ|QwFy+zKR0Y z{&5&`Qhu{ZVBGLBuWv=8E_nz?KcKzw7+-#H)G6n#_rk^KQ9|H*N+FDy^xkZ$n|4Nu z&xRhioc~Nk-@b3|U3_Q}OWw;@26$8T5791w4dLzjtO?_CVv*;S*+Yh-CAf5+dwtbb zd(1=^Y&o447%pdSebz7~FV#J92+1;MC$_&QhOrJx0~*vv-9zVC(+{yEqwVST7#axK zZz=tWj+xKi%l5h~y829G$sdabJJqgIaS9l-{j_-SQwLs*YG$xzmz3n zBM9O>x&Fm^2mC*K9Vd(byFJ&k8@EeC40zz{x}n5E8N7ugF?-C$7WO<-&UP!QsFM2xnONiy6Z1 z4u!lyCD6LS@QmO@JrcC*i`Hw(eAU#%E?AlO+*Su*cRSpk2P^b?2woUjF^=zH>H=OU zw{r-!oBovh0_?(`(?^z&ji7qpEA(cp{CK2KPHo_2K3P<6~y&cKa7v#LZ%1o{3BL#4iMd<5U`?@^A2y!SvD8u2ekoZ$Iu?%;8wvU&ev)xMCE01Y z*g5KLgSy^3ee8;xIQnWUV%!4HN1IkN#;gR(mS4L-O?3!E-)WU*h&rH6q)KGJi`Wd9 zQ_%Moq&;D#NnDPC%n0K8{~|h>j{ebJ8OD$NUqU zeQW9N^C{7%Ss+-Uro*P=CS5&UM%H}Zz)FyaXN0sa!KQQuybu%?!yUm(j1?O>B<}nf zbiBk6BNDf15iR+6G2FDRn3kw^){{|Xr!e)gBNUiKV%}*g>dLJfUFdG3E_l6SAArxV zu)2I6Z6*5{Tqu>PP^ciZ>(MJbD*E!F^btgdLz`CLxS^#14xZP90wGFwV;6ue>L~7x zn+Yy>vyQDWuSvUouV#18R!Nu*S~5elAmkTuLEQ~G_=#C&~#jW z+TDYPJojOf6G~n)a?D!!gNh;<(Rz2uN72R7eU0n)M%#=L$skbccU)TA*Vwi|V(&#? z!2JjfhDyo^{s;F2EB!0h;O5MF~JpXO9Uc<^MyjZ7Q*1u}Q5+ej4Y?F?-8!_7f zQCOL}XNvuCI%!~%)WvSApBH$gI~Y;;(^3rD52G?R<+fJ1PTOt(Tu9G7tF#e9g(>Gf zPf5R(So!=UN`8sOQ`v=uppT3P!6R zH1rXo{oE3rw+NOfFhiR=8}Fct1+oI)Blp7pGT0D0>J>)y_VD=_M!A!e%v^EES{N<$7y_p@q>mhfyM6x^Hd^}e+ z%j-=)3Y>FGoXEhdTBt>=2KdF*{6J9n_W+;5t~REjTl1RY2aCjLg2ZKe1HfpeOGbRI zwNt2bLvO`YfaxsgDP*tdY$<|rNy?83gT<#%mWp`SwX!sR()nhtLxgd>IpIiaxil)r3?bPIv5w zA15!5>hMmk*X6~P&>XK3md^LaMR)3#?{BL@*G85;m@tk?+8xd=T=9#J83-PpzuE4j zy>g;!eFf17dPB~JydpkE@8BxsLDJ6w`iU*{gD)UL_{_`StD$M3_GKGPE1&MDIalfpfJrYOEinN$pv$LkQz{-{ZT@BS>si-Vj^OOM{I z?;_h%Jb5|6o*`8GuB$B1IWryPvy3MlFczZPrn`GO_a7Oc5k{iJO ztYLm1bbI@^9WB>*c6XNPhd{85F3ta$?mLTp?*;MP)?$3W-Eplm<>Ym(|9qU z9zpwgf5T9#Z07X~VM$uoYro50zg+KV5A0cNW!U}7&%R0k|L{Tju_dI8wlKWQzD4IiAWpS2h5C0wKvNr3I zc9vq{6dBy@CUI!Hs}5*DNUumhV`vl4ee!r0Nb+o$n8pA;!|NC5Q4_(Iv);duvZ8^P zYimnMEt%ig+raRzYo<;Um!>4p2Ob8U%67&QdvD)JGPc!j=6dS4W?L^ zwhJ9@r-I^_n+7JoOIo=}sK#&^yv_QRbvq8NU~WqXcR0pO58@J&B&i~j1WvTxdaO*2 zn%#PL`)41!<$@QXAbGE5!2WKUVwoX0Ir5pih`vSNs}yyJvfmEjJs$m^e9}!pw2CP`zHCJ%$A1g z0DUiNZ^@14^@JWO8Yy33N<&xn$w-UJi>RNpLb#o7%n!*uu6j~&@3`b!8A3h(T4JFh zJu{{ymYnS=YyEYhRdH*to3~sK(&Q#YmXmLjs-m8)8hJLo(gY>gE5FLhu4t>fdI0-k z46gy39;QW+${^$1jMq)H6?nw#5s1%HTXZShF~F5k8r1`-K%uvqKPf1t|FYP^-`^{TW?=O57o z9vg=M$x+Gkm2hm1+oOBjJg{ctVe+Rao0o;c>f)%QqbDo@VF*G&fGilDj6o=Ln`h%Z zAXL9x7QeE%pZ3M1ZAO{eSc`kg6_|7;kpF#OO4c}&Fe!-wkp^i+gff}vGx9`e0Wm_` zYjLX}i9)AbDETjj-G%O5#2Mia?!s`5kdycm+!0Z2Ei)W{)&&p8?*8jj#G0t$ul9tT z>Lfgphf@;w_0e+dUl6tx8|>S4hG2Dd^H_&Jp_~udk44+&M^DESSA zS-}e%1YXpvn|g?ODmKIsdVSFN9!a#th6p*|y}sHF4x-+Han$bpl1ih!+6%#t&}+#! z?x5b(+r%ZFTJ3#lr5VfXEK=M_H^Cq-vP*aMA~Vs4;fvW9Va!NR-=*mYuc-_hZ0W0M zH3J1)&9m_bUXm^zz>Kp;7?C2hW|oQD`r5e;0-CsseKF!DzNV9o1y_NO?Ui;2O}7Dt zbVIrll9g>hywwF&*WQ8*v)_j5$Rvjr`d<-tfVU2vhDOxQUuwuSAtG+*wsfTEILnhw z^o7<;$2Z5e`RZ%Nd4B#=-J62MY_F~p0MtD>0{;j<1SuycX1KGBi|aQwULN#Qj^&wa zk{0=n*O^?*Ovc>`I+U1R7uIyA6KYtAQ`Vw7hrinz&?R5VwQ>It z@*1%IjdPKsnU;LwOjBp!0E^jfU~!x_f((tBz$}Dwd5m=>=5Cb#H`+N3;=F3cO#DApQg%N7gC2R-=63(EuurKz)E|s;F8E^g$gFfA`{fh`#%_#@y^Ut!^ltTeV*QJ34bnRW6VF@ zk0CB7N42Rq>H{Gtt*`^kUt=obUbJ`HZ7fFR2n3?%JgFRE4Ozf@{w3^>2CPj35Yj#K zSRBk08WT(n;!KSLWhusL>=#!JDrE~7FMB8lCy8A?5q8iPDcxfYF|cEd!3KNk zcAiT@9VPofY7EIT+}$og^*~N2dI`*~dx`f}gMgzVmU#&cbK|jqVDaNIEX`|%#bI^v zKh|s^pfj!)3f>NYV2B+pgV&tIAv0Cp{B_|$!`MY{unS6zWq$N#3ZPFSS|xv3O`v(I znchn9H^CGFd(aiW$fWEy)rBYj2)3fx{NQ(<xiRw3dBVPNVKntPeTXoKfUY#@6w{ zE$T3AFZJZ}3{@apVBW)msA$$(@CENa%AUf)KMD2oGUOrl!~#$XVv%ehKR60Wf5F5v zdVm%8#_t7?Mjznyprqh|S9g!eV2{%3eEY?Aa5g=}zW*?o+9Vcx-hP+E40!W?19DzI zw*cDfl9@UN8ReVzEyfbb0b~K=sZZwLYlBGNN3_^a*J3yqkh75;%NL2*>XEXI(saUW z-^4Ign5s2f?FcWNt04=+YJ0>x>xvdadvz91GzqpM(VeJCV9z^!AA=uA15uf`nxvND zwot%Lo*En@jzbz1?Q=uzQl#7zR#Vns>q(7e*Q2kEf78Z{PwU3D-C%h$i6Xg%F%kG+ z^Ndf*1z={`nzMfc!^c%Tg&DMwmE^eylBGM?6F3_zhuOsa5S6)ixTN<)WOUk%vRf&>h7x;`xc z1BKuB@O=t(NhavW2qF2_`m6UYFN72`Q?*`-Vn(T0QNL-<;Z1_boX_Fcz7Kcop® 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

AZeKRI`wtUz{t+J0 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

0E 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 tR+!DP+)k#aJq^xJ1Cc+jGoHTua$%7 Date: Tue, 9 Jul 2024 10:33:04 +0900 Subject: [PATCH 002/121] fix wordings --- .../blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md index df7351264c..a7b21d7292 100644 --- a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md @@ -7,11 +7,11 @@ canonicalUrl: https://kubernetes.dev/blog/2024/07/xx/introducing-kube-scheduler- author: Kensei Nakada (Tetrate) --- -The Kubernetes Scheduler is a crucial control plane component responsible for determining which Node a Pod will run on. +The Kubernetes Scheduler is a crucial control plane component that determines which Node a Pod will run on. Thus, anyone utilizing Kubernetes relies on the scheduler. [Kube-scheduler-simulator](sigs.k8s.io/kube-scheduler-simulator) is a simulator for the Kubernetes scheduler, initially developed by Kensei Nakada as part of [Google Summer of Code 2021](https://summerofcode.withgoogle.com/). -This tool allows users to closely examine the scheduler’s behavior and decisions, +This tool allows users to examine the scheduler’s behavior and decisions closely, making it useful for both casual users who employ scheduling constraints (e.g., PodAffinity) and experts who extend the scheduler with custom plugins. From 0aa604c23141e287762d7267abf9cf3f0d44f93a Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Wed, 10 Jul 2024 23:46:21 +0900 Subject: [PATCH 003/121] use figure --- .../2024-07-xx-kube-scheduler-simulator/index.md | 5 +++-- .../contributors.png | Bin .../simulator.png | Bin 3 files changed, 3 insertions(+), 2 deletions(-) rename {content/en/blog/_posts => static/images/blog}/2024-07-xx-kube-scheduler-simulator/contributors.png (100%) rename {content/en/blog/_posts => static/images/blog}/2024-07-xx-kube-scheduler-simulator/simulator.png (100%) diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md index a7b21d7292..f7e9ad4e2b 100644 --- a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md @@ -3,7 +3,6 @@ layout: blog title: "Introducing Kube-scheduler-simulator" date: 2024-07-xx slug: introducing-kube-scheduler-simulator -canonicalUrl: https://kubernetes.dev/blog/2024/07/xx/introducing-kube-scheduler-simulator/ author: Kensei Nakada (Tetrate) --- @@ -38,7 +37,7 @@ filter Nodes (Filter phase), score Nodes (Score phase), and ultimately determine The simulator allows users to create Kubernetes resources and observe how each plugin influences the scheduling decisions for Pods. This visibility helps users understand the scheduler’s workings and define appropriate scheduling constraints. -![Screenshot of the simulator web frontend](./simulator.png) +{{< figure src="/images/blog/2024-07-xx-kube-scheduler-simulator/simulator.png" alt="Screenshot of the simulator web frontend" title="The simulator web frontend" >}} Inside the simulator, instead of the vanilla scheduler, it runs the debuggable scheduler, which outputs each scheduler plugin’s result from every extension point to Pod’s annotations. @@ -111,3 +110,5 @@ The simulator has been maintained by dedicated volunteer engineers, overcoming m A big shout out to all [the awesome contributors](https://github.com/kubernetes-sigs/kube-scheduler-simulator/graphs/contributors)! ![contributors](./contributors.png) + +{{< figure src="/images/blog/2024-07-xx-kube-scheduler-simulator/contributors.png" alt="Screenshot of the contributor list" title="Contributors" >}} \ No newline at end of file diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/contributors.png b/static/images/blog/2024-07-xx-kube-scheduler-simulator/contributors.png similarity index 100% rename from content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/contributors.png rename to static/images/blog/2024-07-xx-kube-scheduler-simulator/contributors.png diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/simulator.png b/static/images/blog/2024-07-xx-kube-scheduler-simulator/simulator.png similarity index 100% rename from content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/simulator.png rename to static/images/blog/2024-07-xx-kube-scheduler-simulator/simulator.png From 15786eb4c5b9fb76fb0b4e12fff06ce3c98aca9b Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Sun, 21 Jul 2024 15:38:52 +0900 Subject: [PATCH 004/121] fix wordings --- .../index.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md index f7e9ad4e2b..714fd8ae71 100644 --- a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md @@ -10,8 +10,9 @@ The Kubernetes Scheduler is a crucial control plane component that determines wh Thus, anyone utilizing Kubernetes relies on the scheduler. [Kube-scheduler-simulator](sigs.k8s.io/kube-scheduler-simulator) is a simulator for the Kubernetes scheduler, initially developed by Kensei Nakada as part of [Google Summer of Code 2021](https://summerofcode.withgoogle.com/). -This tool allows users to examine the scheduler’s behavior and decisions closely, -making it useful for both casual users who employ scheduling constraints (e.g., PodAffinity) +This tool allows users to closely examine the scheduler’s behavior and decisions. + +It is useful for casual users who employ scheduling constraints (e.g., PodAffinity) and experts who extend the scheduler with custom plugins. ## Motivation @@ -20,8 +21,8 @@ The scheduler often appears as a black box, composed of many plugins that each contribute to the scheduling decision-making process from their unique perspectives. Understanding its behavior can be challenging due to the multitude of factors it considers. Even if a Pod seems to be scheduled as expected in your simple test cluster, -it’s maybe because of a different reason from what you imagine, -and could result in unexpected scheduling results in a large production environment. +it may be for a different reason than what you imagine, +which could result in unexpected scheduling results in a large production environment. The scheduler simulator aims to reveal this black box, enabling users to test their scheduling constraints, scheduler configurations, @@ -29,7 +30,7 @@ and custom plugins while checking every detailed part of scheduling decisions. ## What’s Kube-scheduler-simulator? -The simulator’s core feature is its ability to expose the internal decisions of the scheduler. +The simulator’s core feature is its ability to expose the scheduler's internal decisions. The scheduler operates based on the [Scheduling Framework](/concepts/scheduling-eviction/scheduling-framework/), utilizing various plugins at different extension points; filter Nodes (Filter phase), score Nodes (Score phase), and ultimately determine the best Node for the Pod. @@ -73,12 +74,13 @@ metadata: ``` Users can also integrate their custom plugins or extenders into the debuggable scheduler and visualize their results. -Also, this debuggable scheduler can run standalone, e.g., on any Kubernetes cluster or in integration tests. -Those would be useful to custom plugin developers to test their plugins or examine their custom scheduler in a real cluster with better debuggability. + +This debuggable scheduler can also run standalone, e.g., on any Kubernetes cluster or in integration tests. +This would be useful to custom plugin developers who want to test their plugins or examine their custom scheduler in a real cluster with better debuggability. ## What are the use cases? -1. **Cluser users**: Examine if your scheduling constraints (e.g., PodAffinity, PodTopologySpread) work as intended. +1. **Cluster users**: Examine if your scheduling constraints (e.g., PodAffinity, PodTopologySpread) work as intended. 2. **Cluster admins**: Assess how your cluster would behave with changes to the scheduler configuration. 3. **Scheduler plugin developers**: Test your custom scheduler plugins or extenders, or use the debuggable scheduler in integration tests or development clusters. From ca38622c47b0378ec8f5987fa843af3b47a507ae Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Fri, 26 Jul 2024 14:09:50 +0900 Subject: [PATCH 005/121] fix wording --- .../_posts/2024-07-xx-kube-scheduler-simulator/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md index 714fd8ae71..4a76cb172f 100644 --- a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md @@ -43,8 +43,8 @@ This visibility helps users understand the scheduler’s workings and define app Inside the simulator, instead of the vanilla scheduler, it runs the debuggable scheduler, which outputs each scheduler plugin’s result from every extension point to Pod’s annotations. Inside the simulator, a debuggable scheduler runs instead of the vanilla scheduler. -This debuggable scheduler outputs the results of each scheduler plugin at every extension point to the Pod’s annotations. -Actually, the web frontend just shows the results reading from the annotations. +This debuggable scheduler outputs the results of each scheduler plugin at every extension point to the Pod’s annotations +and the web front end shows the results fetched from the annotations. ```yaml kind: Pod @@ -103,7 +103,7 @@ Visit [Kube-scheduler-simulator repository](sigs.k8s.io/kube-scheduler-simulator The Kube-scheduler-simulator is developed by Kubernetes SIG Scheduling. Your feedback and contributions are welcome! Open issues or PRs at [Kube-scheduler-simulator repository](sigs.k8s.io/kube-scheduler-simulator) -Join the conversation on the #sig-scheduling slack channel. +Join the conversation on the [#sig-scheduling](https://kubernetes.slack.com/messages/sig-scheduling) slack channel. ## Acknowledgments From b9ac28ba188052a0d357a7498bb68a27a9c3b341 Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Fri, 2 Aug 2024 15:39:36 +0900 Subject: [PATCH 006/121] address comments --- .../_posts/2024-07-xx-kube-scheduler-simulator/index.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md index 4a76cb172f..cbd4187a47 100644 --- a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md @@ -9,7 +9,7 @@ author: Kensei Nakada (Tetrate) The Kubernetes Scheduler is a crucial control plane component that determines which Node a Pod will run on. Thus, anyone utilizing Kubernetes relies on the scheduler. -[Kube-scheduler-simulator](sigs.k8s.io/kube-scheduler-simulator) is a simulator for the Kubernetes scheduler, initially developed by Kensei Nakada as part of [Google Summer of Code 2021](https://summerofcode.withgoogle.com/). +[Kube-scheduler-simulator](https://sigs.k8s.io/kube-scheduler-simulator) is a simulator for the Kubernetes scheduler, initially developed by Kensei Nakada as part of [Google Summer of Code 2021](https://summerofcode.withgoogle.com/). This tool allows users to closely examine the scheduler’s behavior and decisions. It is useful for casual users who employ scheduling constraints (e.g., PodAffinity) @@ -28,7 +28,7 @@ The scheduler simulator aims to reveal this black box, enabling users to test their scheduling constraints, scheduler configurations, and custom plugins while checking every detailed part of scheduling decisions. -## What’s Kube-scheduler-simulator? +## Features of the Kube-scheduler-simulator The simulator’s core feature is its ability to expose the scheduler's internal decisions. The scheduler operates based on the [Scheduling Framework](/concepts/scheduling-eviction/scheduling-framework/), @@ -40,8 +40,6 @@ This visibility helps users understand the scheduler’s workings and define app {{< figure src="/images/blog/2024-07-xx-kube-scheduler-simulator/simulator.png" alt="Screenshot of the simulator web frontend" title="The simulator web frontend" >}} -Inside the simulator, instead of the vanilla scheduler, -it runs the debuggable scheduler, which outputs each scheduler plugin’s result from every extension point to Pod’s annotations. Inside the simulator, a debuggable scheduler runs instead of the vanilla scheduler. This debuggable scheduler outputs the results of each scheduler plugin at every extension point to the Pod’s annotations and the web front end shows the results fetched from the annotations. @@ -96,7 +94,7 @@ make docker_up You can then access the simulator's web UI at http://localhost:3000. -Visit [Kube-scheduler-simulator repository](sigs.k8s.io/kube-scheduler-simulator) for more details! +Visit the [kube-scheduler-simulator repository](https://sigs.k8s.io/kube-scheduler-simulator) for more details! ## Getting involved From 6754c4b6189081f7dbbd50d56e5cc5e7e8da2f4c Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Mon, 2 Sep 2024 13:18:05 +0900 Subject: [PATCH 007/121] mention a new syncing feature --- .../index.md | 28 ++++++++++++++++--- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md index cbd4187a47..14c3a4cb5d 100644 --- a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md @@ -24,9 +24,20 @@ Even if a Pod seems to be scheduled as expected in your simple test cluster, it may be for a different reason than what you imagine, which could result in unexpected scheduling results in a large production environment. -The scheduler simulator aims to reveal this black box, -enabling users to test their scheduling constraints, scheduler configurations, +Also, testing your scheduler is a complex challenge. +There are countless patterns of operations executed within a real cluster, making it impractical to anticipate every scenario with a finite number of tests. +More often than not, bugs are discovered only when the scheduler is deployed in an actual cluster. +Actually, many bugs are reported by users after we ship the release, even in the upstream kube-scheduler. + +Having a development or sandbox environment for testing the scheduler — or, indeed, any Kubernetes controllers — is a common practice for this problem. +However, this approach falls short of capturing all the potential scenarios that might arise in a production cluster +because a development cluster is often much smaller, and never sees the exact same use or exhibits the same behavior as its production counterpart, +with notable differences in workload sizes and scaling dynamics. + +The scheduler simulator aims to solve those problems. +It enables users to test their scheduling constraints, scheduler configurations, and custom plugins while checking every detailed part of scheduling decisions. +It also allows us to create a simulated cluster environment, where you can test your scheduler with the same resources as your production cluster, but without affecting your actual workloads. ## Features of the Kube-scheduler-simulator @@ -76,11 +87,20 @@ Users can also integrate their custom plugins or extenders into the debuggable s This debuggable scheduler can also run standalone, e.g., on any Kubernetes cluster or in integration tests. This would be useful to custom plugin developers who want to test their plugins or examine their custom scheduler in a real cluster with better debuggability. +## The simulator as a better dev cluster + +As mentioned earlier, it is impossible to predict every possible scenario in a real-world cluster with a limited set of tests. Typically, we test the scheduler in a small, development cluster before deploying it to production, hoping no issues arise. + +[The simulator’s importing feature](https://github.com/kubernetes-sigs/kube-scheduler-simulator/blob/master/simulator/docs/import-cluster-resources.md) provides a solution by allowing you to simulate deploying a new scheduler version in a production-like environment without impacting your live workloads. + +By continuously syncing between your production cluster and the simulator, you can safely test a new scheduler version with the same resources your production cluster handles. +Once confident in its performance, you can proceed with the production deployment, reducing the risk of unexpected issues. + ## What are the use cases? 1. **Cluster users**: Examine if your scheduling constraints (e.g., PodAffinity, PodTopologySpread) work as intended. 2. **Cluster admins**: Assess how your cluster would behave with changes to the scheduler configuration. -3. **Scheduler plugin developers**: Test your custom scheduler plugins or extenders, or use the debuggable scheduler in integration tests or development clusters. +3. **Scheduler plugin developers**: Test your custom scheduler plugins or extenders, use the debuggable scheduler in integration tests or development clusters, and use [the syncing feature](https://github.com/kubernetes-sigs/kube-scheduler-simulator/blob/master/simulator/docs/import-cluster-resources.md) for testing within a production-like environment. ## Getting started @@ -111,4 +131,4 @@ A big shout out to all [the awesome contributors](https://github.com/kubernetes- ![contributors](./contributors.png) -{{< figure src="/images/blog/2024-07-xx-kube-scheduler-simulator/contributors.png" alt="Screenshot of the contributor list" title="Contributors" >}} \ No newline at end of file +{{< figure src="/images/blog/2024-07-xx-kube-scheduler-simulator/contributors.png" alt="Screenshot of the contributor list" title="Contributors" >}} From 1eb72c993a85d607e77d0164f2e5f4e92a08b1a1 Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Wed, 4 Sep 2024 12:30:18 +0900 Subject: [PATCH 008/121] fix based on the reviews --- .../index.md | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md index 14c3a4cb5d..405e35c3ac 100644 --- a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md @@ -27,17 +27,18 @@ which could result in unexpected scheduling results in a large production enviro Also, testing your scheduler is a complex challenge. There are countless patterns of operations executed within a real cluster, making it impractical to anticipate every scenario with a finite number of tests. More often than not, bugs are discovered only when the scheduler is deployed in an actual cluster. -Actually, many bugs are reported by users after we ship the release, even in the upstream kube-scheduler. +Actually, many bugs are reported by users after we ship the release, and the bugs are found -Having a development or sandbox environment for testing the scheduler — or, indeed, any Kubernetes controllers — is a common practice for this problem. +Having a development or sandbox environment for testing the scheduler — or, indeed, any Kubernetes controllers — is a common practice. However, this approach falls short of capturing all the potential scenarios that might arise in a production cluster -because a development cluster is often much smaller, and never sees the exact same use or exhibits the same behavior as its production counterpart, -with notable differences in workload sizes and scaling dynamics. +because a development cluster is often much smaller with notable differences in workload sizes and scaling dynamics. +It never sees the exact same use or exhibits the same behavior as its production counterpart. The scheduler simulator aims to solve those problems. It enables users to test their scheduling constraints, scheduler configurations, and custom plugins while checking every detailed part of scheduling decisions. -It also allows us to create a simulated cluster environment, where you can test your scheduler with the same resources as your production cluster, but without affecting your actual workloads. +It also allows you to create a simulated cluster environment, where you can test your scheduler +with the same resources as your production cluster without affecting your actual workloads. ## Features of the Kube-scheduler-simulator @@ -89,9 +90,11 @@ This would be useful to custom plugin developers who want to test their plugins ## The simulator as a better dev cluster -As mentioned earlier, it is impossible to predict every possible scenario in a real-world cluster with a limited set of tests. Typically, we test the scheduler in a small, development cluster before deploying it to production, hoping no issues arise. +As mentioned earlier, with a limited set of tests, it is impossible to predict every possible scenario in a real-world cluster. +Typically, you will test the scheduler in a small, development cluster before deploying it to production, hoping that no issues arise. -[The simulator’s importing feature](https://github.com/kubernetes-sigs/kube-scheduler-simulator/blob/master/simulator/docs/import-cluster-resources.md) provides a solution by allowing you to simulate deploying a new scheduler version in a production-like environment without impacting your live workloads. +[The simulator’s importing feature](https://github.com/kubernetes-sigs/kube-scheduler-simulator/blob/master/simulator/docs/import-cluster-resources.md) +provides a solution by allowing you to simulate deploying a new scheduler version in a production-like environment without impacting your live workloads. By continuously syncing between your production cluster and the simulator, you can safely test a new scheduler version with the same resources your production cluster handles. Once confident in its performance, you can proceed with the production deployment, reducing the risk of unexpected issues. From b3c8a2a24edff8a163b97a69473ce093c8ea4d9d Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Tue, 12 Nov 2024 16:49:49 -0700 Subject: [PATCH 009/121] fix: address reviews --- .../index.md | 50 +++++++++---------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md index 405e35c3ac..5e937c69af 100644 --- a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md @@ -9,10 +9,10 @@ author: Kensei Nakada (Tetrate) The Kubernetes Scheduler is a crucial control plane component that determines which Node a Pod will run on. Thus, anyone utilizing Kubernetes relies on the scheduler. -[Kube-scheduler-simulator](https://sigs.k8s.io/kube-scheduler-simulator) is a simulator for the Kubernetes scheduler, initially developed by Kensei Nakada as part of [Google Summer of Code 2021](https://summerofcode.withgoogle.com/). +The [kube-scheduler-simulator](https://sigs.k8s.io/kube-scheduler-simulator) is a simulator for the Kubernetes scheduler, initially developed by me (Kensei Nakada) as part of [Google Summer of Code 2021](https://summerofcode.withgoogle.com/). This tool allows users to closely examine the scheduler’s behavior and decisions. -It is useful for casual users who employ scheduling constraints (e.g., PodAffinity) +It is useful for casual users who employ scheduling constraints (e.g., inter-Pod affinity) and experts who extend the scheduler with custom plugins. ## Motivation @@ -61,29 +61,29 @@ kind: Pod apiVersion: v1 metadata: annotations: - scheduler-simulator/bind-result: '{"DefaultBinder":"success"}' - scheduler-simulator/filter-result: >- + kube-scheduler-simulator.sigs.k8s.io/bind-result: '{"DefaultBinder":"success"}' + kube-scheduler-simulator.sigs.k8s.io/filter-result: >- {"node-jjfg5":{"NodeName":"passed","NodeResourcesFit":"passed","NodeUnschedulable":"passed","TaintToleration":"passed"},"node-mtb5x":{"NodeName":"passed","NodeResourcesFit":"passed","NodeUnschedulable":"passed","TaintToleration":"passed"}} - scheduler-simulator/finalscore-result: >- + kube-scheduler-simulator.sigs.k8s.io/finalscore-result: >- {"node-jjfg5":{"ImageLocality":"0","NodeAffinity":"0","NodeResourcesBalancedAllocation":"52","NodeResourcesFit":"47","TaintToleration":"300","VolumeBinding":"0"},"node-mtb5x":{"ImageLocality":"0","NodeAffinity":"0","NodeResourcesBalancedAllocation":"76","NodeResourcesFit":"73","TaintToleration":"300","VolumeBinding":"0"}} - scheduler-simulator/permit-result: '{}' - scheduler-simulator/permit-result-timeout: '{}' - scheduler-simulator/postfilter-result: '{}' - scheduler-simulator/prebind-result: '{"VolumeBinding":"success"}' - scheduler-simulator/prefilter-result: '{}' - scheduler-simulator/prefilter-result-status: >- + kube-scheduler-simulator.sigs.k8s.io/permit-result: '{}' + kube-scheduler-simulator.sigs.k8s.io/permit-result-timeout: '{}' + kube-scheduler-simulator.sigs.k8s.io/postfilter-result: '{}' + kube-scheduler-simulator.sigs.k8s.io/prebind-result: '{"VolumeBinding":"success"}' + kube-scheduler-simulator.sigs.k8s.io/prefilter-result: '{}' + kube-scheduler-simulator.sigs.k8s.io/prefilter-result-status: >- {"AzureDiskLimits":"","EBSLimits":"","GCEPDLimits":"","InterPodAffinity":"","NodeAffinity":"","NodePorts":"","NodeResourcesFit":"success","NodeVolumeLimits":"","PodTopologySpread":"","VolumeBinding":"","VolumeRestrictions":"","VolumeZone":""} - scheduler-simulator/prescore-result: >- + kube-scheduler-simulator.sigs.k8s.io/prescore-result: >- {"InterPodAffinity":"","NodeAffinity":"success","NodeResourcesBalancedAllocation":"success","NodeResourcesFit":"success","PodTopologySpread":"","TaintToleration":"success"} - scheduler-simulator/reserve-result: '{"VolumeBinding":"success"}' - scheduler-simulator/result-history: >- - [{"scheduler-simulator/bind-result":"{\"DefaultBinder\":\"success\"}","scheduler-simulator/filter-result":"{\"node-jjfg5\":{\"NodeName\":\"passed\",\"NodeResourcesFit\":\"passed\",\"NodeUnschedulable\":\"passed\",\"TaintToleration\":\"passed\"},\"node-mtb5x\":{\"NodeName\":\"passed\",\"NodeResourcesFit\":\"passed\",\"NodeUnschedulable\":\"passed\",\"TaintToleration\":\"passed\"}}","scheduler-simulator/finalscore-result":"{\"node-jjfg5\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"52\",\"NodeResourcesFit\":\"47\",\"TaintToleration\":\"300\",\"VolumeBinding\":\"0\"},\"node-mtb5x\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"76\",\"NodeResourcesFit\":\"73\",\"TaintToleration\":\"300\",\"VolumeBinding\":\"0\"}}","scheduler-simulator/permit-result":"{}","scheduler-simulator/permit-result-timeout":"{}","scheduler-simulator/postfilter-result":"{}","scheduler-simulator/prebind-result":"{\"VolumeBinding\":\"success\"}","scheduler-simulator/prefilter-result":"{}","scheduler-simulator/prefilter-result-status":"{\"AzureDiskLimits\":\"\",\"EBSLimits\":\"\",\"GCEPDLimits\":\"\",\"InterPodAffinity\":\"\",\"NodeAffinity\":\"\",\"NodePorts\":\"\",\"NodeResourcesFit\":\"success\",\"NodeVolumeLimits\":\"\",\"PodTopologySpread\":\"\",\"VolumeBinding\":\"\",\"VolumeRestrictions\":\"\",\"VolumeZone\":\"\"}","scheduler-simulator/prescore-result":"{\"InterPodAffinity\":\"\",\"NodeAffinity\":\"success\",\"NodeResourcesBalancedAllocation\":\"success\",\"NodeResourcesFit\":\"success\",\"PodTopologySpread\":\"\",\"TaintToleration\":\"success\"}","scheduler-simulator/reserve-result":"{\"VolumeBinding\":\"success\"}","scheduler-simulator/score-result":"{\"node-jjfg5\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"52\",\"NodeResourcesFit\":\"47\",\"TaintToleration\":\"0\",\"VolumeBinding\":\"0\"},\"node-mtb5x\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"76\",\"NodeResourcesFit\":\"73\",\"TaintToleration\":\"0\",\"VolumeBinding\":\"0\"}}","scheduler-simulator/selected-node":"node-mtb5x"}] - scheduler-simulator/score-result: >- + kube-scheduler-simulator.sigs.k8s.io/reserve-result: '{"VolumeBinding":"success"}' + kube-scheduler-simulator.sigs.k8s.io/result-history: >- + [{"kube-scheduler-simulator.sigs.k8s.io/bind-result":"{\"DefaultBinder\":\"success\"}","kube-scheduler-simulator.sigs.k8s.io/filter-result":"{\"node-jjfg5\":{\"NodeName\":\"passed\",\"NodeResourcesFit\":\"passed\",\"NodeUnschedulable\":\"passed\",\"TaintToleration\":\"passed\"},\"node-mtb5x\":{\"NodeName\":\"passed\",\"NodeResourcesFit\":\"passed\",\"NodeUnschedulable\":\"passed\",\"TaintToleration\":\"passed\"}}","kube-scheduler-simulator.sigs.k8s.io/finalscore-result":"{\"node-jjfg5\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"52\",\"NodeResourcesFit\":\"47\",\"TaintToleration\":\"300\",\"VolumeBinding\":\"0\"},\"node-mtb5x\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"76\",\"NodeResourcesFit\":\"73\",\"TaintToleration\":\"300\",\"VolumeBinding\":\"0\"}}","kube-scheduler-simulator.sigs.k8s.io/permit-result":"{}","kube-scheduler-simulator.sigs.k8s.io/permit-result-timeout":"{}","kube-scheduler-simulator.sigs.k8s.io/postfilter-result":"{}","kube-scheduler-simulator.sigs.k8s.io/prebind-result":"{\"VolumeBinding\":\"success\"}","kube-scheduler-simulator.sigs.k8s.io/prefilter-result":"{}","kube-scheduler-simulator.sigs.k8s.io/prefilter-result-status":"{\"AzureDiskLimits\":\"\",\"EBSLimits\":\"\",\"GCEPDLimits\":\"\",\"InterPodAffinity\":\"\",\"NodeAffinity\":\"\",\"NodePorts\":\"\",\"NodeResourcesFit\":\"success\",\"NodeVolumeLimits\":\"\",\"PodTopologySpread\":\"\",\"VolumeBinding\":\"\",\"VolumeRestrictions\":\"\",\"VolumeZone\":\"\"}","kube-scheduler-simulator.sigs.k8s.io/prescore-result":"{\"InterPodAffinity\":\"\",\"NodeAffinity\":\"success\",\"NodeResourcesBalancedAllocation\":\"success\",\"NodeResourcesFit\":\"success\",\"PodTopologySpread\":\"\",\"TaintToleration\":\"success\"}","kube-scheduler-simulator.sigs.k8s.io/reserve-result":"{\"VolumeBinding\":\"success\"}","kube-scheduler-simulator.sigs.k8s.io/score-result":"{\"node-jjfg5\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"52\",\"NodeResourcesFit\":\"47\",\"TaintToleration\":\"0\",\"VolumeBinding\":\"0\"},\"node-mtb5x\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"76\",\"NodeResourcesFit\":\"73\",\"TaintToleration\":\"0\",\"VolumeBinding\":\"0\"}}","kube-scheduler-simulator.sigs.k8s.io/selected-node":"node-mtb5x"}] + kube-scheduler-simulator.sigs.k8s.io/score-result: >- {"node-jjfg5":{"ImageLocality":"0","NodeAffinity":"0","NodeResourcesBalancedAllocation":"52","NodeResourcesFit":"47","TaintToleration":"0","VolumeBinding":"0"},"node-mtb5x":{"ImageLocality":"0","NodeAffinity":"0","NodeResourcesBalancedAllocation":"76","NodeResourcesFit":"73","TaintToleration":"0","VolumeBinding":"0"}} - scheduler-simulator/selected-node: node-mtb5x + kube-scheduler-simulator.sigs.k8s.io/selected-node: node-mtb5x ``` -Users can also integrate their custom plugins or extenders into the debuggable scheduler and visualize their results. +Users can also integrate their custom plugins or extenders, into the debuggable scheduler and visualize their results. This debuggable scheduler can also run standalone, e.g., on any Kubernetes cluster or in integration tests. This would be useful to custom plugin developers who want to test their plugins or examine their custom scheduler in a real cluster with better debuggability. @@ -102,8 +102,8 @@ Once confident in its performance, you can proceed with the production deploymen ## What are the use cases? 1. **Cluster users**: Examine if your scheduling constraints (e.g., PodAffinity, PodTopologySpread) work as intended. -2. **Cluster admins**: Assess how your cluster would behave with changes to the scheduler configuration. -3. **Scheduler plugin developers**: Test your custom scheduler plugins or extenders, use the debuggable scheduler in integration tests or development clusters, and use [the syncing feature](https://github.com/kubernetes-sigs/kube-scheduler-simulator/blob/master/simulator/docs/import-cluster-resources.md) for testing within a production-like environment. +1. **Cluster admins**: Assess how your cluster would behave with changes to the scheduler configuration. +1. **Scheduler plugin developers**: Test your custom scheduler plugins or extenders, use the debuggable scheduler in integration tests or development clusters, or use the [syncing](https://github.com/kubernetes-sigs/kube-scheduler-simulator/blob/simulator/v0.3.0/simulator/docs/import-cluster-resources.md) feature for testing within a production-like environment. ## Getting started @@ -115,15 +115,15 @@ cd kube-scheduler-simulator make docker_up ``` -You can then access the simulator's web UI at http://localhost:3000. +You can then access the simulator's web UI at `http://localhost:3000`. Visit the [kube-scheduler-simulator repository](https://sigs.k8s.io/kube-scheduler-simulator) for more details! ## Getting involved -The Kube-scheduler-simulator is developed by Kubernetes SIG Scheduling. Your feedback and contributions are welcome! +The scheduler simulator is developed by Kubernetes SIG Scheduling. Your feedback and contributions are welcome! -Open issues or PRs at [Kube-scheduler-simulator repository](sigs.k8s.io/kube-scheduler-simulator) +Open issues or PRs at the [kube-scheduler-simulator repository](https://sigs.k8s.io/kube-scheduler-simulator). Join the conversation on the [#sig-scheduling](https://kubernetes.slack.com/messages/sig-scheduling) slack channel. ## Acknowledgments @@ -132,6 +132,4 @@ The simulator has been maintained by dedicated volunteer engineers, overcoming m A big shout out to all [the awesome contributors](https://github.com/kubernetes-sigs/kube-scheduler-simulator/graphs/contributors)! -![contributors](./contributors.png) - -{{< figure src="/images/blog/2024-07-xx-kube-scheduler-simulator/contributors.png" alt="Screenshot of the contributor list" title="Contributors" >}} +![Screenshot of the contributor list](./contributors.png) From a5cdce1472720c354b8281bcaf1ca91362fff343 Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Wed, 13 Nov 2024 02:28:45 -0700 Subject: [PATCH 010/121] fix: address reviews --- .../_posts/2024-07-xx-kube-scheduler-simulator/index.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md index 5e937c69af..3455f97618 100644 --- a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md @@ -6,7 +6,7 @@ slug: introducing-kube-scheduler-simulator author: Kensei Nakada (Tetrate) --- -The Kubernetes Scheduler is a crucial control plane component that determines which Node a Pod will run on. +The Kubernetes Scheduler is a crucial control plane component that determines which node a Pod will run on. Thus, anyone utilizing Kubernetes relies on the scheduler. The [kube-scheduler-simulator](https://sigs.k8s.io/kube-scheduler-simulator) is a simulator for the Kubernetes scheduler, initially developed by me (Kensei Nakada) as part of [Google Summer of Code 2021](https://summerofcode.withgoogle.com/). @@ -28,6 +28,7 @@ Also, testing your scheduler is a complex challenge. There are countless patterns of operations executed within a real cluster, making it impractical to anticipate every scenario with a finite number of tests. More often than not, bugs are discovered only when the scheduler is deployed in an actual cluster. Actually, many bugs are reported by users after we ship the release, and the bugs are found +even in the upstream kube-scheduler. Having a development or sandbox environment for testing the scheduler — or, indeed, any Kubernetes controllers — is a common practice. However, this approach falls short of capturing all the potential scenarios that might arise in a production cluster @@ -43,9 +44,9 @@ with the same resources as your production cluster without affecting your actual ## Features of the Kube-scheduler-simulator The simulator’s core feature is its ability to expose the scheduler's internal decisions. -The scheduler operates based on the [Scheduling Framework](/concepts/scheduling-eviction/scheduling-framework/), +The scheduler operates based on the [scheduling framework](/docs/concepts/scheduling-eviction/scheduling-framework/), utilizing various plugins at different extension points; -filter Nodes (Filter phase), score Nodes (Score phase), and ultimately determine the best Node for the Pod. +filter nodes (Filter phase), score nodes (Score phase), and ultimately determine the best node for the Pod. The simulator allows users to create Kubernetes resources and observe how each plugin influences the scheduling decisions for Pods. This visibility helps users understand the scheduler’s workings and define appropriate scheduling constraints. From 058af2dd395a9257e879450af7f11c3e38f1b141 Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Tue, 7 Jan 2025 16:38:28 +0900 Subject: [PATCH 011/121] fix: update the publish date --- .../en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md index 3455f97618..007b6d97af 100644 --- a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md @@ -1,7 +1,7 @@ --- layout: blog title: "Introducing Kube-scheduler-simulator" -date: 2024-07-xx +date: 2025-01-22 slug: introducing-kube-scheduler-simulator author: Kensei Nakada (Tetrate) --- From c372b1d23a2ca1e665d895a04c1567b4435aedd8 Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Tue, 7 Jan 2025 16:43:13 +0900 Subject: [PATCH 012/121] fix: the date on the dir name --- .../index.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename content/en/blog/_posts/{2024-07-xx-kube-scheduler-simulator => 2025-01-22-kube-scheduler-simulator}/index.md (100%) diff --git a/content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md similarity index 100% rename from content/en/blog/_posts/2024-07-xx-kube-scheduler-simulator/index.md rename to content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md From cc75f2419e58c38910270d4b7a1fd05d5ea29a46 Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Tue, 7 Jan 2025 16:46:11 +0900 Subject: [PATCH 013/121] fix: the date on the dir name --- .../contributors.png | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename static/images/blog/{2024-07-xx-kube-scheduler-simulator => 2025-01-22-kube-scheduler-simulator}/contributors.png (100%) diff --git a/static/images/blog/2024-07-xx-kube-scheduler-simulator/contributors.png b/static/images/blog/2025-01-22-kube-scheduler-simulator/contributors.png similarity index 100% rename from static/images/blog/2024-07-xx-kube-scheduler-simulator/contributors.png rename to static/images/blog/2025-01-22-kube-scheduler-simulator/contributors.png From 737c82790530d1c3b2dc56ae5b040958f482d8c8 Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Tue, 7 Jan 2025 16:47:18 +0900 Subject: [PATCH 014/121] fix: the date on the dir name --- .../simulator.png | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename static/images/blog/{2024-07-xx-kube-scheduler-simulator => 2025-01-22-kube-scheduler-simulator}/simulator.png (100%) diff --git a/static/images/blog/2024-07-xx-kube-scheduler-simulator/simulator.png b/static/images/blog/2025-01-22-kube-scheduler-simulator/simulator.png similarity index 100% rename from static/images/blog/2024-07-xx-kube-scheduler-simulator/simulator.png rename to static/images/blog/2025-01-22-kube-scheduler-simulator/simulator.png From 00d9849a6040ff4c74f185534509e46e9c9d2523 Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Tue, 7 Jan 2025 16:50:50 +0900 Subject: [PATCH 015/121] fix: the date on the image paths --- .../blog/_posts/2025-01-22-kube-scheduler-simulator/index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md index 007b6d97af..e8198c9142 100644 --- a/content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md @@ -51,7 +51,7 @@ filter nodes (Filter phase), score nodes (Score phase), and ultimately determine The simulator allows users to create Kubernetes resources and observe how each plugin influences the scheduling decisions for Pods. This visibility helps users understand the scheduler’s workings and define appropriate scheduling constraints. -{{< figure src="/images/blog/2024-07-xx-kube-scheduler-simulator/simulator.png" alt="Screenshot of the simulator web frontend" title="The simulator web frontend" >}} +{{< figure src="/images/blog/2025-01-22-kube-scheduler-simulator/simulator.png" alt="Screenshot of the simulator web frontend" title="The simulator web frontend" >}} Inside the simulator, a debuggable scheduler runs instead of the vanilla scheduler. This debuggable scheduler outputs the results of each scheduler plugin at every extension point to the Pod’s annotations @@ -133,4 +133,5 @@ The simulator has been maintained by dedicated volunteer engineers, overcoming m A big shout out to all [the awesome contributors](https://github.com/kubernetes-sigs/kube-scheduler-simulator/graphs/contributors)! -![Screenshot of the contributor list](./contributors.png) +![Screenshot of the contributor list] +{{< figure src="/images/blog/2025-01-22-kube-scheduler-simulator/contributors.png" alt="Screenshot of the contributors" title="The simulator contributors" >}} From 67c6b09291adfdc2be27a2824b0e47921923e4a2 Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Tue, 4 Feb 2025 13:40:15 +0900 Subject: [PATCH 016/121] fix: update the date to the future and set it `draft: true` --- .../blog/_posts/2025-01-22-kube-scheduler-simulator/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md index e8198c9142..343b89f2a3 100644 --- a/content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md @@ -1,7 +1,8 @@ --- layout: blog title: "Introducing Kube-scheduler-simulator" -date: 2025-01-22 +date: 2030-01-22 +draft: true slug: introducing-kube-scheduler-simulator author: Kensei Nakada (Tetrate) --- From 34e2d884b09eec5917c212954263415e2eaaf202 Mon Sep 17 00:00:00 2001 From: dkarczmarski Date: Mon, 10 Mar 2025 06:50:03 +0100 Subject: [PATCH 017/121] [pl] fix the interactive Katacoda issue #41496 --- .../tutorials/kubernetes-basics/_index.html | 5 +- .../create-cluster/cluster-interactive.html | 38 -------------- .../create-cluster/cluster-intro.html | 12 +---- .../deploy-app/deploy-interactive.html | 52 ------------------- .../deploy-app/deploy-intro.html | 9 ---- .../explore/explore-interactive.html | 43 --------------- .../explore/explore-intro.html | 7 --- .../expose/expose-interactive.html | 35 ------------- .../expose/expose-intro.html | 5 -- .../scale/scale-interactive.html | 37 ------------- .../kubernetes-basics/scale/scale-intro.html | 9 +--- .../update/update-interactive.html | 38 -------------- .../update/update-intro.html | 17 +----- 13 files changed, 5 insertions(+), 302 deletions(-) delete mode 100644 content/pl/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html delete mode 100644 content/pl/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html delete mode 100644 content/pl/docs/tutorials/kubernetes-basics/explore/explore-interactive.html delete mode 100644 content/pl/docs/tutorials/kubernetes-basics/expose/expose-interactive.html delete mode 100644 content/pl/docs/tutorials/kubernetes-basics/scale/scale-interactive.html delete mode 100644 content/pl/docs/tutorials/kubernetes-basics/update/update-interactive.html diff --git a/content/pl/docs/tutorials/kubernetes-basics/_index.html b/content/pl/docs/tutorials/kubernetes-basics/_index.html index 0996edc64b..654dfacd4b 100644 --- a/content/pl/docs/tutorials/kubernetes-basics/_index.html +++ b/content/pl/docs/tutorials/kubernetes-basics/_index.html @@ -24,7 +24,7 @@ card:

@@ -46,7 +45,7 @@ card:
- +

Podstawy Kubernetes — Moduły

diff --git a/content/pl/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html b/content/pl/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html deleted file mode 100644 index a006c13ca6..0000000000 --- a/content/pl/docs/tutorials/kubernetes-basics/create-cluster/cluster-interactive.html +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Interaktywny samouczek - Tworzenie klastra -weight: 20 ---- - - - - - - - - - -{{< katacoda-tutorial >}} - - - - - diff --git a/content/pl/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html b/content/pl/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html index e19467e040..d3dd6da408 100644 --- a/content/pl/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html +++ b/content/pl/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro.html @@ -22,7 +22,6 @@ weight: 10
  • Nauczyć się, czym jest klaster Kubernetes.
  • Nauczyć się, czym jest Minikube.
  • -
  • Uruchomić klaster Kubernetes przy pomocy terminala online.
@@ -86,17 +85,8 @@ weight: 10

Kiedy instalujesz aplikację na Kubernetesie, zlecasz warstwie sterowania uruchomienie kontenera z aplikacją. Warstwa sterowania zleca uruchomienie kontenera na węzłach klastra. Węzły komunikują się z warstwą sterowania przy użyciu API Kubernetesa, udostępnianego poprzez warstwę sterowania. Użytkownicy końcowi mogą korzystać bezpośrednio z API Kubernetesa do komunikacji z klastrem.

-

Klaster Kubernetes może być zainstalowany zarówno na fizycznych, jak i na maszynach wirtualnych. Aby wypróbować Kubernetesa, można też wykorzystać Minikube. Minikube to "lekka" implementacja Kubernetesa, która tworzy VM na maszynie lokalnej i instaluje prosty klaster składający się tylko z jednego węzła. Minikube jest dostępny na systemy Linux, macOS i Windows. Narzędzie linii poleceń Minikube obsługuje podstawowe operacje na klastrze, takie jak start, stop, prezentacja informacji jego stanie i usunięcie klastra. Na potrzeby tego samouczka wykorzystamy jednak terminal online z zainstalowanym już wcześniej Minikube.

+

Klaster Kubernetes może być zainstalowany zarówno na fizycznych, jak i na maszynach wirtualnych. Aby wypróbować Kubernetesa, można też wykorzystać Minikube. Minikube to "lekka" implementacja Kubernetesa, która tworzy VM na maszynie lokalnej i instaluje prosty klaster składający się tylko z jednego węzła. Minikube jest dostępny na systemy Linux, macOS i Windows. Narzędzie linii poleceń Minikube obsługuje podstawowe operacje na klastrze, takie jak start, stop, prezentacja informacji jego stanie i usunięcie klastra.

-

Teraz, kiedy już wiesz, co to jest Kubernetes, przejdźmy do samouczka online i stwórzmy nasz pierwszy klaster!

- -
-
-
- - diff --git a/content/pl/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html b/content/pl/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html deleted file mode 100644 index f5057abe0d..0000000000 --- a/content/pl/docs/tutorials/kubernetes-basics/deploy-app/deploy-interactive.html +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: Interaktywny samouczek - Instalacja aplikacji -weight: 20 ---- - - - - - - - - - -{{< katacoda-tutorial >}} - -
- -
- -
-
-

- Pod to podstawowy element odpowiedzialny za uruchomienie aplikacji na Kubernetesie. Każdy pod to część składowa całościowego obciążenia Twojego klastra. Dowiedz się więcej na temat Podów. -

-
-
- -
- -
-
- Do pracy z terminalem użyj wersji na desktop/tablet -
- -
-
- -
- - -
- -
- - - diff --git a/content/pl/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html b/content/pl/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html index f4b893d60b..723dc0075b 100644 --- a/content/pl/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html +++ b/content/pl/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro.html @@ -93,15 +93,6 @@ weight: 10

Na potrzeby pierwszej instalacji użyjesz aplikacji hello-node zapakowaną w kontener Docker-a, która korzysta z NGINXa i powtarza wszystkie wysłane do niej zapytania. (Jeśli jeszcze nie próbowałeś stworzyć aplikacji hello-node i uruchomić za pomocą kontenerów, możesz spróbować teraz, kierując się instrukcjami samouczka Hello Minikube).

- -

Teraz, kiedy wiesz, czym są Deploymenty, przejdźmy do samouczka online, żeby zainstalować naszą pierwszą aplikację!

- - -
- - diff --git a/content/pl/docs/tutorials/kubernetes-basics/explore/explore-interactive.html b/content/pl/docs/tutorials/kubernetes-basics/explore/explore-interactive.html deleted file mode 100644 index 5349d24144..0000000000 --- a/content/pl/docs/tutorials/kubernetes-basics/explore/explore-interactive.html +++ /dev/null @@ -1,43 +0,0 @@ ---- -title: Interaktywny samouczek - Poznaj swoją aplikację -weight: 20 ---- - - - - - - - - - -{{< katacoda-tutorial >}} - -
- -
- -
-
- -
- Do pracy z terminalem użyj wersji na desktop/tablet -
- -
-
-
- - -
- -
- - - diff --git a/content/pl/docs/tutorials/kubernetes-basics/explore/explore-intro.html b/content/pl/docs/tutorials/kubernetes-basics/explore/explore-intro.html index 5dfb79a328..aaace6ea8e 100644 --- a/content/pl/docs/tutorials/kubernetes-basics/explore/explore-intro.html +++ b/content/pl/docs/tutorials/kubernetes-basics/explore/explore-intro.html @@ -127,13 +127,6 @@ weight: 10 -
- - diff --git a/content/pl/docs/tutorials/kubernetes-basics/expose/expose-interactive.html b/content/pl/docs/tutorials/kubernetes-basics/expose/expose-interactive.html deleted file mode 100644 index 181dec226a..0000000000 --- a/content/pl/docs/tutorials/kubernetes-basics/expose/expose-interactive.html +++ /dev/null @@ -1,35 +0,0 @@ ---- -title: Interaktywny samouczek - Udostępnianie aplikacji -weight: 20 ---- - - - - - - - -{{< katacoda-tutorial >}} - -
- -
- -
-
-
-
- - -
- -
- - - diff --git a/content/pl/docs/tutorials/kubernetes-basics/expose/expose-intro.html b/content/pl/docs/tutorials/kubernetes-basics/expose/expose-intro.html index 84af97f534..9e15be2a15 100644 --- a/content/pl/docs/tutorials/kubernetes-basics/expose/expose-intro.html +++ b/content/pl/docs/tutorials/kubernetes-basics/expose/expose-intro.html @@ -89,11 +89,6 @@ weight: 10
- diff --git a/content/pl/docs/tutorials/kubernetes-basics/scale/scale-interactive.html b/content/pl/docs/tutorials/kubernetes-basics/scale/scale-interactive.html deleted file mode 100644 index db522eacc9..0000000000 --- a/content/pl/docs/tutorials/kubernetes-basics/scale/scale-interactive.html +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: Interaktywny samouczek - Skalowanie aplikacji -weight: 20 ---- - - - - - - - -{{< katacoda-tutorial >}} - -
- -
- -
-
-
-
- - -
- - - -
- - - diff --git a/content/pl/docs/tutorials/kubernetes-basics/scale/scale-intro.html b/content/pl/docs/tutorials/kubernetes-basics/scale/scale-intro.html index 07afc984e4..61cc1e1394 100644 --- a/content/pl/docs/tutorials/kubernetes-basics/scale/scale-intro.html +++ b/content/pl/docs/tutorials/kubernetes-basics/scale/scale-intro.html @@ -100,14 +100,7 @@ weight: 10
-

Kiedy aplikacja ma uruchomioną więcej niż jedną instancję, można prowadzić ciągłe aktualizacje (Rolling updates) bez przerw w działaniu aplikacji. O tym będzie mowa w następnym module. Na razie przejdźmy do terminala online, aby przeprowadzić skalowanie aplikacji.

-
-
-
- -
-
- Uruchom interaktywny samouczek +

Kiedy aplikacja ma uruchomioną więcej niż jedną instancję, można prowadzić ciągłe aktualizacje (Rolling updates) bez przerw w działaniu aplikacji. O tym będzie mowa w następnym module.

diff --git a/content/pl/docs/tutorials/kubernetes-basics/update/update-interactive.html b/content/pl/docs/tutorials/kubernetes-basics/update/update-interactive.html deleted file mode 100644 index 0b9a92748e..0000000000 --- a/content/pl/docs/tutorials/kubernetes-basics/update/update-interactive.html +++ /dev/null @@ -1,38 +0,0 @@ ---- -title: Interaktywny samouczek - Aktualizowanie aplikacji -weight: 20 ---- - - - - - - - - - -{{< katacoda-tutorial >}} - -
- -
- -
-
- Do pracy z terminalem użyj wersji na desktop/tablet -
-
-
-
- -
- -
- - - diff --git a/content/pl/docs/tutorials/kubernetes-basics/update/update-intro.html b/content/pl/docs/tutorials/kubernetes-basics/update/update-intro.html index 2c42eee6d6..fd3a56b390 100644 --- a/content/pl/docs/tutorials/kubernetes-basics/update/update-intro.html +++ b/content/pl/docs/tutorials/kubernetes-basics/update/update-intro.html @@ -30,7 +30,7 @@ weight: 10

Użytkownicy oczekują, że aplikacje są dostępne non-stop, a deweloperzy chcieliby móc wprowadzać nowe wersje nawet kilka razy dziennie. W Kubernetes jest to możliwe dzięki mechanizmowi płynnych aktualizacji (rolling updates). Rolling updates pozwala prowadzić aktualizację w ramach Deploymentu bez przerw w jego działaniu dzięki krokowemu aktualizowaniu kolejnych Podów. Nowe Pody uruchamiane są na Węzłach, które posiadają wystarczające zasoby.

-

W poprzednim module wyskalowaliśmy aplikację aby była uruchomiona na wielu instancjach. To niezbędny wymóg, aby móc prowadzić aktualizacje bez wpływu na dostępność aplikacji. Domyślnie, maksymalna liczba Podów, które mogą być niedostępne w trakcie aktualizacji oraz Podów, które mogą być tworzone, wynosi jeden. Obydwie opcje mogą być zdefiniowane w wartościach bezwzględnych lub procentowych (ogólnej liczby Podów). +

W poprzednim module wyskalowaliśmy aplikację aby była uruchomiona na wielu instancjach. To niezbędny wymóg, aby móc prowadzić aktualizacje bez wpływu na dostępność aplikacji. Domyślnie, maksymalna liczba Podów, które mogą być niedostępne w trakcie aktualizacji oraz Podów, które mogą być tworzone, wynosi jeden. Obydwie opcje mogą być zdefiniowane w wartościach bezwzględnych lub procentowych (ogólnej liczby Podów). W Kubernetes, każdy aktualizacja ma nadany numer wersji i każdy Deployment może być wycofany do wersji poprzedniej (stabilnej).

@@ -114,21 +114,6 @@ weight: 10 -
- -
-
-

W ramach tego interaktywnego samouczka zaktualizujemy aplikację do nowej wersji oraz wycofamy tę aktualizację.

-
-
-
- - - From 7592113e053b2becbf77ea6d69d9f5bc478dc584 Mon Sep 17 00:00:00 2001 From: Paulo Ponciano Date: Mon, 10 Mar 2025 15:56:34 -0300 Subject: [PATCH 018/121] [pt-br] Add /tasks/debug/debug-application/get-shell-running-container.md --- .../get-shell-running-container.md | 150 ++++++++++++++++++ .../examples/application/shell-demo.yaml | 16 ++ 2 files changed, 166 insertions(+) create mode 100644 content/pt-br/docs/tasks/debug/debug-application/get-shell-running-container.md create mode 100644 content/pt-br/examples/application/shell-demo.yaml diff --git a/content/pt-br/docs/tasks/debug/debug-application/get-shell-running-container.md b/content/pt-br/docs/tasks/debug/debug-application/get-shell-running-container.md new file mode 100644 index 0000000000..de1965d55d --- /dev/null +++ b/content/pt-br/docs/tasks/debug/debug-application/get-shell-running-container.md @@ -0,0 +1,150 @@ +--- +title: Obter um Shell em um Contêiner em Execução +content_type: task +--- + + + +Esta página mostra como usar `kubectl exec` para obter um shell em um contêiner em execução. + + + + +## {{% heading "prerequisites" %}} + + +{{< include "task-tutorial-prereqs.md" >}} + + + + + + +## Obtendo um Shell em um Contêiner + +Neste exercício, você cria um Pod que possui um contêiner. O contêiner +executa a imagem do nginx. Aqui está o arquivo de configuração para o Pod: + +{{% code_sample file="application/shell-demo.yaml" %}} + +Crie o Pod: + +```shell +kubectl apply -f https://k8s.io/examples/application/shell-demo.yaml +``` + +Verifique se o contêiner está em execução: + +```shell +kubectl get pod shell-demo +``` + +Obtenha um shell no contêiner em execução: + +```shell +kubectl exec --stdin --tty shell-demo -- /bin/bash +``` + +{{< note >}} +O duplo traço (`--`) separa os argumentos que você deseja passar para o comando dos argumentos do `kubectl`. +{{< /note >}} + +No seu shell, liste o diretório raiz: + +```shell +# Execute isso dentro do contêiner +ls / +``` + +No seu shell, experimente outros comandos. Aqui estão alguns exemplos: + +```shell +# Você pode executar esses comandos de exemplo dentro do contêiner +ls / +cat /proc/mounts +cat /proc/1/maps +apt-get update +apt-get install -y tcpdump +tcpdump +apt-get install -y lsof +lsof +apt-get install -y procps +ps aux +ps aux | grep nginx +``` + +## Escrevendo a página raiz para o nginx + +Veja novamente o arquivo de configuração do seu Pod. O Pod +possui um volume `emptyDir`, e o contêiner monta esse volume +em `/usr/share/nginx/html`. + +No seu shell, crie um arquivo `index.html` no diretório `/usr/share/nginx/html`: + +```shell +# Execute isso dentro do contêiner +echo 'Hello shell demo' > /usr/share/nginx/html/index.html +``` + +No seu shell, envie uma solicitação GET para o servidor nginx: + +```shell +# Execute isso no shell dentro do seu contêiner +apt-get update +apt-get install curl +curl http://localhost/ +``` + +A saída exibe o texto que você escreveu no arquivo `index.html`: + +``` +Hello shell demo +``` + +Quando terminar de usar o shell, digite `exit`. + +```shell +exit # Para sair do shell no contêiner +``` + +## Executando comandos individuais em um contêiner + +Em uma janela de comando comum, fora do seu shell, liste as variáveis de ambiente no contêiner em execução: + +```shell +kubectl exec shell-demo -- env +``` + +Experimente executar outros comandos. Aqui estão alguns exemplos: + +```shell +kubectl exec shell-demo -- ps aux +kubectl exec shell-demo -- ls / +kubectl exec shell-demo -- cat /proc/1/mounts +``` + + + + + +## Abrindo um shell quando um Pod tem mais de um contêiner + +Se um Pod tiver mais de um contêiner, use `--container` ou `-c` para +especificar um contêiner no comando `kubectl exec`. Por exemplo, +suponha que você tenha um Pod chamado `my-pod`, e esse Pod tenha dois contêineres +chamados _main-app_ e _helper-app_. O seguinte comando abriria um +shell no contêiner _main-app_. + +```shell +kubectl exec -i -t my-pod --container main-app -- /bin/bash +``` + +{{< note >}} +As opções curtas `-i` e `-t` são equivalentes às opções longas `--stdin` e `--tty` +{{< /note >}} + + +## {{% heading "whatsnext" %}} + + +* Leia mais sobre [`kubectl exec`](/docs/reference/generated/kubectl/kubectl-commands/#exec) diff --git a/content/pt-br/examples/application/shell-demo.yaml b/content/pt-br/examples/application/shell-demo.yaml new file mode 100644 index 0000000000..9eb140d80f --- /dev/null +++ b/content/pt-br/examples/application/shell-demo.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Pod +metadata: + name: shell-demo +spec: + volumes: + - name: shared-data + emptyDir: {} + containers: + - name: nginx + image: nginx + volumeMounts: + - name: shared-data + mountPath: /usr/share/nginx/html + hostNetwork: true + dnsPolicy: Default From 06f578a27d0d23367a34b430b1b81fb28fcee497 Mon Sep 17 00:00:00 2001 From: Mohammad Alavi Date: Sun, 16 Mar 2025 17:31:32 +0330 Subject: [PATCH 019/121] swap json and yaml --- content/en/docs/reference/using-api/server-side-apply.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/reference/using-api/server-side-apply.md b/content/en/docs/reference/using-api/server-side-apply.md index b4f4046930..ac5198754e 100644 --- a/content/en/docs/reference/using-api/server-side-apply.md +++ b/content/en/docs/reference/using-api/server-side-apply.md @@ -578,8 +578,8 @@ Apply can send partially specified objects as YAML as the body of a `PATCH` requ to the URI of a resource. When applying a configuration, you should always include all the fields that are important to the outcome (such as a desired state) that you want to define. -All JSON messages are valid YAML. Some clients specify Server-Side Apply requests using YAML -request bodies that are also valid JSON. +All JSON messages are valid YAML. Some clients specify Server-Side Apply requests using JSON +request bodies that are also valid YAML. ### Access control and permissions {#rbac-and-permissions} From e3ea7ced1f2c39e53b59a5e8f1c0ed1d4af0dda5 Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Tue, 18 Mar 2025 00:02:40 +0900 Subject: [PATCH 020/121] fix: apply suggestions --- .../index.md | 138 ----------- .../index.md | 220 ++++++++++++++++++ .../contributors.png | Bin 558433 -> 0 bytes .../simulator.png | Bin 4 files changed, 220 insertions(+), 138 deletions(-) delete mode 100644 content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md create mode 100644 content/en/blog/_posts/2025-12-31-kube-scheduler-simulator/index.md delete mode 100644 static/images/blog/2025-01-22-kube-scheduler-simulator/contributors.png rename static/images/blog/{2025-01-22-kube-scheduler-simulator => 2025-12-31-kube-scheduler-simulator}/simulator.png (100%) diff --git a/content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md deleted file mode 100644 index 343b89f2a3..0000000000 --- a/content/en/blog/_posts/2025-01-22-kube-scheduler-simulator/index.md +++ /dev/null @@ -1,138 +0,0 @@ ---- -layout: blog -title: "Introducing Kube-scheduler-simulator" -date: 2030-01-22 -draft: true -slug: introducing-kube-scheduler-simulator -author: Kensei Nakada (Tetrate) ---- - -The Kubernetes Scheduler is a crucial control plane component that determines which node a Pod will run on. -Thus, anyone utilizing Kubernetes relies on the scheduler. - -The [kube-scheduler-simulator](https://sigs.k8s.io/kube-scheduler-simulator) is a simulator for the Kubernetes scheduler, initially developed by me (Kensei Nakada) as part of [Google Summer of Code 2021](https://summerofcode.withgoogle.com/). -This tool allows users to closely examine the scheduler’s behavior and decisions. - -It is useful for casual users who employ scheduling constraints (e.g., inter-Pod affinity) -and experts who extend the scheduler with custom plugins. - -## Motivation - -The scheduler often appears as a black box, -composed of many plugins that each contribute to the scheduling decision-making process from their unique perspectives. -Understanding its behavior can be challenging due to the multitude of factors it considers. -Even if a Pod seems to be scheduled as expected in your simple test cluster, -it may be for a different reason than what you imagine, -which could result in unexpected scheduling results in a large production environment. - -Also, testing your scheduler is a complex challenge. -There are countless patterns of operations executed within a real cluster, making it impractical to anticipate every scenario with a finite number of tests. -More often than not, bugs are discovered only when the scheduler is deployed in an actual cluster. -Actually, many bugs are reported by users after we ship the release, and the bugs are found -even in the upstream kube-scheduler. - -Having a development or sandbox environment for testing the scheduler — or, indeed, any Kubernetes controllers — is a common practice. -However, this approach falls short of capturing all the potential scenarios that might arise in a production cluster -because a development cluster is often much smaller with notable differences in workload sizes and scaling dynamics. -It never sees the exact same use or exhibits the same behavior as its production counterpart. - -The scheduler simulator aims to solve those problems. -It enables users to test their scheduling constraints, scheduler configurations, -and custom plugins while checking every detailed part of scheduling decisions. -It also allows you to create a simulated cluster environment, where you can test your scheduler -with the same resources as your production cluster without affecting your actual workloads. - -## Features of the Kube-scheduler-simulator - -The simulator’s core feature is its ability to expose the scheduler's internal decisions. -The scheduler operates based on the [scheduling framework](/docs/concepts/scheduling-eviction/scheduling-framework/), -utilizing various plugins at different extension points; -filter nodes (Filter phase), score nodes (Score phase), and ultimately determine the best node for the Pod. - -The simulator allows users to create Kubernetes resources and observe how each plugin influences the scheduling decisions for Pods. -This visibility helps users understand the scheduler’s workings and define appropriate scheduling constraints. - -{{< figure src="/images/blog/2025-01-22-kube-scheduler-simulator/simulator.png" alt="Screenshot of the simulator web frontend" title="The simulator web frontend" >}} - -Inside the simulator, a debuggable scheduler runs instead of the vanilla scheduler. -This debuggable scheduler outputs the results of each scheduler plugin at every extension point to the Pod’s annotations -and the web front end shows the results fetched from the annotations. - -```yaml -kind: Pod -apiVersion: v1 -metadata: - annotations: - kube-scheduler-simulator.sigs.k8s.io/bind-result: '{"DefaultBinder":"success"}' - kube-scheduler-simulator.sigs.k8s.io/filter-result: >- - {"node-jjfg5":{"NodeName":"passed","NodeResourcesFit":"passed","NodeUnschedulable":"passed","TaintToleration":"passed"},"node-mtb5x":{"NodeName":"passed","NodeResourcesFit":"passed","NodeUnschedulable":"passed","TaintToleration":"passed"}} - kube-scheduler-simulator.sigs.k8s.io/finalscore-result: >- - {"node-jjfg5":{"ImageLocality":"0","NodeAffinity":"0","NodeResourcesBalancedAllocation":"52","NodeResourcesFit":"47","TaintToleration":"300","VolumeBinding":"0"},"node-mtb5x":{"ImageLocality":"0","NodeAffinity":"0","NodeResourcesBalancedAllocation":"76","NodeResourcesFit":"73","TaintToleration":"300","VolumeBinding":"0"}} - kube-scheduler-simulator.sigs.k8s.io/permit-result: '{}' - kube-scheduler-simulator.sigs.k8s.io/permit-result-timeout: '{}' - kube-scheduler-simulator.sigs.k8s.io/postfilter-result: '{}' - kube-scheduler-simulator.sigs.k8s.io/prebind-result: '{"VolumeBinding":"success"}' - kube-scheduler-simulator.sigs.k8s.io/prefilter-result: '{}' - kube-scheduler-simulator.sigs.k8s.io/prefilter-result-status: >- - {"AzureDiskLimits":"","EBSLimits":"","GCEPDLimits":"","InterPodAffinity":"","NodeAffinity":"","NodePorts":"","NodeResourcesFit":"success","NodeVolumeLimits":"","PodTopologySpread":"","VolumeBinding":"","VolumeRestrictions":"","VolumeZone":""} - kube-scheduler-simulator.sigs.k8s.io/prescore-result: >- - {"InterPodAffinity":"","NodeAffinity":"success","NodeResourcesBalancedAllocation":"success","NodeResourcesFit":"success","PodTopologySpread":"","TaintToleration":"success"} - kube-scheduler-simulator.sigs.k8s.io/reserve-result: '{"VolumeBinding":"success"}' - kube-scheduler-simulator.sigs.k8s.io/result-history: >- - [{"kube-scheduler-simulator.sigs.k8s.io/bind-result":"{\"DefaultBinder\":\"success\"}","kube-scheduler-simulator.sigs.k8s.io/filter-result":"{\"node-jjfg5\":{\"NodeName\":\"passed\",\"NodeResourcesFit\":\"passed\",\"NodeUnschedulable\":\"passed\",\"TaintToleration\":\"passed\"},\"node-mtb5x\":{\"NodeName\":\"passed\",\"NodeResourcesFit\":\"passed\",\"NodeUnschedulable\":\"passed\",\"TaintToleration\":\"passed\"}}","kube-scheduler-simulator.sigs.k8s.io/finalscore-result":"{\"node-jjfg5\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"52\",\"NodeResourcesFit\":\"47\",\"TaintToleration\":\"300\",\"VolumeBinding\":\"0\"},\"node-mtb5x\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"76\",\"NodeResourcesFit\":\"73\",\"TaintToleration\":\"300\",\"VolumeBinding\":\"0\"}}","kube-scheduler-simulator.sigs.k8s.io/permit-result":"{}","kube-scheduler-simulator.sigs.k8s.io/permit-result-timeout":"{}","kube-scheduler-simulator.sigs.k8s.io/postfilter-result":"{}","kube-scheduler-simulator.sigs.k8s.io/prebind-result":"{\"VolumeBinding\":\"success\"}","kube-scheduler-simulator.sigs.k8s.io/prefilter-result":"{}","kube-scheduler-simulator.sigs.k8s.io/prefilter-result-status":"{\"AzureDiskLimits\":\"\",\"EBSLimits\":\"\",\"GCEPDLimits\":\"\",\"InterPodAffinity\":\"\",\"NodeAffinity\":\"\",\"NodePorts\":\"\",\"NodeResourcesFit\":\"success\",\"NodeVolumeLimits\":\"\",\"PodTopologySpread\":\"\",\"VolumeBinding\":\"\",\"VolumeRestrictions\":\"\",\"VolumeZone\":\"\"}","kube-scheduler-simulator.sigs.k8s.io/prescore-result":"{\"InterPodAffinity\":\"\",\"NodeAffinity\":\"success\",\"NodeResourcesBalancedAllocation\":\"success\",\"NodeResourcesFit\":\"success\",\"PodTopologySpread\":\"\",\"TaintToleration\":\"success\"}","kube-scheduler-simulator.sigs.k8s.io/reserve-result":"{\"VolumeBinding\":\"success\"}","kube-scheduler-simulator.sigs.k8s.io/score-result":"{\"node-jjfg5\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"52\",\"NodeResourcesFit\":\"47\",\"TaintToleration\":\"0\",\"VolumeBinding\":\"0\"},\"node-mtb5x\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"76\",\"NodeResourcesFit\":\"73\",\"TaintToleration\":\"0\",\"VolumeBinding\":\"0\"}}","kube-scheduler-simulator.sigs.k8s.io/selected-node":"node-mtb5x"}] - kube-scheduler-simulator.sigs.k8s.io/score-result: >- - {"node-jjfg5":{"ImageLocality":"0","NodeAffinity":"0","NodeResourcesBalancedAllocation":"52","NodeResourcesFit":"47","TaintToleration":"0","VolumeBinding":"0"},"node-mtb5x":{"ImageLocality":"0","NodeAffinity":"0","NodeResourcesBalancedAllocation":"76","NodeResourcesFit":"73","TaintToleration":"0","VolumeBinding":"0"}} - kube-scheduler-simulator.sigs.k8s.io/selected-node: node-mtb5x -``` - -Users can also integrate their custom plugins or extenders, into the debuggable scheduler and visualize their results. - -This debuggable scheduler can also run standalone, e.g., on any Kubernetes cluster or in integration tests. -This would be useful to custom plugin developers who want to test their plugins or examine their custom scheduler in a real cluster with better debuggability. - -## The simulator as a better dev cluster - -As mentioned earlier, with a limited set of tests, it is impossible to predict every possible scenario in a real-world cluster. -Typically, you will test the scheduler in a small, development cluster before deploying it to production, hoping that no issues arise. - -[The simulator’s importing feature](https://github.com/kubernetes-sigs/kube-scheduler-simulator/blob/master/simulator/docs/import-cluster-resources.md) -provides a solution by allowing you to simulate deploying a new scheduler version in a production-like environment without impacting your live workloads. - -By continuously syncing between your production cluster and the simulator, you can safely test a new scheduler version with the same resources your production cluster handles. -Once confident in its performance, you can proceed with the production deployment, reducing the risk of unexpected issues. - -## What are the use cases? - -1. **Cluster users**: Examine if your scheduling constraints (e.g., PodAffinity, PodTopologySpread) work as intended. -1. **Cluster admins**: Assess how your cluster would behave with changes to the scheduler configuration. -1. **Scheduler plugin developers**: Test your custom scheduler plugins or extenders, use the debuggable scheduler in integration tests or development clusters, or use the [syncing](https://github.com/kubernetes-sigs/kube-scheduler-simulator/blob/simulator/v0.3.0/simulator/docs/import-cluster-resources.md) feature for testing within a production-like environment. - -## Getting started - -The simulator only requires Docker to be installed on your machine; a Kubernetes cluster is not necessary. - -``` -git clone git@github.com:kubernetes-sigs/kube-scheduler-simulator.git -cd kube-scheduler-simulator -make docker_up -``` - -You can then access the simulator's web UI at `http://localhost:3000`. - -Visit the [kube-scheduler-simulator repository](https://sigs.k8s.io/kube-scheduler-simulator) for more details! - -## Getting involved - -The scheduler simulator is developed by Kubernetes SIG Scheduling. Your feedback and contributions are welcome! - -Open issues or PRs at the [kube-scheduler-simulator repository](https://sigs.k8s.io/kube-scheduler-simulator). -Join the conversation on the [#sig-scheduling](https://kubernetes.slack.com/messages/sig-scheduling) slack channel. - -## Acknowledgments - -The simulator has been maintained by dedicated volunteer engineers, overcoming many challenges to reach its current form. - -A big shout out to all [the awesome contributors](https://github.com/kubernetes-sigs/kube-scheduler-simulator/graphs/contributors)! - -![Screenshot of the contributor list] -{{< figure src="/images/blog/2025-01-22-kube-scheduler-simulator/contributors.png" alt="Screenshot of the contributors" title="The simulator contributors" >}} diff --git a/content/en/blog/_posts/2025-12-31-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2025-12-31-kube-scheduler-simulator/index.md new file mode 100644 index 0000000000..b037715ea3 --- /dev/null +++ b/content/en/blog/_posts/2025-12-31-kube-scheduler-simulator/index.md @@ -0,0 +1,220 @@ +--- +layout: blog +title: "Introducing kube-scheduler-simulator" +date: 2025-12-31 +draft: true +slug: introducing-kube-scheduler-simulator +author: Kensei Nakada (Tetrate) +--- + +The Kubernetes Scheduler is a crucial control plane component that determines which node a Pod will run on. +Thus, anyone utilizing Kubernetes relies on a scheduler. + +The [kube-scheduler-simulator](https://sigs.k8s.io/kube-scheduler-simulator) is a simulator for the Kubernetes scheduler, started as a [Google Summer of Code 2021](https://summerofcode.withgoogle.com/) project developed by me (Kensei Nakada) and later received a lot of contributions. +This tool allows users to closely examine the scheduler’s behavior and decisions. + +It is useful for casual users who employ scheduling constraints (e.g., [inter-Pod affinity](/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity)) +and experts who extend the scheduler with custom plugins. + +## Motivation + +The scheduler often appears as a black box, +composed of many plugins that each contribute to the scheduling decision-making process from their unique perspectives. +Understanding its behavior can be challenging due to the multitude of factors it considers. +Even if a Pod seems to be scheduled as expected in a simple test cluster, +it may be coming from a different calculation than the expectation, +which could result in unexpected scheduling results in a large production environment. + +Also, testing a scheduler is a complex challenge. +There are countless patterns of operations executed within a real cluster, making it impractical to anticipate every scenario with a finite number of tests. +More often than not, bugs are discovered only when the scheduler is deployed in an actual cluster. +Actually, many bugs are found by users after shipping the release, +even in the upstream kube-scheduler. + +Having a development or sandbox environment for testing the scheduler — or, indeed, any Kubernetes controllers — is a common practice. +However, this approach falls short of capturing all the potential scenarios that might arise in a production cluster +because a development cluster is often much smaller with notable differences in workload sizes and scaling dynamics. +It never sees the exact same use or exhibits the same behavior as its production counterpart. + +kube-scheduler-simulator aims to solve those problems. +It enables users to test their scheduling constraints, scheduler configurations, +and custom plugins while checking every detailed part of scheduling decisions. +It also allows users to create a simulated cluster environment, where they can test their scheduler +with the same resources as their production cluster without affecting actual workloads. + +## Features of the kube-scheduler-simulator + +kube-scheduler-simulator’s core feature is its ability to expose the scheduler's internal decisions. +The scheduler operates based on the [scheduling framework](/docs/concepts/scheduling-eviction/scheduling-framework/), +utilizing various plugins at different extension points, +filter nodes (Filter phase), score nodes (Score phase), and ultimately determine the best node for the Pod. + +The simulator allows users to create Kubernetes resources and observe how each plugin influences the scheduling decisions for Pods. +This visibility helps users understand the scheduler’s workings and define appropriate scheduling constraints. + +{{< figure src="/images/blog/2025-01-22-kube-scheduler-simulator/simulator.png" alt="Screenshot of the simulator web frontend that shows the detailed scheduling results per node and per extension point" title="The simulator web frontend" >}} + +Inside the simulator, a debuggable scheduler runs instead of the vanilla scheduler. +This debuggable scheduler outputs the results of each scheduler plugin at every extension point to the Pod’s annotations like the following Yaml shows +and the web front end formats/visualizes the scheduling results based on these annotations. + +```yaml +kind: Pod +apiVersion: v1 +metadata: + # The JSONs within these annotations are manually formatted for clarity in the blog post. + annotations: + kube-scheduler-simulator.sigs.k8s.io/bind-result: '{"DefaultBinder":"success"}' + kube-scheduler-simulator.sigs.k8s.io/filter-result: >- + { + "node-jjfg5":{ + "NodeName":"passed", + "NodeResourcesFit":"passed", + "NodeUnschedulable":"passed", + "TaintToleration":"passed" + }, + "node-mtb5x":{ + "NodeName":"passed", + "NodeResourcesFit":"passed", + "NodeUnschedulable":"passed", + "TaintToleration":"passed" + } + } + kube-scheduler-simulator.sigs.k8s.io/finalscore-result: >- + { + "node-jjfg5":{ + "ImageLocality":"0", + "NodeAffinity":"0", + "NodeResourcesBalancedAllocation":"52", + "NodeResourcesFit":"47", + "TaintToleration":"300", + "VolumeBinding":"0" + }, + "node-mtb5x":{ + "ImageLocality":"0", + "NodeAffinity":"0", + "NodeResourcesBalancedAllocation":"76", + "NodeResourcesFit":"73", + "TaintToleration":"300", + "VolumeBinding":"0" + } + } + kube-scheduler-simulator.sigs.k8s.io/permit-result: '{}' + kube-scheduler-simulator.sigs.k8s.io/permit-result-timeout: '{}' + kube-scheduler-simulator.sigs.k8s.io/postfilter-result: '{}' + kube-scheduler-simulator.sigs.k8s.io/prebind-result: '{"VolumeBinding":"success"}' + kube-scheduler-simulator.sigs.k8s.io/prefilter-result: '{}' + kube-scheduler-simulator.sigs.k8s.io/prefilter-result-status: >- + { + "AzureDiskLimits":"", + "EBSLimits":"", + "GCEPDLimits":"", + "InterPodAffinity":"", + "NodeAffinity":"", + "NodePorts":"", + "NodeResourcesFit":"success", + "NodeVolumeLimits":"", + "PodTopologySpread":"", + "VolumeBinding":"", + "VolumeRestrictions":"", + "VolumeZone":"" + } + kube-scheduler-simulator.sigs.k8s.io/prescore-result: >- + { + "InterPodAffinity":"", + "NodeAffinity":"success", + "NodeResourcesBalancedAllocation":"success", + "NodeResourcesFit":"success", + "PodTopologySpread":"", + "TaintToleration":"success" + } + kube-scheduler-simulator.sigs.k8s.io/reserve-result: '{"VolumeBinding":"success"}' + kube-scheduler-simulator.sigs.k8s.io/result-history: >- + [ + { + "kube-scheduler-simulator.sigs.k8s.io/bind-result":"{\"DefaultBinder\":\"success\"}", + "kube-scheduler-simulator.sigs.k8s.io/filter-result":"{\"node-jjfg5\":{\"NodeName\":\"passed\",\"NodeResourcesFit\":\"passed\",\"NodeUnschedulable\":\"passed\",\"TaintToleration\":\"passed\"},\"node-mtb5x\":{\"NodeName\":\"passed\",\"NodeResourcesFit\":\"passed\",\"NodeUnschedulable\":\"passed\",\"TaintToleration\":\"passed\"}}", + "kube-scheduler-simulator.sigs.k8s.io/finalscore-result":"{\"node-jjfg5\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"52\",\"NodeResourcesFit\":\"47\",\"TaintToleration\":\"300\",\"VolumeBinding\":\"0\"},\"node-mtb5x\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"76\",\"NodeResourcesFit\":\"73\",\"TaintToleration\":\"300\",\"VolumeBinding\":\"0\"}}", + "kube-scheduler-simulator.sigs.k8s.io/permit-result":"{}", + "kube-scheduler-simulator.sigs.k8s.io/permit-result-timeout":"{}", + "kube-scheduler-simulator.sigs.k8s.io/postfilter-result":"{}", + "kube-scheduler-simulator.sigs.k8s.io/prebind-result":"{\"VolumeBinding\":\"success\"}", + "kube-scheduler-simulator.sigs.k8s.io/prefilter-result":"{}", + "kube-scheduler-simulator.sigs.k8s.io/prefilter-result-status":"{\"AzureDiskLimits\":\"\",\"EBSLimits\":\"\",\"GCEPDLimits\":\"\",\"InterPodAffinity\":\"\",\"NodeAffinity\":\"\",\"NodePorts\":\"\",\"NodeResourcesFit\":\"success\",\"NodeVolumeLimits\":\"\",\"PodTopologySpread\":\"\",\"VolumeBinding\":\"\",\"VolumeRestrictions\":\"\",\"VolumeZone\":\"\"}", + "kube-scheduler-simulator.sigs.k8s.io/prescore-result":"{\"InterPodAffinity\":\"\",\"NodeAffinity\":\"success\",\"NodeResourcesBalancedAllocation\":\"success\",\"NodeResourcesFit\":\"success\",\"PodTopologySpread\":\"\",\"TaintToleration\":\"success\"}", + "kube-scheduler-simulator.sigs.k8s.io/reserve-result":"{\"VolumeBinding\":\"success\"}", + "kube-scheduler-simulator.sigs.k8s.io/score-result":"{\"node-jjfg5\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"52\",\"NodeResourcesFit\":\"47\",\"TaintToleration\":\"0\",\"VolumeBinding\":\"0\"},\"node-mtb5x\":{\"ImageLocality\":\"0\",\"NodeAffinity\":\"0\",\"NodeResourcesBalancedAllocation\":\"76\",\"NodeResourcesFit\":\"73\",\"TaintToleration\":\"0\",\"VolumeBinding\":\"0\"}}", + "kube-scheduler-simulator.sigs.k8s.io/selected-node":"node-mtb5x" + } + ] + kube-scheduler-simulator.sigs.k8s.io/score-result: >- + { + "node-jjfg5":{ + "ImageLocality":"0", + "NodeAffinity":"0", + "NodeResourcesBalancedAllocation":"52", + "NodeResourcesFit":"47", + "TaintToleration":"0", + "VolumeBinding":"0" + }, + "node-mtb5x":{ + "ImageLocality":"0", + "NodeAffinity":"0", + "NodeResourcesBalancedAllocation":"76", + "NodeResourcesFit":"73", + "TaintToleration":"0", + "VolumeBinding":"0" + } + } + kube-scheduler-simulator.sigs.k8s.io/selected-node: node-mtb5x +``` + +Users can also integrate [their custom plugins](/docs/concepts/scheduling-eviction/scheduling-framework/) or [extenders](https://github.com/kubernetes/design-proposals-archive/blob/main/scheduling/scheduler_extender.md), into the debuggable scheduler and visualize their results. + +This debuggable scheduler can also run standalone, e.g., on any Kubernetes cluster or in integration tests. +This would be useful to custom plugin developers who want to test their plugins or examine their custom scheduler in a real cluster with better debuggability. + +## The simulator as a better dev cluster + +As mentioned earlier, with a limited set of tests, it is impossible to predict every possible scenario in a real-world cluster. +Typically, users will test the scheduler in a small, development cluster before deploying it to production, hoping that no issues arise. + +[The simulator’s importing feature](https://github.com/kubernetes-sigs/kube-scheduler-simulator/blob/master/simulator/docs/import-cluster-resources.md) +provides a solution by allowing users to simulate deploying a new scheduler version in a production-like environment without impacting their live workloads. + +By continuously syncing between a production cluster and the simulator, users can safely test a new scheduler version with the same resources their production cluster handles. +Once confident in its performance, they can proceed with the production deployment, reducing the risk of unexpected issues. + +## What are the use cases? + +1. **Cluster users**: Examine if scheduling constraints (e.g., PodAffinity, PodTopologySpread) work as intended. +1. **Cluster admins**: Assess how a cluster would behave with changes to the scheduler configuration. +1. **Scheduler plugin developers**: Test a custom scheduler plugins or extenders, use the debuggable scheduler in integration tests or development clusters, or use the [syncing](https://github.com/kubernetes-sigs/kube-scheduler-simulator/blob/simulator/v0.3.0/simulator/docs/import-cluster-resources.md) feature for testing within a production-like environment. + +## Getting started + +The simulator only requires Docker to be installed on a machine; a Kubernetes cluster is not necessary. + +``` +git clone git@github.com:kubernetes-sigs/kube-scheduler-simulator.git +cd kube-scheduler-simulator +make docker_up +``` + +You can then access the simulator's web UI at `http://localhost:3000`. + +Visit the [kube-scheduler-simulator repository](https://sigs.k8s.io/kube-scheduler-simulator) for more details! + +## Getting involved + +The scheduler simulator is developed by [Kubernetes SIG Scheduling](https://github.com/kubernetes/community/blob/master/sig-scheduling/README.md#kube-scheduler-simulator). Your feedback and contributions are welcome! + +Open issues or PRs at the [kube-scheduler-simulator repository](https://sigs.k8s.io/kube-scheduler-simulator). +Join the conversation on the [#sig-scheduling](https://kubernetes.slack.com/messages/sig-scheduling) slack channel. + + +## Acknowledgments + +The simulator has been maintained by dedicated volunteer engineers, overcoming many challenges to reach its current form. + +A big shout out to all [the awesome contributors](https://github.com/kubernetes-sigs/kube-scheduler-simulator/graphs/contributors)! diff --git a/static/images/blog/2025-01-22-kube-scheduler-simulator/contributors.png b/static/images/blog/2025-01-22-kube-scheduler-simulator/contributors.png deleted file mode 100644 index 6d815be543794f3ce92128d552d7e83711856e04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 558433 zcmeEui9eKY_diimq!JP$luC#!*-1jy$U4T7Z6=0nGxjBw%1*YdS<4=S7;7r~I?QAk zQ`RhFvJS@ZyM3NM&$pi6^ZES)zwf+WGjqG=zV7R~&vjkryw5rB(J29T0zy+47AkL_zXPU9HA}_G&GmvV6lptbgCzx z5}=Yfb1V;1`JeLLVmeL7|Me5!RWt5;D}^Ve)3o_7C2x4}KhEd7d+hirkop;<{{TA{fSQ{&-IPUOTDPS-VoD1Habds&LZU`Cre0)ZR-0M;`<*b;|Y{wVy_2Zz~4sB zsozEyTzTwPsyxGR*^tCwUp~3rdC!)z8nV(TUrqk-Q^p!$!RnWp5M*$;?z)Hy<4I?( zq}T@aal0XdPn38g(X6}CsDK%JN4tBIph?k8N5)B~NtK2#`Xi5|tNNN9W6{O+;xcMD z-I+E)$*of#ugB-vmJ9{$^@nE!oRK~1^6}F#L(R4v&?ygkiGde|HX#DfL(tx_SFe$G z{ezA58)yV_*N62+Kut6+*B!&l7dE2MrkId4aI4N{m2v)3r%?DU(b~k20=2QAG=>JM z%FJL5LAwSlOLs0SWN}r9aOuJK#D<0dK;SPO%(NVJb!n~w$46=CY0uFd299Wfw-PPa zzmM--@ans6u${jY2EfbWA>Ebu;P^RI8Z_-8Z>z+b0z=zpp-w%clGL zm`)S;jYic-O-l>-HnQ_@aB%g6xOtsBdVdZ$!T3ni+>?fe{o=u!R?ATECvbl(^uC#w znXZnUof}Nl*52)bgQySe(ZPLa6nx}>Lzsh?EuRm}#nn^JN0I-pE98LVgVSRCe1Bcy z<*dkWrfa~b=H}tRCoOti^g6%NF+M&%1rK{iIm6p`el-XFQsjqtc|DR76GI>nqKF%! zZXQlz;$P4P`%6D*I+Xrsm zUW)wu2Oa(U^{;U{_(1=sCs)s3j|DuS*ugJi;-c5Z{(WztslvfoIRmJVgNylXC=8Gp z(1+4Z$?FP#UH^am@;^QP*3#^MT8c}`-u%7kZ$JHKQ)5pD4>dO!(5IKu|IF8~#=rmg ztD%C}!K42sihs%Zud{%lm5wQh{d>}sjwy1u>;m)14ZW>@ANU4V*};o85BRwJuW#U( zZl;~(jvcT*RA{trtKRpaUBWYjoKeTLtT3e6B06QC%N82-8})l-uB`W%-@AQVRpl|? zy~no?pSjJ*?>Ky;@J4!;?A#OcPFc4HYo=~rLmg5w-(^-L?B%!hd6}Ae@B8`r&3bzq zH-h1WLJQ5Kd?7T4{`<$tcooG%#0z!rPyWLNK+E&AhlmZQPO8w*(*M_wqiP{4{%3uz zz5J(6LTEza6LkN500$#`azQ0qkx7AF{hxYJ2~m+J{X_2u!}@rVZ{Ylq^AY_2_?#-) z8RUN+-XYtgCm}3!G3uxO@geyJ`uzWKcr>Bc>5n4AL)&xy`5{k2<`n;Ncp)lh57Fb= zTI}xqcM%^9>nL*V{67v)g^vlCCEIWBFaPsA(&Kzt{vRvh8BOTs^`B;E{#nkzGGO?x zE8wqT{qHjP-(>)-o&Q}1|GNzSzgz~-<5Vmx>htmowWvF@aVFLa*kZAbg*1&uzXyA# z*4#c8EG#?}-%ry>yl-l(l{k0rN@C*dy?eF=X{myLD1AOHK-CL%M%&-`rEB?`4lfku zYdJb5+1oq%ou8lQ1ko+5G~(`oP{&wZ$}fv0tX4`~5f+x}@6I*hI4tmol^J9QOe4&; zOXFY0EA$mxM@Pr2k|mc;NtQr85B7niWruuFo>zp@-Sit041Xy9=W2jWasOascJbE$ zH7#jjb(slhmC9ZLMF9bK8Np}HW%wRQMPuHFuSg%UsPC^0r2a5KHbN@d_`VmGf7?YB z6;xHb&PT^}9{v3q6>jwuwh<#!B#ji(U6pF>ZeLo+eDDxd7&t~$Wp+V=EwCfqF_MapEznTeT2fm+^ zapmXaOl7RcJ>-m3yVzI%tUs;T4$Jak9|WRHI4Z3qT82J-j+ zE*hH9%g0VaV)#YXe+@z9!7)e(n2wnDiEUsHCsS%Il$ex&P=u-Tx;?^Ah`S^b1%+-4`hmPibP=V{wL5K68FNO2I z%qG7&(>=?)Xk=$MdiPg%e}S;K2Q%v3rR#7suS{i)U1VnVO>UmUqO|-4mx%_g0==^$ z$M?4a3w?DCuFkm?4;XcX8J9W(-;=?~^AA5@d~)ugKKcX6E51;#!&obN(^@+UpEus6uSV{J9;;j83i zt#a3l(#O2y{$OdFZxf)=9OdBTxG;*p^(qH2;a@Ku>=H>x3W_MDZ>W)7S!swVHNQB* z6#ZIGK11X;uY#`&5V!zSi3l7)@Dv-}Z&9<4Y21tpSQAi^mj_Aos)2fpO^vl}Z9`oq zkoPdrmhIYvdHF3P2{lOQzJ9kGZ60q+j zYk86$LM+-c0(Me8*4>3(ZmRLT^^fFXU-!Lt-|Vt=(B}Jwt)*c5-UVYNPu~~7<{AIG z&n~<4yxF{bm$#Y9Z}*Iu>2;QhzX87lUr0z;NM>PLwTlQ83Oym4l7972T2IScP!G+! z|FAZefY5D^E)PLv=Ka*%<}0)duiss1ep}RM@#=juL*>! zadvAg*qI=qsSDZLj7Wxy{B(zo-aIr6g0v|5?ELg#0qQpv)n6{_BuWu*&`*2D9?sqQvf*q_oEfDYb0; z>sOIS`3$uA1O(7bA-GD+naqNEm3ys@S0q{fqoZiR*G%>c=Y~I7UqD0*mrsrL?(b4f zQ{~(v&$!HnXLp0ylSk3I!Bl@@Rn|y7OtQ9G%)0*5RW}7kInreJOo^u$(yCg&H-noz z;jJ;SOOFdXJpz4JLzGY1D@(H&+3waqo|n@wepM{>#pzQAj9;AsnxoC){7Sc0|hXD zPMI0kVm7Nv$eYNsUJ1q%K0SGe5S<3+f(`c@LDMG(Ra`1=XDg-{;QM%GZC^qV7Shlk zAy$lmD;3bEPXPRdo}iMDEz4cWjA6b{kRzO!<`idQdh~m(c@V(6R@mP z7Ot@Zb~(2o=Q{nlG(P_%#+rnaKZPpb)zA?u)na(Cw2sC(Y?=3yxoykSo7=aab2k@ zC^n-E2mS#or{Vi&a#R2mBnh41|CGNN^j>ij2a1;6q=$|cRZmY##sc_2t9ZVq>_9np z-F48`dQoCstEWVnR@&Q;)j(7dJWPZ>UIMUO znTfHOp{RAuu$MSFyF{8A6`r=kd~TL;H5{auJ%cR;3)IGNv0c{A=tFlmIQNE(`?>O8 z_&2UO(5FTr{iy_^vn|W9 zJe+W2+VAe&m-!mW-Q3tP&Xp^GmfWS@%2o_$(@X-6<6pmGgN8o4WRuP{lkNU?v4ms7 zpWOU;ToEfe%)cvINMN~ymo{8?y9{05>dahzc*`6EPxWC!n!ZZzu9qrykqHg>-Ts8M zNCOi-b{QTpc?ojgUyHdScw@V8wI!X?u)^1qXdd0ap|N>**2EpA%6nIvJeTQbnJL3! zIC&5|3bsBF;`R88AGUkA<+8DQ9J~T`qOYEYl&e%Fm0BV`PlE0st;kC^ROFV1u3Y`h z!G5OW)BD=HzUHZmtL=Dk-34qp$xl}1_$Rw;FgCbxeyCu4JyicsT`~^zM9%fz)hg^5 z!TW8cvic0+q>3GeV`&Y|Y&dMlBBfer$D!b#r9*w|*2GKD#bU0qI-PZ~E8+*Bra24v za68+1`Y2MvFrkwFN^D%}72UMjNc*@`!o{B0)Z!j4G5Hq{DdK=u9UEn?UbtBYzogtKuraunT;N13$Zf4D5=Yor#HKF8T%#_Snn_qAixSs9ucB6{>4|EA&M0gez zv$12fN@mqtO+B|Y1N3G8qqkAuv^^Q))&2Z^B{>Md8b_$bV2l?j;Qgy)RI{Q2srVaqWm&HY|J|r1H;|b3wu^++a_mjYtbzNs{Fck`RY}qi0JHg!&q)>G^W69d})ch zAAgifri6pKvfs$5;~KWj74@nkbTd8u$dEf0oNw0-R-}^IU#m_5D9P;$|JLVvRGwza z9l3$Burmlryo@9a^HJfowy|;IHS_htYr9kASjx@lPw-23IbWQHkk6AlS7k9D+*wCI z(_4-qok_mM5Cb?BSG`JcQ;s;%!lT#K-7iCZR-4RTY7tRC?>=~4#`NyXmkL=?i`de{ z>Vk+UW8tI-E0<{O@V^k-bJPfGe)dA9=R5Svd0*;wVb-e{<$(Sx5l%ay47^u4(n81R zq)wXEc)ifck`T9%t#(?jA6p)xerc)}g87$)x+`j2^0#nXHjJD_6xoyQD8Fe2O?6-$ zDESBOq=#EFrU4Lh&&-ek#q7R2D;m>juUFGj50PyWdsYG4^X)l-dz1n-7G*hJt0axt-W9N= z>-E5s{&b=8y(LoL6Idn^lCy&AF=yrqNI zmGHUFa^?LWuSQ0^K*@xlJ+1Sv<{r;E zZwjs=dJ~0UI3(*>KVxG`KCNwG9$rf)wi+EP`!_#(zA+Um8oflUcX{JW_#yj)ikMhWXK+c5a#Z5+Y49!1 zP!7vAFVr1vwWvx?@$BzG75XW8x^$sK?|Z8l7m~v=(-_Dk2cuU){k9srx}pv1$C|gR zxkbcAjlR$78rq8rCj2(#fZqWECcQdO@~Au%S7KrGSUE${bW3x|L zAz0eIvL7B9=|B68c<7AAuCA`#Zp`wTrrn-I$L#i0XW1|2aFmxd@0_MQ=JDtY+R{Q- z%AjqRH#_}=G@8$YYxUpy!iTOnb+BPAYticvofJvOC%ap1wHMejO0w)YtT5(!veawE zcIMv;B6&pslkH%j#(ZaS<#ncwwH>K%GIPh&74+Cqli#u7;fpq&*d*|`t*pY#3p+n`>s{53 ztZ!zdzbe<(uI;$vsVDd+vZw(xyt9_~vR`Am&nmRKfIg_+V_SlAyxi%Vj%^>0oZsW6 z_gE#9{F{f{OW37T>n*WH(Ndx8h3xJ%Gh5w-r94jKvRX}hlQ)8^N(-KzgAiabiVi~R(k8^^tOLAA`Ur>NsGnN5&f?H5dVJZ;;n2dseQkV^;%z77rY7@wB|bg zLDlsJ?R)P6N~FQ*P`FdI0Ufb(N45ab&K)#;ug@lE_A5PZWAepBX%1LOU2cAE#^0^^ z3JV_Lc6(Xxr~`Gi7c7kHHE*~G3!JDaK=Bg1DL<)*>8DP6Q}VJuoQZo&nD+_X{oh&e z${_XtH^j=qZiHB}z-|LUaw}l*8?7q#BB#U;3S#4>LubVm7r^29pG3-V9N^nn3?TZ_ zoh+K9-br2ji3YjN3rBG5ao#ja@g&Rtv>9|&c8TA+yyQ3PTLy}Da&YRd7-UtXmX8gy z>SgXXZIvi&{|LLlcIs|6n9fMi_1urMK1ZSIJ-7O)PEGUjEq?A&S|T71b{U?>ll$jYja=8gdh>@#7PTN9=%YwVof+fS__U3)Su%y z`CS(0(D^M$u>>Xh;{HZyk4@Q1%Cl&0Vdh;g;R5{asPjsfr;Rb}L_K_y;)A{yJ3*CN z02qmf2i04ET#qPcN&7z5J*5@rlu+jk)poyU=yIGZ^mkDVa_|jU*#)F>@~zpU$)&KN zP)35^l=0Y-?F`EID`b=u5?0bRK&uI3NKp9styz-*dKP}hpxPppCiPga%5$opr7-T? zSLr%tq>S5Omlvw47PeBhHZQUcSV*1H?QaCz4h7>lu;dmhUYsYN1@no<}zt+;(^~(wXYW{p?cjYwYXzaeWqrErYso$#XxG z*HNtlX%w?S<$)QE6#4V#QbO$m(N4UM3Mhmgicyk*kEY=0u_lJdhtUoqw2g4Ij@W{EM-oE2_VNz;w zML0<$A<M z-QIs#p-IR39SINWS@)-WDHhuX?~7tL*8Nr6SZO?tKHp-`yR(QX+stTaTOT)gO^maJV`ltJF|G}(5MfS%N3csMMt;h`hkXRuR9 z#^gF|EWq^_^c9Bk` zvQ2^cWi#w?QH-J_mXvZ1>bM(G)z@gCN5zhoec9fctcsagmisY>vUSazwg~E5uK3Ql zHCcZ?(7skNoidIM8rj%|rF{Xm6xs9V`|#ytx8}Veqn-)MvKWAe<0LoGpLK|SNGWQ6 zL3b)(Q_@SMTgkWY)-OAoi0bDVJA(fR0zEsh>_74J#7i+;P{nLBCUPmEXl-@PVWDyD zHl3hr{0SSs{SuVJ_Rz)X2p<1QWgxU5r|oLhWOqLJ#vTw*<5XOC46cHwukc7^ z`cz@%Ctc-(?Y`C{%w<-i`6zDhr4{*M=-MrY7H;{E_;22>H4Xq4mv~^{16I7vKTwA7 z2mt)+%AN)WlT`MXesA(^+Z3RP)nsx$&q{l)$z(;V^PnXlm zoB45v@U>i*iD_Fyeb|og8s~{JUy&LdtCmW_QvhQ|eXT1meZ&0u8?R59sk94uk`dBV=3iFrW6M&)%GL~Gw z6by(uE!VBV2O};`Ogr+ z+SGr%J3HKExwPy-WS-4=@7YZy>u@-UHUBJ;QoG|=5GmeX)tpC5sjQT!+uX6DU0km% z(L=l99SNSvbGK@ZGJVpTy802%d_WqQKaz2i0Lcb5%2Ma+D-qb&hVj46&@$ct&Gp{% z>H3;aiSkHie2&su(>-2;wf1d&cnZd-@bKe({eh8(p|5r5{1M4g#dL&B;-#Bllq+*i zG_TZs_PrGlu`?)(_tC%w54(MkVD~!FIqg@t#ih!BwQe-Yi~$$Cwe0NM!W2{s*ZpR) z5lZ7i*X7Ly3Es$`o9@)$^;%kOM~TSFGUt(d)$FsVCw}Tx?i7a_5Dhg^JV#%-fR7?c zZ&O}o*CFwBJtZ@}RWqxDEJe(55~R=0rk9ul|s*2&xqp zeeQ?g$H5{e6kol4=Npj}KYOF*wjMlsj{ol1CUJ)5hJkA?A9!llQ8b=_C||qDzvm+9 zL%;?sZ)+m}&>Yw!YZ$ij=2BzYOp`w;>1puZ`G=>x>(i~wq#3L;Fj@}3tL)emU@!Cr zjkO{7xa9nDHqI}3bjo6Ur$nakWW~v%2o4!lIH~5@X_sJf>3*jI`hk*x2W$FfQm*PI zZDW1i0*hG~S3*Ir$4I<69r4_wT3y$gizcCPVx{9I-e{&OM!5oitv#TIwy7Qn(=9Bt zL+SiBc&`P^PHGm81{EsboICGJ>BUm}*7T6x7Y3Hu#&%>zl-j+DWm2=rp9b5g6LD3! z(QCzZF-owJ!X2@Kw3rnEDuYFaHo)fFAYv{V)V=9*wy!_ZEzQw=S}LlMDvCv9jZ9!z zCIUfL0n6`j2_=~%M2qUs_UpynSrKu(Ka`jH{ZixCoUo#xy-tnq>}(q|rfDjuvj0e* z9R;!y_@g|5ON>LMg^OO zl^u6H`o7xMqa$)Y-l|){38y>y7oZsR{Exr><>pN!V}cn@@QP5DgJZq-+-pxHSqJY8 z$~C9KUZ`h-!;aN5^9lyR7>&|wH^zLrsd z%``AG;L}%-DBsL`tKeo|AJQc)(!whB^fUx3&d(mOU)r#mv`ts=#z^rtLe!iTT919<2-xXq?u85h?Z6sJbhuc9`orKPU(S~9iG)X z*hpF61r&6f=m>gn3K9%i*7048GDTcxoO=pWk$nv;ubtUht341D=aL2&_r~@xlvvO^ z`{H0awZdXdX2{axp_|0WcR&ar>+{a&Sx7)6QLeB5oODkjYEEe~{S79)enG9#B=Mdv z4)C0+3@;B@*?j5UB5C(`1F*je{ejgrq+fxeFxdJG7Jq`hC@i(y8f9XVwoH)d`Mlvc zdn;lS>vn@(N43?_Q`G}vS$kG!z;#WJkL7pI=s+f6kD}&lEg4pkT2E&+Y=Jx;tnv#u z(|@j4rgm_wdYJ-58x-)*o}f;-F6?fFAsjGX`*aoaejgb1ocH`m^=eAgAAy1A4C@1T zTn0l>x*lUZFVbM|7FGNuAG_4h&OnafG?+PUM)ZTTsikyznI2!7=^RFFGf%`9ht0@c z1aSZX-NX2R0>QR9vzw*ewZ*VN`2Ma_De9Bo^xkM@>*K&~%{=V8uQ_;Buw)4J31>L} zz+8+>If>BSGdHdpzWW)mdZK*e&_J@|BNrYq70@8%67kmZk7i!6!YuEayh4ViDx!er za`4`~P+-LKG%P)C%F(pq_oeZv@nC60xc>00+TD0-R|3a;VO~_M{Rwi2&ed@}gsR7> z?cmRvShq~*BG5aMU)7mp#y-H3rCuJ`BZN>q?d9?Wcj<>VJatWsixJeR7YWS_6w-L3deRNHqbcS2} zL-W+GSwBENSyWV^{ELBc2tfazOW$rlLbIK0Skgj8WMI|;<++XWYLI_TrWTD@7m27WzZj$|8gpr}Mqy^gA(K{kpS+-5AYW!(tE>M+XgexR6NvA=s3;1; zt^i;t&GU0~mK2Uh+toF5{Mv3 zb*DgwTL9+}2^%{8N=+k*mDtpAMez|qXB*l|)~m9U3ryr>8d-<2qP?^K=41So($_p- zb~-9&z-LE2R@lHLn<=`@-6n@e+zW2>*QxY13;wjpoiH8(^;UOBXbQr%<;m}zNC2`SXl3X5Cka4>u*@jeWiXx zB>@}3zIQ>uZGH}s`Il8{N*w4FPi4xo1Je45Z>Vlw0s9{^-f+Cy_~`Lgt3Mc5zjxpo za%2TwQ+}-~Q++(nN7py%oOT#ZE8Yj}HnuS&YQDEqn>#a&-oFT-g+rn>ej|5T`I<#+ z&Xao5!pE=nz9x+y0{64nX`DC(d-P4Z8ZvrUGKAzM6KiFVX+94g875u zF==psimn_O)A^C$ijn2P?2l5(na+tanG)W0Wrf`2n1oW3PT0Urvo}V|slvKF*l)s{XimsK%F(@g|DiQC|oW{2m2Cfa5<;Rf%=~H_vu3@WjUV;I z>fVGn)`AYv40u)N)dK(uebj%S!cEy5D|cA^5NA>#or-i=Sqk5`!=IKjOZ8JafOXfb z)(Zp3Bgw1Z{oVYJd||4w1oyh7B#YI}#vRk5s41_duc?#Y8~G6vIc7@t8)qf`$JQHm z?+ks=N`RF&>Lb;6zc6z(h=KPT-yoFR`=3uvKH%h;{5Df&`swo_<5|U~J0RqLL}iZy ztL(@-aCo%G7!iH#LyhBLQ!|x$&jGB$B(cdGP|W@4=Nl6#Wl2Oq!^W3l6JMA_RH|1p zlJp@$*M!r}q8sY072K)&NbYM((Owrh1ODT?#$6IEoWmym;y_s-X_MqzDyIIm97fkQ z2w2b4k|&U@=Q@T^k}ih#;_4m^j%0UiGyYMs))SEqkQ?$G`bl#sRg0&)ayN&E* zJp9ocxZ4*o^XcVF5A#|-<7=j&^?&$52W+jhjKs{i3!XZ{%43p03b^byy4Y$)r}zm! zULfv#ml!PWto zwdd*_H*hh&0G}YkMC?kTwaedJS1=TaLcGp^aNR^N#ksD4IY~9D<@3(A9YjQn;1oQSFDkv%NZmZ|`0Wq0uuyTtUutl|tIh zYFKZ;^TJQ*PJ}K z%77EV_g6pe5BTZc+0|83$s*Yz777>s2ut1K9=mfYPDm&VUSR2GY}(HL<GE~5qDQYp=-!rU)}?_1mJbG*&nC8)wLOb;SCyDtc!_ivs$$j`r5 zEf%N_O_OnrjekH6Yrazy)b%^HFZ9!CARJiLy!@J)J)K6|;$jG$XRq5U(srr*qMNy5 z29wjQ?;*txKXkw zW$iJq{l_0~zO&mkHq<~64^?4c%_lc%Tt;y2A&+=+1;<_Ct`Z3013O5vSPUt!(~zSq z;!glNdsh@>Xvhu6iiXxlbB;HgejQszd~Qqm5Y+o{P+sEC8k1i^uqBfdAU7-R<~K;I|^Aw5kk4k9Sr z-aYO?#n=@iE8oH8s(x!)ztA@XzI_DUmnoaKeyw&u?0--CDfBle14R3*0j()@tv$=@ zr6s;J+*&Z0mCoCJQY`o;I$Cih%VYh$kQv*`w{-tqIAyYc!psodmDFISdrep*k$DmGsmO2PHv%3_DE*m(jes7~kvVzpNhR!aA?;%;d|62XSjl@< z0qVke*=H$~G96`Vje|CdeptVYwiv8C9)UX^urtWuK?2ueGtXc=WvJ$e#wCSz5SkGg z-o#}nJ5Z+D=xS=ohkGD#T1zYdjHccx&PfsjT~(vV&s8%cP4D0Lsc9`T4Ak`rglQ6l^n=&QxjLS$Ooh)Y>n43T;+a8*jb8CMm$CLJk6gK zp)yp9u*cj@IxgBY?jG_J;9PS;>+6qgtStaJ%Q#^jQx(1W8)*GKw7$ZE} zQ7DR>jANIbG`~z>9-0IZhhP)gr4*&$D!s?!ie9;2K9pg&%+b}q*r`OEz#H5(U@qK{&Dt6|yT?h!k+ zm^cHptN+rKHn%EN2zz-bT&evQo)TwW2GB}Y`_X$2k4YL@-58jqslomGmu29MA2&SS zTpQ@2$HA7TkLE8KBn_J2arI+Y=4tw3QX*zu6HZ9T`Fw&!EXlAKO*qCH-oI=b;}VwF6#Z<}E3m0furEV`D4 z00QqEM8a2T@8*REgJT74x^t;X{!SVGZ;ZwBK|Op`rt&Nj+S&M*gKh=)S&)AxB!Xb$ zdS0I4cPdb7RozG8f@^p1&^v(tRqr*nDL0S+Bw^NM*&*ehU9Af7@MJDO zmPc%lSm3r&@t}kQa_aT4rZ3tl5gRwqR`F!2#(I5p@HdU zB?X0k*BBRynC|Esd0=n8Nzdx5kjYiFBR?UiV&tWs&$**3l zelFx4$(&xOON)RHo^M6rwOb~P%pY=H-W*^H;aWU zg3|+Dr+e(A(iRJgiYCov`5HEDuX?rz;P80y_KeGgS-v%Pwbv$|!WeFh$PexiCihWK zYOfJ-v)_F^rwb1g{Dp|?rX;@)v-Rgy+ad44Pd=H<;lJ_~dEup$f#e^sDHrff zvl`_9a6eQN$dL7}PpsN_;>kU=UXlLe={KIn9V&b|;5r=fJ{w z8H;y<0tcEsbq!XjG^(8dy^ev);Kt>W&e(-exYQ1iWsoSntoy7LU- zsq^sq!-*0U4_0J=iP?bQzi*eR;+-8Z;R{HJ;E&}w09O9Ro*URG&Mdn!NLybCK5AUv ztqEc?b}5QW)-0$rclp-qv{nuD&|?;Qm#T@lE>_6E5Y8K7;6L-yAv3g328NqX9qB+0 zx#0^+k`t6y>J_qb}UKS4R;xc;pbnI2rOBw>q1#E@cNkz z(4dk^!?J;3agSf)<5K;+SvRv<%=k#{MZ?ecPW&#nyypjU;|a`xI$-J+HIQJ6UZ-El@Q$` ziO?qi$uaTa{3}DLfimzJFk(hs@0tmq=p*JDr792zbChFsVyat#QQu8%QR4UrqH=06 zQ8=mlTazO9++yTjm|G&<2_;FuvD9IHi(=(*`>E9hqPuG{%~JuxU8jG}mrh-Zz&Ip4!;gcK zM9f_hq?Q!wwxjZFU9G;(+^(eIVV&LKqF5a6YI|qeUrg4^;+OmO7WObDO*rgXRFV#w zfM{RR+ z?9OvI;k0YL?~lu)q?Rx+8|&M#vu>(5oB>_ghVFiav=&_hoxe93X;{^1Egv&>oE=Dl zCq(kNYZLk5ewjKzq>x>cWLBXoL#`K{rg@K1%?>O^);u~tUS2p~_F#@SjE;DmDB;)= z3o4D_5n24~v@g)FumZ_`@EJxkUZ6ub#sw6T7%evv>W^OqE9I$B{(@_8T9ZaP$Zp4l zrs9ViulvP?3wR`|7YFXSq5^Rz(CJo?WF=g+{@c#YXgWowBjpURWr!aR&7O(~B!sOK4 zz@8XhsoQ&7MAIzUJ?rHE>&932vrf z|FETMQV@pruA3^5<&C42fv+`r?WVcym^V3N=%UxCy+17n(3n-#daHv{4B78_M!RgM zyeuwpI|&PtuqoZvJrq?;yHYte$vZ~qWiwmdLI zuC$^VJU$}bS>Svz&0~DJv!_csECMpis!##h_GO?e+QrBM*Gldgf+Vt(J{ofiS# za?4)2N53WXfkn&H*T{|eV>cR#8~FbIUjQMaMQpVE_D)o&BpH$1nW?K1S?)$MSloM|G zFfmC;X=#zvmXXV$YYSsJ#=-!@KFYi05y-YWGZIKqAm#S+5Avyq*X%7(I%H8-^lWdM z0u>|%P*QidDQ*S(#DGydQea+SyPhK+^vvs;ANIm46^eSY^+h0TURHZ_vANhpG}&0# zw5w}IJAZg!;%?!54^xt6| z^fb@*!lgQOKb?K>9#(5_fdQzWNy)m~-WjhY-E4PwYPm|P%donO=;LfcS({>`Xzp%T z((Nna9G|N}1v1wAj+qzml54}N#~Vh;h?Lb@e;A{O40hvFZqzosH(+Y1y26dhEtly!CVbj8nC@g5Uy zDOWwK>xx4E1mA;s%Xoi;5ITdbg+SSXOFZa&80ADz?FjMHh_Go#cAD!W%SaWJfbJ(J zNLE{duCvWp9^Dydg!am-Ta3s>niRQ{j(I}>bCd4G_1?J@`FY1nEdiAE(K6+#jjEtl zGNGeiS@b$bRI>k4c+g>tuOi2rK$5LnWCZxMeR>t zm_NLo8!fB%TG~x?dwY8*TUD+9vvH%59!c)9G~y{xD`pNdQ^0RJYhi$!kz`n){EN3;9R!wbat z0<3pNDJbS5D4SXd5O_Nav)E4Q!QvDF9ME2Q;P%mGT|+zE1`9F=ZPYDaHO2FP@U;%F zVs;gcK1k^Vo53)@&7Kb>>4;+7>cIVg+Jni8$X}^CJ)BTll`0L}S77$y%IF{*8 z5~d4}N?MO(>b{thEHZ49*(~KDAM&PIVq6a$df5rDXskr-09%&=y2Z3sbDI@{2;z8{ z9XK4jm+6{~LyUixwM+5bBQJEX{-E=`b@if%i0*O|=~QQ5CnI#*=D074{WbMx!aZi> z-0Vzhga(WH^kf|1k=802w%@znj$31$@hsVtTU-Me_FWx}Mhi=#F}Mve>zey_n3kp< z>cru?HCBC_I5{q~dwsrjO9k}39NcJFByyx&11MSije2}k5YWA`(ftZMXN~F3Y;Q*e z%ntWz^TaNHr#N+@PBqQ!eM-3*C;lL9_;>Slu%Cp~+tEEx{MTh6W%c3zwoQeAF9}to*trIS|*N02>ZMBjt1G)S!Xegybp9e-yR3*R44*3{uyZ23b{XB6o}&0 z6gB|d250rc^cAoK<=tdON4DURbu6FS}A~Hca zh$8h#s@hryv}@({dBkH_yj@-LTbb&&12*kJf?`v6O31152(B@$NF-FOc?TD3VaW<1 zUtQjnWLrxKKzuQ!;R(xb*QK*RsB7sIc%_0e`2?usWxxqEDkBbRtglJMYk|swDI**b zPG2(Q8yE!4H3YjJ4(Gj_uY9K}_%bJwo^?Rf4pVN<#sTKMc$TL);&*&-0owy;olg5Ga)n?tKz5A_rY#`Q+k ze8ke;st*34ndjIG>fk|)Rlgk0-c$2*dS+aj)@s0;?itfSon5pYnFISY)3GGw?gce4 z8l1nZt8?;g)4bIsgP{Sfef1S$jbnr zu5KJ~{fi$iXYH4a_^$!=1Ra2NLR>W>>DBGvxD+t0k&VZTHvsbOMHak_5vI(Xn8Cf$ zEC-o!-@j=N5Z;=>3@S2dwAAIgMff0bQ@7?{(S=9oWVoQARZtVR=eY81F+Dg?Y;5o7 zco^@-#>OTA|HL;KA^2TTseNf<{c#7>DMJ8oBuqQP@)uU#fX@W3%{Z;%y2YMb(L|E( z>!V_!gN8#x{GJ?I4Q^tKwO||cvyIC9JRb^u=AR^YTLAyEunwSn?%XLz_gdie_(X_~ z1FAtZ={&UoR*g&i5uuutv1F<1n>)f{9YDmysmd&48v6CR>E0@~In~BmULOn4N2_Cj z@;1OLEZYvXnB?THd7G_*oM}9AUg~X=&)}`?g*E*Jd#YjnX*>%q#@~+BN9^*~C1^DW zvgi7>Lho3V@)d>9#?8@w)< zyoM5;b5ai{eXRjr=rrSSQJ^4emff=Ch9Y8#QK)l*LL|wa9~K+)a!*Wj5RFgSFX{~j z%Ct2B^x)JC!+jX^q+Mu35X#o3+VDx+{Ta}j;uo^DaX`WK+X|Iqy>rZeWM)r3&jX^E znh!BowZoQh5)}@`(wQwtc&^Qz&^4sqL<2OTFrNUFR6A@GC0-z#TNTS?{t92IJU=8m z`{1#a4d2D)5Gz64hoJw%-dnfDxis&hGdRH^!7XTThv1M9+ycSf-CYI=?(QBexDW0S z+}#Oo0|_#CIJ5SC*V$|B-*vvgx!!+g=9%uQzN@Rcy6S%HE*;+Kg#Xh_+*o1trjsLO z*#Frtb`&W23@#Q&qna0tK~(RQ?c18x4BPn1t7FgfxNvkoMgDW|3`Br&V&wJ+#;N^H ziZP73mn9zVBERHNw1@Y-vN9Q#xt1=XD8_Qb{!P{2dcB0FzRgO`P_V9tx_5;bjQoP=&Xp`^@+$QI_-rvipa2dm!A?K^ zPCPZP7?aU;ZYnh@g(oNMZS_R6<)@d#BPhvf9cB z)}_t)e|2dqFTu9CQ|;`B|9EH0p9rx2M+a>%U&2{-cCgOv7fmAwRf*x8B*R8M?Hk@S zJBfex6u*bvA&`d&hN%5#RRix{4_hrOUtW^Pb$Z|IxFD)JR>?+235mP6MauN%Ows+L zYY|%tHuSEgMJ?lhqI&EXxElomP61_WMa7^ygB2S6{>V#b7`=xC6O?9i$d>pYiLQvh zB8UVi{^{RTXHGDtjb^^_v83_w$`-BCFPaJE<%|rB%<;xol>gpkepA67)rTUS{@o>j z$`Ee{6L@$cB|3UMSocLj%L+m)8Fcz7Bm~Btk@Bu$!uwwciiG7mloH4$%>OnMSH${y zm!iPqem$MGBr5uR_?*<&Z)EDcunps~nP~qxx|k^}7c8}yH2b%@2N7o##-K3YFQL=6 zRAV4I$n#Z6PE~hZ2@eF{-JynnkE=di#9uL|8C$Ms0eUpN=nT&BDbPD z$~`|eFY$Zkp4#%hIf*!;E>LZvchuKYGt(}00DVzcmrXf#>4Y(bFi!km{1!A(u)j53 zNwWRd4f_A-@1YD3lZRCa3u%2Q-3A{{+l!AA7SVJwoXbq8178^ z6pR0**njS6BYz=83re&0H$wi$FR}4p*B%^3r7Hi7YX4>YrZD5rW%fyg{PWX)##Gqh z5in`fYgHNkso8%CTmKi(QiVs{|M}@ZCyFv40h3mKx$OUwDvnYMrZD=kTvNgSp@+ZK zX8f15bZ1}wwxs_dY&Hph5y3iU$*dHc>EV0|J^jw6LAc@o=eoI_zv9RN zx;hk*D|Od3=rbY-%bLfiBp%2pDWzRsqsvT9cOM_fReBYbdUcIUS|{D~m-YEls;PgG z4)HqLat7(^D`JbN3@7990EKZ%Ez(T}Tq@5zvpxOSL-bnj6D#QLKt~)qUdg9h&VH{$ zW8{EtZ}W$wB`5A_CayeAy^6X}Yo!>~)U4wrrrsXB=kUKF{Wc`qdN22Zaubmou)`lW zpRFV`6p>Lf*DN{TzXgX8dj!*L#KkQO?C&n*P-osuUwmouPxACjJGzJIix@rP%PbP+ zo2J;Ls;yRVt`e0R@;)Ut3sBg@v)jQ=Sn^t^{^r)F=;WFk>5`m2cZ+td+W{vyE}3&* zLQZUoAlIa5@xtS|x_Br;-!oF0Q=>wtTgLjuy(YrJNt}=d^g)64e(o;)KX zBUdUE=@Ta>^{o+Jhj%wWxAHgfL|Atu!xAzOuUk>RQZUeND4bvY`uz-BW1aj%ka8Rv zY{lNsAR9QFv`T%~i9?-oGM;=(l;O=f60VugPNR2a*4*KHdf)HEI@1GNSWQ&R9_6@% zXzi_5Dz6!aWXL7A^Dq9iU=_?UN^AyTrxeV_nxmrT!^$Ew${iIoJ(t}lkO))u(rXBVd^VlRyMwjZg4Yuqw$!$URjSrW)&iHib^g%ac_64k#eIj`I01XE+vd3L8%B^cio^#o|EMDeT+l$f8-D%aopnx2c-d=J!AQIXH5Q4!=18J$@S zg_TW@I~l`Km8hu|seqep09Wv{b1&7X%HGIYGbXA@;DFhr@=`2ld1kd?V@h)CvkH8G zK##0MB17qbZt^Ue>H}?BZ~zJLxh`!kKk(4^TeFcQqaB5WG_q6Ws<+S)N5O>;%pf5( zVUb={L*vk)Mez#B@FpE z@2X|qC8~Dn@ovg%;1M)N%6ve$`oO-`SZ>o*sFsp(VV!_xd9)Gouv=5qGBCFz`~)cs z{(?Jw@nO@1CedTg`&^7W&H0@u1^CHZ;pt5YJ9+Q!0*lj#yN%(h5oj14pWz23-T3Hbt2pPv> zT(Q4+#^O9z1bwrA9;~|&Og|LNxYtuD#&Y@jeKh*wvzgzc6ytHu@#YroI?o%11(=Nf zQJzz@xxa0x8jmv$gucb0b4eB;LEK2OSq!@8yoeQ!G+3UM{M)lkOiu3yTz9QEr}kIf z67R`AmvtLaCCGE+Ug$imZ3s#KuM!RM+fsT*%db=z<0hwA9JeGYQ%{CtW$#jiu1Hw7 z&@pG0xp_wvDiYVP8D;o>UdmqeS9MrNp=PFKVkJ9YndRqlTV+!#T)IpUXuGsk^U}Lq zePrLr9-iZdySSfT@fLIzH>$H`e3vkK&CF1hMvJI+Twlkmx0q%zyjm~MQ2k1HxvX~t z*0gg)UAz1&*&s2Bax|h6hlN2NdSz1MHkLYDrYf~kY=XQ}{1Mq|tE;ooW=V3j(H_Fj z5Qf%f4$;=?@(p3uYLmxj)2E6`Wljh|BN*E$mix%6-OcV3hok)~bUYmw&H5A@h8|

$;-GeGvXAOjMP>~Lvpw9Y>;KyQ}6U_edU{CyEqiO zK!>fFuk}H86)}l7b?!nJrq2j=TKw5ti=a>pVIb6z_?g>g@rwZ1hMsJ-nX7wcO?C}z zS5$Ssv01J*R@HmW&ckQBOv$8Pefi{P(B|99tk_otg$AK}VM zD#Fl)Fp`W&Vmc435Uv?|ntJ{k_P>ND7y8xEOGn7gdxwR^&db|tND|#Elgfg;Z@8bL zK6@^^+L7dvd;6&9wz1}Muqnt@5u>sszj0nYzpzj+d4E!&T0NF$J43}k;6X!@F0i65 z)O=|s_SotsnpznnU^78YkVEy=1TYDmR5uBetbmlw2>4jr?yJfUY7>!=4aPZ5s`9~g?A%QfG z2HI3a69XfdY+Ee6oa>fcS`U(pN!588brfzDD-1g4h?jJY6>L1TczUFJ15>3#%eNVg zPxq=1%|J`ve*W@#?XJSY3?VhP^ z^~HMA0_#fChPy%AocqP5y-j<&oxAZ5Vw;m0iW8%quZgGpsnrFbNxmsQzsy5lBvB^b z_MkI%FBz4JM)sA%na>9Y!IX3>s7t2@HKf5*73RD~P3C_%ND%Z&kz{8~;)INR$o|_&LZvIZyi}wpJn; zpGhGJS#YuTtqHSKEyS8RM4$I;K+6^OFn zZELEL-XlL&SD6TPxZ~gBLw%}OS67KEQxtWd%b&(y``$*dvow^U1~eoLUSfYWyHHi- zMhtlDg6ERoHC@|W4R$EWrjukQsVuAOE$JDdcrRdeOHSMz=3|sIUi@a36C>$WD%^Y7 zQkJ)TE>jcu*j#)|>t9ieQ&y6@t`p_XGHt5C1iC&kdZ2}rL)Ts5wp)(&-O2W|$@cTQ z_HHk>3+t~%%!P|{@;T%rWKOh>L?aC}Q+@c@?`Gu%z#-tloX9aV%l(^g&Q7O9`mZC(Ff6RM4v;#*^R}(?u3HfjVl9y@ z4fvTlwuJk}abaYg01LI}@F!VY*;6lvi{OmSx>fb6O+ywtGR1K0TK%vzdFocC^orzr zwBrpU^H%eVML2=b8|?Y^BgnK*;jKh~&u@_9o4)?!5^Q?@sokei>}ugo6xzgsvpE-I)R)T>+#tu^bLYUnxfdq2K8 z>^S$^?n!dT0>L;mL=10*@A9+qwa!@N*jUwr)#b6d z=V>XW-c-7;s9DfDi;1j&RdUtzs_xuRZI`yilX%+mCx->q$VkbX=&{Hf9-+6Zn}ODX zB3t%&F=U@0D#w(kjZ96G4P1)on4R=Yz)!jU6IW-nY~BT(XAcBxLCGmbj~rSQ!p;o3gS{_j(vyUp4{Hn zhUC9gv{$Cv3~XEfF!e!zp%`wR2hfpNw(2cf1Tc@TXmFgHoMpK2lm4l5&Ky^6Efy2A zqqW;l{o;Co^+MuGGlg4ju$de?AkU<2d9X;pMS3N$ zImrv}sl{*NJ{Rke%hNj=X?!yoOmj9KJ7V5c5ifE^Ld zzybmNmf~c`85a;xelwR@>65OQi|ICkvk zL_Vz zX0u8gqPr9%Cy9+e^ra`$(EcG;DoxOB>A!+Xu+L1y&Lv{_(Wl#X7rD!*Va&8`40`_V zQr$ea(lkkg32rd?&AWPCq({lK?XDf#rIiYUd)&3I-99*6MH>`Tf<5$_^=87->%u=K z^tKcYP)s3ciyM5cN27<>s8)!=M$=-axv-U|#+~C7m!kmv24X&Fb?k#fLAbz9&j?0e z8~kql9IJ8Q_1h($ll!A3%eUTu&J3f|WB7SwLQ*64RtEYclK7BS9j&le0isJ7mNjm2 z2#r^vh7zTbrJ*~AL3O6kMV2G*CBBBu5jOYPWxsCC6}FF9cU)ByZBPr!y4 zP$s+l7EYZm{S~uOU3K*;h?Rcv)%fiJl0|^!sF@vEzVLSIC57Ok%}^}X>hv^?myw9# zM6YEH&~m5|{a)Mo?m%)hF~(gpjx#?C<$D#&M8M?)3dW6yakaQh#sJQ#BNDrbr|CLq zt0(>jiq-F&L1SasaXZevn$W5)__jkXJ}3nL{SkJAJay6Jxxw5e&Tk1U0-L z9m^iK(Z6}+Ge@Ey)_J41k0%mkj9E`OX7T5$0ouy8X{l}L#z0@-N4T#Poj5M+qb>F< z&9vE6MawGJkZF1#2mdW8;LNyQi5lMl@=58&+P&AXq zNn}b3t)karVKGYB@uJ*q6L&y2HIcOQqQe?PRlwOAxUosVv+hgpf`Z;+3uJ$>?sQ>s zxiv!S!<0|F9PUp#wcubf0?$`Qq@nS@D%KNiMg@y?NDbame|T4iVEkP*JkIFY?)WnK z+ZWaxud`)+67OrIto0W)c|=ybIX%$uuW4mTM`^xCudeRd-qq6@pRUfI3pLz!WI6a+ z(m|QCz~v>?cci*MlHjIA90+Oqy~mQt%sB3lFItz#yIz2can|B_mS!{e7`5BY@QViW zen@@XwS($nkLW*)8?V0yAlEIQMpP^vX5)=>WoaDf-1X`UinTwmxDr<2hodHejN?NN z^J+oJxsH#m518MlbceorW%23-RNcj>bFmSriV234@60q*h=|i?rV}?P`ST9z#EEnn zaJt@YlhkN2SnrQH*ZSU)7OvgQldx6>L} z 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

@0z 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�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 z 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�}K)yixY;U1)7Q&Smz<2wB_5jU5GQVre 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 z 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 ECNaSwvV*ZloOA+McO@%%E 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 NH16u&sZf3p`hVL~BGdo? diff --git a/static/images/blog/2025-01-22-kube-scheduler-simulator/simulator.png b/static/images/blog/2025-12-31-kube-scheduler-simulator/simulator.png similarity index 100% rename from static/images/blog/2025-01-22-kube-scheduler-simulator/simulator.png rename to static/images/blog/2025-12-31-kube-scheduler-simulator/simulator.png From 057e98b14cb1f19db551b66a4d3bfa005d179a7d Mon Sep 17 00:00:00 2001 From: Mohammad Alavi Date: Mon, 17 Mar 2025 21:14:27 +0330 Subject: [PATCH 021/121] SSA request bodies can include either JSON or YAML --- content/en/docs/reference/using-api/server-side-apply.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/content/en/docs/reference/using-api/server-side-apply.md b/content/en/docs/reference/using-api/server-side-apply.md index ac5198754e..d63b13c16c 100644 --- a/content/en/docs/reference/using-api/server-side-apply.md +++ b/content/en/docs/reference/using-api/server-side-apply.md @@ -578,8 +578,7 @@ Apply can send partially specified objects as YAML as the body of a `PATCH` requ to the URI of a resource. When applying a configuration, you should always include all the fields that are important to the outcome (such as a desired state) that you want to define. -All JSON messages are valid YAML. Some clients specify Server-Side Apply requests using JSON -request bodies that are also valid YAML. +All JSON messages are valid YAML. Therefore, in addition to using YAML request bodies for Server-Side Apply requests, you can also use JSON request bodies, as they are also valid YAML. ### Access control and permissions {#rbac-and-permissions} From 7ad6dc29c0d2dd5c135d56a60a1d5595c3cae6ae Mon Sep 17 00:00:00 2001 From: windsonsea Date: Thu, 13 Mar 2025 15:50:33 +0800 Subject: [PATCH 022/121] [zh] Add tls/certificate-issue-client-csr.md --- .../tasks/tls/certificate-issue-client-csr.md | 318 ++++++++++++++++++ 1 file changed, 318 insertions(+) create mode 100644 content/zh-cn/docs/tasks/tls/certificate-issue-client-csr.md diff --git a/content/zh-cn/docs/tasks/tls/certificate-issue-client-csr.md b/content/zh-cn/docs/tasks/tls/certificate-issue-client-csr.md new file mode 100644 index 0000000000..4e6c31d2eb --- /dev/null +++ b/content/zh-cn/docs/tasks/tls/certificate-issue-client-csr.md @@ -0,0 +1,318 @@ +--- +title: 使用 CertificateSigningRequest 为 Kubernetes API 客户端颁发证书 +api_metadata: +- apiVersion: "certificates.k8s.io/v1" + kind: "CertificateSigningRequest" + override_link_text: "CSR v1" +weight: 80 + +# 文档维护说明 +# +# 如果将来新增页面 /docs/tasks/tls/certificate-issue-client-manually/ +# 那么需要在此页面添加新的交叉引用链接,而新增的页面也应链接回此页面 +--- + + + + + +Kubernetes 允许你使用公钥基础设施 (PKI) 对你的集群进行身份认证,这类似于对客户端进行身份认证。 + +为了能够对普通用户进行身份认证并调用 API,需要执行几个步骤。首先,此用户必须拥有由你的 +Kubernetes 集群所信任的权威机构颁发的 [X.509](https://www.itu.int/rec/T-REC-X.509) +证书。之后客户端必须向 Kubernetes API 提交该证书。 + + +在这个过程中,你需要使用 +[CertificateSigningRequest](/zh-cn/concepts/security/certificate-signing-requests/),并且你或其他主体必须批准此请求。 + +你将创建私钥,然后获取颁发的证书,最后为客户端配置该私钥。 + +## {{% heading "prerequisites" %}} + +* {{< include "task-tutorial-prereqs.md" >}} + + +* 你需要 `kubectl`、`openssl` 和 `base64` 等工具。 + +此页面假设你使用的是 Kubernetes {{< glossary_tooltip term_id="rbac" text="基于角色的访问控制" >}} (RBAC)。 +如果你在鉴权方面有替代的或额外的安全机制,也需要将其考虑在内。 + + + + +## 创建私钥 {#create-private-key} + +在这一步中,你将创建一个私钥。你将此文件作为秘密保管起来,因为任何拥有该私钥的人都可以伪装成对应的用户。 + +```shell +# 创建一个私钥 +openssl genrsa -out myuser.key 3072 +``` + + +## 创建 X.509 证书签名请求 {#create-x.509-certificatessigningrequest} + +{{< note >}} + +这与类似名称的 CertificateSigningRequest API 不同; +你在此处生成的文件将被放入 CertificateSigningRequest 对象中。 +{{< /note >}} + + +设置 CSR 的 CN 和 O 属性非常重要。CN 是用户的名称,O 是此用户所属的群组。 +你可以参阅 [RBAC](/zh-cn/docs/reference/access-authn-authz/rbac/) 了解标准的群组。 + +```shell +# 将通用名称 "myuser" 更改为你要使用的实际用户名 +openssl req -new -key myuser.key -out myuser.csr -subj "/CN=myuser" +``` + + +## 创建 Kubernetes CertificateSigningRequest {#create-k8s-certificatessigningrequest} + +使用以下命令对 CSR 文档进行编码: + +```shell +cat myuser.csr | base64 | tr -d "\n" +``` + + +创建 [CertificateSigningRequest](/zh-cn/docs/reference/kubernetes-api/authentication-resources/certificate-signing-request-v1/) +并通过 kubectl 将其提交到 Kubernetes 集群。以下是你可以用于生成 CertificateSigningRequest 的 Shell 片段。 + + +```shell +cat < +一些注意点: + +- `usages` 必须是 `client auth` +- `expirationSeconds` 可以设置得更长(例如 `864000` 表示十天)或更短(例如 `3600` 表示一小时)。 + 你所请求的时长不能短于 10 分钟。 +- `request` 值是 CSR 文件内容的 base64 编码值。 + + +## 批准 CertificateSigningRequest {#approve-certificate-signing-request} + +使用 kubectl 找到你创建的 CSR,并手动批准它。 + +获取 CSR 列表: + +```shell +kubectl get csr +``` + + +批准 CSR: + +```shell +kubectl certificate approve myuser +``` + + +## 获取证书 {#get-the-certificate} + +从 CSR 中检索证书,以检查其是否正常。 + +```shell +kubectl get csr/myuser -o yaml +``` + + +证书值以 Base64 编码格式显示在 `.status.certificate` 下。 + +从 CertificateSigningRequest 导出已颁发的证书。 + +```shell +kubectl get csr myuser -o jsonpath='{.status.certificate}'| base64 -d > myuser.crt +``` + + +## 将证书配置到 kubeconfig 中 {#configure-the-certificate-into-kubeconfig} + +下一步是将此用户添加到 kubeconfig 文件中。 + +首先,你需要添加新的凭证: + +```shell +kubectl config set-credentials myuser --client-key=myuser.key --client-certificate=myuser.crt --embed-certs=true +``` + + +然后,你需要添加上下文: + +```shell +kubectl config set-context myuser --cluster=kubernetes --user=myuser +``` + + +对其执行测试: + +```shell +kubectl --context myuser auth whoami +``` + + +你应该看到确认你是 “myuser” 的输出。 + +## 创建 Role 和 RoleBinding {#create-role-and-rolebinding} + +{{< note >}} + +如果你不使用 Kubernetes RBAC,请跳过这一步,并对集群实际使用的鉴权机制进行适当更改。 +{{< /note >}} + + +创建证书之后,就可以为此用户定义 Role 和 RoleBinding,以访问 Kubernetes 集群资源。 + +这是为新用户创建 Role 的示例命令: + +```shell +kubectl create role developer --verb=create --verb=get --verb=list --verb=update --verb=delete --resource=pods +``` + + +这是为新用户创建 RoleBinding 的示例命令: + +```shell +kubectl create rolebinding developer-binding-myuser --role=developer --user=myuser +``` + +## {{% heading "whatsnext" %}} + + +* 阅读[管理集群中的 TLS 证书](/zh-cn/docs/tasks/tls/managing-tls-in-a-cluster/) +* 有关 X.509 本身的细节,参阅 [RFC 5280](https://tools.ietf.org/html/rfc5280#section-3.1) 第 3.1 节 +* 有关 PKCS#10 证书签名请求的语法信息,请参阅 [RFC 2986](https://tools.ietf.org/html/rfc2986) +* 参阅 [ClusterTrustBundles](/zh-cn/docs/reference/access-authn-authz/certificate-signing-requests/#cluster-trust-bundles) From 36349db0f74904fe943c8ea9c3626868b20551ca Mon Sep 17 00:00:00 2001 From: windsonsea Date: Tue, 18 Mar 2025 09:19:09 +0800 Subject: [PATCH 023/121] [zh] Sync security-checklist.md --- .../concepts/security/security-checklist.md | 41 +++++++++---------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/content/zh-cn/docs/concepts/security/security-checklist.md b/content/zh-cn/docs/concepts/security/security-checklist.md index 07b2c30428..6c658b0a39 100644 --- a/content/zh-cn/docs/concepts/security/security-checklist.md +++ b/content/zh-cn/docs/concepts/security/security-checklist.md @@ -65,7 +65,7 @@ evaluated on its merits. - [ ] The [Role Based Access Control Good Practices](/docs/concepts/security/rbac-good-practices/) are followed for guidance related to authentication and authorization. --> -## 认证和鉴权 {#authentication-authorization} +## 身份验证和鉴权 {#authentication-authorization} - [ ] 在启动后 `system:masters` 组不用于用户或组件的身份验证。 - [ ] kube-controller-manager 运行时要启用 `--use-service-account-credentials` 参数。 @@ -89,7 +89,7 @@ an admin user. 许多[容器网络接口(Container Network Interface,CNI)插件](/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/)提供了限制 Pod 可能与之通信的网络资源的功能。 这种限制通常通过[网络策略](/zh-cn/docs/concepts/services-networking/network-policies/)来完成, 网络策略提供了一种名字空间作用域的资源来定义规则。 在每个名字空间中,默认的网络策略会阻塞所有的出入站流量,并选择所有 Pod, -采用允许列表的方法很有用,可以确保不遗漏任何工作负载。 +这种采用允许列表的方法很有用,可以确保不遗漏任何工作负载。 @@ -383,8 +382,8 @@ SELinux 仅在 Linux 节点上可用, --> ## Pod 布局 {#pod-placement} -- [ ] Pod 布局是根据应用程序的敏感级别来完成的。 -- [ ] 敏感应用程序在节点上隔离运行或使用特定的沙箱运行时运行。 +- [ ] Pod 布局是根据应用的敏感级别来完成的。 +- [ ] 敏感应用在节点上隔离运行或使用特定的沙箱运行时运行。 -处于不同敏感级别的 Pod,例如,应用程序 Pod 和 Kubernetes API 服务器,应该部署到不同的节点上。 -节点隔离的目的是防止应用程序容器的逃逸,进而直接访问敏感度更高的应用, +处于不同敏感级别的 Pod,例如,应用程序 Pod 和 Kubernetes API 服务器应该被部署到不同的节点上。 +节点隔离的目的是防止应用容器的逃逸,进而直接访问敏感度更高的应用, 甚至轻松地改变集群工作机制。 这种隔离应该被强制执行,以防止 Pod 集合被意外部署到同一节点上。 可以通过以下功能实现: @@ -437,7 +436,7 @@ overhead. : RuntimeClass 是一个用于选择容器运行时配置的特性,容器运行时配置用于运行 Pod 中的容器, 并以性能开销为代价提供或多或少的主机隔离能力。 -## Secrets {#secrets} +## Secret {#secrets} 准入控制器可以帮助提高集群的安全性。 然而,由于它们是对 API 服务器的扩展,其自身可能会带来风险, -所以它们[应该得到适当的保护](/blog/2022/01/19/secure-your-admission-controllers-and-webhooks/)。 +所以它们[应该得到适当的保护](/zh-cn/blog/2022/01/19/secure-your-admission-controllers-and-webhooks/)。 -下面列出了一些准入控制器,可以考虑用这些控制器来增强集群和应用程序的安全状况。 +下面列出了一些准入控制器,可以考虑用这些控制器来增强集群和应用的安全状况。 列表中包括了可能在本文档其他部分曾提及的控制器。 [`LimitRanger`](/zh-cn/docs/reference/access-authn-authz/admission-controllers/#limitranger) : 强制执行 LimitRange API 约束。 @@ -649,10 +648,10 @@ attribute') of `system:masters`. [`MutatingAdmissionWebhook`](/zh-cn/docs/reference/access-authn-authz/admission-controllers/#mutatingadmissionwebhook) -: 允许通过 Webhook 使用自定义控制器,这些控制器可能会变更它所审查的请求。 +: 允许通过 Webhook 使用自定义控制器,这些控制器可能会变更它们所审查的请求。 第二组包括默认情况下没有启用、但处于正式发布状态的插件,建议启用这些插件以改善你的安全状况: From c8bfdbc54c7c39f11636d5210e2fa396065536d2 Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Tue, 18 Mar 2025 20:43:42 +0530 Subject: [PATCH 024/121] fix: `(EN)` in docs sidebar for i18nised site --- assets/scss/_documentation.scss | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/assets/scss/_documentation.scss b/assets/scss/_documentation.scss index 46ddcce2b8..77d920d5cc 100644 --- a/assets/scss/_documentation.scss +++ b/assets/scss/_documentation.scss @@ -163,16 +163,6 @@ div.feature-state-notice { background-color: rgba(255, 255, 255, 0.25); } -/* Sidebar menu */ -#td-sidebar-menu { - #m-docs span, small { - visibility: hidden; - } - #m-docs small { - visibility: collapse; // if supported - } -} - /* Styles for CVE table */ table tr.cve-status-open, table tr.cve-status-unknown { > td.cve-item-summary { From 375896f207ba4cc1bfdb736b61a84af814d234dd Mon Sep 17 00:00:00 2001 From: Alex Kalenyuk Date: Wed, 19 Mar 2025 11:32:31 +0200 Subject: [PATCH 025/121] Add a note about filesystem overhead for PVC size request Though this is not explicitly stated, it seems acceptable that once a provider builds a filesystem on top of a block device, some writeable capacity is lost: https://github.com/container-storage-interface/spec/issues/338 Signed-off-by: Alex Kalenyuk --- content/en/docs/concepts/storage/persistent-volumes.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/content/en/docs/concepts/storage/persistent-volumes.md b/content/en/docs/concepts/storage/persistent-volumes.md index d2c04f8ec7..36c0904f58 100644 --- a/content/en/docs/concepts/storage/persistent-volumes.md +++ b/content/en/docs/concepts/storage/persistent-volumes.md @@ -830,6 +830,11 @@ the request is for storage. The same [resource model](https://git.k8s.io/design-proposals-archive/scheduling/resources.md) applies to both volumes and claims. +{{< note >}} +For `Filesystem` volumes, the storage request refers to the "outer" volume size (i.e. the allocated size from the storage backend). +This means that the writeable size may be slightly lower for providers that build a filesystem on top of a block device, due to filesystem overhead. This is especially visible with XFS, where many metadata features are enabled by default. +{{< /note >}} + ### Selector Claims can specify a From 5bfcf8122748c0e4fc22332695568d88b2426015 Mon Sep 17 00:00:00 2001 From: Qiming Teng Date: Wed, 19 Mar 2025 16:53:21 +0800 Subject: [PATCH 026/121] Mention the builtin clusterrole in kubelet authorization This PR updates the description about the kubelet fine-grained API authorization. --- .../reference/access-authn-authz/kubelet-authn-authz.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/content/en/docs/reference/access-authn-authz/kubelet-authn-authz.md b/content/en/docs/reference/access-authn-authz/kubelet-authn-authz.md index 7de116784f..8bd508437a 100644 --- a/content/en/docs/reference/access-authn-authz/kubelet-authn-authz.md +++ b/content/en/docs/reference/access-authn-authz/kubelet-authn-authz.md @@ -100,7 +100,6 @@ Kubelet API | resource | subresource /stats/\* | nodes | stats /metrics/\* | nodes | metrics /logs/\* | nodes | log -/spec/\* | nodes | spec /pods | nodes | pods, proxy /runningPods/ | nodes | pods, proxy /healthz | nodes | healthz, proxy @@ -115,8 +114,12 @@ flags passed to the API server is authorized for the following attributes: * verb=\*, resource=nodes, subresource=proxy * verb=\*, resource=nodes, subresource=stats * verb=\*, resource=nodes, subresource=log -* verb=\*, resource=nodes, subresource=spec * verb=\*, resource=nodes, subresource=metrics * verb=\*, resource=nodes, subresource=configz * verb=\*, resource=nodes, subresource=healthz * verb=\*, resource=nodes, subresource=pods + +If [RBAC authorization](/docs/reference/access-authn-authz/rbac/) is used, +enabling this gate also ensure that the builtin `system:kubelet-api-admin` ClusterRole +is updated with permissions to access all the above mentioned subresources. + From ae9422fc671ccb06b5e1b3eb486332cc0639f964 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Fri, 21 Mar 2025 09:41:20 +0800 Subject: [PATCH 027/121] [zh] Sync persistent-volumes.md and storage-limits.md --- .../concepts/storage/persistent-volumes.md | 45 +++++---------- .../docs/concepts/storage/storage-limits.md | 55 +++++++++---------- 2 files changed, 41 insertions(+), 59 deletions(-) diff --git a/content/zh-cn/docs/concepts/storage/persistent-volumes.md b/content/zh-cn/docs/concepts/storage/persistent-volumes.md index a39bd6a65e..cd309601e5 100644 --- a/content/zh-cn/docs/concepts/storage/persistent-volumes.md +++ b/content/zh-cn/docs/concepts/storage/persistent-volumes.md @@ -657,16 +657,13 @@ the following types of volumes: 现在,对扩充 PVC 申领的支持默认处于被启用状态。你可以扩充以下类型的卷: -* azureFile(已弃用) -* {{< glossary_tooltip text="csi" term_id="csi" >}} +* {{< glossary_tooltip text="csi" term_id="csi" >}}(包含一些 CSI 迁移的卷类型) * flexVolume(已弃用) -* rbd(已弃用) * portworxVolume(已弃用) 以下卷类型支持挂载选项: -* `azureFile` -* `cephfs`(于 v1.28 中**弃用**) -* `cinder`(于 v1.18 中**弃用**) +* `csi`(包含 CSI 迁移的卷类型) * `iscsi` * `nfs` -* `rbd`(于 v1.28 中**弃用**) -* `vsphereVolume` -* CSI +* CSI(包含一些 CSI 迁移的卷类型) * FC(光纤通道) * iSCSI * Local 卷 -* OpenStack Cinder -* RBD(已弃用) -* RBD(Ceph 块设备,已弃用) -* VsphereVolume -| PV volumeMode | PVC volumeMode | Result | +| PV volumeMode | PVC volumeMode | 结果 | | --------------|:---------------:| ----------------:| | 未指定 | 未指定 | 绑定 | | 未指定 | Block | 不绑定 | @@ -1994,7 +1977,7 @@ kube-apiserver 和 kube-controller-manager 启用 `AnyVolumeDataSource` 卷填充器利用了 PVC 规约字段 `dataSourceRef`。 不像 `dataSource` 字段只能包含对另一个持久卷申领或卷快照的引用, -`dataSourceRef` 字段可以包含对同一命名空间中任何对象的引用(不包含除 PVC 以外的核心资源)。 +`dataSourceRef` 字段可以包含对同一名字空间中任何对象的引用(不包含除 PVC 以外的核心资源)。 对于启用了特性门控的集群,使用 `dataSourceRef` 比 `dataSource` 更好。 +--> @@ -22,7 +20,7 @@ weight: 90 This page describes the maximum number of volumes that can be attached to a Node for various cloud providers. --> -此页面描述了各个云供应商可关联至一个节点的最大卷数。 +此页面描述了各个云供应商可挂接至一个节点的最大卷数。 -谷歌、亚马逊和微软等云供应商通常对可以关联到节点的卷数量进行限制。 -Kubernetes 需要尊重这些限制。否则,在节点上调度的 Pod 可能会卡住去等待卷的关联。 +谷歌、亚马逊和微软等云供应商通常对可以挂接到节点的卷数量进行限制。 +Kubernetes 需要尊重这些限制。否则,在节点上调度的 Pod 可能会卡住去等待卷的挂接。 @@ -41,9 +39,10 @@ Kubernetes 需要尊重这些限制。否则,在节点上调度的 Pod 可能 The Kubernetes scheduler has default limits on the number of volumes that can be attached to a Node: --> -## Kubernetes 的默认限制 +## Kubernetes 的默认限制 {#kubernetes-default-limits} + +Kubernetes 调度器对挂接到一个节点的卷数有默认限制: -The Kubernetes 调度器对关联于一个节点的卷数有默认限制: -## 自定义限制 +## 自定义限制 {#custom-limits} 你可以通过设置 `KUBE_MAX_PD_VOLS` 环境变量的值来设置这些限制,然后再启动调度器。 -CSI 驱动程序可能具有不同的过程,关于如何自定义其限制请参阅相关文档。 +各个 CSI 驱动可能采用不同的步骤,关于如何自定义其限制请参阅相关文档。 如果设置的限制高于默认限制,请谨慎使用。请参阅云提供商的文档以确保节点可支持你设置的限制。 @@ -85,7 +84,7 @@ CSI 驱动程序可能具有不同的过程,关于如何自定义其限制请 -## 动态卷限制 +## 动态卷限制 {#dynamic-volume-limits} {{< feature-state state="stable" for_k8s_version="v1.17" >}} @@ -108,7 +107,7 @@ Dynamic volume limits are supported for following volume types. For volumes managed by in-tree volume plugins, Kubernetes automatically determines the Node type and enforces the appropriate maximum number of volumes for the node. For example: --> -对于由内建插件管理的卷,Kubernetes 会自动确定节点类型并确保节点上可关联的卷数目合规。例如: +对于由树内插件管理的卷,Kubernetes 会自动确定节点类型并确保节点上可挂接的卷数目合规。例如: +* 在 Google Compute Engine 环境中, + [根据节点类型](https://cloud.google.com/compute/docs/disks/#pdnumberlimits)最多可以将 127 个卷挂接到节点。 +* 对于 M5、C5、R5、T3 和 Z1D 实例类型的 Amazon EBS 磁盘,Kubernetes 仅允许 25 个卷挂接到节点。 + 对于 Amazon Elastic Compute Cloud (EC2) 上的其他实例类型, + Kubernetes 允许 39 个卷挂接至节点。 + +* 在 Azure 环境中,根据节点类型,最多 64 个磁盘可以挂接至一个节点。 + 更多详细信息,请参阅 [Azure 虚拟机的数量大小](https://docs.microsoft.com/zh-cn/azure/virtual-machines/windows/sizes)。 + + -* 在 - Google Compute Engine环境中, - [根据节点类型](https://cloud.google.com/compute/docs/disks/#pdnumberlimits)最多可以将 127 个卷关联到节点。 +* 如果 CSI 存储驱动(使用 `NodeGetInfo`)为节点通告卷数上限,则 + {{< glossary_tooltip text="kube-scheduler" term_id="kube-scheduler" >}} 将遵守该限制值。 + 参考 [CSI 规范](https://github.com/container-storage-interface/spec/blob/master/spec.md#nodegetinfo)获取更多详细信息。 -* 对于 M5、C5、R5、T3 和 Z1D 类型实例的 Amazon EBS 磁盘,Kubernetes 仅允许 25 个卷关联到节点。 - 对于 ec2 上的其他实例类型 - Amazon Elastic Compute Cloud (EC2), - Kubernetes 允许 39 个卷关联至节点。 - -* 在 Azure 环境中, 根据节点类型,最多 64 个磁盘可以关联至一个节点。 - 更多详细信息,请参阅 [Azure 虚拟机的数量大小](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes)。 - -* 如果 CSI 存储驱动程序(使用 `NodeGetInfo` )为节点通告卷数上限,则 {{< glossary_tooltip text="kube-scheduler" term_id="kube-scheduler" >}} 将遵守该限制值。 - 参考 [CSI 规范](https://github.com/container-storage-interface/spec/blob/master/spec.md#nodegetinfo) 获取更多详细信息。 - -* 对于由已迁移到 CSI 驱动程序的树内插件管理的卷,最大卷数将是 CSI 驱动程序报告的卷数。 +* 对于由已迁移到 CSI 驱动的树内插件管理的卷,最大卷数将是 CSI 驱动报告的卷数。 From 7c0f4eb5ad7081a5d2b5b0de6028cadd465af097 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Fri, 21 Mar 2025 16:15:09 +0800 Subject: [PATCH 028/121] [zh] Add node-autoscaling.md --- .../node-autoscaling.md | 525 ++++++++++++++++++ 1 file changed, 525 insertions(+) create mode 100644 content/zh-cn/docs/concepts/cluster-administration/node-autoscaling.md diff --git a/content/zh-cn/docs/concepts/cluster-administration/node-autoscaling.md b/content/zh-cn/docs/concepts/cluster-administration/node-autoscaling.md new file mode 100644 index 0000000000..4598eda80c --- /dev/null +++ b/content/zh-cn/docs/concepts/cluster-administration/node-autoscaling.md @@ -0,0 +1,525 @@ +--- +title: Node 自动扩缩容 +linkTitle: Node 自动扩缩容 +description: >- + 自动在集群中制备和整合 Node,以适应需求并优化成本。 +content_type: concept +weight: 15 +--- + + + +为了在集群中运行负载,你需要 {{< glossary_tooltip text="Node" term_id="node" >}}。 +集群中的 Node 可以被**自动扩缩容**: +通过动态[**制备**](#provisioning)或[**整合**](#consolidation)的方式提供所需的容量并优化成本。 +自动扩缩容操作是由 Node [**Autoscaler**](#autoscalers) 执行的。 + + +## Node 制备 {#provisioning} + +当集群中有 Pod 无法被调度到现有 Node 上时,系统将**制备**新的 Node 并将其添加到集群中,以容纳这些 Pod。 +如果由于组合使用[水平负载和 Node 自动扩缩容](#horizontal-workload-autoscaling)使得 +Pod 个数随着时间发生变化,这种自动扩缩容机制将特别有用。 + +Autoscaler 通过创建和删除云驱动基础资源来制备 Node。最常见的支撑 Node 的资源是虚拟机(VM)。 + + +制备的主要目标是使所有 Pod 可调度。 +由于各种限制(如已达到配置的制备上限、制备配置与特定 Pod 集不兼容或云驱动容量不足),此目标不一定总是可以实现。 +在制备之时,Node Autoscaler 通常还会尝试实现其他目标(例如最小化制备 Node 的成本或在故障域之间平衡 Node 的数量)。 + + +在决定制备 Node 时针对 Node Autoscaler 有两个主要输入: + +- [Pod 调度约束](#provisioning-pod-constraints) +- [Autoscaler 配置所施加的 Node 约束](#provisioning-node-constraints) + +Autoscaler 配置也可以包含其他 Node 制备触发条件(例如 Node 个数低于配置的最小限制值)。 + +{{< note >}} + +在 Cluster Autoscaler 中,制备以前称为**扩容**。 +{{< /note >}} + + +### Pod 调度约束 {#provisioning-pod-constraints} + +Pod 可以通过[调度约束](/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/)表达只能调度到特定类别 Node 的限制。 +Node Autoscaler 会考虑这些约束,确保 Pending 的 Pod 可以被调度到这些制备的 Node 上。 + + +最常见的调度约束是通过 Pod 容器所指定的资源请求。 +Autoscaler 将确保制备的 Node 具有足够资源来满足这些请求。 +但是,Autoscaler 不会在 Pod 开始运行之后直接考虑这些 Pod 的真实资源用量。 +要根据实际负载资源用量自动扩缩容 Node, +你可以组合使用[水平负载自动扩缩容](#horizontal-workload-autoscaling)和 Node 自动扩缩容。 + +其他常见的 Pod 调度约束包括 +[Node 亲和性](/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity)、 +[Pod 间亲和性/反亲和性](/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity)或特定[存储卷](/docs/concepts/storage/volumes/)的要求。 + + +### Autoscaler 配置施加的 Node 约束 {#provisioning-node-constraints} + +已制备的 Node 的具体规格(例如资源量、给定标签的存在与否)取决于 Autoscaler 配置。 +Autoscaler 可以从一组预定义的 Node 配置中进行选择,或使用[自动制备](#autoprovisioning)。 + + +### 自动制备 {#autoprovisioning} + +Node 自动制备是一种用户无需完全配置 Node 容许制备规格的制备模式。 +Autoscaler 会基于 Pending 的 Pod 和预配置的约束(例如最小资源量或给定标签的需求)动态选择 Node 配置。 + + +## Node 整合 {#consolidation} + +运行集群时的主要考量是确保所有可调度 Pod 都在运行,并尽可能降低集群成本。 +为此,Pod 的资源请求应尽可能利用 Node 的更多资源。 +从这个角度看,集群中的整体 Node 利用率可以用作集群成本效益的参考指标。 + +{{< note >}} + +对于集群的整体成本效益而言,正确设置 Pod 的资源请求与优化 Node 的利用率同样重要。 +将 Node 自动扩缩容与[垂直负载自动扩缩容](#vertical-workload-autoscaling)结合使用有助于实现这一目标。 +{{< /note >}} + + +集群中的 Node 可以被自动**整合**,以提高整体 Node 利用率以及集群的成本效益。 +整合操作通过移除一组利用率低的 Node 来实现。有时会同时[制备](#provisioning)一组不同的 Node 来替代。 + +与制备类似,整合操作在做出决策时仅考虑 Pod 的资源请求而非实际的资源用量。 + + +在整合过程中,如果一个 Node 上仅运行 DaemonSet 和静态 Pod,这个 Node 就会被视为**空的**。 +在整合期间移除空的 Node 要比操作非空 Node 更简单直接,Autoscaler 通常针对空 Node 整合进行优化。 + +在整合期间移除非空 Node 会有破坏性:Node 上运行的 Pod 会被终止,且可能需要被重新创建(例如由 Deployment 重新创建)。 +不过,所有被重新创建的 Pod 都应该能够被调度到集群中的现有 Node 上,或调度到作为整合一部分而制备的替代 Node 上。 +__正常情况下,整合操作不应导致 Pod 处于 Pending 状态。__ + +{{< note >}} + +Autoscaler 会预测在 Node 被制备或整合后重新创建的 Pod 将可能以何种方式调度,但 Autoscaler 不控制实际的调度行为。 +因此,某些 Pod 可能由于整合操作而进入 Pending 状态。例如在执行整合过程中,出现一个全新的 Pod。 +{{< /note >}} + + +Autoscaler 配置还可以设为由其他状况触发整合(例如 Node 被创建后用掉的时间),以优化属性(例如集群中 Node 的最大生命期)。 + +执行整合的具体方式取决于给定 Autoscaler 的配置。 + +{{< note >}} + +在 Cluster Autoscaler 中, 整合以前称为**缩容**。 +{{< /note >}} + + +## Autoscaler {#autoscalers} + +上述章节中所述的功能由 Node **Autoscaler** 提供。 +除了 Kubernetes API 之外,Autoscaler 还需要与云驱动 API 交互来制备和整合 Node。 +这意味着 Autoscaler 需要与每个支持的云驱动进行显式集成。 +给定的 Autoscaler 的性能和特性集在不同云驱动集成之间可能有所不同。 + +{{< mermaid >}} +graph TD + na[Node Autoscaler] + k8s[Kubernetes] + cp[云驱动] + + k8s --> |获取 Pod/Node|na + na --> |腾空 Node|k8s + na --> |创建/移除支撑 Node 的资源|cp + cp --> |获取支撑 Node 的资源|na + + classDef white_on_blue fill:#326ce5,stroke:#fff,stroke-width:4px,color:#fff; + classDef blue_on_white fill:#fff,stroke:#bbb,stroke-width:2px,color:#326ce5; + class na blue_on_white; + class k8s,cp white_on_blue; +{{}} + + +### Autoscaler 实现 + +[Cluster Autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) +和 [Karpenter](https://github.com/kubernetes-sigs/karpenter) +是目前由 [SIG Autoscaling](https://github.com/kubernetes/community/tree/master/sig-autoscaling) +维护的两个 Node Autoscaler。 + +对于集群用户来说,这两个 Autoscaler 都应提供类似的 Node 自动扩缩容体验。 +两个 Autoscaler 都将为不可调度的 Pod 制备新的 Node,也都会整合利用率不高的 Node。 + + +不同的 Autoscaler 还可能提供本文所述的 Node 自动扩缩容范围之外的其他特性,且这些额外的特性也会有所不同。 + +请参阅以下章节和特定 Autoscaler 的关联文档,了解哪个 Autoscaler 更适合你的使用场景。 + + +#### Cluster Autoscaler + +Cluster Autoscaler 通过向预先配置的 **Node 组**添加或移除 Node。 +Node 组通常映射为某种云驱动资源组(最常见的是虚拟机组)。 +单实例的 Cluster Autoscaler 将可以同时管理多个 Node 组。 +在制备时,Cluster Autoscaler 将把 Node 添加到最贴合 Pending Pod 请求的组。 +在整合时,Cluster Autoscaler 始终选择要移除的特定 Node,而不只是重新调整云驱动资源组的大小。 + + +更多信息: + +* [文档概述](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/README.md) +* [云驱动集成](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/README.md#faqdocumentation) +* [Cluster Autoscaler FAQ](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md) +* [联系方式](https://github.com/kubernetes/community/tree/master/sig-autoscaling#contact) + +#### Karpenter + + +Karpenter 基于集群操作员所提供的 [NodePool](https://karpenter.sh/docs/concepts/nodepools/) +配置来自动制备 Node。Karpenter 处理 Node 生命周期的所有方面,而不仅仅是自动扩缩容。 +这包括 Node 达到某个生命期后的自动刷新,以及在有新 Worker Node 镜像被发布时的自动升级。 +Karpenter 直接与特定的云驱动资源(通常是单独的虚拟机)交互,不依赖云驱动资源组。 + + +更多上下文信息: + +* [官方文档](https://karpenter.sh/) +* [云驱动集成](https://github.com/kubernetes-sigs/karpenter?tab=readme-ov-file#karpenter-implementations) +* [Karpenter FAQ](https://karpenter.sh/docs/faq/) +* [联系方式](https://github.com/kubernetes-sigs/karpenter#community-discussion-contribution-and-support) + + +#### 实现对比 + +Cluster Autoscaler 和 Karpenter 之间的主要差异: + +* Cluster Autoscaler 仅提供与 Node 自动扩缩容相关的特性。 + 而 Karpenter 的特性范围更大,还提供 Node 生命周期管理 + (例如在 Node 达到某个生命期后利用中断来自动重新创建 Node,或自动将 Node 升级到新版本)。 + + +* Cluster Autoscaler 不支持自动制备,其可以制备的 Node 组必须被预先配置。 + Karpenter 支持自动制备,因此用户只需为制备的 Node 配置一组约束,而不需要完整同质化的组。 +* Cluster Autoscaler 直接提供云驱动集成,这意味着这些集成组件是 Kubernetes 项目的一部分。 + 对于 Karpenter,Kubernetes 将 Karpenter 发布为一个库,云驱动可以集成这个库来构建 Node Autoscaler。 +* Cluster Autoscaler 为众多云驱动提供集成,包括一些小众的云驱动。 + Karpenter 支持的云驱动相对较少,目前包括 + [AWS](https://github.com/aws/karpenter-provider-aws) 和 + [Azure](https://github.com/Azure/karpenter-provider-azure)。 + + +## 组合使用负载自动扩缩容与 Node 自动扩缩容 {#combine-workload-and-node-autoscaling} + +### 水平负载自动扩缩容 {#horizontal-workload-autoscaling} + +Node 自动扩缩容通常是为了响应 Pod 而发挥作用的。 +它会制备新的 Node 容纳不可调度的 Pod,并在不再需要这些 Pod 时整合 Node。 + + +[水平负载自动扩缩容](/zh-cn/docs/concepts/workloads/autoscaling#scaling-workloads-horizontally) +自动扩缩负载副本的个数以保持各个副本达到预期的平均资源利用率。 +换言之,它会基于应用负载而自动创建新的 Pod,并在负载减少时移除 Pod。 + + +如果应用负载增加,其 Pod 的平均利用率也会增加,将提示负载自动扩缩容以创建新的 Pod。 +Node 自动扩缩容随之应制备新的 Node 以容纳新的 Pod。 + +一旦应用负载减少,负载自动扩缩容应移除不必要的 Pod。 +Node 自动扩缩容应按序整合不再需要的 Node。 + +如果配置正确,这种模式确保你的应用在需要时始终有足够的 Node 容量处理突发负载,你也无需在闲置时为这些 Node 容量支付费用。 + + +### 垂直负载自动扩缩容 {#vertical-workload-autoscaling} + +在使用 Node 自动扩缩容时,重要的是正确设置 Pod 资源请求。 +如果给定 Pod 的请求过低,为其制备新的 Node 可能对 Pod 实际运行并无帮助。 +如果给定 Pod 的请求过高,则可能对整合 Node 有所妨碍。 + + +[垂直负载自动扩缩容](/zh-cn/docs/concepts/workloads/autoscaling#scaling-workloads-vertically) +基于其历史资源用量来自动调整 Pod 的资源请求。 + +你可以一起使用 Node 自动扩缩容和垂直负载自动扩缩容,以便在集群中保留 Node 自动扩缩容能力的同时调节 Pod 的资源请求。 + +{{< caution >}} + +在使用 Node 自动扩缩容时,不推荐为 DaemonSet Pod 配置垂直负载自动扩缩容。 +Autoscaler 需要预测新 Node 上的 DaemonSet Pod 情况,才能预测可用的 Node 资源。 +垂直负载自动扩缩容可能会让这些预测不可靠,导致扩缩容决策出错。 +{{}} + + +## 相关组件 {#related-components} + +本节以下组件提供与 Node 自动扩缩容相关的功能。 + +### Descheduler + +[Descheduler](https://github.com/kubernetes-sigs/descheduler) +组件基于自定义策略提供 Node 整合功能,以及与优化 Node 和 Pod 相关的其他特性(例如删除频繁重启的 Pod)。 + + +### 基于集群规模的负载 Autoscaler + +[Cluster Proportional Autoscaler](https://github.com/kubernetes-sigs/cluster-proportional-autoscaler) 和 +[Cluster Proportional Vertical Autoscaler](https://github.com/kubernetes-sigs/cluster-proportional-vertical-autoscaler) +基于集群中的 Node 个数进行水平和垂直负载自动扩缩容。 +更多细节参阅[基于集群规模自动扩缩容](/zh-cn/docs/concepts/workloads/autoscaling#autoscaling-based-on-cluster-size)。 + +## {{% heading "whatsnext" %}} + + +- 阅读[负载层面的自动扩缩容](/zh-cn/docs/concepts/workloads/autoscaling/) From bf971d28d3b485726e8e6b3a502626de5852256f Mon Sep 17 00:00:00 2001 From: Shannon Kularathna Date: Mon, 3 Feb 2025 17:28:13 +0000 Subject: [PATCH 029/121] Add a new page for mutating webhook good practices. - Link to new page from dynamic admission control page - Retain TODOs for info that'll be migration from existing page --- .../concepts/cluster-administration/_index.md | 4 + .../admission-webhooks-good-practices.md | 512 ++++++++++++++++++ content/en/docs/concepts/security/_index.md | 9 + .../extensible-admission-controllers.md | 4 + 4 files changed, 529 insertions(+) create mode 100644 content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md diff --git a/content/en/docs/concepts/cluster-administration/_index.md b/content/en/docs/concepts/cluster-administration/_index.md index 0b072acd16..7e55d49053 100644 --- a/content/en/docs/concepts/cluster-administration/_index.md +++ b/content/en/docs/concepts/cluster-administration/_index.md @@ -77,6 +77,10 @@ Before choosing a guide, here are some considerations: explains plug-ins which intercepts requests to the Kubernetes API server after authentication and authorization. +* [Admission Webhook Good Practices](/docs/concepts/cluster-administration/admission-webhooks-good-practices/) + provides good practices and considerations when designing mutating admission + webhooks and validating admission webhooks. + * [Using Sysctls in a Kubernetes Cluster](/docs/tasks/administer-cluster/sysctl-cluster/) describes to an administrator how to use the `sysctl` command-line tool to set kernel parameters . diff --git a/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md b/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md new file mode 100644 index 0000000000..723fe2ae3c --- /dev/null +++ b/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md @@ -0,0 +1,512 @@ +--- +title: Mutating Webhook Good Practices +description: > + Recommendations for writing mutating admission webhooks in Kubernetes. +content_type: concept +weight: 60 +--- + + + +This page provides good practices and considerations when designing +_mutating admission webhooks_ in Kubernetes. This information is intended for +cluster operators who run your own admission webhook servers or third-party +applications that modify your API requests. + +Before reading this page, ensure that you're familiar with the following +concepts: + +* [Admission controllers](/docs/reference/access-authn-authz/admission-controllers/) +* [Admission webhooks](/docs/reference/access-authn-authz/extensible-admission-controllers/#what-are-admission-webhooks) + + + +## Importance of good webhook design {#why-good-webhook-design-matters} + +Mutating admission control occurs when any create, update, or delete request +is sent to the Kubernetes API. These webhooks are often written to ensure that +specific fields in object specifications exist or have specific allowed values. + +With every release, Kubernetes adds or modifies the API with new features, +feature promotions to beta or stable status, and deprecations. Even stable +Kubernetes APIs are likely might change. For example, the `Pod` API changed in +v1.29 to add the +[Sidecar containers](/docs/concepts/workloads/pods/sidecar-containers/) feature. + +Webhooks that worked as expected with earlier versions of an API might not be +able to reconcile more recent changes to that API. This can result in unexpected +behavior after you upgrade your clusters to newer versions. + +## Identify whether you use mutating webhooks {#identify-mutating-webhooks} + +Even if you don't run your own mutating admission webhooks, some third-party +applications that you run in your clusters might include mutating webhooks. + +To check whether your cluster has any mutating webhooks, run the following +command: + +```shell +kubectl get mutatingwebhookconfigurations +``` +The output lists any mutating admission controllers in the cluster. + +## Choose an admission control mechanism {#choose-admission-mechanism} + +Kubernetes includes multiple admission control and policy enforcement options. +Knowing when to use a specific option can help you to improve latency and +performance, reduce management overhead, and avoid issues during version +upgrades. The following table describes the mechanisms that let you mutate or +validate resources during admission: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mutating and validating admission control in Kubernetes
MechanismDescriptionUse cases
Mutating admission webhookIntercept API requests before admission and modify as needed using + custom logic.
    +
  • Make critical modifications that must happen before resource + admission.
  • +
  • Make complex modifications that require advanced logic, like calling + external APIs.
  • +
Mutating admission policyIntercept API requests before admission and modify as needed using + Common Expression Language (CEL) expressions.
    +
  • Make critical modifications that must happen before resource + admission.
  • +
  • Make simple modifications, such as adjusting labels or replica + counts.
  • +
Validating admission webhookIntercept API requests before admission and validate against complex + policy declarations.
    +
  • Validate critical configurations before resource admission.
  • +
  • Enforce complex policy logic before admission.
  • +
Validating admission policyIntercept API requests before admission and validate against CEL + expressions.
    +
  • Validate critical configurations before resource admission.
  • +
  • Enforce policy logic using CEL expressions.
  • +
+ +In general, use _webhook_ admission control when you want an extensible way to +declare or configure the logic. Use built-in CEL-based admission control when +you want to declare simpler logic without the overhead of running a webhook +server. The Kubernetes project recommends that you use CEL-based admission +control when possible. + +### Use built-in validation and defaulting for CustomResourceDefinitions {#no-crd-validation-defaulting} + +If you use +{{< glossary_tooltip text="CustomResourceDefinitions" term_id="customresourcedefinition" >}}, +don't use mutating webhooks to validate values in CustomResource specifications +or to set default values for fields. Kubernetes lets you define validation rules +and default field values when you create CustomResourceDefinitions. + +To learn more, see the following resources: + +* [Validation rules](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation-rules) +* [Defaulting](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#defaulting) + +## Performance and latency {#performance-latency} + +This section describes recommendations for improving performance and reducing +latency. In summary, these are as follows: + +* Consolidate webhooks and limit the number of API calls per webhook +* Use audit logs to check for webhooks that repeatedly do the same action + +### Improve latency in mutating webhooks {#improve-latency-mutating-webhooks} + +Mutating admission webhooks are called in sequence. Depending on the mutating +webhook setup, some webhooks might be called multiple times. Every mutating +webhook call adds latency to the admission process. This is unlike validating +webhooks, which get called in parallel. + +When designing your mutating webhooks, consider your latency requirements and +tolerance. The more mutating webhooks there are in your cluster, the greater the +chance of latency increases. + +Consider the following to reduce latency: + +* Consolidate webhooks that perform a similar mutation on different objects. +* Reduce the number of API calls made in the mutating webhook server logic. +* Limit the match conditions of each mutating webhook to reduce how many + webhooks are triggered by a specific API request. +* Consolidate small webhooks into one server and configuration to help with + ordering and organization. + +### Prevent loops caused by competing controllers {#prevent-loops-competing-controllers} + +Consider any other components that run in your cluster that might conflict with +the mutations that your webhook makes. For example, if your webhook adds a label +that a different controller removes, your webhook gets called again. This leads +to a loop. + +To detect these loops, try the following: + +1. Update your cluster audit policy to log audit events. Use the following + parameters: + + * `level`: `RequestResponse` + * `verbs`: `["patch"]` + * `omitStages`: `RequestReceived` + + Set the audit rule to create events for the specific resources that your + webhook mutates. + +1. Check your audit events for webhooks being reinvoked multiple times with the + same patch being applied to the same object, or for an object having + a field updated and reverted multiple times. + +## Request filtering {#request-filtering} + +This section provides recommendations for filtering which requests trigger +specific webhooks. In summary, these are as follows: + +* Limit the webhook scope to avoid system components and read-only requests. +* Limit webhooks to specific namespaces. +* Use match conditions to perform fine-grained request filtering. +* Match all versions of an object. + +### Limit the scope of each webhook {#webhook-limit-scope} + +Mutating webhooks run when an API request matches the webhook configuration. +Limit the scope of each webhook to reduce unnecessary calls to the webhook +server. Consider the following scope limitations: + +* Don't match objects in the `kube-system` namespace. If you run your own Pods + in the `kube-system` namespace, use an + [objectSelector](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-objectselector) + to avoid mutating a critical workload. +* Don't match node leases. Intercepting node leases might result in failed node + upgrades. +* Don't match `TokenReview` or `SubjectAccessReview` requests. These are always + read-only requests. Modifying these requests might break your cluster. +* Limit each webhook to a specific namespace by using a + [namespaceSelector](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-namespaceselector). + +### Filter for specific requests by using match conditions {#filter-match-conditions} + +Admission controllers support multiple fields that you can use to match requests +that meet specific criteria. For example, you can use a `namespaceSelector` to +filter for requests that target a specific namespace. + +For more fine-grained request filtering, use the `matchConditions` field in your +webhook configuration. This field lets you write multiple CEL expressions that +must evaluate to `true` for a request to trigger your admission webhook. Using +`matchConditions` might significantly reduce the number of calls to your webhook +server. + +For details, see +[Matching requests: `matchConditions`](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-matchconditions). + +### Match all versions of an object {#match-all-versions} + +By default, admission webhooks run on any API versions that affect a specified +resource. The `matchPolicy` field in the webhook configuration controls this +behavior. Specify a value of `Equivalent` in the `matchPolicy` field or omit +the field to allow the webhook to run on any API version. + +For details, see +[Matching requests: `matchPolicy`](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-matchpolicy). + +## Mutation scope and field considerations {#mutation-scope-considerations} + +This section provides recommendations for the scope of mutations and any special +considerations for object fields. In summary, these are as follows: + +* Patch only the fields that you need to patch. +* Don't overwrite array values. +* Avoid side effects in mutations when possible. +* Avoid self-mutations. +* Fail open and validate the final state. +* Plan for future field updates in later versions. +* Prevent webhooks from self-triggering. +* Don't change immutable objects. + +### Patch only required fields {#patch-required-fields} + +Admission webhook servers send HTTP responses to indicate what to do with a +specific Kubernetes API request. This response is an `AdmissionReview` object. +A mutating webhook can add specific fields to mutate before allowing admission +by using the `patchType` field and the `patch` field in the response. Ensure +that you only modify the fields that require a change. + +For example, consider a mutating webhook that's configured to ensure that +`web-server` Deployments have at least three replicas. When a request to +create a `Deployment` object matches your webhook configuration, the webhook +should only update the value in the `spec.replicas` field. + +### Don't overwrite array values {#dont-overwrite-arrays} + +Fields in Kubernetes object specifications might include arrays. Some arrays +contain key:value pairs (like the `envVar` field in a container specification), +while other arrays are unkeyed (like the `readinessGates` field in a Pod +specification). The order of values in an array field might matter in some +situations. For example, the order of arguments in the `args` field of a +container specification might affect the container. + +Consider the following when modifying arrays: + +* Whenever possible, use the `add` JSONPatch operation instead of `replace` to + avoid accidentally replacing a required value. +* Treat arrays that don't use key:value pairs as sets. +* Ensure that the values in the field that you modify aren't required to be + in a specific order. +* Don't overwrite existing key:value pairs unless absolutely necessary. +* Use caution when modifying label fields. An accidental modification might + cause label selectors to break, resulting in unintended behavior. + +### Avoid side effects {#avoid-side-effects} + +TODO: https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#side-effects-1 + +### Avoid self-mutations {#avoid-self-mutation} + +TODO: https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#avoiding-deadlocks-in-self-hosted-webhooks + +### Fail open and validate the final state {#fail-open-validate-final-state} + +Mutating admission webhooks support the `failurePolicy` configuration field. +This field indicates whether the API server should admit or reject the request +if the webhook fails. Webhook failures might occur because of timeouts or errors +in the server logic. + +By default, admission webhooks set the `failurePolicy` field to Fail. The API +server rejects a request if the webhook fails. However, rejecting requests by +default might result in compliant requests being rejected during webhook +downtime. + +Let your mutating webhooks "fail open" by setting the `failurePolicy` field to +Ignore. Use a validating controller to check the state of requests to ensure +that they comply with your policies. + +This approach has the following benefits: + +* Mutating webhook downtime doesn't affect compliant resources from deploying. +* Policy enforcement occurs during validating admission control. +* Mutating webhooks don't interfere with other controllers in the cluster. + +### Plan for future updates to fields {#plan-future-field-updates} + +In general, design your webhooks under the assumption that Kubernetes APIs might +change in a later version. Don't write a server that takes the stability of an +API for granted. For example, the release of sidecar containers in Kubernetes +added a `restartPolicy` field to the Pod API. + +### Prevent your webhook from triggering itself {#prevent-webhook-self-trigger} + +Mutating webhooks that respond to a broad range of API requests might +unintentionally trigger themselves. For example, consider a webhook that +responds to all requests in the cluster. If you configure the webhook to create +`Event` objects for every mutation, it'll respond to its own `Event` object +creation requests. + +To avoid this, consider setting a unique label in any resources that your +webhook creates. Exclude this label from your webhook match conditions. + +### Don't change immutable objects {#dont-change-immutable-objects} + +Some Kubernetes objects in the API server can't change. For example, when you +deploy a {{< glossary_tooltip text="static Pod" term_id="static-pod" >}}, the +kubelet on the node creates a +{{< glossary_tooltip text="mirror Pod" term_id="mirror-pod" >}} in the API +server to track the static Pod. However, changes to the mirror Pod don't +propagate to the static Pod. + +Don't attempt to mutate these objects during admission. + +## Mutating webhook ordering and idempotence {#ordering-idempotence} + +This section provides recommendations for webhook order and designing idempotent +webhooks. In summary, these are as follows: + +* Don't rely on a specific order of execution. +* Validate mutations before admission. +* Check for mutations being overwritten by other controllers. +* Ensure that the set of mutating webhooks is idempotent, not just the + individual webhooks. + +### Don't rely on mutating webhook order {#dont-rely-webhook-order} + +Mutating admission webhooks don't run in a consistent order. Various factors +might change when a specific webhook is called. Don't rely on your webhook +running at a specific point in the admission process. Other webhooks could still +mutate your modified object. + +The following recommendations might help to minimize the risk of unintended +changes: + +* [Validate mutations before admission](#validate-mutations) +* Use a reinvocation policy to observe changes to an object by other plugins + and re-run the webhook as needed. For details, see + [Reinvocation policy](/docs/reference/access-authn-authz/extensible-admission-controllers/#reinvocation-policy). + +### Ensure that the mutating webhooks in your cluster are idempotent {#ensure-mutating-webhook-idempotent} + +Every mutating admission webhook should be _idempotent_. The webhook should be +able to run on an object that it already modifed without making additional +changes beyond the original change. + +Additionally, all of the mutating webhooks in your cluster should, as a +collection, be idempotent. After the mutation phase of admission control ends, +every individual mutating webhook should be able to run on an object without +making additional changes to the object. + +Depending on your environment, ensuring idempotence at scale might be +challenging. The following recommendations might help: + +* Use validating admission controllers to verify the final state of + critical workloads. +* Test your deployments in a staging cluster to see if any objects get modified + multiple times by the same webhook. +* Ensure that the scope of each mutating webhook is specific and limited. + +TODO: bring examples from https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#idempotence + +## Mutation testing and validation {#mutation-testing-validation} + +This section provides recommendations for testing your mutating webhooks and +validating mutated objects. In summary, these are as follows: + +* Avoid mutations that violate validations. +* Test minor version upgrades for regressions and conflicts. +* Validate mutated objects before admission. + +### Ensure that mutations don't violate validations {#ensure-mutations-dont-violate-validations} + +Your mutating webhooks shouldn't break any of the validations that apply to an +object before admission. For example, consider a mutating webhook that sets the +default CPU request of a Pod to a specific value. If the CPU limit of that Pod +is set to a lower value than the mutated request, the Pod fails admission. + +Test every mutating webhook against the validations that run in your cluster. + +### Test minor version upgrades to ensure consistent behavior {#test-minor-version-upgrades} + +Before upgrading your production clusters to a new minor version, test your +webhooks and workloads in a staging environment. Compare the results to ensure +that your webhooks continue to function as expected after the upgrade. + +Additionally, use the following resources to stay informed about API changes: + +* [Kubernetes release notes](/releases/) +* [Kubernetes blog](/blog/) + +### Validate mutations before admission {#validate-mutations} + +Mutating webhooks run to completion before any validating webhooks run. There is +no stable order in which mutations are applied to objects. As a result, your +mutations could get overwritten by a mutating webhook that runs at a later time. + +Add a validating admission controller like a ValidatingAdmissionWebhook or a +ValidatingAdmissionPolicy to your cluster to ensure that your mutations +are still present. For example, consider a mutating webhook that inserts the +`restartPolicy: Always` field to specific init containers to make them run as +sidecar containers. You could run a validating webhook to ensure that those +init containers retained the `restartPolicy: Always` configuration after all +mutations were completed. + +For details, see the following resources: + +* [Validating Admission Policy](/docs/reference/access-authn-authz/validating-admission-policy/) +* [ValidatingAdmissionWebhooks](/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook) + +## Mutating webhook deployment {#mutating-webhook-deployment} + +This section provides recommendations for deploying your mutating admission +webhooks. In summary, these are as follows: + +* Gradually roll out the webhook configuration and monitor for issues by + namespace. +* Limit access to edit the webhook configuration resources. +* Limit access to the namespace that runs the webhook server, if the server is + in-cluster. +* Consider cluster availability needs during webhook design. + +### Install and enable a mutating webhook {#install-enable-mutating-webhook} + +When you're ready to deploy your mutating webhook to a cluster, use the +following order of operations: + +1. Install the webhook server and start it. +1. Set the `failurePolicy` field in the `MutatingWebhookConfiguration` object + to Ignore. This lets you avoid disruptions caused by misconfigured webhooks. +1. Set the `namespaceSelector` field in the `MutatingWebhookConfiguration` + object to a test namespace. +1. Deploy the `MutatingWebhookConfiguration` object to your cluster. + +Monitor the webhook in the test namespace to check for any issues, then roll the +webhook out to other namespaces. If the webhook intercepts an API request that +it wasn't meant to intercept, pause the rollout and adjust the scope of the +webhook configuration. + +### Limit edit access to mutating webhooks {#limit-edit-access} + +Mutating webhooks are powerful Kubernetes controllers. Use RBAC or another +authorization mechanism to limit access to your webhook configurations and +servers. Ensure that the following access is only available to trusted +entities: + +* Verbs: `create`, `update`, `patch`, `delete`, `deletecollection` +* API group: `admissionregistration.k8s.io/v1` +* Resources: `MutatingWebhookConfigurations` + +If your mutating webhook server runs in the cluster, limit access to create or +modify any resources in that namespace. + +### Use a high-availability deployment model {#ha-deployment} + +Consider your cluster's availability requirements when designing your webhook. +For example, during node downtime or zonal outages, Kubernetes marks Pods as +`NotReady` to allow load balancers to reroute traffic to available zones and +nodes. These updates to Pods might trigger your mutating webhooks. Depending on +the number of affected Pods, the mutating webhook server has a risk of timing +out or causing delays in Pod processing. As a result, traffic won't get +rerouted as quickly as you need. + +Consider situations like the preceding example when writing your webhooks. +Exclude operations that are a result of Kubernetes responding to unavoidable +incidents. + +## Examples of good implementations {#example-good-implementations} + +{{% thirdparty-content %}} + +The following projects are examples of "good" custom webhook server +implementations. You can use them as a starting point when designing your own +webhooks. Don't use these examples as-is; use them as a starting point and +design your webhooks to run well in your specific environment. + +* [`cert-manager`](https://github.com/cert-manager/cert-manager/tree/master/internal/webhook) +* [Gatekeeper Open Policy Agent (OPA)](https://open-policy-agent.github.io/gatekeeper/website/docs/mutation) + +## {{% heading "whatsnext" %}} + +* [Use webhooks for authentication and authorization](/docs/reference/access-authn-authz/webhook/) +* [Learn about MutatingAdmissionPolicies](/docs/reference/access-authn-authz/mutating-admission-policy/) +* [Learn about ValidatingAdmissionPolicies](/docs/reference/access-authn-authz/validating-admission-policy/) diff --git a/content/en/docs/concepts/security/_index.md b/content/en/docs/concepts/security/_index.md index 75d076b6ab..f32ad9b43d 100644 --- a/content/en/docs/concepts/security/_index.md +++ b/content/en/docs/concepts/security/_index.md @@ -53,6 +53,15 @@ network traffic between Pods, or between Pods and the network outside your clust You can deploy security controls from the wider ecosystem to implement preventative or detective controls around Pods, their containers, and the images that run in them. +### Admission control {#admission-control} + +[Admission controllers](/docs/reference/access-authn-authz/admission-controllers/) +are plugins that intercept Kubernetes API requests and can validate or mutate +the requests based on specific fields in the request. Thoughtfully designing +these controllers helps to avoid unintended disruptions as Kubernetes APIs +change across version updates. For design considerations, see +[Admission Webhook Good Practices](/docs/concepts/cluster-administration/admission-webhooks-good-practices/). + ### Auditing Kubernetes [audit logging](/docs/tasks/debug/debug-cluster/audit/) provides a diff --git a/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md b/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md index eb78de67d3..bca8b40e14 100644 --- a/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md +++ b/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md @@ -1176,6 +1176,10 @@ apiserver_admission_webhook_rejection_count{error_type="no_error",name="deny-unw ## Best practices and warnings +For recommendations and considerations when writing mutating admission webhooks, +see +[Mutating Webhooks Good Practices](/docs/concepts/security/mutating-webhooks-good-practices). + ### Idempotence An idempotent mutating admission webhook is able to successfully process an object it has already admitted From 14220821d13be55ea3e8374e8aee7593572de00a Mon Sep 17 00:00:00 2001 From: Shannon Kularathna Date: Mon, 3 Feb 2025 17:50:29 +0000 Subject: [PATCH 030/121] Move best practices from dynamic admission control page to best practices page Moved content as-is (no text changes) for a more readable diff between commits. The following sections werent moved: * Idempotence main section (better content in new page) * Intercepting all versions of an object (better content in new page) * Guaranteeing the final state of an object is seen * Avoiding operating in the kube-system namespace --- .../admission-webhooks-good-practices.md | 63 +++++++- .../extensible-admission-controllers.md | 140 +----------------- 2 files changed, 61 insertions(+), 142 deletions(-) diff --git a/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md b/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md index 723fe2ae3c..184d47bf8b 100644 --- a/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md +++ b/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md @@ -283,11 +283,27 @@ Consider the following when modifying arrays: ### Avoid side effects {#avoid-side-effects} -TODO: https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#side-effects-1 +It is recommended that admission webhooks should avoid side effects if possible, which means the webhooks operate only on the +content of the `AdmissionReview` sent to them, and do not make out-of-band changes. The `.webhooks[].sideEffects` field should +be set to `None` if a webhook doesn't have any side effect. + +If side effects are required during the admission evaluation, they must be suppressed when processing an +`AdmissionReview` object with `dryRun` set to `true`, and the `.webhooks[].sideEffects` field should be +set to `NoneOnDryRun`. See [Side effects](#side-effects) for more detail. ### Avoid self-mutations {#avoid-self-mutation} -TODO: https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#avoiding-deadlocks-in-self-hosted-webhooks +A webhook running inside the cluster might cause deadlocks for its own deployment if it is configured +to intercept resources required to start its own pods. + +For example, a mutating admission webhook is configured to admit `CREATE` pod requests only if a certain label is set in the +pod (e.g. `"env": "prod"`). The webhook server runs in a deployment which doesn't set the `"env"` label. +When a node that runs the webhook server pods +becomes unhealthy, the webhook deployment will try to reschedule the pods to another node. However the requests will +get rejected by the existing webhook server since the `"env"` label is unset, and the migration cannot happen. + +It is recommended to exclude the namespace where your webhook is running with a +[namespaceSelector](#matching-requests-namespaceselector). ### Fail open and validate the final state {#fail-open-validate-final-state} @@ -386,7 +402,39 @@ challenging. The following recommendations might help: multiple times by the same webhook. * Ensure that the scope of each mutating webhook is specific and limited. -TODO: bring examples from https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#idempotence +#### Example of idempotent mutating admission webhooks: + +1. For a `CREATE` pod request, set the field `.spec.securityContext.runAsNonRoot` of the + pod to true, to enforce security best practices. + +2. For a `CREATE` pod request, if the field `.spec.containers[].resources.limits` + of a container is not set, set default resource limits. + +3. For a `CREATE` pod request, inject a sidecar container with name `foo-sidecar` if no container + with the name `foo-sidecar` already exists. + +In the cases above, the webhook can be safely reinvoked, or admit an object that already has the fields set. + +#### Example of non-idempotent mutating admission webhooks: + +1. For a `CREATE` pod request, inject a sidecar container with name `foo-sidecar` + suffixed with the current timestamp (e.g. `foo-sidecar-19700101-000000`). + +2. For a `CREATE`/`UPDATE` pod request, reject if the pod has label `"env"` set, + otherwise add an `"env": "prod"` label to the pod. + +3. For a `CREATE` pod request, blindly append a sidecar container named + `foo-sidecar` without looking to see if there is already a `foo-sidecar` + container in the pod. + +In the first case above, reinvoking the webhook can result in the same sidecar being injected multiple times to a pod, each time +with a different container name. Similarly the webhook can inject duplicated containers if the sidecar already exists in +a user-provided pod. + +In the second case above, reinvoking the webhook will result in the webhook failing on its own output. + +In the third case above, reinvoking the webhook will result in duplicated containers in the pod spec, which makes +the request invalid and rejected by the API server. ## Mutation testing and validation {#mutation-testing-validation} @@ -493,6 +541,15 @@ Consider situations like the preceding example when writing your webhooks. Exclude operations that are a result of Kubernetes responding to unavoidable incidents. +It is recommended that admission webhooks should evaluate as quickly as possible (typically in +milliseconds), since they add to API request latency. +It is encouraged to use a small timeout for webhooks. See [Timeouts](#timeouts) for more detail. + +It is recommended that admission webhooks should leverage some format of load-balancing, to +provide high availability and performance benefits. If a webhook is running within the cluster, +you can run multiple webhook backends behind a service to leverage the load-balancing that service +supports. + ## Examples of good implementations {#example-good-implementations} {{% thirdparty-content %}} diff --git a/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md b/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md index bca8b40e14..cd577f775a 100644 --- a/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md +++ b/content/en/docs/reference/access-authn-authz/extensible-admission-controllers.md @@ -1178,142 +1178,4 @@ apiserver_admission_webhook_rejection_count{error_type="no_error",name="deny-unw For recommendations and considerations when writing mutating admission webhooks, see -[Mutating Webhooks Good Practices](/docs/concepts/security/mutating-webhooks-good-practices). - -### Idempotence - -An idempotent mutating admission webhook is able to successfully process an object it has already admitted -and potentially modified. The admission can be applied multiple times without changing the result beyond -the initial application. - -#### Example of idempotent mutating admission webhooks: - -1. For a `CREATE` pod request, set the field `.spec.securityContext.runAsNonRoot` of the - pod to true, to enforce security best practices. - -2. For a `CREATE` pod request, if the field `.spec.containers[].resources.limits` - of a container is not set, set default resource limits. - -3. For a `CREATE` pod request, inject a sidecar container with name `foo-sidecar` if no container - with the name `foo-sidecar` already exists. - -In the cases above, the webhook can be safely reinvoked, or admit an object that already has the fields set. - -#### Example of non-idempotent mutating admission webhooks: - -1. For a `CREATE` pod request, inject a sidecar container with name `foo-sidecar` - suffixed with the current timestamp (e.g. `foo-sidecar-19700101-000000`). - -2. For a `CREATE`/`UPDATE` pod request, reject if the pod has label `"env"` set, - otherwise add an `"env": "prod"` label to the pod. - -3. For a `CREATE` pod request, blindly append a sidecar container named - `foo-sidecar` without looking to see if there is already a `foo-sidecar` - container in the pod. - -In the first case above, reinvoking the webhook can result in the same sidecar being injected multiple times to a pod, each time -with a different container name. Similarly the webhook can inject duplicated containers if the sidecar already exists in -a user-provided pod. - -In the second case above, reinvoking the webhook will result in the webhook failing on its own output. - -In the third case above, reinvoking the webhook will result in duplicated containers in the pod spec, which makes -the request invalid and rejected by the API server. - -### Intercepting all versions of an object - -It is recommended that admission webhooks should always intercept all versions of an object by setting `.webhooks[].matchPolicy` -to `Equivalent`. It is also recommended that admission webhooks should prefer registering for stable versions of resources. -Failure to intercept all versions of an object can result in admission policies not being enforced for requests in certain -versions. See [Matching requests: matchPolicy](#matching-requests-matchpolicy) for examples. - -### Availability - -It is recommended that admission webhooks should evaluate as quickly as possible (typically in -milliseconds), since they add to API request latency. -It is encouraged to use a small timeout for webhooks. See [Timeouts](#timeouts) for more detail. - -It is recommended that admission webhooks should leverage some format of load-balancing, to -provide high availability and performance benefits. If a webhook is running within the cluster, -you can run multiple webhook backends behind a service to leverage the load-balancing that service -supports. - -### Guaranteeing the final state of the object is seen - -Admission webhooks that need to guarantee they see the final state of the object in order to enforce policy -should use a validating admission webhook, since objects can be modified after being seen by mutating webhooks. - -For example, a mutating admission webhook is configured to inject a sidecar container with name -"foo-sidecar" on every `CREATE` pod request. If the sidecar *must* be present, a validating -admisson webhook should also be configured to intercept `CREATE` pod requests, and validate that a -container with name "foo-sidecar" with the expected configuration exists in the to-be-created -object. - -### Avoiding deadlocks in self-hosted webhooks - -There are several ways that webhooks can cause deadlocks, where the cluster cannot make progress in -scheduling pods: - -* A webhook running inside the cluster might cause deadlocks for its own deployment if it is configured - to intercept resources required to start its own pods. - - For example, a mutating admission webhook is configured to admit **create** Pod requests only if a certain label is set in the - pod (such as `env: "prod"`). However, the webhook server runs as a Deployment that doesn't set the `env` label. - When a node that runs the webhook server pods - becomes unhealthy, the webhook deployment will try to reschedule the pods to another node. However the requests will - get rejected by the existing webhook server since the `env` label is unset, and the replacement Pod - cannot be created. Eventually, the entire Deployment for the webhook server may become unhealthy. - - If you use admission webhooks to check Pods, consider excluding the namespace where your webhook - listener is running, by specifying a - [namespaceSelector](#matching-requests-namespaceselector). - -* If the cluster has multiple webhooks configured (possibly from independent applications deployed on - the cluster), they can form a cycle. Webhook A must be called to process startup of webhook B's - pods and vice versa. If both webhook A and webhook B ever become unavailable at the same time (for - example, due to a cluster-wide outage or a node failure where both pods run on the same node) - deadlock occurs because neither webhook pod can be recreated without the other already running. - - One way to prevent this is to exclude webhook A's pods from being acted on be webhook B. This - allows webhook A's pods to start, which in turn allows webhook B's pods to start. If you had a - third webhook, webhook C, you'd need to exclude both webhook A and webhook B's pods from - webhook C. This ensures that webhook A can _always_ start, which then allows webhook B's pods - to start, which in turn allows webhook C's pods to start. - - If you want to ensure protection that avoids these risks, [ValidatingAdmissionPolicies](/docs/reference/access-authn-authz/validating-admission-policy/) - can - provide many protection capabilities without introducing dependency cycles. - -* Admission webhooks can intercept resources used by critical cluster add-ons, such as CoreDNS, - network plugins, or storage plugins. These add-ons may be required to schedule or successfully run the - pods for a particular admission webhook on the cluster. This can cause a deadlock if both the - webhook and critical add-on is unavailable at the same time. - - You may wish to exclude cluster infrastructure namespaces from webhooks, or make sure that - the webhook does not depend on the particular add-on that it acts on. For exmaple, running - a webhook as a host-networked pod ensures that it does not depend on a networking plugin. - - If you want to ensure protection for a core add-on / or its namespace, - [ValidatingAdmissionPolicies](/docs/reference/access-authn-authz/validating-admission-policy/) - can - provide many protection capabilities without any dependency on worker nodes and Pods. - -### Side effects - -It is recommended that admission webhooks should avoid side effects if possible, which means the webhooks operate only on the -content of the `AdmissionReview` sent to them, and do not make out-of-band changes. The `.webhooks[].sideEffects` field should -be set to `None` if a webhook doesn't have any side effect. - -If side effects are required during the admission evaluation, they must be suppressed when processing an -`AdmissionReview` object with `dryRun` set to `true`, and the `.webhooks[].sideEffects` field should be -set to `NoneOnDryRun`. See [Side effects](#side-effects) for more detail. - -### Avoiding operating on the kube-system namespace - -The `kube-system` namespace contains objects created by the Kubernetes system, -e.g. service accounts for the control plane components, pods like `kube-dns`. -Accidentally mutating or rejecting requests in the `kube-system` namespace may -cause the control plane components to stop functioning or introduce unknown behavior. -If your admission webhooks don't intend to modify the behavior of the Kubernetes control -plane, exclude the `kube-system` namespace from being intercepted using a -[`namespaceSelector`](#matching-requests-namespaceselector). +[Admission Webhooks Good Practices](/docs/concepts/cluster-administration/admission-webhooks-good-practices). From 12db5707f281ac7594009012dd01180c31fdaa0f Mon Sep 17 00:00:00 2001 From: Shannon Kularathna Date: Mon, 3 Feb 2025 18:06:48 +0000 Subject: [PATCH 031/121] Modify migrated content to match current style and word wrap - Remove h4 section headers for idempotence - Wrap lines at 80 chars - Update pod to Pod, deployment to Deployment - Move the outcome of idempotency examples to the correct list item - Update links to go to the correct places --- .../admission-webhooks-good-practices.md | 117 +++++++++++------- 1 file changed, 69 insertions(+), 48 deletions(-) diff --git a/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md b/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md index 184d47bf8b..313b5853e2 100644 --- a/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md +++ b/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md @@ -136,8 +136,10 @@ To learn more, see the following resources: This section describes recommendations for improving performance and reducing latency. In summary, these are as follows: -* Consolidate webhooks and limit the number of API calls per webhook -* Use audit logs to check for webhooks that repeatedly do the same action +* Consolidate webhooks and limit the number of API calls per webhook. +* Use audit logs to check for webhooks that repeatedly do the same action. +* Use load balancing for webhook availability. +* Set a small timeout value for each webhook. ### Improve latency in mutating webhooks {#improve-latency-mutating-webhooks} @@ -182,6 +184,22 @@ To detect these loops, try the following: same patch being applied to the same object, or for an object having a field updated and reverted multiple times. +### Set a small timeout value {#small-timeout} + +Admission webhooks should evaluate as quickly as possible (typically in +milliseconds), since they add to API request latency. Use a small timeout for +webhooks. + +For details, see +[Timeouts](/docs/reference/access-authn-authz/extensible-admission-controllers/#timeouts). + +### Use a load balancer to ensure webhook availability {#load-balancer-webhook} + +Admission webhooks should leverage some form of load-balancing to provide high +availability and performance benefits. If a webhook is running within the +cluster, you can run multiple webhook backends behind a Service to use the +Service load balancing. + ## Request filtering {#request-filtering} This section provides recommendations for filtering which requests trigger @@ -283,27 +301,36 @@ Consider the following when modifying arrays: ### Avoid side effects {#avoid-side-effects} -It is recommended that admission webhooks should avoid side effects if possible, which means the webhooks operate only on the -content of the `AdmissionReview` sent to them, and do not make out-of-band changes. The `.webhooks[].sideEffects` field should -be set to `None` if a webhook doesn't have any side effect. +Ensure that your webhooks operate only on the content of the `AdmissionReview` +that's sent to them, and do not make out-of-band changes. These additional +changes, called _side effects_, might cause conflicts during admission if they +aren't reconciled properly. The `.webhooks[].sideEffects` field should +be set to `None` if a webhook doesn't have any side effect. -If side effects are required during the admission evaluation, they must be suppressed when processing an -`AdmissionReview` object with `dryRun` set to `true`, and the `.webhooks[].sideEffects` field should be -set to `NoneOnDryRun`. See [Side effects](#side-effects) for more detail. +If side effects are required during the admission evaluation, they must be +suppressed when processing an `AdmissionReview` object with `dryRun` set to +`true`, and the `.webhooks[].sideEffects` field should be set to `NoneOnDryRun`. + +For details, see +[Side effects](/docs/reference/access-authn-authz/extensible-admission-controllers/#side-effects). ### Avoid self-mutations {#avoid-self-mutation} -A webhook running inside the cluster might cause deadlocks for its own deployment if it is configured -to intercept resources required to start its own pods. +A webhook running inside the cluster might cause deadlocks for its own +deployment if it is configured to intercept resources required to start its own +Pods. -For example, a mutating admission webhook is configured to admit `CREATE` pod requests only if a certain label is set in the -pod (e.g. `"env": "prod"`). The webhook server runs in a deployment which doesn't set the `"env"` label. -When a node that runs the webhook server pods -becomes unhealthy, the webhook deployment will try to reschedule the pods to another node. However the requests will -get rejected by the existing webhook server since the `"env"` label is unset, and the migration cannot happen. +For example, a mutating admission webhook is configured to admit `CREATE` Pod +requests only if a certain label is set in the Pod (such as `"env": "prod"`). +The webhook server runs in a Deployment that doesn't set the `"env"` label. -It is recommended to exclude the namespace where your webhook is running with a -[namespaceSelector](#matching-requests-namespaceselector). +When a node that runs the webhook server Pods becomes unhealthy, the webhook +Deployment tries to reschedule the Pods to another node. However, the existing +webhook server rejects the requests since the `"env"` label is unset. As a +result, the migration cannot happen. + +Exclude the namespace where your webhook is running with a +[namespaceSelector](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-namespaceselector). ### Fail open and validate the final state {#fail-open-validate-final-state} @@ -402,39 +429,42 @@ challenging. The following recommendations might help: multiple times by the same webhook. * Ensure that the scope of each mutating webhook is specific and limited. -#### Example of idempotent mutating admission webhooks: +The following examples show idempotent mutation logic: -1. For a `CREATE` pod request, set the field `.spec.securityContext.runAsNonRoot` of the - pod to true, to enforce security best practices. +1. For a `CREATE` Pod request, set the field + `.spec.securityContext.runAsNonRoot` of the Pod to true. -2. For a `CREATE` pod request, if the field `.spec.containers[].resources.limits` - of a container is not set, set default resource limits. +1. For a `CREATE` Pod request, if the field + `.spec.containers[].resources.limits` of a container is not set, set default + resource limits. -3. For a `CREATE` pod request, inject a sidecar container with name `foo-sidecar` if no container - with the name `foo-sidecar` already exists. +1. For a `CREATE` Pod request, inject a sidecar container with name + `foo-sidecar` if no container with the name `foo-sidecar` already exists. -In the cases above, the webhook can be safely reinvoked, or admit an object that already has the fields set. +In these cases, the webhook can be safely reinvoked, or admit an object that +already has the fields set. -#### Example of non-idempotent mutating admission webhooks: +The following examples show non-idempotent mutation logic: -1. For a `CREATE` pod request, inject a sidecar container with name `foo-sidecar` - suffixed with the current timestamp (e.g. `foo-sidecar-19700101-000000`). +1. For a `CREATE` Pod request, inject a sidecar container with name + `foo-sidecar` suffixed with the current timestamp (such as + `foo-sidecar-19700101-000000`). -2. For a `CREATE`/`UPDATE` pod request, reject if the pod has label `"env"` set, - otherwise add an `"env": "prod"` label to the pod. + Reinvoking the webhook can result in the same sidecar being injected multiple + times to a Pod, each time with a different container name. Similarly, the + webhook can inject duplicated containers if the sidecar already exists in + a user-provided pod. -3. For a `CREATE` pod request, blindly append a sidecar container named - `foo-sidecar` without looking to see if there is already a `foo-sidecar` - container in the pod. +1. For a `CREATE`/`UPDATE` Pod request, reject if the Pod has label `"env"` set, + otherwise add an `"env": "prod"` label to the Pod. -In the first case above, reinvoking the webhook can result in the same sidecar being injected multiple times to a pod, each time -with a different container name. Similarly the webhook can inject duplicated containers if the sidecar already exists in -a user-provided pod. + Reinvoking the webhook will result in the webhook failing on its own output. -In the second case above, reinvoking the webhook will result in the webhook failing on its own output. +1. For a `CREATE` Pod request, append a sidecar container named `foo-sidecar` + without checking whether a `foo-sidecar` container exists. -In the third case above, reinvoking the webhook will result in duplicated containers in the pod spec, which makes -the request invalid and rejected by the API server. + Reinvoking the webhook will result in duplicated containers in the Pod, which + makes the request invalid and rejected by the API server. ## Mutation testing and validation {#mutation-testing-validation} @@ -541,15 +571,6 @@ Consider situations like the preceding example when writing your webhooks. Exclude operations that are a result of Kubernetes responding to unavoidable incidents. -It is recommended that admission webhooks should evaluate as quickly as possible (typically in -milliseconds), since they add to API request latency. -It is encouraged to use a small timeout for webhooks. See [Timeouts](#timeouts) for more detail. - -It is recommended that admission webhooks should leverage some format of load-balancing, to -provide high availability and performance benefits. If a webhook is running within the cluster, -you can run multiple webhook backends behind a service to leverage the load-balancing that service -supports. - ## Examples of good implementations {#example-good-implementations} {{% thirdparty-content %}} From 136525cb3783821e5bf66e8a9b273fff6c29edcb Mon Sep 17 00:00:00 2001 From: Shannon Kularathna Date: Tue, 4 Feb 2025 20:46:18 +0000 Subject: [PATCH 032/121] Update with style suggestions and to include validating webhooks --- .../admission-webhooks-good-practices.md | 191 +++++++++++------- 1 file changed, 114 insertions(+), 77 deletions(-) diff --git a/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md b/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md index 313b5853e2..c5dc2b7b0c 100644 --- a/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md +++ b/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md @@ -1,7 +1,7 @@ --- -title: Mutating Webhook Good Practices +title: Admission Webhook Good Practices description: > - Recommendations for writing mutating admission webhooks in Kubernetes. + Recommendations for designing and deploying admission webhooks in Kubernetes. content_type: concept weight: 60 --- @@ -9,9 +9,9 @@ weight: 60 This page provides good practices and considerations when designing -_mutating admission webhooks_ in Kubernetes. This information is intended for -cluster operators who run your own admission webhook servers or third-party -applications that modify your API requests. +_admission webhooks_ in Kubernetes. This information is intended for +cluster operators who run admission webhook servers or third-party applications +that modify or validate your API requests. Before reading this page, ensure that you're familiar with the following concepts: @@ -23,33 +23,54 @@ concepts: ## Importance of good webhook design {#why-good-webhook-design-matters} -Mutating admission control occurs when any create, update, or delete request -is sent to the Kubernetes API. These webhooks are often written to ensure that -specific fields in object specifications exist or have specific allowed values. +Admission control occurs when any create, update, or delete request +is sent to the Kubernetes API. Admission controllers intercept requests that +match specific criteria that you define. These requests are then sent to +mutating admission webhooks or validating admission webhooks. These webhooks are +often written to ensure that specific fields in object specifications exist or +have specific allowed values. -With every release, Kubernetes adds or modifies the API with new features, -feature promotions to beta or stable status, and deprecations. Even stable -Kubernetes APIs are likely might change. For example, the `Pod` API changed in -v1.29 to add the +Webhooks are a powerful mechanism to extend the Kubernetes API. Badly-designed +webhooks often result in workload disruptions because of how much control +the webhooks have over objects in the cluster. Like other API extension +mechanisms, webhooks are challenging to test at scale for compatibility with +all of your workloads, other webhooks, add-ons, and plugins. + +Additionally, with every release, Kubernetes adds or modifies the API with new +features, feature promotions to beta or stable status, and deprecations. Even +stable Kubernetes APIs are likely to change. For example, the `Pod` API changed +in v1.29 to add the [Sidecar containers](/docs/concepts/workloads/pods/sidecar-containers/) feature. +While it's rare for a Kubernetes object to enter a broken state because of a new +Kubernetes API, webhooks that worked as expected with earlier versions of an API +might not be able to reconcile more recent changes to that API. This can result +in unexpected behavior after you upgrade your clusters to newer versions. -Webhooks that worked as expected with earlier versions of an API might not be -able to reconcile more recent changes to that API. This can result in unexpected -behavior after you upgrade your clusters to newer versions. +This page describes common webhook failure scenarios and how to avoid them by +cautiously and thoughtfully designing and implementing your webhooks. -## Identify whether you use mutating webhooks {#identify-mutating-webhooks} +## Identify whether you use admission webhooks {#identify-admission-webhooks} -Even if you don't run your own mutating admission webhooks, some third-party -applications that you run in your clusters might include mutating webhooks. +Even if you don't run your own admission webhooks, some third-party applications +that you run in your clusters might use mutating or validating admission +webhooks. -To check whether your cluster has any mutating webhooks, run the following -command: +To check whether your cluster has any mutating admission webhooks, run the +following command: ```shell kubectl get mutatingwebhookconfigurations ``` The output lists any mutating admission controllers in the cluster. +To check whether your cluster has any validating admission webhooks, run the +following command: + +```shell +kubectl get validatingwebhookconfigurations +``` +The output lists any validating admission controllers in the cluster. + ## Choose an admission control mechanism {#choose-admission-mechanism} Kubernetes includes multiple admission control and policy enforcement options. @@ -122,7 +143,7 @@ control when possible. If you use {{< glossary_tooltip text="CustomResourceDefinitions" term_id="customresourcedefinition" >}}, -don't use mutating webhooks to validate values in CustomResource specifications +don't use admission webhooks to validate values in CustomResource specifications or to set default values for fields. Kubernetes lets you define validation rules and default field values when you create CustomResourceDefinitions. @@ -140,8 +161,9 @@ latency. In summary, these are as follows: * Use audit logs to check for webhooks that repeatedly do the same action. * Use load balancing for webhook availability. * Set a small timeout value for each webhook. +* Consider cluster availability needs during webhook design. -### Improve latency in mutating webhooks {#improve-latency-mutating-webhooks} +### Design admission webhooks for low latency {#design-admission-webhooks-low-latency} Mutating admission webhooks are called in sequence. Depending on the mutating webhook setup, some webhooks might be called multiple times. Every mutating @@ -197,8 +219,22 @@ For details, see Admission webhooks should leverage some form of load-balancing to provide high availability and performance benefits. If a webhook is running within the -cluster, you can run multiple webhook backends behind a Service to use the -Service load balancing. +cluster, you can run multiple webhook backends behind a Service of type +`ClusterIP`. + +### Use a high-availability deployment model {#ha-deployment} + +Consider your cluster's availability requirements when designing your webhook. +For example, during node downtime or zonal outages, Kubernetes marks Pods as +`NotReady` to allow load balancers to reroute traffic to available zones and +nodes. These updates to Pods might trigger your mutating webhooks. Depending on +the number of affected Pods, the mutating webhook server has a risk of timing +out or causing delays in Pod processing. As a result, traffic won't get +rerouted as quickly as you need. + +Consider situations like the preceding example when writing your webhooks. +Exclude operations that are a result of Kubernetes responding to unavoidable +incidents. ## Request filtering {#request-filtering} @@ -212,20 +248,23 @@ specific webhooks. In summary, these are as follows: ### Limit the scope of each webhook {#webhook-limit-scope} -Mutating webhooks run when an API request matches the webhook configuration. -Limit the scope of each webhook to reduce unnecessary calls to the webhook -server. Consider the following scope limitations: +Admission webhooks are only called when an API request matches the corresponding +webhook configuration. Limit the scope of each webhook to reduce unnecessary +calls to the webhook server. Consider the following scope limitations: -* Don't match objects in the `kube-system` namespace. If you run your own Pods - in the `kube-system` namespace, use an - [objectSelector](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-objectselector) +* Avoid matching objects in the `kube-system` namespace. If you run your own + Pods in the `kube-system` namespace, use an + [`objectSelector`](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-objectselector) to avoid mutating a critical workload. -* Don't match node leases. Intercepting node leases might result in failed node - upgrades. -* Don't match `TokenReview` or `SubjectAccessReview` requests. These are always - read-only requests. Modifying these requests might break your cluster. +* Don't mutate node leases, which exist as Lease objects in the + `kube-node-lease` system namespace. Mutating node leases might result in + failed node upgrades. Only apply validation controls to Lease objects in this + namespace if you're confident that the controls won't put your cluster at + risk. +* Don't mutate TokenReview or SubjectAccessReview objects. These are always + read-only requests. Modifying these objects might break your cluster. * Limit each webhook to a specific namespace by using a - [namespaceSelector](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-namespaceselector). + [`namespaceSelector`](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-namespaceselector). ### Filter for specific requests by using match conditions {#filter-match-conditions} @@ -242,7 +281,7 @@ server. For details, see [Matching requests: `matchConditions`](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-matchconditions). -### Match all versions of an object {#match-all-versions} +### Match all versions of an API {#match-all-versions} By default, admission webhooks run on any API versions that affect a specified resource. The `matchPolicy` field in the webhook configuration controls this @@ -269,14 +308,14 @@ considerations for object fields. In summary, these are as follows: ### Patch only required fields {#patch-required-fields} Admission webhook servers send HTTP responses to indicate what to do with a -specific Kubernetes API request. This response is an `AdmissionReview` object. +specific Kubernetes API request. This response is an AdmissionReview object. A mutating webhook can add specific fields to mutate before allowing admission by using the `patchType` field and the `patch` field in the response. Ensure that you only modify the fields that require a change. For example, consider a mutating webhook that's configured to ensure that `web-server` Deployments have at least three replicas. When a request to -create a `Deployment` object matches your webhook configuration, the webhook +create a Deployment object matches your webhook configuration, the webhook should only update the value in the `spec.replicas` field. ### Don't overwrite array values {#dont-overwrite-arrays} @@ -301,14 +340,14 @@ Consider the following when modifying arrays: ### Avoid side effects {#avoid-side-effects} -Ensure that your webhooks operate only on the content of the `AdmissionReview` +Ensure that your webhooks operate only on the content of the AdmissionReview that's sent to them, and do not make out-of-band changes. These additional changes, called _side effects_, might cause conflicts during admission if they aren't reconciled properly. The `.webhooks[].sideEffects` field should be set to `None` if a webhook doesn't have any side effect. If side effects are required during the admission evaluation, they must be -suppressed when processing an `AdmissionReview` object with `dryRun` set to +suppressed when processing an AdmissionReview object with `dryRun` set to `true`, and the `.webhooks[].sideEffects` field should be set to `NoneOnDryRun`. For details, see @@ -320,17 +359,17 @@ A webhook running inside the cluster might cause deadlocks for its own deployment if it is configured to intercept resources required to start its own Pods. -For example, a mutating admission webhook is configured to admit `CREATE` Pod -requests only if a certain label is set in the Pod (such as `"env": "prod"`). -The webhook server runs in a Deployment that doesn't set the `"env"` label. +For example, a mutating admission webhook is configured to admit **create** Pod +requests only if a certain label is set in the Pod (such as `env: prod`). +The webhook server runs in a Deployment that doesn't set the `env` label. When a node that runs the webhook server Pods becomes unhealthy, the webhook Deployment tries to reschedule the Pods to another node. However, the existing -webhook server rejects the requests since the `"env"` label is unset. As a +webhook server rejects the requests since the `env` label is unset. As a result, the migration cannot happen. Exclude the namespace where your webhook is running with a -[namespaceSelector](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-namespaceselector). +[`namespaceSelector`](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-namespaceselector). ### Fail open and validate the final state {#fail-open-validate-final-state} @@ -366,7 +405,7 @@ added a `restartPolicy` field to the Pod API. Mutating webhooks that respond to a broad range of API requests might unintentionally trigger themselves. For example, consider a webhook that responds to all requests in the cluster. If you configure the webhook to create -`Event` objects for every mutation, it'll respond to its own `Event` object +Event objects for every mutation, it'll respond to its own Event object creation requests. To avoid this, consider setting a unique label in any resources that your @@ -381,7 +420,10 @@ kubelet on the node creates a server to track the static Pod. However, changes to the mirror Pod don't propagate to the static Pod. -Don't attempt to mutate these objects during admission. +Don't attempt to mutate these objects during admission. All mirror Pods have the +`kubernetes.io/config.mirror` annotation. To exclude mirror Pods while reducing +the security risk of ignoring an annotation, allow static Pods to only run in +specific namespaces. ## Mutating webhook ordering and idempotence {#ordering-idempotence} @@ -394,7 +436,7 @@ webhooks. In summary, these are as follows: * Ensure that the set of mutating webhooks is idempotent, not just the individual webhooks. -### Don't rely on mutating webhook order {#dont-rely-webhook-order} +### Don't rely on mutating webhook invocation order {#dont-rely-webhook-order} Mutating admission webhooks don't run in a consistent order. Various factors might change when a specific webhook is called. Don't rely on your webhook @@ -431,14 +473,14 @@ challenging. The following recommendations might help: The following examples show idempotent mutation logic: -1. For a `CREATE` Pod request, set the field +1. For a **create** Pod request, set the field `.spec.securityContext.runAsNonRoot` of the Pod to true. -1. For a `CREATE` Pod request, if the field +1. For a **create** Pod request, if the field `.spec.containers[].resources.limits` of a container is not set, set default resource limits. -1. For a `CREATE` Pod request, inject a sidecar container with name +1. For a **create** Pod request, inject a sidecar container with name `foo-sidecar` if no container with the name `foo-sidecar` already exists. In these cases, the webhook can be safely reinvoked, or admit an object that @@ -446,7 +488,7 @@ already has the fields set. The following examples show non-idempotent mutation logic: -1. For a `CREATE` Pod request, inject a sidecar container with name +1. For a **create** Pod request, inject a sidecar container with name `foo-sidecar` suffixed with the current timestamp (such as `foo-sidecar-19700101-000000`). @@ -455,12 +497,12 @@ The following examples show non-idempotent mutation logic: webhook can inject duplicated containers if the sidecar already exists in a user-provided pod. -1. For a `CREATE`/`UPDATE` Pod request, reject if the Pod has label `"env"` set, - otherwise add an `"env": "prod"` label to the Pod. +1. For a **create**/**update** Pod request, reject if the Pod has label `env` + set, otherwise add an `env: prod` label to the Pod. Reinvoking the webhook will result in the webhook failing on its own output. -1. For a `CREATE` Pod request, append a sidecar container named `foo-sidecar` +1. For a **create** Pod request, append a sidecar container named `foo-sidecar` without checking whether a `foo-sidecar` container exists. Reinvoking the webhook will result in duplicated containers in the Pod, which @@ -471,10 +513,20 @@ The following examples show non-idempotent mutation logic: This section provides recommendations for testing your mutating webhooks and validating mutated objects. In summary, these are as follows: +* Test webhooks in staging environments. * Avoid mutations that violate validations. * Test minor version upgrades for regressions and conflicts. * Validate mutated objects before admission. +### Test webhooks in staging environments {#test-in-staging-environments} + +Robust testing should be a core part of your release cycle for new or updated +webhooks. If possible, test any changes to your cluster webhooks in a staging +environment that closely resembles your production clusters. At the very least, +consider using a tool like [minikube](https://minikube.sigs.k8s.io/docs/) or +[kind](https://kind.sigs.k8s.io/) to create a small test cluster for webhook +changes. + ### Ensure that mutations don't violate validations {#ensure-mutations-dont-violate-validations} Your mutating webhooks shouldn't break any of the validations that apply to an @@ -524,7 +576,6 @@ webhooks. In summary, these are as follows: * Limit access to edit the webhook configuration resources. * Limit access to the namespace that runs the webhook server, if the server is in-cluster. -* Consider cluster availability needs during webhook design. ### Install and enable a mutating webhook {#install-enable-mutating-webhook} @@ -532,11 +583,11 @@ When you're ready to deploy your mutating webhook to a cluster, use the following order of operations: 1. Install the webhook server and start it. -1. Set the `failurePolicy` field in the `MutatingWebhookConfiguration` object +1. Set the `failurePolicy` field in the MutatingWebhookConfiguration manifest to Ignore. This lets you avoid disruptions caused by misconfigured webhooks. -1. Set the `namespaceSelector` field in the `MutatingWebhookConfiguration` - object to a test namespace. -1. Deploy the `MutatingWebhookConfiguration` object to your cluster. +1. Set the `namespaceSelector` field in the MutatingWebhookConfiguration + manifest to a test namespace. +1. Deploy the MutatingWebhookConfiguration to your cluster. Monitor the webhook in the test namespace to check for any issues, then roll the webhook out to other namespaces. If the webhook intercepts an API request that @@ -547,30 +598,16 @@ webhook configuration. Mutating webhooks are powerful Kubernetes controllers. Use RBAC or another authorization mechanism to limit access to your webhook configurations and -servers. Ensure that the following access is only available to trusted +servers. For RBAC, ensure that the following access is only available to trusted entities: -* Verbs: `create`, `update`, `patch`, `delete`, `deletecollection` +* Verbs: **create**, **update**, **patch**, **delete**, **deletecollection** * API group: `admissionregistration.k8s.io/v1` -* Resources: `MutatingWebhookConfigurations` +* API kind: MutatingWebhookConfigurations If your mutating webhook server runs in the cluster, limit access to create or modify any resources in that namespace. -### Use a high-availability deployment model {#ha-deployment} - -Consider your cluster's availability requirements when designing your webhook. -For example, during node downtime or zonal outages, Kubernetes marks Pods as -`NotReady` to allow load balancers to reroute traffic to available zones and -nodes. These updates to Pods might trigger your mutating webhooks. Depending on -the number of affected Pods, the mutating webhook server has a risk of timing -out or causing delays in Pod processing. As a result, traffic won't get -rerouted as quickly as you need. - -Consider situations like the preceding example when writing your webhooks. -Exclude operations that are a result of Kubernetes responding to unavoidable -incidents. - ## Examples of good implementations {#example-good-implementations} {{% thirdparty-content %}} From fc27b949e2ab9ec7349cb322774f156b82540617 Mon Sep 17 00:00:00 2001 From: Shannon Kularathna Date: Wed, 19 Feb 2025 16:15:54 +0000 Subject: [PATCH 033/121] Add dependency loop advice. Source PR: https://github.com/kubernetes/website/pull/46798 Co-authored-by: Shaun Crampton Co-authored-by: Kat Cosgrove Co-authored-by: Tim Bannister --- .../admission-webhooks-good-practices.md | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md b/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md index c5dc2b7b0c..814f797af4 100644 --- a/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md +++ b/content/en/docs/concepts/cluster-administration/admission-webhooks-good-practices.md @@ -371,6 +371,27 @@ result, the migration cannot happen. Exclude the namespace where your webhook is running with a [`namespaceSelector`](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-namespaceselector). +### Avoid dependency loops {#avoid-dependency-loops} + +Dependency loops can occur in scenarios like the following: + +* Two webhooks check each other's Pods. If both webhooks become unavailable + at the same time, neither webhook can start. +* Your webhook intercepts cluster add-on components, such as networking plugins + or storage plugins, that your webhook depends on. If both the webhook and the + dependent add-on become unavailable, neither component can function. + +To avoid these dependency loops, try the following: + +* Use + [ValidatingAdmissionPolicies](/docs/reference/access-authn-authz/validating-admission-policy/) + to avoid introducing dependencies. +* Prevent webhooks from validating or mutating other webhooks. Consider + [excluding specific namespaces](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-namespaceselector) + from triggering your webhook. +* Prevent your webhooks from acting on dependent add-ons by using an + [`objectSelector`](/docs/reference/access-authn-authz/extensible-admission-controllers/#matching-requests-objectselector). + ### Fail open and validate the final state {#fail-open-validate-final-state} Mutating admission webhooks support the `failurePolicy` configuration field. From fb97a3c94492209509b8ed076312730fa8d430d9 Mon Sep 17 00:00:00 2001 From: Arhell Date: Sat, 22 Mar 2025 11:28:03 +0200 Subject: [PATCH 034/121] [it] Added "LinkedIn" to toml --- i18n/it/it.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/i18n/it/it.toml b/i18n/it/it.toml index 726d3c8aeb..1f7df9e1be 100644 --- a/i18n/it/it.toml +++ b/i18n/it/it.toml @@ -16,6 +16,9 @@ other = "Forum" [community_github_name] other = "GitHub" +[community_linkedin_name] +other = "LinkedIn" + [community_slack_name] other = "Slack" From 779a8c551b5806eb853308724b43c89bc2c0c4ad Mon Sep 17 00:00:00 2001 From: Tim Bannister Date: Sat, 22 Mar 2025 14:32:36 +0000 Subject: [PATCH 035/121] Defer blog article publication Release Comms had hoped to publish a mid-cycle blog article on the 24th of March, so defer the other article already scheduled for that day. --- ...sh-improvements.md => 2025-03-25-swap-fresh-improvements.md} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename content/en/blog/_posts/{2025-03-24-swap-fresh-improvements.md => 2025-03-25-swap-fresh-improvements.md} (99%) diff --git a/content/en/blog/_posts/2025-03-24-swap-fresh-improvements.md b/content/en/blog/_posts/2025-03-25-swap-fresh-improvements.md similarity index 99% rename from content/en/blog/_posts/2025-03-24-swap-fresh-improvements.md rename to content/en/blog/_posts/2025-03-25-swap-fresh-improvements.md index 3c47fdf736..2348896db2 100644 --- a/content/en/blog/_posts/2025-03-24-swap-fresh-improvements.md +++ b/content/en/blog/_posts/2025-03-25-swap-fresh-improvements.md @@ -1,7 +1,7 @@ --- layout: blog title: "Fresh Swap Features for Linux Users in Kubernetes 1.32" -date: 2025-03-24T10:00:00-08:00 +date: 2025-03-25T10:00:00-08:00 slug: swap-linux-improvements author: > Itamar Holder (Red Hat) From 452e50f369da361ac9fce347da714de624448f12 Mon Sep 17 00:00:00 2001 From: Tim Bannister Date: Sat, 22 Mar 2025 14:34:19 +0000 Subject: [PATCH 036/121] Set publication time for v1.33 mid-cycle blog article --- content/en/blog/_posts/2025-03-24-kubernetes-1.33-sneak-peek.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2025-03-24-kubernetes-1.33-sneak-peek.md b/content/en/blog/_posts/2025-03-24-kubernetes-1.33-sneak-peek.md index e048ea5d0d..c796fe03fd 100644 --- a/content/en/blog/_posts/2025-03-24-kubernetes-1.33-sneak-peek.md +++ b/content/en/blog/_posts/2025-03-24-kubernetes-1.33-sneak-peek.md @@ -1,7 +1,7 @@ --- layout: blog title: 'Kubernetes v1.33 sneak peek' -date: 2025-03-24 +date: 2025-03-24T10:30:00-08:00 slug: kubernetes-v1-33-upcoming-changes author: > Agustina Barbetta, From 5b9d14d80dc1fbe4a667773ffd77e3dae5989ec5 Mon Sep 17 00:00:00 2001 From: Mohammad Alavi Date: Sat, 22 Mar 2025 22:57:39 +0330 Subject: [PATCH 037/121] Update content/en/docs/reference/using-api/server-side-apply.md Co-authored-by: Tim Bannister --- content/en/docs/reference/using-api/server-side-apply.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/en/docs/reference/using-api/server-side-apply.md b/content/en/docs/reference/using-api/server-side-apply.md index d63b13c16c..bb8b696fd1 100644 --- a/content/en/docs/reference/using-api/server-side-apply.md +++ b/content/en/docs/reference/using-api/server-side-apply.md @@ -579,6 +579,7 @@ to the URI of a resource. When applying a configuration, you should always incl fields that are important to the outcome (such as a desired state) that you want to define. All JSON messages are valid YAML. Therefore, in addition to using YAML request bodies for Server-Side Apply requests, you can also use JSON request bodies, as they are also valid YAML. +In either case, use the media type `application/apply-patch+yaml` for the HTTP request. ### Access control and permissions {#rbac-and-permissions} From d829936839408dd6569aa7ffae37c3cff29f6ea7 Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Sun, 23 Mar 2025 14:14:02 +0800 Subject: [PATCH 038/121] [zh-cn]sync extensible-admission-controllers Signed-off-by: xin.li --- .../extensible-admission-controllers.md | 289 +----------------- 1 file changed, 5 insertions(+), 284 deletions(-) diff --git a/content/zh-cn/docs/reference/access-authn-authz/extensible-admission-controllers.md b/content/zh-cn/docs/reference/access-authn-authz/extensible-admission-controllers.md index 7560210e5e..e9a7ce8631 100644 --- a/content/zh-cn/docs/reference/access-authn-authz/extensible-admission-controllers.md +++ b/content/zh-cn/docs/reference/access-authn-authz/extensible-admission-controllers.md @@ -2152,289 +2152,10 @@ apiserver_admission_webhook_rejection_count{error_type="no_error",name="deny-unw --> ## 最佳实践和警告 {#best-practices-and-warnings} -### 幂等性 {#idempotence} - -幂等的变更性质的准入 Webhook 能够成功处理已经被它接纳甚或修改的对象。 -即使多次执行该准入测试,也不会产生与初次执行结果相异的结果。 - - -#### 幂等 mutating admission Webhook 的示例: {#example-of-idempotent-mutating-admission-webhooks} - -1. 对于 `CREATE` Pod 请求,将 Pod 的字段 `.spec.securityContext.runAsNonRoot` - 设置为 true,以实施安全最佳实践。 -2. 对于 `CREATE` Pod 请求,如果未设置容器的字段 - `.spec.containers[].resources.limits`,设置默认资源限制值。 -3. 对于 `CREATE` Pod 请求,如果 Pod 中不存在名为 `foo-sidecar` 的边车容器, - 向 Pod 注入一个 `foo-sidecar` 容器。 - -在上述情况下,可以安全地重新调用 Webhook,或接受已经设置了字段的对象。 - - -#### 非幂等 mutating admission Webhook 的示例: {#example-of-non-idempotent-mutating-admission-webhooks} - - -1. 对于 `CREATE` Pod 请求,注入名称为 `foo-sidecar` - 并带有当前时间戳的边车容器(例如 `foo-sidecar-19700101-000000`)。 -2. 对于 `CREATE/UPDATE` Pod 请求,如果容器已设置标签 `"env"` 则拒绝, - 否则将 `"env": "prod"` 标签添加到容器。 -3. 对于 `CREATE` Pod 请求,盲目地添加一个名为 `foo-sidecar` 的边车容器, - 而未查看 Pod 中是否已经有 `foo-sidecar` 容器。 - - -在上述第一种情况下,重新调用该 Webhook 可能导致同一个边车容器多次注入到 -Pod 中,而且每次使用不同的容器名称。 -类似地,如果 Sidecar 已存在于用户提供的 Pod 中,则 Webhook 可能注入重复的容器。 - -在上述第二种情况下,重新调用 Webhook 将导致 Webhook 自身输出失败。 - -在上述第三种情况下,重新调用 Webhook 将导致 Pod 规约中的容器重复, -从而使请求无效并被 API 服务器拒绝。 - - -### 拦截对象的所有版本 {#intercepting-all-versions-of-an-object} - -建议通过将 `.webhooks[].matchPolicy` 设置为 `Equivalent`, -以确保准入 Webhooks 始终拦截对象的所有版本。 -建议准入 Webhooks 应该更偏向注册资源的稳定版本。 -如果无法拦截对象的所有版本,可能会导致准入策略未再某些版本的请求上执行。 -有关示例,请参见[匹配请求:matchPolicy](#matching-requests-matchpolicy)。 - - -### 可用性 {#availability} - -建议准入 Webhook 尽快完成执行(时长通常是毫秒级),因为它们会增加 API 请求的延迟。 -建议对 Webhook 使用较小的超时值。有关更多详细信息,请参见[超时](#timeouts)。 - -建议准入 Webhook 应该采用某种形式的负载均衡机制,以提供高可用性和高性能。 -如果集群中正在运行 Webhook,则可以在服务后面运行多个 Webhook 后端,以利用该服务支持的负载均衡。 - - -### 确保看到对象的最终状态 {#guaranteeing-the-final-state-of-the-object-is-seen} - -如果某准入 Webhook 需要保证自己能够看到对象的最终状态以实施策略, -则应该使用一个验证性质的 Webhook, -因为可以通过变更性质的 Webhook 看到对象后对其进行修改。 - -例如,一个变更性质的准入 Webhook 被配置为在每个 `CREATE` Pod -请求中注入一个名称为 "foo-sidecar" 的边车容器。 - -如果**必须**存在边车容器,则还应配置一个验证性质的准入 Webhook 以拦截 -`CREATE` Pod 请求,并验证要创建的对象中是否存在具有预期配置的名称为 -"foo-sidecar" 的容器。 - - -### 避免自托管的 Webhook 中出现死锁 {#avoiding-deadlocks-in-self-hosted-webhooks} - -有几种方式 Webhook 可能导致死锁,即集群无法在调度 Pod 时取得进展: - -* 如果集群内的 Webhook 配置能够拦截启动其自己的 Pod 所需的资源, - 则该 Webhook 可能导致其自身部署时发生死锁。 - - - - 例如,某变更性质的准入 Webhook 配置为仅当 Pod 中设置了某个标签 - (例如 `"env": "prod"`)时,才接受 **create** Pod 请求。 - Webhook 服务器在未设置 `"env"` 标签的 Deployment 中运行。 - 当运行 Webhook 服务器 Pod 的节点运行不正常时,Webhook 部署尝试将容器重新调度到另一个节点。 - 但是,由于未设置 `"env"` 标签,因此请求将被现有的 Webhook 服务器拒绝,并替换 Pod 不会被创建。 - 最终,Webhook 服务器的整个 Deployment 可能变成不健康。 - - - - 如果你使用准入 Webhook 来检查 Pod,建议通过指定 - [namespaceSelector](#matching-requests-namespaceselector) 来排除正在运行 Webhook 侦听器的名字空间。 - - -* 如果集群中配置了多个 Webhook(可能来自集群上部署的独立应用),这些 Webhook 可能形成一个循环。 - Webhook A 必须被调用以处理 Webhook B 的 Pod 启动,反之亦然。 - 如果 Webhook A 和 B 同时变得不可用 - (例如,由于集群范围的停机故障或两个 Pod 运行在同一个节点上时出现节点故障), - 将发生死锁,这是因为没有一个 Webhook Pod 可以在另一个已经运行之前被重新创建。 - - - - 防止这种情况的一种方法是排除 Webhook B 对 Webhook A 的 Pod 的作用。 - 这允许 Webhook A 的 Pod 启动,进而允许 Webhook B 的 Pod 启动。 - 如果有第三个 Webhook,即 Webhook C,你需要排除 Webhook C 对 Webhook A 和 B 的 Pod 的作用。 - 这确保了 Webhook A 可以始终启动,从而允许 Webhook B 的 Pod 启动,进而允许 Webhook C 的 Pod 启动。 - - - - 如果你想确保避免这些风险, - [ValidatingAdmissionPolicies](/zh-cn/docs/reference/access-authn-authz/validating-admission-policy/) - 可以提供许多保护能力,而不会引入依赖循环。 - - -* 准入 Webhook 可以拦截关键集群附加组件所使用的资源,例如 CoreDNS、网络插件或存储插件。 - 这些附加组件可能是调度或成功运行集群上特定准入 Webhook 的 Pod 所必需的。 - 如果 Webhook 和关键附加组件同时不可用,就可能导致死锁。 - - - - 你可能希望从 Webhook 中排除集群基础设施名字空间,或者确保 Webhook 不依赖于其作用的特定附加组件。 - 例如,作为主机网络 Pod 运行 Webhook 可以确保 Webhook 不依赖某个网络插件。 - - 如果你想确保对核心附加组件或其名字空间的保护, - [ValidatingAdmissionPolicies](/zh-cn/docs/reference/access-authn-authz/validating-admission-policy/) - 可以提供许多保护能力,而无需依赖于工作节点和 Pod。 - - -### 副作用 {#side-effects} - -建议准入 Webhook 应尽可能避免副作用,这意味着该准入 Webhook 仅对发送给他们的 -`AdmissionReview` 的内容起作用,并且不要进行额外更改。 -如果 Webhook 没有任何副作用,则 `.webhooks[].sideEffects` 字段应设置为 -`None`。 - -如果在准入执行期间存在副作用,则应在处理 `dryRun` 为 `true` 的 `AdmissionReview` -对象时避免产生副作用,并且其 `.webhooks[].sideEffects` 字段应设置为 -`NoneOnDryRun`。更多详细信息,请参见[副作用](#side-effects)。 - - -### 避免对 kube-system 名字空间进行操作 {#avoiding-operating-on-the-kube-system-namespace} - - -`kube-system` 名字空间包含由 Kubernetes 系统创建的对象, -例如用于控制平面组件的服务账号,诸如 `kube-dns` 之类的 Pod 等。 -意外更改或拒绝 `kube-system` -名字空间中的请求可能会导致控制平面组件停止运行或者导致未知行为发生。 -如果你的准入 Webhook 不想修改 Kubernetes 控制平面的行为,请使用 -[`namespaceSelector`](#matching-requests-namespaceselector) -避免拦截 `kube-system` 名字空间。 +有关编写可变 Admission Webhook 时的建议和注意事项,请参阅 +[Admission Webhooks 良好实践](/zh-cn/docs/concepts/cluster-administration/admission-webhooks-good-practices)。 From 4df04ed7756c0f3db22374d9b0fd37dcf577aa90 Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Sun, 9 Mar 2025 17:54:50 +0530 Subject: [PATCH 039/121] feat: replace `ui_search_placeholder` with docsy provided `ui_search` --- content/en/docs/contribute/localization.md | 2 +- i18n/en/en.toml | 2 +- layouts/partials/search-input-custom.html | 12 ++++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/content/en/docs/contribute/localization.md b/content/en/docs/contribute/localization.md index 30be4c62b1..d139f7682b 100644 --- a/content/en/docs/contribute/localization.md +++ b/content/en/docs/contribute/localization.md @@ -450,7 +450,7 @@ translate the value of each string. For example, this is the German-language placeholder text for the search form: ```toml -[ui_search_placeholder] +[ui_search] other = "Suchen" ``` diff --git a/i18n/en/en.toml b/i18n/en/en.toml index 687e2a8bba..9ff8236cfa 100644 --- a/i18n/en/en.toml +++ b/i18n/en/en.toml @@ -648,7 +648,7 @@ other = "Copied to clipboard: " [translated_by] other = "Translated By" -[ui_search_placeholder] +[ui_search] other = "Search this site" [version_check_mustbe] diff --git a/layouts/partials/search-input-custom.html b/layouts/partials/search-input-custom.html index 9e4b69204d..265d45a7ed 100644 --- a/layouts/partials/search-input-custom.html +++ b/layouts/partials/search-input-custom.html @@ -2,6 +2,14 @@ {{ $lang := .Site.Language.Lang }} {{ $searchFile := printf "content/%s/search.md" $lang }} +{{ $check := "" }} +{{ if T "ui_search_placeholder" }} +{{ warnf "The search bar placeholder for the language %s is using a custom \"ui_search_placeholder\" key. Please change the key in the translations to the Docsy provided \"ui_search\"." $lang }} +{{ $check = T "ui_search_placeholder" }} +{{ else }} +{{ $check = T "ui_search" }} +{{ end }} +

\ No newline at end of file From a43aeda25ff2e058101fdd490203d494302b9a6e Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Sun, 23 Mar 2025 18:42:07 +0530 Subject: [PATCH 040/121] feat: removed site-searchbar --- content/bn/_index.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/bn/_index.html b/content/bn/_index.html index f32fd964e1..fe8f425e84 100644 --- a/content/bn/_index.html +++ b/content/bn/_index.html @@ -6,8 +6,6 @@ sitemap: priority: 1.0 --- -{{< site-searchbar >}} - {{< blocks/section class="k8s-overview" >}} {{% blocks/feature image="flower" id="feature-primary" %}} [কুবারনেটিস]({{< relref "/docs/concepts/overview/" >}}), K8s নামেও পরিচিত, কনটেইনারাইজড অ্যাপ্লিকেশনের স্বয়ংক্রিয় ডিপ্লয়মেন্ট, স্কেলিং এবং পরিচালনার জন্য একটি ওপেন-সোর্স সিস্টেম। From afdebef9359626d0dac47839eef73e9fdcf71e22 Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Sun, 23 Mar 2025 18:43:29 +0530 Subject: [PATCH 041/121] feat: removed site-searchbar --- content/es/_index.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/es/_index.html b/content/es/_index.html index e2f47c3bfc..d0e66098f4 100644 --- a/content/es/_index.html +++ b/content/es/_index.html @@ -4,8 +4,6 @@ abstract: "Automatización del despliegue, escalado y administración de contene cid: home --- -{{< site-searchbar >}} - {{< blocks/section id="oceanNodes" >}} {{% blocks/feature image="flower" %}} ### Kubernetes (K8s) es una plataforma de código abierto para automatizar la implementación, el escalado y la administración de aplicaciones en contenedores. From 6282d5eb55d466278759971dd8aa80aa9da6ef5a Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Sun, 23 Mar 2025 18:44:44 +0530 Subject: [PATCH 042/121] feat: removed site-searchbar --- content/fr/_index.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/fr/_index.html b/content/fr/_index.html index 3e95a16268..701d984c7d 100644 --- a/content/fr/_index.html +++ b/content/fr/_index.html @@ -6,8 +6,6 @@ sitemap: priority: 1.0 --- -{{< site-searchbar >}} - {{< blocks/section id="oceanNodes" >}} {{% blocks/feature image="flower" %}} ### [Kubernetes (K8s)]({{< relref "/docs/concepts/overview/" >}}) est un système open-source permettant d'automatiser le déploiement, la mise à l'échelle et la gestion des applications conteneurisées. From f935433352982147537c3db4b6a6b57979892cab Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Sun, 23 Mar 2025 18:45:12 +0530 Subject: [PATCH 043/121] feat: removed site-searchbar --- content/id/_index.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/id/_index.html b/content/id/_index.html index 5689100a31..463c406f5f 100644 --- a/content/id/_index.html +++ b/content/id/_index.html @@ -4,8 +4,6 @@ abstract: "Otomatisasi Kontainer deployment, scaling, dan management" cid: home --- -{{< site-searchbar >}} - {{< blocks/section id="oceanNodes" >}} {{% blocks/feature image="flower" %}} ### Kubernetes (K8s) From bc467e59a03d54ddb621b46d2df0e805edc37f36 Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Sun, 23 Mar 2025 18:45:56 +0530 Subject: [PATCH 044/121] feat: removed site-searchbar --- content/it/_index.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/it/_index.html b/content/it/_index.html index edf35c2ad6..a413f15768 100644 --- a/content/it/_index.html +++ b/content/it/_index.html @@ -4,8 +4,6 @@ abstract: Deployment, scalabilità, e gestione di container automatizzata cid: home --- -{{< site-searchbar >}} - {{< blocks/section id="oceanNodes" >}} {{% blocks/feature image="flower" %}} ### [Kubernetes (K8s)]({{< relref "/docs/concepts/overview/what-is-kubernetes" >}}) è un software open-source per l'automazione del deployment, scalabilità, e gestione di applicativi in containers. From 31dfb14aba831eb70690be7b6507ff918f3cabd9 Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Sun, 23 Mar 2025 18:46:15 +0530 Subject: [PATCH 045/121] feat: removed site-searchbar --- content/ja/_index.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/ja/_index.html b/content/ja/_index.html index cc4ec3d38c..7271456304 100644 --- a/content/ja/_index.html +++ b/content/ja/_index.html @@ -4,8 +4,6 @@ abstract: "自動化されたコンテナのデプロイ・スケール・管理 cid: home --- -{{< site-searchbar >}} - {{< blocks/section id="oceanNodes" >}} {{% blocks/feature image="flower" %}} ### [Kubernetes (K8s)]({{< relref "/docs/concepts/overview/" >}})は、デプロイやスケーリングを自動化したり、コンテナ化されたアプリケーションを管理したりするための、オープンソースのシステムです。 From 8ce54d6931fb4b713d437a31a5bfdaff909e7a33 Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Sun, 23 Mar 2025 18:47:14 +0530 Subject: [PATCH 046/121] feat: removed site-searchbar --- content/pt-br/_index.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/pt-br/_index.html b/content/pt-br/_index.html index 200ac40474..9dce464fb8 100644 --- a/content/pt-br/_index.html +++ b/content/pt-br/_index.html @@ -4,8 +4,6 @@ abstract: "Implantação, dimensionamento e gerenciamento automatizado de contê cid: home --- -{{< site-searchbar >}} - {{< blocks/section id="oceanNodes" >}} {{% blocks/feature image="flower" %}} ### Kubernetes (K8s) é um produto Open Source utilizado para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêiner. From 70be8da8aa36bfa553395f12a1b553dbd9836af0 Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Sun, 23 Mar 2025 18:47:34 +0530 Subject: [PATCH 047/121] feat: removed site-searchbar --- content/uk/_index.html | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/uk/_index.html b/content/uk/_index.html index 8a385ead37..9dbefe224a 100644 --- a/content/uk/_index.html +++ b/content/uk/_index.html @@ -4,8 +4,6 @@ abstract: "Автоматичне розгортання, масштабуван cid: home --- -{{< site-searchbar >}} - {{< blocks/section id="oceanNodes" >}} {{% blocks/feature image="flower" %}} -{{< feature-state state="alpha" for_k8s_version="v1.16" >}} +{{< feature-state state="stable" for_k8s_version="v1.25" >}} このページでは、特別な種類のコンテナであるエフェメラルコンテナの概要を説明します。エフェメラルコンテナは、トラブルシューティングなどのユーザーが開始するアクションを実行するために、すでに存在する{{< glossary_tooltip term_id="pod" >}}内で一時的に実行するコンテナです。エフェメラルコンテナは、アプリケーションの構築ではなく、serviceの調査のために利用します。 -{{< warning >}} -エフェメラルコンテナは初期のアルファ状態であり、本番クラスターには適しません。[Kubernetesの非推奨ポリシー](/docs/reference/using-api/deprecation-policy/)に従って、このアルファ機能は、将来大きく変更されたり、完全に削除される可能性があります。 -{{< /warning >}} - ## エフェメラルコンテナを理解する @@ -32,7 +28,11 @@ weight: 80 エフェメラルコンテナは、直接`pod.spec`に追加するのではなく、API内の特別な`ephemeralcontainers`ハンドラを使用して作成します。そのため、エフェメラルコンテナを`kubectl edit`を使用して追加することはできません。 -エフェメラルコンテナをPodに追加した後は、通常のコンテナのようにエフェメラルコンテナを変更または削除することはできません。 +エフェメラルコンテナをPodに追加した後は、通常のコンテナのようにエフェメラルコンテナを変更または削除することはできません。 + +{{< note >}} +エフェメラルコンテナは、[static Pod](/ja/docs/tasks/configure-pod-container/static-pod/)ではサポートされていません。 +{{< /note >}} ## エフェメラルコンテナの用途 @@ -42,106 +42,6 @@ weight: 80 エフェメラルコンテナを利用する場合には、他のコンテナ内のプロセスにアクセスできるように、[プロセス名前空間の共有](/ja/docs/tasks/configure-pod-container/share-process-namespace/)を有効にすると便利です。 -エフェメラルコンテナを利用してトラブルシューティングを行う例については、[デバッグ用のエフェメラルコンテナを使用してデバッグする](/ja/docs/tasks/debug/debug-application/debug-running-pod/#ephemeral-container)を参照してください。 +## {{% heading "whatsnext" %}} -## Ephemeral containers API - -{{< note >}} -このセクションの例を実行するには、`EphemeralContainers`[フィーチャーゲート](/ja/docs/reference/command-line-tools-reference/feature-gates/)を有効にして、Kubernetesクライアントとサーバーのバージョンをv1.16以上にする必要があります。 -{{< /note >}} - -このセクションの例では、API内でエフェメラルコンテナを表示する方法を示します。通常は、APIを直接呼び出すのではなく、`kubectl alpha debug`やその他の`kubectl`[プラグイン](/docs/tasks/extend-kubectl/kubectl-plugins/)を使用して、これらのステップを自動化します。 - -エフェメラルコンテナは、Podの`ephemeralcontainers`サブリソースを使用して作成されます。このサブリソースは、`kubectl --raw`を使用して確認できます。まずはじめに、以下に`EphemeralContainers`リストとして追加するためのエフェメラルコンテナを示します。 - -```json -{ - "apiVersion": "v1", - "kind": "EphemeralContainers", - "metadata": { - "name": "example-pod" - }, - "ephemeralContainers": [{ - "command": [ - "sh" - ], - "image": "busybox", - "imagePullPolicy": "IfNotPresent", - "name": "debugger", - "stdin": true, - "tty": true, - "terminationMessagePolicy": "File" - }] -} -``` - -すでに実行中の`example-pod`のエフェメラルコンテナを更新するには、次のコマンドを実行します。 - -```shell -kubectl replace --raw /api/v1/namespaces/default/pods/example-pod/ephemeralcontainers -f ec.json -``` - -このコマンドを実行すると、新しいエフェメラルコンテナのリストが返されます。 - -```json -{ - "kind":"EphemeralContainers", - "apiVersion":"v1", - "metadata":{ - "name":"example-pod", - "namespace":"default", - "selfLink":"/api/v1/namespaces/default/pods/example-pod/ephemeralcontainers", - "uid":"a14a6d9b-62f2-4119-9d8e-e2ed6bc3a47c", - "resourceVersion":"15886", - "creationTimestamp":"2019-08-29T06:41:42Z" - }, - "ephemeralContainers":[ - { - "name":"debugger", - "image":"busybox", - "command":[ - "sh" - ], - "resources":{ - - }, - "terminationMessagePolicy":"File", - "imagePullPolicy":"IfNotPresent", - "stdin":true, - "tty":true - } - ] -} -``` - -新しく作成されたエフェメラルコンテナの状態を確認するには、`kubectl describe`を使用します。 - -```shell -kubectl describe pod example-pod -``` - -``` -... -Ephemeral Containers: - debugger: - Container ID: docker://cf81908f149e7e9213d3c3644eda55c72efaff67652a2685c1146f0ce151e80f - Image: busybox - Image ID: docker-pullable://busybox@sha256:9f1003c480699be56815db0f8146ad2e22efea85129b5b5983d0e0fb52d9ab70 - Port: - Host Port: - Command: - sh - State: Running - Started: Thu, 29 Aug 2019 06:42:21 +0000 - Ready: False - Restart Count: 0 - Environment: - Mounts: -... -``` - -新しいエフェメラルコンテナとやりとりをするには、他のコンテナと同じように、`kubectl attach`、`kubectl exec`、`kubectl logs`などのコマンドが利用できます。例えば、次のようなコマンドが実行できます。 - -```shell -kubectl attach -it example-pod -c debugger -``` +* [デバッグ用のエフェメラルコンテナを使用してデバッグする](/ja/docs/tasks/debug/debug-application/debug-running-pod/#ephemeral-container)方法について学ぶ。 From 47d5ff22a6cbcd32e240c2689d6d422349bed8cd Mon Sep 17 00:00:00 2001 From: Kensei Nakada Date: Mon, 24 Mar 2025 00:40:45 +0900 Subject: [PATCH 053/121] fix: wording correction on the simulator blog --- .../index.md | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/content/en/blog/_posts/2025-12-31-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2025-12-31-kube-scheduler-simulator/index.md index b037715ea3..aa91106ab4 100644 --- a/content/en/blog/_posts/2025-12-31-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2025-12-31-kube-scheduler-simulator/index.md @@ -10,10 +10,10 @@ author: Kensei Nakada (Tetrate) The Kubernetes Scheduler is a crucial control plane component that determines which node a Pod will run on. Thus, anyone utilizing Kubernetes relies on a scheduler. -The [kube-scheduler-simulator](https://sigs.k8s.io/kube-scheduler-simulator) is a simulator for the Kubernetes scheduler, started as a [Google Summer of Code 2021](https://summerofcode.withgoogle.com/) project developed by me (Kensei Nakada) and later received a lot of contributions. +The [Kubernetes Scheduler](/docs/concepts/scheduling-eviction/kube-scheduler/) is a simulator for the Kubernetes scheduler, started as a [Google Summer of Code 2021](https://summerofcode.withgoogle.com/) project developed by me (Kensei Nakada) and later received a lot of contributions. This tool allows users to closely examine the scheduler’s behavior and decisions. -It is useful for casual users who employ scheduling constraints (e.g., [inter-Pod affinity](/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity)) +It is useful for casual users who employ scheduling constraints (for example, [inter-Pod affinity](/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity/#affinity-and-anti-affinity)) and experts who extend the scheduler with custom plugins. ## Motivation @@ -21,12 +21,11 @@ and experts who extend the scheduler with custom plugins. The scheduler often appears as a black box, composed of many plugins that each contribute to the scheduling decision-making process from their unique perspectives. Understanding its behavior can be challenging due to the multitude of factors it considers. -Even if a Pod seems to be scheduled as expected in a simple test cluster, -it may be coming from a different calculation than the expectation, -which could result in unexpected scheduling results in a large production environment. + +Even if a Pod appears to be scheduled correctly in a simple test cluster, it might have been scheduled based on different calculations than expected. This discrepancy could lead to unexpected scheduling outcomes when deployed in a large production environment. Also, testing a scheduler is a complex challenge. -There are countless patterns of operations executed within a real cluster, making it impractical to anticipate every scenario with a finite number of tests. +There are countless patterns of operations executed within a real cluster, making it unfeasible to anticipate every scenario with a finite number of tests. More often than not, bugs are discovered only when the scheduler is deployed in an actual cluster. Actually, many bugs are found by users after shipping the release, even in the upstream kube-scheduler. @@ -36,7 +35,7 @@ However, this approach falls short of capturing all the potential scenarios that because a development cluster is often much smaller with notable differences in workload sizes and scaling dynamics. It never sees the exact same use or exhibits the same behavior as its production counterpart. -kube-scheduler-simulator aims to solve those problems. +The kube-scheduler-simulator aims to solve those problems. It enables users to test their scheduling constraints, scheduler configurations, and custom plugins while checking every detailed part of scheduling decisions. It also allows users to create a simulated cluster environment, where they can test their scheduler @@ -44,9 +43,9 @@ with the same resources as their production cluster without affecting actual wor ## Features of the kube-scheduler-simulator -kube-scheduler-simulator’s core feature is its ability to expose the scheduler's internal decisions. +The kube-scheduler-simulator’s core feature is its ability to expose the scheduler's internal decisions. The scheduler operates based on the [scheduling framework](/docs/concepts/scheduling-eviction/scheduling-framework/), -utilizing various plugins at different extension points, +using various plugins at different extension points, filter nodes (Filter phase), score nodes (Score phase), and ultimately determine the best node for the Pod. The simulator allows users to create Kubernetes resources and observe how each plugin influences the scheduling decisions for Pods. @@ -55,7 +54,7 @@ This visibility helps users understand the scheduler’s workings and define app {{< figure src="/images/blog/2025-01-22-kube-scheduler-simulator/simulator.png" alt="Screenshot of the simulator web frontend that shows the detailed scheduling results per node and per extension point" title="The simulator web frontend" >}} Inside the simulator, a debuggable scheduler runs instead of the vanilla scheduler. -This debuggable scheduler outputs the results of each scheduler plugin at every extension point to the Pod’s annotations like the following Yaml shows +This debuggable scheduler outputs the results of each scheduler plugin at every extension point to the Pod’s annotations like the following manifest shows and the web front end formats/visualizes the scheduling results based on these annotations. ```yaml @@ -171,7 +170,7 @@ metadata: Users can also integrate [their custom plugins](/docs/concepts/scheduling-eviction/scheduling-framework/) or [extenders](https://github.com/kubernetes/design-proposals-archive/blob/main/scheduling/scheduler_extender.md), into the debuggable scheduler and visualize their results. -This debuggable scheduler can also run standalone, e.g., on any Kubernetes cluster or in integration tests. +This debuggable scheduler can also run standalone, for example, on any Kubernetes cluster or in integration tests. This would be useful to custom plugin developers who want to test their plugins or examine their custom scheduler in a real cluster with better debuggability. ## The simulator as a better dev cluster @@ -187,7 +186,7 @@ Once confident in its performance, they can proceed with the production deployme ## What are the use cases? -1. **Cluster users**: Examine if scheduling constraints (e.g., PodAffinity, PodTopologySpread) work as intended. +1. **Cluster users**: Examine if scheduling constraints (for example, PodAffinity, PodTopologySpread) work as intended. 1. **Cluster admins**: Assess how a cluster would behave with changes to the scheduler configuration. 1. **Scheduler plugin developers**: Test a custom scheduler plugins or extenders, use the debuggable scheduler in integration tests or development clusters, or use the [syncing](https://github.com/kubernetes-sigs/kube-scheduler-simulator/blob/simulator/v0.3.0/simulator/docs/import-cluster-resources.md) feature for testing within a production-like environment. From fee07fadd0c5c2533f55726912501cc7fb862796 Mon Sep 17 00:00:00 2001 From: Ryota Date: Sun, 23 Mar 2025 23:08:29 +0000 Subject: [PATCH 054/121] Delay mid cycle blog release by 2 days The new schedule is 26th March rather than 24th March. --- content/en/blog/_posts/2025-03-24-kubernetes-1.33-sneak-peek.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2025-03-24-kubernetes-1.33-sneak-peek.md b/content/en/blog/_posts/2025-03-24-kubernetes-1.33-sneak-peek.md index c796fe03fd..e01acb7e09 100644 --- a/content/en/blog/_posts/2025-03-24-kubernetes-1.33-sneak-peek.md +++ b/content/en/blog/_posts/2025-03-24-kubernetes-1.33-sneak-peek.md @@ -1,7 +1,7 @@ --- layout: blog title: 'Kubernetes v1.33 sneak peek' -date: 2025-03-24T10:30:00-08:00 +date: 2025-03-26T10:30:00-08:00 slug: kubernetes-v1-33-upcoming-changes author: > Agustina Barbetta, From 5917b08dad0ab54104b5eecd4a44abbe3bd6d75b Mon Sep 17 00:00:00 2001 From: Qiming Teng Date: Mon, 24 Mar 2025 08:43:53 +0800 Subject: [PATCH 055/121] Update persistent-volumes.md --- .../concepts/storage/persistent-volumes.md | 51 ++++++++++--------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/content/en/docs/concepts/storage/persistent-volumes.md b/content/en/docs/concepts/storage/persistent-volumes.md index 36c0904f58..fde8caa148 100644 --- a/content/en/docs/concepts/storage/persistent-volumes.md +++ b/content/en/docs/concepts/storage/persistent-volumes.md @@ -831,21 +831,25 @@ the request is for storage. The same applies to both volumes and claims. {{< note >}} -For `Filesystem` volumes, the storage request refers to the "outer" volume size (i.e. the allocated size from the storage backend). -This means that the writeable size may be slightly lower for providers that build a filesystem on top of a block device, due to filesystem overhead. This is especially visible with XFS, where many metadata features are enabled by default. +For `Filesystem` volumes, the storage request refers to the "outer" volume size +(i.e. the allocated size from the storage backend). +This means that the writeable size may be slightly lower for providers that +build a filesystem on top of a block device, due to filesystem overhead. +This is especially visible with XFS, where many metadata features are enabled by default. {{< /note >}} ### Selector Claims can specify a [label selector](/docs/concepts/overview/working-with-objects/labels/#label-selectors) -to further filter the set of volumes. Only the volumes whose labels match the selector -can be bound to the claim. The selector can consist of two fields: +to further filter the set of volumes. +Only the volumes whose labels match the selector can be bound to the claim. +The selector can consist of two fields: * `matchLabels` - the volume must have a label with this value * `matchExpressions` - a list of requirements made by specifying key, list of values, - and operator that relates the key and values. Valid operators include In, NotIn, - Exists, and DoesNotExist. + and operator that relates the key and values. + Valid operators include `In`, `NotIn`, `Exists`, and `DoesNotExist`. All of the requirements, from both `matchLabels` and `matchExpressions`, are ANDed together – they must all be satisfied in order to match. @@ -855,31 +859,30 @@ ANDed together – they must all be satisfied in order to match. A claim can request a particular class by specifying the name of a [StorageClass](/docs/concepts/storage/storage-classes/) using the attribute `storageClassName`. -Only PVs of the requested class, ones with the same `storageClassName` as the PVC, can -be bound to the PVC. +Only PVs of the requested class, ones with the same `storageClassName` as the PVC, +can be bound to the PVC. PVCs don't necessarily have to request a class. A PVC with its `storageClassName` set equal to `""` is always interpreted to be requesting a PV with no class, so it -can only be bound to PVs with no class (no annotation or one set equal to -`""`). A PVC with no `storageClassName` is not quite the same and is treated differently +can only be bound to PVs with no class (no annotation or one set equal to `""`). +A PVC with no `storageClassName` is not quite the same and is treated differently by the cluster, depending on whether the [`DefaultStorageClass` admission plugin](/docs/reference/access-authn-authz/admission-controllers/#defaultstorageclass) is turned on. -* If the admission plugin is turned on, the administrator may specify a - default StorageClass. All PVCs that have no `storageClassName` can be bound only to - PVs of that default. Specifying a default StorageClass is done by setting the - annotation `storageclass.kubernetes.io/is-default-class` equal to `true` in - a StorageClass object. If the administrator does not specify a default, the - cluster responds to PVC creation as if the admission plugin were turned off. If more than one - default StorageClass is specified, the newest default is used when the - PVC is dynamically provisioned. -* If the admission plugin is turned off, there is no notion of a default - StorageClass. All PVCs that have `storageClassName` set to `""` can be - bound only to PVs that have `storageClassName` also set to `""`. - However, PVCs with missing `storageClassName` can be updated later once - default StorageClass becomes available. If the PVC gets updated it will no - longer bind to PVs that have `storageClassName` also set to `""`. +* If the admission plugin is turned on, the administrator may specify a default StorageClass. + All PVCs that have no `storageClassName` can be bound only to PVs of that default. + Specifying a default StorageClass is done by setting the annotation + `storageclass.kubernetes.io/is-default-class` equal to `true` in a StorageClass object. + If the administrator does not specify a default, the cluster responds to PVC creation + as if the admission plugin were turned off. + If more than one default StorageClass is specified, the newest default is used when + the PVC is dynamically provisioned. +* If the admission plugin is turned off, there is no notion of a default StorageClass. + All PVCs that have `storageClassName` set to `""` can be bound only to PVs + that have `storageClassName` also set to `""`. + However, PVCs with missing `storageClassName` can be updated later once default StorageClass becomes available. + If the PVC gets updated it will no longer bind to PVs that have `storageClassName` also set to `""`. See [retroactive default StorageClass assignment](#retroactive-default-storageclass-assignment) for more details. From 27fc63a6b4228a4d0fa1c8d30fa4aa172a5b87ab Mon Sep 17 00:00:00 2001 From: windsonsea Date: Mon, 24 Mar 2025 09:51:31 +0800 Subject: [PATCH 056/121] replace http with https and fix link in case-studies/huawei --- content/en/case-studies/huawei/index.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/en/case-studies/huawei/index.html b/content/en/case-studies/huawei/index.html index ec1cd212f2..197b450037 100644 --- a/content/en/case-studies/huawei/index.html +++ b/content/en/case-studies/huawei/index.html @@ -16,21 +16,21 @@ case_study_details:

Challenge

-

A multinational company that's the largest telecommunications equipment manufacturer in the world, Huawei has more than 180,000 employees. In order to support its fast business development around the globe, Huawei has eight data centers for its internal I.T. department, which have been running 800+ applications in 100K+ VMs to serve these 180,000 users. With the rapid increase of new applications, the cost and efficiency of management and deployment of VM-based apps all became critical challenges for business agility. "It's very much a distributed system so we found that managing all of the tasks in a more consistent way is always a challenge," says Peixin Hou, the company's Chief Software Architect and Community Director for Open Source. "We wanted to move into a more agile and decent practice."

+

A multinational company that's the largest telecommunications equipment manufacturer in the world, Huawei has more than 180,000 employees. In order to support its fast business development around the globe, Huawei has eight data centers for its internal I.T. department, which have been running 800+ applications in 100K+ VMs to serve these 180,000 users. With the rapid increase of new applications, the cost and efficiency of management and deployment of VM-based apps all became critical challenges for business agility. "It's very much a distributed system so we found that managing all of the tasks in a more consistent way is always a challenge," says Peixin Hou, the company's Chief Software Architect and Community Director for Open Source. "We wanted to move into a more agile and decent practice."

Solution

-

After deciding to use container technology, Huawei began moving the internal I.T. department's applications to run on Kubernetes. So far, about 30 percent of these applications have been transferred to cloud native.

+

After deciding to use container technology, Huawei began moving the internal I.T. department's applications to run on Kubernetes. So far, about 30 percent of these applications have been transferred to cloud native.

Impact

-

"By the end of 2016, Huawei's internal I.T. department managed more than 4,000 nodes with tens of thousands containers using a Kubernetes-based Platform as a Service (PaaS) solution," says Hou. "The global deployment cycles decreased from a week to minutes, and the efficiency of application delivery has been improved 10 fold." For the bottom line, he says, "We also see significant operating expense spending cut, in some circumstances 20-30 percent, which we think is very helpful for our business." Given the results Huawei has had internally – and the demand it is seeing externally – the company has also built the technologies into FusionStage™, the PaaS solution it offers its customers.

+

"By the end of 2016, Huawei's internal I.T. department managed more than 4,000 nodes with tens of thousands containers using a Kubernetes-based Platform as a Service (PaaS) solution," says Hou. "The global deployment cycles decreased from a week to minutes, and the efficiency of application delivery has been improved 10 fold." For the bottom line, he says, "We also see significant operating expense spending cut, in some circumstances 20-30 percent, which we think is very helpful for our business." Given the results Huawei has had internally – and the demand it is seeing externally – the company has also built the technologies into FusionStage™, the PaaS solution it offers its customers.

{{< case-studies/quote author="Peixin Hou, chief software architect and community director for open source" >}} "If you're a vendor, in order to convince your customer, you should use it yourself. Luckily because Huawei has a lot of employees, we can demonstrate the scale of cloud we can build using this technology." {{< /case-studies/quote >}} -

Huawei's Kubernetes journey began with one developer. Over two years ago, one of the engineers employed by the networking and telecommunications giant became interested in Kubernetes, the technology for managing application containers across clusters of hosts, and started contributing to its open source community. As the technology developed and the community grew, he kept telling his managers about it.

+

Huawei's Kubernetes journey began with one developer. Over two years ago, one of the engineers employed by the networking and telecommunications giant became interested in Kubernetes, the technology for managing application containers across clusters of hosts, and started contributing to its open source community. As the technology developed and the community grew, he kept telling his managers about it.

And as fate would have it, at the same time, Huawei was looking for a better orchestration system for its internal enterprise I.T. department, which supports every business flow processing. "We have more than 180,000 employees worldwide, and a complicated internal procedure, so probably every week this department needs to develop some new applications," says Peixin Hou, Huawei's Chief Software Architect and Community Director for Open Source. "Very often our I.T. departments need to launch tens of thousands of containers, with tasks running across thousands of nodes across the world. It's very much a distributed system, so we found that managing all of the tasks in a more consistent way is always a challenge."

@@ -46,7 +46,7 @@ case_study_details:

Pleased with those initial results, and seeing a demand for cloud native technologies from its customers, Huawei doubled down on Kubernetes. In the spring of 2016, the company became not only a user but also a vendor.

-

"We built the Kubernetes technologies into our solutions," says Hou, referring to Huawei's FusionStage™ PaaS offering. "Our customers, from very big telecommunications operators to banks, love the idea of cloud native. They like Kubernetes technology. But they need to spend a lot of time to decompose their applications to turn them into microservice architecture, and as a solution provider, we help them. We've started to work with some Chinese banks, and we see a lot of interest from our customers like China Mobile and Deutsche Telekom."

+

"We built the Kubernetes technologies into our solutions," says Hou, referring to Huawei's FusionStage™ PaaS offering. "Our customers, from very big telecommunications operators to banks, love the idea of cloud native. They like Kubernetes technology. But they need to spend a lot of time to decompose their applications to turn them into microservice architecture, and as a solution provider, we help them. We've started to work with some Chinese banks, and we see a lot of interest from our customers like China Mobile and Deutsche Telekom."

"If you're just a user, you're just a user," adds Hou. "But if you're a vendor, in order to even convince your customers, you should use it yourself. Luckily because Huawei has a lot of employees, we can demonstrate the scale of cloud we can build using this technology. We provide customer wisdom." While Huawei has its own private cloud, many of its customers run cross-cloud applications using Huawei's solutions. It's a big selling point that most of the public cloud providers now support Kubernetes. "This makes the cross-cloud transition much easier than with other solutions," says Hou.

@@ -66,7 +66,7 @@ case_study_details: "In the next 10 years, maybe 80 percent of the workload can be distributed, can be run on the cloud native environments. There's still 20 percent that's not, but it's fine. If we can make 80 percent of our workload really be cloud native, to have agility, it's a much better world at the end of the day." {{< /case-studies/quote >}} -

In the nearer future, Hou is looking forward to new features that are being developed around Kubernetes, not least of all the ones that Huawei is contributing to. Huawei engineers have worked on the federation feature (which puts multiple Kubernetes clusters in a single framework to be managed seamlessly), scheduling, container networking and storage, and a just-announced technology called Container Ops, which is a DevOps pipeline engine. "This will put every DevOps job into a container," he explains. "And then this container mechanism is running using Kubernetes, but is also used to test Kubernetes. With that mechanism, we can make the containerized DevOps jobs be created, shared and managed much more easily than before."

+

In the nearer future, Hou is looking forward to new features that are being developed around Kubernetes, not least of all the ones that Huawei is contributing to. Huawei engineers have worked on the federation feature (which puts multiple Kubernetes clusters in a single framework to be managed seamlessly), scheduling, container networking and storage, and a just-announced technology called Container Ops, which is a DevOps pipeline engine. "This will put every DevOps job into a container," he explains. "And then this container mechanism is running using Kubernetes, but is also used to test Kubernetes. With that mechanism, we can make the containerized DevOps jobs be created, shared and managed much more easily than before."

Still, Hou sees this technology as only halfway to its full potential. First and foremost, he'd like to expand the scale it can orchestrate, which is important for supersized companies like Huawei – as well as some of its customers.

From 8b984de3c2cdb3b0b602bf1663153796569baf28 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Mon, 24 Mar 2025 10:35:14 +0800 Subject: [PATCH 057/121] [zh] Sync zh-cn/_index.html --- content/zh-cn/_index.html | 100 ++++++++++++++++++++++++-------------- 1 file changed, 64 insertions(+), 36 deletions(-) diff --git a/content/zh-cn/_index.html b/content/zh-cn/_index.html index b5b4abc878..2274991069 100644 --- a/content/zh-cn/_index.html +++ b/content/zh-cn/_index.html @@ -1,60 +1,74 @@ --- title: "生产级别的容器编排系统" -abstract: "自动化的容器部署、扩展和管理" +abstract: "自动化的容器部署、扩缩和管理" cid: home +sitemap: + priority: 1.0 --- + -{{< site-searchbar >}} +{{< blocks/section class="k8s-overview" >}} -{{< blocks/section id="oceanNodes" >}} -{{% blocks/feature image="flower" %}} +{{% blocks/feature image="flower" id="feature-primary" %}} - -[Kubernetes]({{< relref "/docs/concepts/overview/" >}}) 也称为 K8s,是用于自动部署、扩缩和管理容器化应用程序的开源系统。 + +It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon [15 years of experience of running production workloads at Google](https://queue.acm.org/detail.cfm?id=2898444), combined with best-of-breed ideas and practices from the community. +--> +[Kubernetes](/zh-cn/docs/concepts/overview/) 也称为 +K8s,是用于自动部署、扩缩和管理容器化应用程序的开源系统。 -它将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现。Kubernetes 源自[Google 15 年生产环境的运维经验](http://queue.acm.org/detail.cfm?id=2898444),同时凝聚了社区的最佳创意和实践。 +它将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现。Kubernetes 源自 +[Google 15 年生产环境的运维经验](http://queue.acm.org/detail.cfm?id=2898444),同时凝聚了社区的最佳创意和实践。 {{% /blocks/feature %}} {{% blocks/feature image="scalable" %}} + +Designed on the same principles that allow Google to run billions of containers a week, Kubernetes can scale without increasing your operations team. +--> #### 星际尺度 - - Google 每周运行数十亿个容器,Kubernetes 基于与之相同的原则来设计,能够在不扩张运维团队的情况下进行规模扩展。 {{% /blocks/feature %}} {{% blocks/feature image="blocks" %}} + +Whether testing locally or running a global enterprise, Kubernetes flexibility grows with you to deliver your applications consistently and easily no matter how complex your need is. +--> #### 永不过时 - - 无论是本地测试,还是跨国公司,Kubernetes 的灵活性都能让你在应对复杂系统时得心应手。 {{% /blocks/feature %}} {{% blocks/feature image="suitcase" %}} - + #### 处处适用 - + Kubernetes 是开源系统,可以自由地部署在企业内部,私有云、混合云或公有云,让您轻松地做出合适的选择。 -请访问[下载](/releases/download/)部分下载 Kubernetes。 +请访问[下载](/zh-cn/releases/download/)部分下载 Kubernetes。 {{% /blocks/feature %}} @@ -63,28 +77,42 @@ Kubernetes 是开源系统,可以自由地部署在企业内部,私有云、 {{< blocks/section id="video" background-image="kub_video_banner_homepage" >}}
- -

将 150+ 微服务迁移到 Kubernetes 上的挑战

- -

Sarah Wells, 运营和可靠性技术总监, 金融时报

+ +

将 150+ 微服务迁移到 Kubernetes 上的挑战

+ +

Sarah Wells,运营和可靠性技术总监,金融时报

-
-
- - 参加 2024 年 3 月 19-22 日的欧洲 KubeCon + CloudNativeCon -
-
-
-
- - 参加 2024 年 11 月 12-15 日的北美 KubeCon + CloudNativeCon + + +

参加即将举行的 KubeCon + CloudNativeCon 大会

+ 欧洲(伦敦,4 月 1-4 日) + 中国(香港,6 月 10-11 日) + 日本(东京,6 月 16-17 日) + 印度(海得拉巴,8 月 6-7 日) + 北美(亚特兰大,11 月 10-13 日)
+
+ {{< /blocks/section >}} {{< blocks/kubernetes-features >}} {{< blocks/case-studies >}} + +{{< kubeweekly id="kubeweekly" >}} From d90d3245a8ef03a4926fff758184c8baba3abfff Mon Sep 17 00:00:00 2001 From: xin gu <418294249@qq.com> Date: Mon, 24 Mar 2025 10:47:01 +0800 Subject: [PATCH 058/121] sync /concepts/cluster-administration security-checklist Update security-checklist.md --- .../zh-cn/docs/concepts/cluster-administration/_index.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/content/zh-cn/docs/concepts/cluster-administration/_index.md b/content/zh-cn/docs/concepts/cluster-administration/_index.md index 89e39aba98..5cb7ce7e68 100644 --- a/content/zh-cn/docs/concepts/cluster-administration/_index.md +++ b/content/zh-cn/docs/concepts/cluster-administration/_index.md @@ -98,14 +98,14 @@ Before choosing a guide, here are some considerations: ## Managing a cluster * Learn how to [manage nodes](/docs/concepts/architecture/nodes/). - * Read about [cluster autoscaling](/docs/concepts/cluster-administration/cluster-autoscaling/). + * Read about [Node autoscaling](/docs/concepts/cluster-administration/node-autoscaling/). * Learn how to set up and manage the [resource quota](/docs/concepts/policy/resource-quotas/) for shared clusters. --> ## 管理集群 {#managing-a-cluster} * 学习如何[管理节点](/zh-cn/docs/concepts/architecture/nodes/)。 - * 阅读[集群自动扩缩](/zh-cn/docs/concepts/cluster-administration/cluster-autoscaling/)。 + * 阅读[节点自动扩缩](/zh-cn/docs/concepts/cluster-administration/node-autoscaling/)。 * 学习如何设定和管理集群共享的[资源配额](/zh-cn/docs/concepts/policy/resource-quotas/)。 @@ -124,6 +124,9 @@ Before choosing a guide, here are some considerations: * [Using Admission Controllers](/docs/reference/access-authn-authz/admission-controllers/) explains plug-ins which intercepts requests to the Kubernetes API server after authentication and authorization. +* [Admission Webhook Good Practices](/docs/concepts/cluster-administration/admission-webhooks-good-practices/) + provides good practices and considerations when designing mutating admission + webhooks and validating admission webhooks. * [Using Sysctls in a Kubernetes Cluster](/docs/tasks/administer-cluster/sysctl-cluster/) describes to an administrator how to use the `sysctl` command-line tool to set kernel parameters. * [Auditing](/docs/tasks/debug/debug-cluster/audit/) describes how to interact with Kubernetes' @@ -141,6 +144,8 @@ Before choosing a guide, here are some considerations: * [鉴权](/zh-cn/docs/reference/access-authn-authz/authorization/)与身份认证不同,用于控制如何处理 HTTP 请求。 * [使用准入控制器](/zh-cn/docs/reference/access-authn-authz/admission-controllers)阐述了在认证和授权之后拦截到 Kubernetes API 服务的请求的插件。 +* [准入 Webhook 的最佳实践](/zh-cn/docs/tasks/administer-cluster/sysctl-cluster/) + 提供了设计变更型准入 Webhook 和验证型准入 Webhook 时的最佳实践和注意事项。 * [在 Kubernetes 集群中使用 sysctl](/zh-cn/docs/tasks/administer-cluster/sysctl-cluster/) 描述了管理员如何使用 `sysctl` 命令行工具来设置内核参数。 * [审计](/zh-cn/docs/tasks/debug/debug-cluster/audit/)描述了如何与 Kubernetes 的审计日志交互。 From 2ab28becaeb9a511b4c4e98cc381062235a00311 Mon Sep 17 00:00:00 2001 From: Ryota Date: Mon, 24 Mar 2025 02:57:33 +0000 Subject: [PATCH 059/121] Correct date of Kubernetes v1.33 mid cycle blog This now matches the updated publish date. --- ....33-sneak-peek.md => 2025-03-26-kubernetes-1.33-sneak-peek.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename content/en/blog/_posts/{2025-03-24-kubernetes-1.33-sneak-peek.md => 2025-03-26-kubernetes-1.33-sneak-peek.md} (100%) diff --git a/content/en/blog/_posts/2025-03-24-kubernetes-1.33-sneak-peek.md b/content/en/blog/_posts/2025-03-26-kubernetes-1.33-sneak-peek.md similarity index 100% rename from content/en/blog/_posts/2025-03-24-kubernetes-1.33-sneak-peek.md rename to content/en/blog/_posts/2025-03-26-kubernetes-1.33-sneak-peek.md From 7d9d17a361898864105916ea6fa9501347a32579 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Fri, 21 Mar 2025 16:22:12 +0800 Subject: [PATCH 060/121] [zh] remove cluster-autoscaling.md and update its links --- .../concepts/cluster-administration/_index.md | 7 +- .../cluster-autoscaling.md | 227 ------------------ 2 files changed, 3 insertions(+), 231 deletions(-) delete mode 100644 content/zh-cn/docs/concepts/cluster-administration/cluster-autoscaling.md diff --git a/content/zh-cn/docs/concepts/cluster-administration/_index.md b/content/zh-cn/docs/concepts/cluster-administration/_index.md index 5cb7ce7e68..0f9239a780 100644 --- a/content/zh-cn/docs/concepts/cluster-administration/_index.md +++ b/content/zh-cn/docs/concepts/cluster-administration/_index.md @@ -10,7 +10,7 @@ card: weight: 60 anchors: - anchor: "#securing-a-cluster" - title: 保护集群 + title: 加固集群 --- -## 保护集群 {#securing-a-cluster} +## 加固集群 {#securing-a-cluster} * [生成证书](/zh-cn/docs/tasks/administer-cluster/certificates/)描述了使用不同的工具链生成证书的步骤。 * [Kubernetes 容器环境](/zh-cn/docs/concepts/containers/container-environment/)描述了 @@ -157,7 +157,7 @@ Before choosing a guide, here are some considerations: * [TLS bootstrapping](/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/) * [Kubelet authentication/authorization](/docs/reference/access-authn-authz/kubelet-authn-authz/) --> -### 保护 kubelet {#securing-the-kubelet} +### 加固 kubelet {#securing-the-kubelet} * [节点与控制面之间的通信](/zh-cn/docs/concepts/architecture/control-plane-node-communication/) * [TLS 启动引导](/zh-cn/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/) @@ -177,4 +177,3 @@ Before choosing a guide, here are some considerations: 名解析到一个 Kubernetes service。 * [记录和监控集群活动](/zh-cn/docs/concepts/cluster-administration/logging/)阐述了 Kubernetes 的日志如何工作以及怎样实现。 - diff --git a/content/zh-cn/docs/concepts/cluster-administration/cluster-autoscaling.md b/content/zh-cn/docs/concepts/cluster-administration/cluster-autoscaling.md deleted file mode 100644 index 25a9cc671e..0000000000 --- a/content/zh-cn/docs/concepts/cluster-administration/cluster-autoscaling.md +++ /dev/null @@ -1,227 +0,0 @@ ---- -title: 集群自动扩缩容 -linkTitle: 集群自动扩缩容 -description: >- - 自动管理集群中的节点以适配需求。 -content_type: concept -weight: 120 ---- - - - - - -Kubernetes 需要集群中的{{< glossary_tooltip text="节点" term_id="node" >}}来运行 -{{< glossary_tooltip text="Pod" term_id="pod" >}}。 -这意味着需要为工作负载 Pod 以及 Kubernetes 本身提供容量。 - -你可以自动调整集群中可用的资源量:**节点自动扩缩容**。 -你可以更改节点的数量,或者更改节点提供的容量。 -第一种方法称为**水平扩缩容**,而第二种方法称为**垂直扩缩容**。 - -Kubernetes 甚至可以为节点提供多维度的自动扩缩容。 - - - - -## 手动节点管理 {#manual-node-management} - -你可以手动管理节点级别的容量,例如你可以配置固定数量的节点; -即使这些节点的制备(搭建、管理和停用过程)是自动化的,你也可以使用这种方法。 - -本文介绍的是下一步操作,即自动化管理集群中可用的节点容量(CPU、内存和其他节点资源)。 - - -## 自动水平扩缩容 {#autoscaling-horizontal} - -### Cluster Autoscaler - -你可以使用 [Cluster Autoscaler](https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler) -自动管理节点的数目规模。Cluster Autoscaler 可以与云驱动或 Kubernetes 的 -[Cluster API](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/clusterapi/README.md) -集成,以完成实际所需的节点管理。 - - -当存在不可调度的 Pod 时,Cluster Autoscaler 会添加节点; -当这些节点为空时,Cluster Autoscaler 会移除节点。 - -#### 云驱动集成组件 {#cluster-autoscaler-providers} - -Cluster Autoscaler 的 -[README](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/README.md) -中列举了一些可用的云驱动集成组件。 - - -## 成本感知多维度扩缩容 {#autoscaling-multi-dimension} - -### Karpenter {#autoscaler-karpenter} - -[Karpenter](https://karpenter.sh/) 支持通过继承了特定云驱动的插件来直接管理节点, -还可以在优化总体成本的同时为你管理节点。 - - -> Karpenter 自动启动适合你的集群应用的计算资源。 -> Karpenter 设计为让你充分利用云资源,快速简单地为 Kubernetes 集群制备计算资源。 - - -Karpenter 工具设计为与云驱动集成,提供 API 驱动的服务器管理, -此工具可以通过 Web API 获取可用服务器的价格信息。 - -例如,如果你在集群中启动更多 Pod,Karpenter 工具可能会购买一个比你当前使用的节点更大的新节点, -然后在这个新节点投入使用后关闭现有的节点。 - - -#### 云驱动集成组件 {#karpenter-providers} - -{{% thirdparty-content vendor="true" %}} - - -在 Karpenter 的核心与以下云驱动之间,存在可用的集成组件: - - -- [亚马逊 Web 服务(Amazon Web Service)](https://github.com/aws/karpenter-provider-aws) -- [Azure](https://github.com/Azure/karpenter-provider-azure) - - -## 相关组件 {#related-components} - -### Descheduler - -[Descheduler](https://github.com/kubernetes-sigs/descheduler) -可以帮助你将 Pod 集中到少量节点上,以便在集群有空闲容量时帮助自动缩容。 - - -### 基于集群大小调整工作负载 {#sizing-a-workload-based-on-cluster-size} - -#### Cluster Proportional Autoscaler - -对于需要基于集群大小进行扩缩容的工作负载(例如 `cluster-dns` 或其他系统组件), -你可以使用 [**Cluster Proportional Autoscaler**](https://github.com/kubernetes-sigs/cluster-proportional-autoscaler)。 - -Cluster Proportional Autoscaler 监视可调度节点和核心的数量,并相应地调整目标工作负载的副本数量。 - - -#### Cluster Proportional Vertical Autoscaler - -如果副本数量应该保持不变,你可以使用 -[Cluster Proportional Vertical Autoscaler](https://github.com/kubernetes-sigs/cluster-proportional-vertical-autoscaler) -基于集群大小垂直扩缩你的工作负载。此项目处于 **Beta** 阶段,托管在 GitHub 上。 - -Cluster Proportional Autoscaler 扩缩工作负载的副本数量,而 Cluster Proportional Vertical Autoscaler -基于集群中的节点和/或核心数量调整工作负载(例如 Deployment 或 DaemonSet)的资源请求。 - -## {{% heading "whatsnext" %}} - - -- 参阅[工作负载级别自动扩缩容](/zh-cn/docs/concepts/workloads/autoscaling/) -- 参阅[节点超分配](/zh-cn/docs/tasks/administer-cluster/node-overprovisioning/) From 567ca4b828bac46e79ec2262fb20e9b71c3d4b10 Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Sun, 23 Mar 2025 22:04:37 +0800 Subject: [PATCH 061/121] [zh-cn] Add blog: 2025-03-12-sig-apps-spotlight.md Signed-off-by: xin.li --- .../_posts/2025-03-12-sig-apps-spotlight.md | 323 ++++++++++++++++++ 1 file changed, 323 insertions(+) create mode 100644 content/zh-cn/blog/_posts/2025-03-12-sig-apps-spotlight.md diff --git a/content/zh-cn/blog/_posts/2025-03-12-sig-apps-spotlight.md b/content/zh-cn/blog/_posts/2025-03-12-sig-apps-spotlight.md new file mode 100644 index 0000000000..d36fa9797e --- /dev/null +++ b/content/zh-cn/blog/_posts/2025-03-12-sig-apps-spotlight.md @@ -0,0 +1,323 @@ +--- +layout: blog +title: "聚焦 SIG Apps" +slug: sig-apps-spotlight-2025 +canonicalUrl: https://www.kubernetes.dev/blog/2025/03/12/sig-apps-spotlight-2025 +date: 2025-03-12 +author: "Sandipan Panda (DevZero)" +translator: > + [Xin Li](https://github.com/my-git9) (DaoCloud) +--- + + + +在我们正在进行的 SIG 聚焦系列中,我们通过与 Kubernetes 项目各个特别兴趣小组(SIG)的领导者对话, +深入探讨 Kubernetes 项目的核心。这一次,我们聚焦于 +**[SIG Apps](https://github.com/kubernetes/community/tree/master/sig-apps#apps-special-interest-group)**, +这个小组负责 Kubernetes 上与应用程序开发、部署和操作相关的所有内容。 +[Sandipan Panda](https://www.linkedin.com/in/sandipanpanda)([DevZero](https://www.devzero.io/)) +有机会采访了 SIG Apps 的主席和技术负责人 +[Maciej Szulik](https://github.com/soltysh)([Defense Unicorns](https://defenseunicorns.com/)) +以及 [Janet Kuo](https://github.com/janetkuo)([Google](https://about.google/))。 +他们分享了在 Kubernetes 生态系统中关于应用管理的经验、挑战以及未来愿景。 + + +## 自我介绍 + +**Sandipan**:你好,能否先简单介绍一下你自己、你的角色,以及你在 +Kubernetes 社区中的经历,这些经历是如何引导你担任 SIG Apps 的当前角色的? + +**Maciej**:嗨,我叫 Maciej,是 SIG Apps 的负责人之一。除了这个角色, +你还可以看到我在协助 [SIG CLI](https://github.com/kubernetes/community/tree/master/sig-cli#readme) +的工作,同时我也是指导委员会的成员之一。自 2014 年底以来,我一直为 +Kubernetes 做出贡献,涉及的领域包括控制器、API 服务器以及 kubectl。 + + +**Janet**:当然可以!我是 Janet,在 Google 担任资深软件工程师, +并且从 Kubernetes 项目早期(甚至在 2015 年 1.0 版本发布之前)就深度参与其中。 +这是一段非常精彩的旅程! + +我在 Kubernetes 社区中的当前角色是 SIG Apps 的主席之一和技术负责人之一。 +我与 SIG Apps 的结缘始于自然而然的过程。最初,我从构建 Deployment API +并添加滚动更新功能开始,逐渐对 SIG Apps 产生了浓厚的兴趣,并且参与度越来越高。 +随着时间推移,我承担了更多的责任,最终走到了目前的领导岗位。 + + +## 关于 SIG Apps + +**以下所有回答均由 Maciej 和 Janet 共同提供。** + +**Sandipan**:对于那些不熟悉的人,能否简要介绍一下 SIG Apps 的使命和目标? +它在 Kubernetes 生态系统中旨在解决哪些关键问题? + + +正如我们在[章程](https://github.com/kubernetes/community/blob/master/sig-apps/charter.md#scope)中所描述的那样, +我们涵盖了与在 Kubernetes 上开发、部署和操作应用程序相关的广泛领域。 +简而言之,这意味着我们欢迎每个人参加我们的双周会议,讨论在 Kubernetes +上编写和部署各种应用程序的经验和挑战。 + +**Sandipan**:SIG Apps 目前正在进行的一些最重要项目或倡议有哪些? + + +在当前阶段,推动我们控制器开发的主要因素是运行各种 AI 相关工作负载所带来的挑战。 +在此值得一提的是,过去几年我们支持的两个工作组: + + +1. [Batch 工作组](https://github.com/kubernetes/community/tree/master/wg-batch), + 该工作组致力于在 Kubernetes 上运行 HPC、AI/ML 和数据分析作业。 +2. [Serving 工作组](https://github.com/kubernetes/community/tree/master/wg-serving), + 该工作组专注于硬件加速的 AI/ML 推理。 + + +## 最佳实践与挑战 + +**Sandipan**:SIG Apps 在为 Kubernetes 开发应用程序管理最佳实践方面发挥着关键作用。 +你能分享一些这些最佳实践吗?以及它们如何帮助改进应用程序生命周期管理? + + +1. 实施[健康检查和就绪探针](/zh-cn/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/) + 确保你的应用程序处于健康状态并准备好处理流量,从而提高可靠性和正常运行时间。 + 结合全面的日志记录、监控和跟踪解决方案,上述措施将为您提供应用程序行为的洞察, + 使你能够快速识别并解决问题。 + + +2. 根据资源利用率或自定义指标[自动扩缩你的应用](/zh-cn/docs/concepts/workloads/autoscaling/), + 优化资源使用并确保您的应用程序能够处理不同的负载。 + + +3. 对于无状态应用程序使用 Deployment,对于有状态应用程序使用 StatefulSet, + 对于批处理工作负载使用 Job 和 CronJob,在每个节点上运行守护进程时使用 + DaemonSet。使用 Operator 和 CRD 扩展 Kubernetes API 以自动化复杂应用程序的部署、 + 管理和生命周期,使其更易于操作并减少手动干预。 + + +**Sandipan**:SIG Apps 面临的一些常见挑战是什么?你们是如何解决这些问题的? + +我们一直面临的最大挑战是需要拒绝许多功能、想法和改进。这需要大量的纪律性和耐心, +以便能够解释做出这些决定背后的原因。 + + +**Sandipan**:Kubernetes 的演进如何影响了 SIG Apps 的工作? +Kubernetes 最近是否有任何变化或即将推出的功能,你认为对 +SIG Apps 特别相关或有益? + +对我们以及围绕 SIG Apps 的整个社区而言, +最大的好处是能够通过[自定义资源定义(Custom Resource Definitions)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/)扩展 +Kubernetes。用户可以利用内置控制器构建自己的自定义控制器, +以实现他们可能面对的各种复杂用例,而我们作为核心维护者, +可能没有考虑过这些用例,或者无法在 Kubernetes 内部高效解决。 + + +## 贡献于 SIG Apps + +**Sandipan**:对于想要参与 SIG Apps 的新贡献者,有哪些机会? +你会给他们什么建议? + + +我们经常被问道:“你们建议我们从哪个好的初始问题开始?” :-) +但遗憾的是,这个问题没有简单的答案。我们总是告诉大家, +为核心控制器做贡献的最佳方式是找到一个你愿意花时间研究的控制器。 +阅读代码,然后尝试运行针对该控制器的单元测试和集成测试。一旦你掌握了大致的概念, +试着破坏它并再次运行测试以验证你的改动。当你开始有信心理解了这个特定的控制器后, +你可以搜索影响该控制器的待处理问题,提供一些建议,解释用户遇到的问题, +或者尝试提交你的第一个修复。 + + +正如我们所说,在这条道路上没有捷径可走;你需要花时间研究代码库, +以理解我们逐步积累的所有边缘情况,从而达到我们现在的位置。 +一旦你在一个控制器上取得了成功,你就需要在其他控制器上重复同样的过程。 + +**Sandipan**:SIG Apps 如何从社区收集反馈,以及这些反馈是如何整合到你们的工作中的? + + +我们总是鼓励每个人参加我们的双周[会议](https://github.com/kubernetes/community/tree/master/sig-apps#meetings), +并在会上提出他们的问题和解决方案。只要你是在 Kubernetes 上解决一个有趣的问题, +并且能够对任何核心控制器提供有价值的反馈,我们都非常乐意听取每个人的意见。 + + +## 展望未来 + +**Sandipan**:展望未来,Kubernetes 中应用程序管理的关键关注领域或即将到来的趋势有哪些是 +SIG Apps 感到兴奋的?SIG 是如何适应这些趋势的? + +当前的 AI 热潮无疑是主要的驱动因素;如上所述,我们有两个工作组, +每个工作组都涵盖了它的一个不同方面。 + + +**Sandipan**:关于这个 SIG,你们最喜欢的事情有哪些? + +毫无疑问,参与我们会议和 +[Slack](https://kubernetes.slack.com/messages/sig-apps) 频道的人们是最让我们感到欣慰的。 +他们不知疲倦地帮助处理问题、拉取请求,并投入大量的时间(很多时候是他们的私人时间)来让 +Kubernetes 变得更好! + +--- + + +SIG Apps 是 Kubernetes 社区的重要组成部分, +帮助塑造了应用程序如何在大规模下部署和管理的方式。从改进 Kubernetes +的工作负载 API 到推动 AI/ML 应用程序管理的创新,SIG Apps +不断适应以满足现代应用程序开发者和操作人员的需求。无论你是新贡献者还是有经验的开发者, +都有机会参与其中并产生影响。 + + +如果你有兴趣了解更多关于 SIG Apps 的信息或为其做出贡献,务必查看他们的 +[SIG README](https://github.com/kubernetes/community/tree/master/sig-apps), +并加入他们的双周[会议](https://github.com/kubernetes/community/tree/master/sig-apps#meetings)。 + +- [SIG Apps 邮件列表](https://groups.google.com/a/kubernetes.io/g/sig-apps) +- [SIG Apps 在 Slack 上](https://kubernetes.slack.com/messages/sig-apps) From 33ab72fc18fc6f8d1effcd2d7d985c20f6b4fbef Mon Sep 17 00:00:00 2001 From: windsonsea Date: Mon, 24 Mar 2025 09:43:42 +0800 Subject: [PATCH 062/121] [zh] Sync case-studies/huawei/ --- content/zh-cn/case-studies/huawei/index.html | 619 +++++++------------ 1 file changed, 223 insertions(+), 396 deletions(-) diff --git a/content/zh-cn/case-studies/huawei/index.html b/content/zh-cn/case-studies/huawei/index.html index cfd2f562b6..3356cc0b5c 100644 --- a/content/zh-cn/case-studies/huawei/index.html +++ b/content/zh-cn/case-studies/huawei/index.html @@ -1,433 +1,260 @@ --- title: 华为案例分析 - case_study_styles: true cid: caseStudies -css: /css/style_huawei.css ---- - -
-

案例分析:
以用户和供应商身份拥抱云原生

- -
- -
- 公司  华为     地点  中国深圳     产业  通信设备 - -
- -
- -
- -
-
-

挑战

- - 华为是世界上最大的电信设备制造商,拥有超过 18 万名员工。 - - - 为了支持华为在全球的快速业务发展,华为内部 IT 部门有 8 个数据中心, - 这些数据中心在 100K+ VMs 上运行了 800 多个应用程序,服务于这 18 万用户。 - - - 随着新应用程序的快速增长,基于 VM 的应用程序的管理和部署的成本和效率都成为业务敏捷性的关键挑战。 - - - 该公司首席软件架构师、开源社区总监侯培新表示: - “这是一个超大的分布式系统,因此我们发现,以更一致的方式管理所有任务始终是一个挑战。 - 我们希望进入一种更敏捷、更得体的实践”。 - - -
- -
-

解决方案

- - 在决定使用容器技术后,华为开始将内部 IT 部门的应用程序迁移到 Kubernetes 上运行。 - 到目前为止,大约 30% 的应用程序已经转移为云原生程序。 - -
-
-

影响

- “到 2016 年底,华为的内部 IT 部门使用基于 Kubernetes 的平台即服务(PaaS)解决方案管理了 4000 多个节点和数万个容器。 - 全局部署周期从一周缩短到几分钟,应用程序交付效率提高了 10 倍”。 - +

挑战

- 对于底线,侯培新表示,“我们还看到运营开支大幅削减,在某些情况下可削减 20% 到 30%,我们认为这对我们的业务非常有帮助”。 - - - 这里给出一些华为内部结果资料、外部需求,也是公司的技术包装产品 FusionStage™ , - 它被作为一套 PaaS 解决方案提供给其客户。 - -
+

+ +华为作为一个跨国企业,是世界上最大的电信设备制造商,拥有超过 18 万名员工。 +为了支持华为在全球的快速业务发展,华为内部 IT 部门有 8 个数据中心, +这些数据中心在 10 万多台虚拟机上运行了 800 多个应用程序,为内部 18 万用户提供服务。 +随着新应用程序的快速增长,基于虚拟机的应用程序管理和部署的成本和效率都成为业务敏捷性的关键挑战。 +该公司首席软件架构师、开源社区总监侯培新表示: +“这是一个超大的分布式系统,因此我们发现,以更一致的方式管理所有任务始终是一个挑战。 +我们希望进入一种更敏捷、更得体的实践”。 +

-
+ +

解决方案

-
+

+ +在决定使用容器技术后,华为开始将内部 IT 部门的应用程序迁移到 Kubernetes 上运行。 +到目前为止,大约 30% 的应用程序已经转移为云原生程序。 +

-
-
- “如果你是一个供应商,为了说服你的客户,你应该自己使用它。 - 幸运的是,因为华为有很多员工,我们可以利用这种技术来展示我们所能构建的云的规模。” - + +

影响

-
- -
- 侯培新,首席软件架构师、开源社区总监 - -
-
-
+

+ +“到 2016 年底,华为的内部 IT 部门使用基于 Kubernetes 的平台即服务(PaaS)解决方案管理了 4000 多个节点和数万个容器。 +全局部署周期从一周缩短到几分钟,应用程序交付效率提高了 10 倍”。 +对于底线,侯培新表示,“我们还看到运营开支大幅削减,在某些情况下可削减 20% 到 30%,我们认为这对我们的业务非常有帮助”。 +这里给出一些华为内部结果资料、外部需求,也是公司的技术包装产品 +FusionStage™ , +它被作为一套 PaaS 解决方案提供给其客户。 +

-
+ +{{< case-studies/quote author="侯培新,首席软件架构师、开源社区总监" >}} +“如果你是一个供应商,为了说服你的客户,你应该自己使用它。 +幸运的是,因为华为有很多员工,我们可以利用这种技术来展示我们所能构建的云的规模。” +{{< /case-studies/quote >}} -
- 华为的 Kubernetes 之旅始于一位开发者。 - +

+ +华为的 Kubernetes 之旅始于一位开发者。 +两年前,这家网络和电信巨头雇佣的一名工程师对 Kubernetes +这一跨主机集群的管理应用程序容器的技术产生了兴趣,并开始为其开源社区作出贡献。 +随着技术和社区的发展,他不断地将这门技术告诉他的经理们。 +

- 两年前,这家网络和电信巨头雇佣的一名工程师对 Kubernetes - 这一跨主机集群的管理应用程序容器的技术产生了兴趣,并开始为其开源社区作出贡献。 - +

+ +与此同时,华为也在为其内部的企业 IT 部门寻找更好的编排系统,该系统应该支持每一个业务的流程处理。 +华为首席软件架构师、开源社区总监侯培新表示, +“我们在全球拥有逾 18 万名员工,内部流程复杂,所以这个部门可能每周都需要开发一些新的应用程序。 +我们的 IT 部门经常需要启动数万个容器,任务要跨越全球数千个节点。 +这是一个超大的分布式的系统,所以我们发现以更一致的方式管理所有的任务总是一个挑战”。 +

- 随着技术和社区的发展,他不断地将这门技术告诉他的经理们。

- +

+ +过去,华为曾使用虚拟机来封装应用程序,但是,“每次我们启动虚拟机时”,侯培新说, +“无论是因为它是一项新服务,还是因为它是一项由于节点功能异常而被关闭的服务,都需要花费大量时间”。 +华为转向了容器化,所以是时候尝试 Kubernetes 了。 +采纳了这位工程师的建议花费了一年的时间,这个过程“不是一蹴而就的”,侯说, +但一旦投入使用,“Kubernetes 基本上解决了我们的大部分问题。 +以前,部署时间大约需要一周,现在只需几分钟。 +开发人员非常高兴。使用 Kubernetes 的那个部门也十分高兴”。 +

- 与此同时,华为也在为其内部的企业 IT 部门寻找更好的编排系统,该系统应该支持每一个业务的流程处理。 - +

+ +侯培新看到了使用这项技术给公司带来的巨大好处, +“Kubernetes 为基于云的应用程序带来了敏捷性、扩展能力和 DevOps 实践”,他说, +“它为我们提供了自定义调度体系结构的能力,这使得容器任务之间的关联性成为可能,从而提高了效率。 +它支持多种容器格式,同时广泛支持各种容器网络解决方案和容器存储方案”。 +

- 华为首席软件架构师、开源社区总监侯培新表示, - “我们在全球拥有逾 18 万名员工,内部流程复杂,所以这个部门可能每周都需要开发一些新的应用程序。 - +{{< case-studies/quote image="/images/case-studies/huawei/banner3.jpg" >}} + +“Kubernetes 基本上解决了我们的大部分问题。 +以前,部署时间大约需要一周,现在只需几分钟。 +开发人员很高兴。使用 Kubernetes 的部门也很高兴。” +{{< /case-studies/quote >}} - 我们的 IT 部门经常需要启动数万个容器,任务要跨越全球数千个节点。 - 这是一个超大的分布式的系统,所以我们发现以更一致的方式管理所有的任务总是一个挑战”。

- +

+ +最重要的是,这对底线有影响。侯培新说, +“我们还看到,在某些情况下,运营开支会大幅削减 20% 到 30%,这对我们的业务非常有帮助”。 +

- 过去,华为曾使用虚拟机来封装应用程序,但是,“每次我们启动虚拟机时”,侯培新说, - “无论是因为它是一项新服务,还是因为它是一项由于节点功能异常而被关闭的服务,都需要花费大量时间”。 - +

+ +华为对这些初步结果感到满意,并看到客户对云原生技术的需求,因此加大了 Kubernetes 的投入。 +2016 年春,公司不仅成为用户,而且成为了供应商。 +

- 华为转向了容器化,所以是时候尝试 Kubernetes 了。 - 采纳了这位工程师的建议花费了一年的时间,这个过程“不是一蹴而就的”,侯说, - +

+ +“我们构建了 Kubernetes 技术解决方案”,侯培新说, +指的是华为的 FusionStage™ PaaS 输出。 +“我们的客户,从非常大的电信运营商到银行,都喜欢云原生的想法。他们喜欢 Kubernetes 的技术。 +但是他们需要花费大量的时间来分解他们的应用程序,将它们转换为微服务体系结构。 +作为解决方案提供者,我们帮助他们。我们已经开始与一些中国银行合作, +我们看到中国移动德国电信等客户对我们很感兴趣”。 +

- 但一旦投入使用,“Kubernetes 基本上解决了我们的大部分问题。 - 以前,部署时间大约需要一周,现在只需几分钟。 - +

+ +“如果你是一个用户,你就仅仅是个用户”,侯培新补充道,“但如果你是一个供应商,为了说服你的客户,你应该自己使用它。 +幸运的是,因为华为有很多员工,我们可以利用这种技术来展示我们所能构建的云的规模,向客户提供智慧服务”。 +尽管华为拥有自己的私有云,但其许多客户使用华为的解决方案运行跨云应用程序。 +这是一个很大的卖点,大多数公共云提供商现在都支持 Kubernetes。 +侯培新说,“这使得跨云转换比其他解决方案更容易”。 +

- 开发人员非常高兴。使用 Kubernetes 的那个部门也十分高兴”。

- +{{< case-studies/quote image="/images/case-studies/huawei/banner4.jpg" >}} + +“我们的客户,从非常大的电信运营商到银行,都喜欢云原生的想法。他们喜欢 Kubernetes 的技术。 +但是他们需要花很多时间来分解他们的应用程序,把它们变成微服务体系结构,作为一个解决方案提供商,我们帮助他们。” +{{< /case-studies/quote >}} - 侯培新看到了使用这项技术给公司带来的巨大好处, - “Kubernetes 为基于云的应用程序带来了敏捷性、扩展能力和 DevOps 实践”,他说, - - - “它为我们提供了自定义调度体系结构的能力,这使得容器任务之间的关联性成为可能,从而提高了效率。 - 它支持多种容器格式,同时广泛支持各种容器网络解决方案和容器存储方案”。 - -
-
+

+ +在华为内部,一旦他的团队完成内部业务流程部门向 Kubernetes 的转型,侯培新希望说服更多部门转向云原生开发和实践。 +“我们有很多软件开发人员,所以我们将为他们提供我们的平台作为服务解决方案,我们自己的产品”, +他说,“我们希望在他们的迭代周期中看到显著的成本削减”。 +

-
-
- “Kubernetes 基本上解决了我们的大部分问题。 - 以前,部署时间大约需要一周,现在只需几分钟。 - 开发人员很高兴。使用 Kubernetes 的部门也很高兴。” - -
-
+

+ +在见证了华为最开始的向 Kubernetes 的转型之后,侯培新为其他考虑该技术的公司提供了建议, +“当你开始设计应用程序的架构时,首先考虑云原生,然后再考虑微服务架构”,他说,“我想你会从中受益”。 +

-
-
- 最重要的是,这对底线有影响。侯培新说, - “我们还看到,在某些情况下,运营开支会大幅削减 20% 到 30%,这对我们的业务非常有帮助”。

- +

+ +但是如果您已经有了遗留应用程序,“首先从这些应用程序中一些对微服务友好的部分开始, +这些部分相对容易分解成更简单的部分,并且相对轻量级”,侯培新说, +“不要从一开始就认为我想在几天内将整个架构或所有东西都迁移到微服务中。 +不要把它当作目标。你应该循序渐进地做这件事。 +我想说的是,对于遗留应用程序,并不是每个部分都适合微服务架构”。 +

- 华为对这些初步结果感到满意,并看到客户对云原生技术的需求,因此加大了 Kubernetes 的投入。 - 2016 年春,公司不仅成为用户,而且成为了供应商。

- +

+ +毕竟,尽管侯培新对华为的 Kubernetes 充满热情,但他估计, +“未来 10 年,或许 80% 的工作负载可以分布式地在云原生环境中运行,但仍然有 20% 不是,但是没关系。 +如果我们能够让 80% 的工作负载真正是云原生的、敏捷的,那么最终会有一个更好的世界”。 +

- “我们构建了 Kubernetes 技术解决方案”,侯培新说, - 指的是华为的 FusionStage™ PaaS 输出。 - +{{< case-studies/quote >}} + +“未来 10 年,可能 80% 的工作负载可以分布式地在云原生环境中运行,但仍然有 20% 不是,不过没关系。 +如果我们能够让 80% 的工作负载真正是云原生的、敏捷的,那么最终会有一个更好的世界。” +{{< /case-studies/quote >}} - “我们的客户,从非常大的电信运营商到银行,都喜欢云原生的想法。他们喜欢 Kubernetes 的技术。 - 但是他们需要花费大量的时间来分解他们的应用程序,将它们转换为微服务体系结构。 - 作为解决方案提供者,我们帮助他们。 - +

+ +在不久的将来,侯培新期待着围绕着 Kubernetes 开发的新功能,尤其是华为正在开发的那些功能。 +华为的工程师已经在为联邦功能(将多个 Kubernetes 集群放在一个框架中进行无缝管理)、调度、容器网络和存储, +以及刚刚发布的一项名为 Container Ops 的技术工作,这是一个 DevOps 管道引擎。 +“这将把每个 DevOps 作业放到一个容器中”,他解释说,“这种容器机制使用 Kubernetes 运行,也用于测试 Kubernetes。 +有了这种机制,我们可以比以前更容易地创建、共享和管理容器化 DevOps 作业”。 +

- 我们已经开始与一些中国银行合作,我们看到中国移动(China Mobile)和德国电信(Deutsche Telekom)等客户对我们很感兴趣”。

- +

+ +尽管如此,侯培新认为这项技术只是实现其全部潜力的一半。 +首先,也是最重要的,他想要扩大它可以协调的规模, +这对于华为这样的超大规模公司以及它的一些客户来说非常重要。 +

- “如果你是一个用户,你就仅仅是个用户”,侯培新补充道,“但如果你是一个供应商,为了说服你的客户,你应该自己使用它。 - - - 幸运的是,因为华为有很多员工,我们可以利用这种技术来展示我们所能构建的云的规模,向客户提供智慧服务”。 - - - 尽管华为拥有自己的私有云,但其许多客户使用华为的解决方案运行跨云应用程序。 - 这是一个很大的卖点,大多数公共云提供商现在都支持 Kubernetes。 - 侯培新说,“这使得跨云转换比其他解决方案更容易”。

- -
-
- -
-
- “我们的客户,从非常大的电信运营商到银行,都喜欢云原生的想法。他们喜欢 Kubernetes 的技术。 - 但是他们需要花很多时间来分解他们的应用程序,把它们变成微服务体系结构,作为一个解决方案提供商,我们帮助他们。” - -
-
- -
-
- - 在华为内部,一旦他的团队完成内部业务流程部门向 Kubernetes 的转型,侯培新希望说服更多部门转向云原生开发和实践。 - - - “我们有很多软件开发人员,所以我们将为他们提供我们的平台作为服务解决方案,我们自己的产品”, - 他说,“我们希望在他们的迭代周期中看到显著的成本削减”。

- - - 在见证了华为最开始的向 Kubernetes 的转型之后,侯培新为其他考虑该技术的公司提供了建议, - “当你开始设计应用程序的架构时,首先考虑云原生,然后再考虑微服务架构”,他说,“我想你会从中受益”。

- - - 但是如果您已经有了遗留应用程序,“首先从这些应用程序中一些对微服务友好的部分开始, - 这些部分相对容易分解成更简单的部分,并且相对轻量级”,侯培新说, - - - “不要从一开始就认为我想在几天内将整个架构或所有东西都迁移到微服务中。 - 不要把它当作目标。你应该循序渐进地做这件事。 - 我想说的是,对于遗留应用程序,并不是每个部分都适合微服务架构”。

- - - 毕竟,尽管侯培新对华为的 Kubernetes 充满热情,但他估计, - “未来 10 年,或许 80% 的工作负载可以分布式地在云原生环境中运行,但仍然有 20% 不是,但是没关系。 - 如果我们能够让 80% 的工作负载真正是云原生的、敏捷的,那么最终会有一个更好的世界”。 - -
-
- -
-
- “未来 10 年,可能 80% 的工作负载可以分布式地在云原生环境中运行,但仍然有 20% 不是,不过没关系。 - 如果我们能够让 80% 的工作负载真正是云原生的、敏捷的,那么最终会有一个更好的世界。” - -
-
-
-
- 在不久的将来,侯培新期待着围绕着 Kubernetes 开发的新功能,尤其是华为正在开发的那些功能。 - - - 华为的工程师已经在为联邦功能(将多个 Kubernetes 集群放在一个框架中进行无缝管理)、调度、容器网络和存储,以及刚刚发布的一项名为 - Container Ops 的技术工作,这是一个 DevOps 管道引擎。 - - - “这将把每个 DevOps 作业放到一个容器中”,他解释说,“这种容器机制使用 Kubernetes 运行,也用于测试 Kubernetes。 - 有了这种机制,我们可以比以前更容易地创建、共享和管理容器化 DevOps 作业”。

- - - 尽管如此,侯培新认为这项技术只是实现其全部潜力的一半。 - 首先,也是最重要的,他想要扩大它可以协调的规模, - 这对于华为这样的超大规模公司以及它的一些客户来说非常重要。

- - - 侯培新自豪地指出,在华为第一位工程师成为 Kubernetes 的贡献者和传道者两年后,华为现在是这个社区的最大贡献者。 - 他说,“我们发现,你对社区的贡献越大,你得到的回报也就越多”。 - -
-
+

+ +侯培新自豪地指出,在华为第一位工程师成为 Kubernetes 的贡献者和传道者两年后,华为现在是这个社区的最大贡献者。 +他说,“我们发现,你对社区的贡献越大,你得到的回报也就越多”。 +

From bcd9d3b51da154c123f8f113a96bfa248d8e3cac Mon Sep 17 00:00:00 2001 From: Rodrigo Campos Date: Mon, 24 Mar 2025 15:48:05 +0100 Subject: [PATCH 063/121] userns: Clarify volume usage Signed-off-by: Rodrigo Campos --- .../docs/concepts/workloads/pods/user-namespaces.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/content/en/docs/concepts/workloads/pods/user-namespaces.md b/content/en/docs/concepts/workloads/pods/user-namespaces.md index 218622ab46..d663627e7c 100644 --- a/content/en/docs/concepts/workloads/pods/user-namespaces.md +++ b/content/en/docs/concepts/workloads/pods/user-namespaces.md @@ -84,7 +84,18 @@ The kubelet will pick host UIDs/GIDs a pod is mapped to, and will do so in a way to guarantee that no two pods on the same node use the same mapping. The `runAsUser`, `runAsGroup`, `fsGroup`, etc. fields in the `pod.spec` always -refer to the user inside the container. +refer to the user inside the container. These users will be used for volume +mounts (specified in `pod.spec.volumes`) and therefore the host UID/GID will not +have any effect on writes/reads from volumes the pod can mount. In other words, +the inodes created/read in volumes mounted by the pod will be the same as if the +pod wasn't using user namespaces. + +This way, a pod can easily enable and disable user namespaces (without affecting +its volume's file ownerships) and can also share volumes with pods without user +namespaces by just setting the appropriate users inside the container +(`RunAsUser`, `RunAsGroup`, `fsGroup`, etc.). This applies to any volume the pod +can mount, including `hostPath` (if the pod is allowed to mount `hostPath` +volumes). The valid UIDs/GIDs when this feature is enabled is the range 0-65535. This applies to files and processes (`runAsUser`, `runAsGroup`, etc.). From 4763f1ccc2fd51c42d71d589094f5b1cbca3ed2c Mon Sep 17 00:00:00 2001 From: Tabitha Sable Date: Mon, 24 Mar 2025 11:28:20 -0500 Subject: [PATCH 064/121] Add blog post about CVE-2025-1974 and friends --- .../2025-03-24-ingress-nginx-CVE-2025-1974.md | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 content/en/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md diff --git a/content/en/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md b/content/en/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md new file mode 100644 index 0000000000..82eeb80993 --- /dev/null +++ b/content/en/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md @@ -0,0 +1,54 @@ +--- +layout: blog +title: "Ingress-nginx CVE-2025-1974: What You Need to Know" +date: 2025-03-24 +slug: ingress-nginx-CVE-2025-1974 +author: > + Tabitha Sable (Kubernetes Security Response Committee) +--- + +Today, the ingress-nginx maintainers have [released patches for a batch of critical vulnerabilities](https://github.com/kubernetes/ingress-nginx/releases) that could make it easy for attackers to take over your Kubernetes cluster. If you are among the over 40% of Kubernetes administrators using [ingress-nginx](https://github.com/kubernetes/ingress-nginx/), you should take action immediately to protect your users and data. + +## Background + +[Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) is the traditional Kubernetes feature for exposing your workload Pods to the world so that they can be useful. In an implementation-agnostic way, Kubernetes users can define how their applications should be made available on the network. Then, an [ingress controller](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/) uses that definition to set up local or cloud resources as required for the user’s particular situation and needs. + +Many different ingress controllers are available, to suit users of different cloud providers or brands of load balancers. Ingress-nginx is a software-only ingress controller provided by the Kubernetes project. Because of its versatility and ease of use, ingress-nginx is quite popular: it is deployed in over 40% of Kubernetes clusters\! + +Ingress-nginx translates the requirements from Ingress objects into configuration for nginx, a powerful open source webserver daemon. Then, nginx uses that configuration to accept and route requests to the various applications running within a Kubernetes cluster. Proper handling of these nginx configuration parameters is crucial, because ingress-nginx needs to allow users significant flexibility while preventing them from accidentally or intentionally tricking nginx into doing things it shouldn’t. + +## Vulnerabilities Patched Today + +Four of today’s ingress-nginx vulnerabilities are improvements to how ingress-nginx handles particular bits of nginx config. Without these fixes, a specially-crafted Ingress object can cause nginx to misbehave in various ways, including revealing the values of [Secrets](https://kubernetes.io/docs/concepts/configuration/secret/) that are accessible to ingress-nginx. By default, ingress-nginx has access to all Secrets cluster-wide, so this can often lead to complete cluster takeover by any user or entity that has permission to create an Ingress. + +The most serious of today’s vulnerabilities, [CVE-2025-1974](https://github.com/kubernetes/kubernetes/issues/131009), rated [9.8 CVSS](https://www.first.org/cvss/calculator/3-1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H), allows anything on the Pod network to exploit configuration injection vulnerabilities via the Validating Admission Controller feature of ingress-nginx. This makes such vulnerabilities far more dangerous: ordinarily one would need to be able to create an Ingress object in the cluster, which is a fairly privileged action. When combined with today’s other vulnerabilities, **CVE-2025-1974 means that anything on the Pod network has a good chance of taking over your Kubernetes cluster, with no credentials or administrative access required**. In many common scenarios, the Pod network is accessible to all workloads in your cloud VPC, or even anyone connected to your corporate network\! This is a very serious situation. + +Today, we have [released ingress-nginx v1.12.1 and v1.11.5](https://github.com/kubernetes/ingress-nginx/releases), which have fixes for all five of these vulnerabilities. + +## Your Next Steps + +First, determine if your clusters are using ingress-nginx. In most cases, you can check this by running `kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx` with cluster administrator permissions. + +**If you are using ingress-nginx, make a plan to remediate these vulnerabilities immediately.** + +**The best and easiest remedy is to [upgrade to the new patch release of ingress-nginx](https://kubernetes.github.io/ingress-nginx/deploy/upgrade/).** All five of today’s vulnerabilities are fixed by installing today’s patches. + +If you can’t upgrade right away, you can significantly reduce your risk by turning off the Validating Admission Controller feature of ingress-nginx. + +* If you have installed ingress-nginx using Helm + * Reinstall, setting the Helm value `controller.admissionWebhooks.enabled=false` +* If you have installed ingress-nginx manually + * delete the ValidatingWebhookconfiguration called `ingress-nginx-admission` + * edit the `ingress-nginx-controller` Deployment or Daemonset, removing `--validating-webhook` from the controller container’s argument list + +If you turn off the Validating Admission Controller feature as a mitigation for CVE-2025-1974, remember to turn it back on after you upgrade. This feature provides important quality of life improvements for your users, warning them about incorrect Ingress configurations before they can take effect. + +## Conclusion, Thanks, and Further Reading + +The ingress-nginx vulnerabilities announced today, including CVE-2025-1974, present a serious risk to many Kubernetes users and their data. If you use ingress-nginx, you should take action immediately to keep yourself safe. + +Thanks go out to Nir Ohfeld, Sagi Tzadik, Ronen Shustin, and Hillai Ben-Sasson from Wiz for responsibly disclosing these vulnerabilities, and for working with the Kubernetes SRC members and ingress-nginx maintainers (Marco Ebert and James Strong) to ensure we fixed them effectively. + +For further information about the maintenance and future of ingress-nginx, please see [this GitHub issue](https://github.com/kubernetes/ingress-nginx/issues/13002) and/or attend [James and Marco’s KubeCon/CloudNativeCon EU 2025 presentation](https://kccnceu2025.sched.com/event/1tcyc/). + +For further information about the specific vulnerabilities discussed in this article, please see the appropriate GitHub issue: [CVE-2025-24513](https://github.com/kubernetes/kubernetes/issues/131005), [CVE-2025-24514](https://github.com/kubernetes/kubernetes/issues/131006), [CVE-2025-1097](https://github.com/kubernetes/kubernetes/issues/131007), [CVE-2025-1098](https://github.com/kubernetes/kubernetes/issues/131008), or [CVE-2025-1974](https://github.com/kubernetes/kubernetes/issues/131009) From 5b9ee8c5424f4658748f8f1b7ded01d284defd97 Mon Sep 17 00:00:00 2001 From: Graziano Casto Date: Mon, 24 Mar 2025 20:24:07 +0100 Subject: [PATCH 065/121] Update kube scheduler simulator blog post --- .../blog/_posts/2025-12-31-kube-scheduler-simulator/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/blog/_posts/2025-12-31-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2025-12-31-kube-scheduler-simulator/index.md index aa91106ab4..b37a3e157d 100644 --- a/content/en/blog/_posts/2025-12-31-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2025-12-31-kube-scheduler-simulator/index.md @@ -1,8 +1,8 @@ --- layout: blog title: "Introducing kube-scheduler-simulator" -date: 2025-12-31 -draft: true +date: 2025-04-07 +draft: false slug: introducing-kube-scheduler-simulator author: Kensei Nakada (Tetrate) --- From b664396fc33760f8c212fe3bb75b969cc174096d Mon Sep 17 00:00:00 2001 From: Tim Bannister Date: Mon, 24 Mar 2025 21:03:04 +0000 Subject: [PATCH 066/121] Apply suggestions from blog review Co-authored-by: Dipesh Rawat --- .../_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/en/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md b/content/en/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md index 82eeb80993..26a07a47a0 100644 --- a/content/en/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md +++ b/content/en/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md @@ -1,7 +1,7 @@ --- layout: blog title: "Ingress-nginx CVE-2025-1974: What You Need to Know" -date: 2025-03-24 +date: 2025-03-24T12:00:00-08:00 slug: ingress-nginx-CVE-2025-1974 author: > Tabitha Sable (Kubernetes Security Response Committee) @@ -11,7 +11,7 @@ Today, the ingress-nginx maintainers have [released patches for a batch of criti ## Background -[Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) is the traditional Kubernetes feature for exposing your workload Pods to the world so that they can be useful. In an implementation-agnostic way, Kubernetes users can define how their applications should be made available on the network. Then, an [ingress controller](https://kubernetes.io/docs/concepts/services-networking/ingress-controllers/) uses that definition to set up local or cloud resources as required for the user’s particular situation and needs. +[Ingress](/docs/concepts/services-networking/ingress/) is the traditional Kubernetes feature for exposing your workload Pods to the world so that they can be useful. In an implementation-agnostic way, Kubernetes users can define how their applications should be made available on the network. Then, an [ingress controller](/docs/concepts/services-networking/ingress-controllers/) uses that definition to set up local or cloud resources as required for the user’s particular situation and needs. Many different ingress controllers are available, to suit users of different cloud providers or brands of load balancers. Ingress-nginx is a software-only ingress controller provided by the Kubernetes project. Because of its versatility and ease of use, ingress-nginx is quite popular: it is deployed in over 40% of Kubernetes clusters\! @@ -19,13 +19,13 @@ Ingress-nginx translates the requirements from Ingress objects into configuratio ## Vulnerabilities Patched Today -Four of today’s ingress-nginx vulnerabilities are improvements to how ingress-nginx handles particular bits of nginx config. Without these fixes, a specially-crafted Ingress object can cause nginx to misbehave in various ways, including revealing the values of [Secrets](https://kubernetes.io/docs/concepts/configuration/secret/) that are accessible to ingress-nginx. By default, ingress-nginx has access to all Secrets cluster-wide, so this can often lead to complete cluster takeover by any user or entity that has permission to create an Ingress. +Four of today’s ingress-nginx vulnerabilities are improvements to how ingress-nginx handles particular bits of nginx config. Without these fixes, a specially-crafted Ingress object can cause nginx to misbehave in various ways, including revealing the values of [Secrets](/docs/concepts/configuration/secret/) that are accessible to ingress-nginx. By default, ingress-nginx has access to all Secrets cluster-wide, so this can often lead to complete cluster takeover by any user or entity that has permission to create an Ingress. The most serious of today’s vulnerabilities, [CVE-2025-1974](https://github.com/kubernetes/kubernetes/issues/131009), rated [9.8 CVSS](https://www.first.org/cvss/calculator/3-1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H), allows anything on the Pod network to exploit configuration injection vulnerabilities via the Validating Admission Controller feature of ingress-nginx. This makes such vulnerabilities far more dangerous: ordinarily one would need to be able to create an Ingress object in the cluster, which is a fairly privileged action. When combined with today’s other vulnerabilities, **CVE-2025-1974 means that anything on the Pod network has a good chance of taking over your Kubernetes cluster, with no credentials or administrative access required**. In many common scenarios, the Pod network is accessible to all workloads in your cloud VPC, or even anyone connected to your corporate network\! This is a very serious situation. Today, we have [released ingress-nginx v1.12.1 and v1.11.5](https://github.com/kubernetes/ingress-nginx/releases), which have fixes for all five of these vulnerabilities. -## Your Next Steps +## Your next steps First, determine if your clusters are using ingress-nginx. In most cases, you can check this by running `kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx` with cluster administrator permissions. @@ -43,12 +43,12 @@ If you can’t upgrade right away, you can significantly reduce your risk by tur If you turn off the Validating Admission Controller feature as a mitigation for CVE-2025-1974, remember to turn it back on after you upgrade. This feature provides important quality of life improvements for your users, warning them about incorrect Ingress configurations before they can take effect. -## Conclusion, Thanks, and Further Reading +## Conclusion, thanks, and further reading The ingress-nginx vulnerabilities announced today, including CVE-2025-1974, present a serious risk to many Kubernetes users and their data. If you use ingress-nginx, you should take action immediately to keep yourself safe. Thanks go out to Nir Ohfeld, Sagi Tzadik, Ronen Shustin, and Hillai Ben-Sasson from Wiz for responsibly disclosing these vulnerabilities, and for working with the Kubernetes SRC members and ingress-nginx maintainers (Marco Ebert and James Strong) to ensure we fixed them effectively. -For further information about the maintenance and future of ingress-nginx, please see [this GitHub issue](https://github.com/kubernetes/ingress-nginx/issues/13002) and/or attend [James and Marco’s KubeCon/CloudNativeCon EU 2025 presentation](https://kccnceu2025.sched.com/event/1tcyc/). +For further information about the maintenance and future of ingress-nginx, please see this [GitHub issue](https://github.com/kubernetes/ingress-nginx/issues/13002) and/or attend [James and Marco’s KubeCon/CloudNativeCon EU 2025 presentation](https://kccnceu2025.sched.com/event/1tcyc/). For further information about the specific vulnerabilities discussed in this article, please see the appropriate GitHub issue: [CVE-2025-24513](https://github.com/kubernetes/kubernetes/issues/131005), [CVE-2025-24514](https://github.com/kubernetes/kubernetes/issues/131006), [CVE-2025-1097](https://github.com/kubernetes/kubernetes/issues/131007), [CVE-2025-1098](https://github.com/kubernetes/kubernetes/issues/131008), or [CVE-2025-1974](https://github.com/kubernetes/kubernetes/issues/131009) From 94fb5237fe70d83430120843e0673826eef13eef Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Sun, 23 Mar 2025 22:54:02 +0800 Subject: [PATCH 067/121] [zh-cn]Add blog: 2025-03-24-kubernetes-1.33-sneak-peek Signed-off-by: xin.li --- .../2025-03-26-kubernetes-1.33-sneak-peek.md | 329 ++++++++++++++++++ 1 file changed, 329 insertions(+) create mode 100644 content/zh-cn/blog/_posts/2025-03-26-kubernetes-1.33-sneak-peek.md diff --git a/content/zh-cn/blog/_posts/2025-03-26-kubernetes-1.33-sneak-peek.md b/content/zh-cn/blog/_posts/2025-03-26-kubernetes-1.33-sneak-peek.md new file mode 100644 index 0000000000..e7dddaa9c8 --- /dev/null +++ b/content/zh-cn/blog/_posts/2025-03-26-kubernetes-1.33-sneak-peek.md @@ -0,0 +1,329 @@ +--- +layout: blog +title: 'Kubernetes v1.33 预览' +date: 2025-03-26T10:30:00-08:00 +slug: kubernetes-v1-33-upcoming-changes +author: > + Agustina Barbetta, + Aakanksha Bhende, + Udi Hofesh, + Ryota Sawada, + Sneha Yadav +translator: > + [Xin Li](https://github.com/my-git9) (DaoCloud) +--- + + + +随着 Kubernetes v1.33 版本的发布临近,Kubernetes 项目仍在不断发展。 +为了提升项目的整体健康状况,某些特性可能会被弃用、移除或替换。 +这篇博客文章概述了 v1.33 版本的一些计划变更,发布团队认为你有必要了解这些内容, +以确保 Kubernetes 环境的持续平稳运行,并让你掌握最新的发展动态。 +以下信息基于 v1.33 版本的当前状态,在最终发布日期之前可能会有所变化。 + + +## Kubernetes API 的移除与弃用流程 + +Kubernetes 项目针对特性的弃用有一套完善的[弃用政策](/zh-cn/docs/reference/using-api/deprecation-policy/)。 +该政策规定,只有在有更新的、稳定的同名 API 可用时,才能弃用稳定的 API, +并且每个稳定性级别的 API 都有最低的生命周期要求。被弃用的 API 已被标记为将在未来的 +Kubernetes 版本中移除。在移除之前(自弃用起至少一年内),它仍然可以继续使用, +但使用时会显示警告信息。已被移除的 API 在当前版本中不再可用,届时你必须迁移到使用替代方案。 + + +* 一般可用(GA)或稳定 API 版本可以被标记为已弃用,但在 Kubernetes + 的一个主要版本内不得移除。 + +* 测试版或预发布 API 版本在弃用后必须支持至少三个发行版本。 + +* Alpha 或实验性 API 版本可以在任何版本中被移除,且无需事先发出弃用通知; + 如果同一特性已经有了不同的实现,这个过程可能会变为撤回。 + + +无论是由于某个特性从测试阶段升级为稳定阶段而导致 API 被移除,还是因为该 +API 未能成功,所有的移除操作都遵循此弃用政策。每当一个 API 被移除时, +迁移选项都会在[弃用指南](/zh-cn/docs/reference/using-api/deprecation-guide/)中进行说明。 + + +## Kubernetes v1.33 的弃用与移除 + +### 稳定版 Endpoints API 的弃用 + +[EndpointSlices](/zh-cn/docs/concepts/services-networking/endpoint-slices/) API +自 v1.21 起已稳定,实际上取代了原有的 Endpoints API。虽然原有的 Endpoints API 简单直接, +但在扩展到大量网络端点时也带来了一些挑战。EndpointSlices API 引入了诸如双栈网络等新特性, +使得原有的 Endpoints API 已准备好被弃用。 + + +此弃用仅影响那些直接在工作负载或脚本中使用 Endpoints API 的用户; +这些用户应迁移到使用 EndpointSlices。未来几周内将发布一篇专门的博客文章, +详细介绍弃用的影响和迁移计划。 + +你可以在 [KEP-4974: Deprecate v1.Endpoints](https://kep.k8s.io/4974) +中找到更多信息。 + + +### 节点状态中 kube-proxy 版本信息的移除 + +继在 v1.31 中被弃用,并在[发布说明](/blog/2024/07/19/kubernetes-1-31-upcoming-changes/#deprecation-of-status-nodeinfo-kubeproxyversion-field-for-nodes-kep-4004-https-github-com-kubernetes-enhancements-issues-4004)中强调后, +`status.nodeInfo.kubeProxyVersion` 字段将在 v1.33 中被移除。 +此字段由 kubelet 设置,但其值并不总是准确的。由于自 v1.31 +起该字段默认已被禁用,v1.33 发行版将完全移除此字段。 + + +你可以在 [KEP-4004: Deprecate status.nodeInfo.kubeProxyVersion field](https://kep.k8s.io/4004) +中找到更多信息。 + +### 移除对 Windows Pod 的主机网络支持 + + +Windows Pod 网络旨在通过允许容器使用节点的网络命名空间来实现与 Linux 的特性对等, +并提供更高的集群密度。最初的实现作为 Alpha 版本在 v1.26 中引入,但由于遇到了未预期的 +containerd 行为,且存在替代方案,Kubernetes 项目决定撤回相关的 KEP。 +我们预计在 v1.33 中完全移除对该特性的支持。 + + +你可以在 [KEP-3503: Host network support for Windows pods](https://kep.k8s.io/3503) +中找到更多信息。 + +## Kubernetes v1.33 的特色改进 + +作为本文的作者,我们挑选了一项改进作为最重要的变更来特别提及! + + +### Linux Pods 中用户命名空间的支持 + +当前最古老的开放 KEP 之一是 [KEP-127](https://kep.k8s.io/127), +通过使用 Linux [用户命名空间](/zh-cn/docs/concepts/workloads/pods/user-namespaces/)为 +Pod 提供安全性改进。该 KEP 最初在 2016 年末提出,经过多次迭代,在 v1.25 中发布了 Alpha 版本, +在 v1.30 中首次进入 Beta 阶段(在此版本中默认禁用),现在它将成为 v1.33 的一部分, +默认情况下即可使用该特性。 + + +除非你手动指定 `pod.spec.hostUsers` 以选择使用此特性,否则此支持不会影响现有的 Pod。 +正如在 [v1.30 预览博客](/blog/2024/03/12/kubernetes-1-30-upcoming-changes/)中强调的那样, +就缓解漏洞的影响而言,这是一个重要里程碑。 + +你可以在 [KEP-127: Support User Namespaces in pods](https://kep.k8s.io/127) +中找到更多信息。 + + +## 精选的其他 Kubernetes v1.33 改进 + +以下列出的改进很可能会包含在即将到来的 v1.33 发行版中。 +这些改进尚无法承诺,发行内容仍有可能发生变化。 + + +### Pod 垂直扩展的就地资源调整 + +在制备某个 Pod 时,你可以使用诸如 Deployment、StatefulSet 等多种资源。 +为了满足可扩缩性需求,可能需要通过更新 Pod 副本数量进行水平扩缩,或通过更新分配给 +Pod 容器的资源进行垂直扩缩。在此增强特性之前,Pod 的 `spec` +中定义的容器资源是不可变的,更新 Pod 模板中的这类细节会触发 Pod 的替换。 + + +但是如果可以在不重启的情况下动态更新现有 Pod 的资源配置,那会怎样呢? + +[KEP-1287](https://kep.k8s.io/1287) 正是为了实现这种就地 Pod 更新而设计的。 +它为无状态进程的垂直扩缩开辟了多种可能性,例如在不停机的情况下进行扩容、 +在流量较低时无缝缩容,甚至在启动时分配更多资源,待初始设置完成后减少资源分配。 +该特性在 v1.27 中以 Alpha 版本发布,并预计在 v1.33 中进入 beta 阶段。 + + +你可以在 [KEP-1287:Pod 资源的就地更新](https://kep.k8s.io/1287)中找到更多信息。 + +### DRA 的 ResourceClaim 设备状态升级为 Beta + + +在 v1.32 版本中首次引入的 ResourceClaim `status` 中的 `devices` 字段, +预计将在 v1.33 中升级为 beta 阶段。此字段允许驱动程序报告设备状态数据, +从而提升可观测性和故障排查能力。 + + +例如,在 ResourceClaim 的状态中报告网络接口的接口名称、MAC 地址和 IP 地址, +可以显著帮助配置和管理网络服务,并且在调试网络相关问题时也非常有用。 +你可以在[动态资源分配:ResourceClaim 设备状态](/zh-cn/docs/concepts/scheduling-eviction/dynamic-resource-allocation/#resourceclaim-device-status) +文档中阅读关于 ResourceClaim 设备状态的更多信息。 + + +此外,你可以在 +[KEP-4817: DRA: Resource Claim Status with possible standardized network interface data](https://kep.k8s.io/4817) +中找到更多关于此计划增强特性的信息。 + + +### 有序的命名空间删除 + +此 KEP 为 Kubernetes 命名空间引入了一种更为结构化的删除流程, +以确保更为安全且更为确定的资源移除。当前半随机的删除顺序可能会导致安全漏洞或意外行为, +例如在相关的 NetworkPolicy 被删除后,Pod 仍然存在。 +通过强制执行尊重逻辑和安全依赖关系的结构化删除顺序,此方法确保在删除其他资源之前先删除 Pod。 +这种设计通过减少与非确定性删除相关的风险,提升了 Kubernetes 的安全性和可靠性。 + + +你可以在 [KEP-5080: Ordered namespace deletion](https://kep.k8s.io/5080) +中找到更多信息。 + + +### 针对带索引作业(Indexed Job)管理的增强 + +这两个 KEP 都计划升级为 GA,以提供更好的作业处理可靠性,特别是针对索引作业。 +[KEP-3850](https://kep.k8s.io/3850) 为索引作业中的不同索引分别支持独立的回退限制, +这使得每个索引可以完全独立于其他索引。此外,[KEP-3998](https://kep.k8s.io/3998) +扩展了 Job API,定义了在并非所有索引都成功的情况下将索引作业标记为成功完成的条件。 + + +你可以在 [KEP-3850: Backoff Limit Per Index For Indexed Jobs](https://kep.k8s.io/3850) 和 +[KEP-3998: Job success/completion policy](https://kep.k8s.io/3998) 中找到更多信息。 + + +## 想了解更多? + +新特性和弃用也会在 Kubernetes 发行说明中宣布。我们将在该版本的 +CHANGELOG 中正式宣布 [Kubernetes v1.33](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.33.md) +的新内容。 + + +Kubernetes v1.33 版本计划于 **2025年4月23日星期三**发布。请持续关注以获取更新! + +你也可以在以下版本的发行说明中查看变更公告: + +* [Kubernetes v1.32](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md) + +* [Kubernetes v1.31](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md) + +* [Kubernetes v1.30](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.30.md) + + + +## 参与进来 + +参与 Kubernetes 最简单的方式是加入与你兴趣相符的众多[特别兴趣小组](https://github.com/kubernetes/community/blob/master/sig-list.md)(SIG) +之一。你有什么想向 Kubernetes 社区广播的内容吗? +通过我们每周的[社区会议](https://github.com/kubernetes/community/tree/master/communication)和以下渠道分享你的声音。 +感谢你持续的反馈和支持。 + + +- 在 Bluesky 上关注我们 [@kubernetes.io](https://bsky.app/profile/kubernetes.io) 以获取最新更新 +- 在 [Discuss](https://discuss.kubernetes.io/) 上参与社区讨论 +- 在 [Slack](http://slack.k8s.io/) 上加入社区 +- 在 [Server Fault](https://serverfault.com/questions/tagged/kubernetes) 或 + [Stack Overflow](http://stackoverflow.com/questions/tagged/kubernetes) 上提问(或回答问题) +- 分享你的 Kubernetes [故事](https://docs.google.com/a/linuxfoundation.org/forms/d/e/1FAIpQLScuI7Ye3VQHQTwBASrgkjQDSS5TP0g3AXfFhwSM9YpHgxRKFA/viewform) +- 在[博客](https://kubernetes.io/zh-cn/blog/)上阅读更多关于 Kubernetes 最新动态的内容 +- 了解更多关于 [Kubernetes 发布团队](https://github.com/kubernetes/sig-release/tree/master/release-team)的信息 From 54e152cef18f4705f1418baea46d80667920f8a1 Mon Sep 17 00:00:00 2001 From: Arhell Date: Tue, 25 Mar 2025 00:55:02 +0200 Subject: [PATCH 068/121] [vi] Added "LinkedIn" to toml --- i18n/vi/vi.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/i18n/vi/vi.toml b/i18n/vi/vi.toml index 8416b23837..445649084a 100644 --- a/i18n/vi/vi.toml +++ b/i18n/vi/vi.toml @@ -21,6 +21,9 @@ other = "Diễn đàn" [community_github_name] other = "GitHub" +[community_linkedin_name] +other = "LinkedIn" + [community_slack_name] other = "Slack" From c050f9f8f95216aea986937b34ebdbee926728ca Mon Sep 17 00:00:00 2001 From: za Date: Tue, 25 Mar 2025 16:08:28 +0700 Subject: [PATCH 069/121] Initial commit on translating wordpress tutorial persistent volume EN page: https://kubernetes.io/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/ --- .../mysql-wordpress-persistent-volume.md | 232 ++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 content/id/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md diff --git a/content/id/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md b/content/id/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md new file mode 100644 index 0000000000..acac5ff0af --- /dev/null +++ b/content/id/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md @@ -0,0 +1,232 @@ +--- +title: "Contoh: Men-deploy WordPress dan MySQL dengan Persistent Volumes" +reviewers: +- ahmetb +content_type: tutorial +weight: 20 +card: + name: tutorials + weight: 40 + title: "Contoh Stateful: WordPress dengan Persistent Volumes" +--- + + +Tutorial ini menunjukkan cara untuk men-deploy situs WordPress dan database MySQL menggunakan Minikube. Kedua aplikasi ini menggunakan PersistentVolumes dan PersistentVolumeClaims untuk menyimpan data. + +[PersistentVolume](/docs/concepts/storage/persistent-volumes/) (PV) adalah bagian dari penyimpanan di dalam kluster yang telah disediakan secara manual oleh administrator, atau secara dinamis disediakan oleh Kubernetes menggunakan [StorageClass](/docs/concepts/storage/storage-classes). + +[PersistentVolumeClaim](/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) (PVC) adalah permintaan penyimpanan oleh pengguna yang dapat dipenuhi oleh PV. PersistentVolumes dan PersistentVolumeClaims bersifat independen dari siklus hidup Pod dan mempertahankan data meskipun Pod di-restart, dijadwalkan ulang, atau bahkan dihapus. + +{{< warning >}} +Deployment ini tidak cocok untuk kasus penggunaan produksi, karena menggunakan Pod WordPress dan MySQL instance tunggal. Pertimbangkan untuk menggunakan [WordPress Helm Chart](https://github.com/bitnami/charts/tree/master/bitnami/wordpress) untuk mendeploy WordPress di lingkungan produksi. +{{< /warning >}} + +{{< note >}} +File yang disediakan dalam tutorial ini menggunakan API Deployment GA dan spesifik untuk Kubernetes versi 1.9 dan yang lebih baru. Jika Anda ingin menggunakan tutorial ini dengan versi Kubernetes yang lebih lama, harap perbarui versi API sesuai kebutuhan, atau rujuk ke versi tutorial sebelumnya. +{{< /note >}} + +## {{% heading "objectives" %}} + +* Membuat PersistentVolumeClaims dan PersistentVolumes +* Membuat `kustomization.yaml` dengan + * generator Secret + * konfigurasi sumber daya MySQL + * konfigurasi sumber daya WordPress +* Terapkan direktori kustomisasi dengan `kubectl apply -k ./` +* Bersihkan sumber daya + +## {{% heading "prerequisites" %}} + +{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} + +Contoh yang ditunjukkan di halaman ini bekerja dengan `kubectl` versi 1.27 dan yang lebih baru. + +Unduh file konfigurasi berikut: + +1. [mysql-deployment.yaml](/examples/application/wordpress/mysql-deployment.yaml) + +1. [wordpress-deployment.yaml](/examples/application/wordpress/wordpress-deployment.yaml) + + + +## Membuat PersistentVolumeClaims dan PersistentVolumes + +MySQL dan WordPress masing-masing memerlukan PersistentVolume untuk menyimpan data. PersistentVolumeClaims mereka akan dibuat pada langkah deployment. + +Banyak lingkungan kluster memiliki StorageClass default yang sudah di-instal. Ketika StorageClass tidak ditentukan dalam PersistentVolumeClaim, StorageClass default kluster akan digunakan. + +Ketika PersistentVolumeClaim dibuat, PersistentVolume akan disediakan secara dinamis berdasarkan konfigurasi StorageClass. + +{{< warning >}} +Di kluster lokal, StorageClass default menggunakan provisioner `hostPath`. Volume `hostPath` hanya cocok untuk pengembangan dan pengujian. Dengan volume `hostPath`, data Anda akan disimpan di `/tmp` pada node tempat Pod dijadwalkan dan tidak akan berpindah antar node. Jika sebuah Pod mati dan dijadwalkan ke node lain di kluster, atau node di-reboot, data akan hilang. +{{< /warning >}} + +{{< note >}} +Jika Anda menjalankan kluster yang memerlukan provisioner `hostPath`, flag `--enable-hostpath-provisioner` harus diatur pada komponen `controller-manager`. +{{< /note >}} + +{{< note >}} +Jika Anda memiliki kluster Kubernetes yang berjalan di Google Kubernetes Engine, silakan ikuti [panduan ini](https://cloud.google.com/kubernetes-engine/docs/tutorials/persistent-disk). +{{< /note >}} + +## Membuat kustomization.yaml + +### Menambahkan Generator Secret + +[Secret](/docs/concepts/configuration/secret/) adalah objek yang menyimpan data sensitif seperti kata sandi atau kunci. Sejak versi 1.14, `kubectl` mendukung pengelolaan objek Kubernetes menggunakan file kustomisasi. Anda dapat membuat Secret menggunakan generator di `kustomization.yaml`. + +Tambahkan generator Secret di `kustomization.yaml` dengan perintah berikut. Anda perlu mengganti `KATA_SANDI` dengan kata sandi yang ingin Anda gunakan. + +```shell +cat <./kustomization.yaml +secretGenerator: +- name: mysql-pass + literals: + - password=KATA_SANDI +EOF +``` + +## Menambahkan Konfigurasi Sumber Daya untuk MySQL dan WordPress + +Manifest berikut menjelaskan Deployment MySQL instance tunggal. Kontainer MySQL memasang PersistentVolume di /var/lib/mysql. Variabel lingkungan `MYSQL_ROOT_PASSWORD` mengatur kata sandi database dari Secret. + +{{% code_sample file="application/wordpress/mysql-deployment.yaml" %}} + +Manifest berikut menjelaskan Deployment WordPress instance tunggal. Kontainer WordPress memasang PersistentVolume di `/var/www/html` untuk file data situs web. Variabel lingkungan `WORDPRESS_DB_HOST` mengatur nama Layanan MySQL yang didefinisikan di atas, dan WordPress akan mengakses database melalui Layanan. Variabel lingkungan `WORDPRESS_DB_PASSWORD` mengatur kata sandi database dari Secret yang dihasilkan oleh kustomize. + +{{% code_sample file="application/wordpress/wordpress-deployment.yaml" %}} + +1. Unduh file konfigurasi deployment MySQL. + + ```shell + curl -LO https://k8s.io/examples/application/wordpress/mysql-deployment.yaml + ``` + +2. Unduh file konfigurasi WordPress. + + ```shell + curl -LO https://k8s.io/examples/application/wordpress/wordpress-deployment.yaml + ``` + +3. Tambahkan mereka ke file `kustomization.yaml`. + + ```shell + cat <>./kustomization.yaml + resources: + - mysql-deployment.yaml + - wordpress-deployment.yaml + EOF + ``` + +## Terapkan dan Verifikasi + +`kustomization.yaml` berisi semua sumber daya untuk mendeploy situs WordPress dan database MySQL. Anda dapat menerapkan direktori dengan + +```shell +kubectl apply -k ./ +``` + +Sekarang Anda dapat memverifikasi bahwa semua objek ada. + +1. Verifikasi bahwa Secret ada dengan menjalankan perintah berikut: + + ```shell + kubectl get secrets + ``` + + Responsnya akan seperti ini: + + ``` + NAME TYPE DATA AGE + mysql-pass-c57bb4t7mf Opaque 1 9s + ``` + +2. Verifikasi bahwa PersistentVolume telah disediakan secara dinamis. + + ```shell + kubectl get pvc + ``` + + {{< note >}} + Mungkin memerlukan waktu beberapa menit untuk PV disediakan dan terikat. + {{< /note >}} + + Responsnya akan seperti ini: + + ``` + NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE + mysql-pv-claim Bound pvc-8cbd7b2e-4044-11e9-b2bb-42010a800002 20Gi RWO standard 77s + wp-pv-claim Bound pvc-8cd0df54-4044-11e9-b2bb-42010a800002 20Gi RWO standard 77s + ``` + +3. Verifikasi bahwa Pod sedang berjalan dengan menjalankan perintah berikut: + + ```shell + kubectl get pods + ``` + + {{< note >}} + Mungkin memerlukan waktu beberapa menit untuk Status Pod menjadi `RUNNING`. + {{< /note >}} + + Responsnya akan seperti ini: + + ``` + NAME READY STATUS RESTARTS AGE + wordpress-mysql-1894417608-x5dzt 1/1 Running 0 40s + ``` + +4. Verifikasi bahwa Layanan sedang berjalan dengan menjalankan perintah berikut: + + ```shell + kubectl get services wordpress + ``` + + Responsnya akan seperti ini: + + ``` + NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE + wordpress LoadBalancer 10.0.0.89 80:32406/TCP 4m + ``` + + {{< note >}} + Minikube hanya dapat mengekspos Layanan melalui `NodePort`. EXTERNAL-IP selalu pending. + {{< /note >}} + +5. Jalankan perintah berikut untuk mendapatkan Alamat IP untuk Layanan WordPress: + + ```shell + minikube service wordpress --url + ``` + + Responsnya akan seperti ini: + + ``` + http://1.2.3.4:32406 + ``` + +6. Salin alamat IP, dan muat halaman di browser Anda untuk melihat situs Anda. + + Anda akan melihat halaman pengaturan WordPress yang mirip dengan tangkapan layar berikut. + + ![wordpress-init](https://raw.githubusercontent.com/kubernetes/examples/master/mysql-wordpress-pd/WordPress.png) + + {{< warning >}} + Jangan biarkan instalasi WordPress Anda di halaman ini. Jika pengguna lain menemukannya, mereka dapat mengatur situs web di instance Anda dan menggunakannya untuk menyajikan konten berbahaya.

+ Instal WordPress dengan membuat nama pengguna dan kata sandi atau hapus instance Anda. + {{< /warning >}} + +## {{% heading "cleanup" %}} + +1. Jalankan perintah berikut untuk menghapus Secret, Deployment, Service, dan PersistentVolumeClaim Anda: + + ```shell + kubectl delete -k ./ + ``` + +## {{% heading "whatsnext" %}} + +* Pelajari lebih lanjut tentang [Introspeksi dan Debugging](/docs/tasks/debug/debug-application/debug-running-pod/) +* Pelajari lebih lanjut tentang [Jobs](/docs/concepts/workloads/controllers/job/) +* Pelajari lebih lanjut tentang [Port Forwarding](/docs/tasks/access-application-cluster/port-forward-access-application-cluster/) +* Pelajari cara [Mendapatkan Shell ke Kontainer](/docs/tasks/debug/debug-application/get-shell-running-container/) From a953030d6195fb2a0db69773c648fae78d25a65f Mon Sep 17 00:00:00 2001 From: za Date: Tue, 25 Mar 2025 16:19:50 +0700 Subject: [PATCH 070/121] Removed reviewers as I think is handled by github-action. --- .../stateful-application/mysql-wordpress-persistent-volume.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/id/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md b/content/id/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md index acac5ff0af..7bcd2e812a 100644 --- a/content/id/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md +++ b/content/id/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md @@ -1,7 +1,5 @@ --- title: "Contoh: Men-deploy WordPress dan MySQL dengan Persistent Volumes" -reviewers: -- ahmetb content_type: tutorial weight: 20 card: From 877b34f350765d11a6882a89db752389a4a294fb Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Tue, 25 Mar 2025 20:40:46 +0800 Subject: [PATCH 071/121] [zh-cn]sync persistent-volumes.md Signed-off-by: xin.li --- .../concepts/storage/persistent-volumes.md | 102 ++++++++++-------- 1 file changed, 60 insertions(+), 42 deletions(-) diff --git a/content/zh-cn/docs/concepts/storage/persistent-volumes.md b/content/zh-cn/docs/concepts/storage/persistent-volumes.md index cd309601e5..875f13ff14 100644 --- a/content/zh-cn/docs/concepts/storage/persistent-volumes.md +++ b/content/zh-cn/docs/concepts/storage/persistent-volumes.md @@ -79,7 +79,7 @@ request specific levels of resources (CPU and Memory). Claims can request specif size and access modes (e.g., they can be mounted ReadWriteOnce, ReadOnlyMany, ReadWriteMany, or ReadWriteOncePod, see [AccessModes](#access-modes)). --> -**持久卷申领(PersistentVolumeClaim,PVC)** 表达的是用户对存储的请求。概念上与 Pod 类似。 +**持久卷申领(PersistentVolumeClaim,PVC)** 表达的是用户对存储的请求,概念上与 Pod 类似。 Pod 会耗用节点资源,而 PVC 申领会耗用 PV 资源。Pod 可以请求特定数量的资源(CPU 和内存)。同样 PVC 申领也可以请求特定的大小和访问模式 (例如,可以挂载为 ReadWriteOnce、ReadOnlyMany、ReadWriteMany 或 ReadWriteOncePod, @@ -511,7 +511,8 @@ Events: The finalizer `external-provisioner.volume.kubernetes.io/finalizer` is added for CSI volumes. The following is an example: --> -终结器 `external-provisioner.volume.kubernetes.io/finalizer` 会被添加到 CSI 卷上。下面是一个例子: +终结器 `external-provisioner.volume.kubernetes.io/finalizer` +会被添加到 CSI 卷上。下面是一个例子: ```none Name: pvc-2f0bab97-85a8-4552-8044-eb8be45cf48d @@ -823,7 +824,7 @@ administrator intervention. 1. 将绑定到 PVC 申领的 PV 卷标记为 `Retain` 回收策略。 2. 删除 PVC 对象。由于 PV 的回收策略为 `Retain`,我们不会在重建 PVC 时丢失数据。 3. 删除 PV 规约中的 `claimRef` 项,这样新的 PVC 可以绑定到该卷。 - 这一操作会使得 PV 卷变为 "可用(Available)"。 + 这一操作会使得 PV 卷变为"可用(Available)"。 4. 使用小于 PV 卷大小的尺寸重建 PVC,设置 PVC 的 `volumeName` 字段为 PV 卷的名称。 这一操作将把新的 PVC 对象绑定到现有的 PV 卷。 5. 不要忘记恢复 PV 卷上设置的回收策略。 @@ -1120,15 +1121,6 @@ The access modes are: `ReadOnlyMany` : the volume can be mounted as read-only by many nodes. - -`ReadWriteMany` -: the volume can be mounted as read-write by many nodes. - - `ReadWriteOncePod` -: {{< feature-state for_k8s_version="v1.29" state="stable" >}} - the volume can be mounted as read-write by a single Pod. Use ReadWriteOncePod - access mode if you want to ensure that only one pod across the whole cluster can - read that PVC or write to it. --> 访问模式有: @@ -1140,6 +1132,16 @@ The access modes are: `ReadOnlyMany` : 卷可以被多个节点以只读方式挂载。 + `ReadWriteMany` : 卷可以被多个节点以读写方式挂载。 @@ -1161,8 +1163,8 @@ to these versions or greater: * [csi-attacher:v3.3.0+](https://github.com/kubernetes-csi/external-attacher/releases/tag/v3.3.0) * [csi-resizer:v1.3.0+](https://github.com/kubernetes-csi/external-resizer/releases/tag/v1.3.0) --> -`ReadWriteOncePod` 访问模式仅适用于 {{< glossary_tooltip text="CSI" term_id="csi" >}} 卷和 Kubernetes v1.22+。 -要使用此特性,你需要将以下 +`ReadWriteOncePod` 访问模式仅适用于 {{< glossary_tooltip text="CSI" term_id="csi" >}} +卷和 Kubernetes v1.22+。要使用此特性,你需要将以下 [CSI 边车](https://kubernetes-csi.github.io/docs/sidecar-containers.html)更新为下列或更高版本: - [csi-provisioner:v3.0.0+](https://github.com/kubernetes-csi/external-provisioner/releases/tag/v3.0.0) @@ -1397,7 +1399,8 @@ A PersistentVolume will be in one of the following phases: -你可以使用 `kubectl describe persistentvolume ` 查看已绑定到 PV 的 PVC 的名称。 +你可以使用 `kubectl describe persistentvolume ` 查看已绑定到 +PV 的 PVC 的名称。 +对于 `Filesystem` 类型的卷,存储请求指的是“外部”卷的大小(即从存储后端分配的大小)。 +这意味着,对于在块设备之上构建文件系统的提供商来说,由于文件系统开销,可写入的大小可能会略小。 +这种情况在 XFS 文件系统中尤为明显,因为默认启用了许多元数据功能。 +{{< /note >}} + ### 选择算符 {#selector} @@ -1513,15 +1530,15 @@ can be bound to the claim. The selector can consist of two fields: * `matchLabels` - 卷必须包含带有此值的标签 * `matchExpressions` - 通过设定键(key)、值列表和操作符(operator) - 来构造的需求。合法的操作符有 In、NotIn、Exists 和 DoesNotExist。 + 来构造的需求。合法的操作符有 `In`、`NotIn`、`Exists` 和 `DoesNotExist`。 来自 `matchLabels` 和 `matchExpressions` 的所有需求都按逻辑与的方式组合在一起。 这些需求都必须被满足才被视为匹配。 @@ -1532,8 +1549,8 @@ ANDed together – they must all be satisfied in order to match. A claim can request a particular class by specifying the name of a [StorageClass](/docs/concepts/storage/storage-classes/) using the attribute `storageClassName`. -Only PVs of the requested class, ones with the same `storageClassName` as the PVC, can -be bound to the PVC. +Only PVs of the requested class, ones with the same `storageClassName` as the PVC, +can be bound to the PVC. --> ### 类 {#class} @@ -1545,8 +1562,8 @@ be bound to the PVC. * 如果准入控制器插件被启用,则管理员可以设置一个默认的 StorageClass。 所有未设置 `storageClassName` 的 PVC 都只能绑定到隶属于默认存储类的 PV 卷。 @@ -1635,7 +1651,8 @@ in your cluster. In this case, the new PVC creates as you defined it, and the --> 你可以创建 PersistentVolumeClaim,而无需为新 PVC 指定 `storageClassName`。 即使你的集群中不存在默认 StorageClass,你也可以这样做。 -在这种情况下,新的 PVC 会按照你的定义进行创建,并且在默认值可用之前,该 PVC 的 `storageClassName` 保持不设置。 +在这种情况下,新的 PVC 会按照你的定义进行创建,并且在默认值可用之前,该 PVC 的 +`storageClassName` 保持不设置。 -当一个默认的 StorageClass 变得可用时,控制平面会识别所有未设置 `storageClassName` 的现有 PVC。 -对于 `storageClassName` 为空值或没有此主键的 PVC, +当一个默认的 StorageClass 变得可用时,控制平面会识别所有未设置 `storageClassName` +的现有 PVC。对于 `storageClassName` 为空值或没有此主键的 PVC, 控制平面会更新这些 PVC 以设置其 `storageClassName` 与新的默认 StorageClass 匹配。 如果你有一个现有的 PVC,其中 `storageClassName` 是 `""`, 并且你配置了默认 StorageClass,则此 PVC 将不会得到更新。 @@ -1928,7 +1945,8 @@ only available for CSI volume plugins. --> ## 卷克隆 {#volume-cloning} -[卷克隆](/zh-cn/docs/concepts/storage/volume-pvc-datasource/)功能特性仅适用于 CSI 卷插件。 +[卷克隆](/zh-cn/docs/concepts/storage/volume-pvc-datasource/)功能特性仅适用于 +CSI 卷插件。 - -**作者**:Bob Killen (Google), Chris Short (AWS), Jeremy Rickard (Microsoft), Marko Mudrinić (Kubermatic), Tim Bannister (The Scale Factory) - -**译者**:[Mengjiao Liu](https://github.com/mengjiao-liu) (DaoCloud) +**i 更新(2024 年 3 月 26 日):旧 Google 托管仓库已于 2024 年 3 月 4 日下线。 +现在无法再从旧 Google 托管软件包仓库安装 Kubernetes 软件包。** + -如果你使用的是托管的[控制平面](/zh-cn/docs/concepts/overview/components/#control-plane-components) +如果你使用的是托管的[控制平面](/zh-cn/docs/concepts/architecture/#control-plane-components) 但你负责**自行管理节点**,并且每个节点都运行 Linux, 你应该[检查](#check-if-affected)你是否会受到影响。 @@ -141,6 +157,8 @@ possible and inform your users about this change and what steps they need to tak ## 变更时间表 {#timeline-of-changes} +**(更新于 2024 年 3 月 26 日)** - **2023 年 8 月 15 日:** Kubernetes 宣布推出一个新的社区管理的 Kubernetes 组件 Linux 软件包源 @@ -162,6 +186,10 @@ possible and inform your users about this change and what steps they need to tak - **2023 年 9 月 13 日**(左右): Kubernetes 将冻结旧软件包仓库(`apt.kubernetes.io` 和 `yum.kubernetes.io`)。 冻结将计划于 2023 年 9 月发布补丁版本后立即进行。 +- **2024 年 1 月 12 日:** + Kubernetes 宣布计划在 2024 年 1 月移除旧软件包仓库。 +- **2024 年 3 月 4 日:** + 旧软件包仓库已被移除,现在无法再从旧软件包仓库安装 Kubernetes 软件包。 +### 新的社区拥有的软件包仓库提供哪些可用的软件包版本? {#what-releases-are-available-in-the-new-community-owned-package-repositories} + +Kubernetes 软件包仓库(`pkgs.k8s.io`)提供从 Kubernetes v1.24.0 版本开始的 Linux 软件包。 +Kubernetes 官方没有为早期的 Kubernetes 版本提供可用的 Linux 软件包,但你的 Linux 发行版可能会提供其自有的软件包。 + ## 我可以继续使用旧软件包仓库吗? {#can-i-continue-to-use-the-legacy-package-repositories} +**(更新于 2024 年 3 月 26 日)** + +**旧 Google 托管软件包仓库已于 2024 年 3 月 4 日下线。 +现在无法再从旧 Google 托管软件包仓库安装 Kubernetes 软件包。** + ~~旧仓库中的现有软件包将在可预见的未来内保持可用。然而, Kubernetes 项目无法对这会持续多久提供**任何**保证。 已弃用的旧仓库及其内容可能会在未来随时删除,恕不另行通知。~~ -**更新**: 旧版软件包预计将于 2024 年 1 月被删除。 - -Kubernetes 项目**强烈建议尽快**迁移到新的社区拥有的仓库。 +~~Kubernetes 项目**强烈建议尽快**迁移到新的社区拥有的仓库。~~ +要使用 Kubernetes 官方软件包,需要迁移到新的软件包仓库。 + +Gateway API menyediakan layanan jaringan dengan menggunakan mekanisme konfigurasi yang mudah di-_extend_, berorientasi _role_, dan mengerti konsep protokol. [Gateway API](https://gateway-api.sigs.k8s.io/) adalah sebuah {{}} yang berisi [jenis-jenis](https://gateway-api.sigs.k8s.io/references/spec/) API yang menyediakan penyediaan infrastruktur dinamis dan pengaturan trafik tingkat lanjut. + + + +## Prinsip Desain + +Prinsip-prinsip berikut membentuk desain dan arsitektur Gateway API: + +* __Berorientasi _role_:__ Gateway API dimodelkan sesuai dengan _role_ organisasi yang bertanggung jawab untuk mengelola jaringan layanan Kubernetes: + * __Penyedia Infrastruktur:__ Mengelola infrastruktur yang memungkinkan beberapa kluster terisolasi untuk melayani beberapa _tenant_, misalnya penyedia layanan cloud. + * __Operator Kluster:__ Mengelola kluster dan biasanya memperhatikan kebijakan, akses jaringan, izin aplikasi, dll. + * __Pengembang Aplikasi:__ Mengelola aplikasi yang berjalan di dalam kluster dan biasanya memperhatikan konfigurasi tingkat aplikasi dan komposisi [Service](/docs/concepts/services-networking/service/). +* __Portabel:__ Spesifikasi Gateway API didefinisikan sebagai [Custom Resource](/docs/concepts/extend-kubernetes/api-extension/custom-resources) dan didukung oleh banyak [implementasi](https://gateway-api.sigs.k8s.io/implementations/). +* __Ekspresif:__ Jenis-jenis Gateway API mendukung fungsi untuk kasus penggunaan routing trafik pada umumnya, seperti pencocokan berbasis header, pembobotan trafik, dan lainnya yang sebelumnya hanya mungkin dilakukan di [Ingress](/docs/concepts/services-networking/ingress/) dengan menggunakan anotasi kustom. +* __Dapat diperluas:__ Gateway memungkinkan sumber daya kustom untuk dihubungkan pada berbagai lapisan API. Ini memungkinkan penyesuaian yang lebih detail pada tempat yang tepat dalam struktur API. + +## Model Sumber Daya (_Resource_) + +Gateway API memiliki tiga jenis API stabil: + +* __GatewayClass:__ Mendefinisikan satu set gateway dengan konfigurasi umum dan dikelola oleh pengendali yang mengimplementasikan kelas tersebut. + +* __Gateway:__ Mendefinisikan instans infrastruktur penanganan trafik, seperti penyeimbang beban (_load balancer_) cloud. + +* __HTTPRoute:__ Mendefinisikan aturan khusus HTTP untuk memetakan trafik dari pendengar (_listener_) Gateway ke representasi titik akhir (_endpoint_) jaringan backend. Titik akhir ini sering diwakili sebagai sebuah {{}}. + +Gateway API diatur ke dalam berbagai jenis API yang memiliki hubungan saling ketergantungan untuk mendukung sifat berorientasi _role_ dari organisasi. Objek Gateway dikaitkan dengan tepat satu GatewayClass; GatewayClass menggambarkan pengendali gateway yang bertanggung jawab untuk mengelola Gateway dari kelas ini. Satu atau lebih jenis rute seperti HTTPRoute, kemudian dikaitkan dengan Gateway. Sebuah Gateway dapat memfilter rute yang mungkin akan dilampirkan pada `listeners`-nya, membentuk model kepercayaan dua arah dengan rute. + +Gambar berikut mengilustrasikan hubungan dari tiga jenis API Gateway yang stabil: + +{{< figure src="/docs/images/gateway-kind-relationships.svg" alt="Gambar yang mengilustrasikan hubungan dari tiga jenis API Gateway yang stabil" class="diagram-medium" >}} + +### Gateway {#api-kind-gateway} + +Gateway menggambarkan sebuah instans infrastruktur penanganan trafik. Ini mendefinisikan titik akhir jaringan yang dapat digunakan untuk memproses trafik, seperti penyaringan (_filter_), penyeimbangan (_balancing_), pemisahan (_splitting_), dll. untuk backend seperti sebuah Service. Sebagai contoh, Gateway dapat mewakili penyeimbang beban (_load balancer_) cloud atau server proksi dalam kluster yang dikonfigurasikan untuk menerima trafik HTTP. + +Contoh minimal dari Gateway _resource_: + +```yaml +apiVersion: gateway.networking.k8s.io/v1 +kind: Gateway +metadata: + name: example-gateway +spec: + gatewayClassName: example-class + listeners: + - name: http + protocol: HTTP + port: 80 +``` + +Dalam contoh ini, sebuah instans dari infrastruktur penanganan trafik diprogram untuk mendengarkan trafik HTTP pada port 80. Karena _field_ `addresses` tidak ditentukan, sebuah alamat atau nama host ditugaskan ke Gateway oleh pengendali implementasi. Alamat ini digunakan sebagai titik akhir jaringan untuk memproses trafik titik akhir jaringan backend yang didefinisikan dalam rute. + +Lihat [Gateway](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.Gateway) referensi untuk definisi lengkap dari API ini. + +### HTTPRoute {#api-kind-httproute} + +Jenis HTTPRoute menentukan perilaku _routing_ dari permintaan HTTP dari _listener_ Gateway ke titik akhir jaringan backend. Untuk backend Service, implementasi dapat mewakili titik akhir jaringan backend sebagai IP Service atau Endpoints pendukung dari Service tersebut. HTTPRoute mewakili konfigurasi yang diterapkan pada implementasi Gateway yang mendasarinya. Sebagai contoh, mendefinisikan HTTPRoute baru dapat mengakibatkan pengaturan rute trafik tambahan pada penyeimbang beban cloud atau server proksi dalam kluster. + +Contoh minimal dari HTTPRoute: + +```yaml +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: example-httproute +spec: + parentRefs: + - name: example-gateway + hostnames: + - "www.example.com" + rules: + - matches: + - path: + type: PathPrefix + value: /login + backendRefs: + - name: example-svc + port: 8080 +``` + +Dalam contoh ini, trafik HTTP dari Gateway `example-gateway` dengan header Host: yang disetel ke `www.example.com` dan jalur permintaan yang ditentukan sebagai `/login` akan diarahkan ke Service `example-svc` pada port `8080`. + +Lihat referensi [HTTPRoute](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1.HTTPRoute) untuk definisi lengkap dari API ini. + +## Aliran Permintaan (_Request Flow_) + +Berikut adalah contoh sederhana dari trafik HTTP yang diarahkan ke sebuah Service menggunakan Gateway dan HTTPRoute: + +{{< figure src="/docs/images/gateway-request-flow.svg" alt="Diagram yang memberikan contoh trafik HTTP yang diarahkan ke sebuah Service menggunakan Gateway dan HTTPRoute" class="diagram-medium" >}} + +Dalam contoh ini, aliran permintaan untuk Gateway yang diimplementasikan sebagai _reverse proxy_ adalah: + +1. Klien mulai mempersiapkan permintaan HTTP untuk URL `http://www.example.com` +2. Resolver DNS klien melakukan query untuk nama tujuan dan mengetahui pemetaan ke satu atau lebih alamat IP yang terkait dengan Gateway. +3. Klien mengirimkan permintaan ke alamat IP Gateway; _reverse proxy_ menerima permintaan HTTP dan menggunakan header Host: untuk mencocokkan konfigurasi yang berasal dari Gateway dan HTTPRoute yang terlampir. +4. Secara opsional, _reverse proxy_ dapat melakukan pencocokan header permintaan dan/atau jalur berdasarkan aturan pencocokan dari HTTPRoute. +5. Secara opsional, _reverse proxy_ dapat memodifikasi permintaan; sebagai contoh, untuk menambah atau menghapus header, berdasarkan aturan filter dari HTTPRoute. +6. Terakhir, _reverse proxy_ meneruskan permintaan ke satu atau lebih backend. + +## Kesesuaian (_Conformance_) + +Gateway API mencakup beragam fitur dan diimplementasikan secara luas. Kombinasi ini memerlukan definisi dan pengujian kesesuaian yang jelas untuk memastikan bahwa API memberikan pengalaman yang konsisten di mana pun digunakan. + +Lihat dokumentasi [conformance](https://gateway-api.sigs.k8s.io/concepts/conformance/) untuk memahami rincian seperti saluran rilis (_release channel_), tingkat dukungan, dan menjalankan tes kesesuaian (_conformance test_). + +## Migrasi dari Ingress + +Gateway API adalah penerus API [Ingress](/docs/concepts/services-networking/ingress/) tapi tidak termasuk dalam jenis Ingress. Akibatnya, konversi satu kali dari sumber daya Ingress yang ada ke sumber daya Gateway API diperlukan. + +Referensi panduan [migrasi ingress](https://gateway-api.sigs.k8s.io/guides/migrating-from-ingress/#migrating-from-ingress) untuk rincian tentang migrasi sumber daya Ingress ke sumber daya Gateway API. + +## {{% heading "whatsnext" %}} + +Alih-alih sumber daya Gateway API yang diimplementasikan secara natif oleh Kubernetes, spesifikasinya didefinisikan sebagai [Custom Resource Definition](/docs/concepts/extend-kubernetes/api-extension/custom-resources/) yang didukung oleh berbagai [implementasi](https://gateway-api.sigs.k8s.io/implementations/). +[Instal](https://gateway-api.sigs.k8s.io/guides/#installing-gateway-api) CRD Gateway API atau ikuti petunjuk instalasi dari implementasi yang Anda pilih. Setelah menginstal sebuah implementasi, gunakan panduan [Memulai](https://gateway-api.sigs.k8s.io/guides/) untuk membantu kamu segera memulai bekerja dengan Gateway API. + +{{< note >}} +Pastikan untuk meninjau dokumentasi dari implementasi yang kamu pilih untuk memahami hal-hal yang perlu diperhatikan. +{{< /note >}} + +Referensi [spesifikasi API](https://gateway-api.sigs.k8s.io/reference/spec/) untuk rincian tambahan dari semua jenis Gateway API. \ No newline at end of file From e6377d0f02ecc5bc623fd64de0c99b5a4548ad76 Mon Sep 17 00:00:00 2001 From: Giri Kuncoro Date: Wed, 26 Mar 2025 15:13:58 +1100 Subject: [PATCH 079/121] fix: Standardizing words and styling Signed-off-by: Giri Kuncoro --- .../concepts/services-networking/gateway.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/content/id/docs/concepts/services-networking/gateway.md b/content/id/docs/concepts/services-networking/gateway.md index 68534cb5f9..6532eeae6b 100644 --- a/content/id/docs/concepts/services-networking/gateway.md +++ b/content/id/docs/concepts/services-networking/gateway.md @@ -17,9 +17,9 @@ Gateway API menyediakan layanan jaringan dengan menggunakan mekanisme konfiguras Prinsip-prinsip berikut membentuk desain dan arsitektur Gateway API: * __Berorientasi _role_:__ Gateway API dimodelkan sesuai dengan _role_ organisasi yang bertanggung jawab untuk mengelola jaringan layanan Kubernetes: - * __Penyedia Infrastruktur:__ Mengelola infrastruktur yang memungkinkan beberapa kluster terisolasi untuk melayani beberapa _tenant_, misalnya penyedia layanan cloud. - * __Operator Kluster:__ Mengelola kluster dan biasanya memperhatikan kebijakan, akses jaringan, izin aplikasi, dll. - * __Pengembang Aplikasi:__ Mengelola aplikasi yang berjalan di dalam kluster dan biasanya memperhatikan konfigurasi tingkat aplikasi dan komposisi [Service](/docs/concepts/services-networking/service/). + * __Penyedia Infrastruktur:__ Mengelola infrastruktur yang memungkinkan beberapa klaster terisolasi untuk melayani beberapa _tenant_, misalnya penyedia layanan _cloud_. + * __Operator klaster:__ Mengelola klaster dan biasanya memperhatikan kebijakan, akses jaringan, izin aplikasi, dll. + * __Pengembang Aplikasi:__ Mengelola aplikasi yang berjalan di dalam klaster dan biasanya memperhatikan konfigurasi tingkat aplikasi dan komposisi [Service](/docs/concepts/services-networking/service/). * __Portabel:__ Spesifikasi Gateway API didefinisikan sebagai [Custom Resource](/docs/concepts/extend-kubernetes/api-extension/custom-resources) dan didukung oleh banyak [implementasi](https://gateway-api.sigs.k8s.io/implementations/). * __Ekspresif:__ Jenis-jenis Gateway API mendukung fungsi untuk kasus penggunaan routing trafik pada umumnya, seperti pencocokan berbasis header, pembobotan trafik, dan lainnya yang sebelumnya hanya mungkin dilakukan di [Ingress](/docs/concepts/services-networking/ingress/) dengan menggunakan anotasi kustom. * __Dapat diperluas:__ Gateway memungkinkan sumber daya kustom untuk dihubungkan pada berbagai lapisan API. Ini memungkinkan penyesuaian yang lebih detail pada tempat yang tepat dalam struktur API. @@ -30,19 +30,19 @@ Gateway API memiliki tiga jenis API stabil: * __GatewayClass:__ Mendefinisikan satu set gateway dengan konfigurasi umum dan dikelola oleh pengendali yang mengimplementasikan kelas tersebut. -* __Gateway:__ Mendefinisikan instans infrastruktur penanganan trafik, seperti penyeimbang beban (_load balancer_) cloud. +* __Gateway:__ Mendefinisikan instans infrastruktur penanganan trafik, seperti penyeimbang beban (_load balancer_) _cloud_. * __HTTPRoute:__ Mendefinisikan aturan khusus HTTP untuk memetakan trafik dari pendengar (_listener_) Gateway ke representasi titik akhir (_endpoint_) jaringan backend. Titik akhir ini sering diwakili sebagai sebuah {{}}. Gateway API diatur ke dalam berbagai jenis API yang memiliki hubungan saling ketergantungan untuk mendukung sifat berorientasi _role_ dari organisasi. Objek Gateway dikaitkan dengan tepat satu GatewayClass; GatewayClass menggambarkan pengendali gateway yang bertanggung jawab untuk mengelola Gateway dari kelas ini. Satu atau lebih jenis rute seperti HTTPRoute, kemudian dikaitkan dengan Gateway. Sebuah Gateway dapat memfilter rute yang mungkin akan dilampirkan pada `listeners`-nya, membentuk model kepercayaan dua arah dengan rute. -Gambar berikut mengilustrasikan hubungan dari tiga jenis API Gateway yang stabil: +Gambar berikut mengilustrasikan hubungan dari tiga jenis Gateway API yang stabil: -{{< figure src="/docs/images/gateway-kind-relationships.svg" alt="Gambar yang mengilustrasikan hubungan dari tiga jenis API Gateway yang stabil" class="diagram-medium" >}} +{{< figure src="/docs/images/gateway-kind-relationships.svg" alt="Gambar yang mengilustrasikan hubungan dari tiga jenis Gateway API yang stabil" class="diagram-medium" >}} ### Gateway {#api-kind-gateway} -Gateway menggambarkan sebuah instans infrastruktur penanganan trafik. Ini mendefinisikan titik akhir jaringan yang dapat digunakan untuk memproses trafik, seperti penyaringan (_filter_), penyeimbangan (_balancing_), pemisahan (_splitting_), dll. untuk backend seperti sebuah Service. Sebagai contoh, Gateway dapat mewakili penyeimbang beban (_load balancer_) cloud atau server proksi dalam kluster yang dikonfigurasikan untuk menerima trafik HTTP. +Gateway menggambarkan sebuah instans infrastruktur penanganan trafik. Ini mendefinisikan titik akhir jaringan yang dapat digunakan untuk memproses trafik, seperti penyaringan (_filter_), penyeimbangan (_balancing_), pemisahan (_splitting_), dll. untuk backend seperti sebuah Service. Sebagai contoh, Gateway dapat mewakili penyeimbang beban (_load balancer_) _cloud_ atau server proksi dalam klaster yang dikonfigurasikan untuk menerima trafik HTTP. Contoh minimal dari Gateway _resource_: @@ -65,7 +65,7 @@ Lihat [Gateway](https://gateway-api.sigs.k8s.io/references/spec/#gateway.network ### HTTPRoute {#api-kind-httproute} -Jenis HTTPRoute menentukan perilaku _routing_ dari permintaan HTTP dari _listener_ Gateway ke titik akhir jaringan backend. Untuk backend Service, implementasi dapat mewakili titik akhir jaringan backend sebagai IP Service atau Endpoints pendukung dari Service tersebut. HTTPRoute mewakili konfigurasi yang diterapkan pada implementasi Gateway yang mendasarinya. Sebagai contoh, mendefinisikan HTTPRoute baru dapat mengakibatkan pengaturan rute trafik tambahan pada penyeimbang beban cloud atau server proksi dalam kluster. +Jenis HTTPRoute menentukan perilaku _routing_ dari permintaan HTTP dari _listener_ Gateway ke titik akhir jaringan backend. Untuk backend Service, implementasi dapat mewakili titik akhir jaringan backend sebagai IP Service atau Endpoints pendukung dari Service tersebut. HTTPRoute mewakili konfigurasi yang diterapkan pada implementasi Gateway yang mendasarinya. Sebagai contoh, mendefinisikan HTTPRoute baru dapat mengakibatkan pengaturan rute trafik tambahan pada penyeimbang beban _cloud_ atau server proksi dalam klaster. Contoh minimal dari HTTPRoute: @@ -123,7 +123,7 @@ Referensi panduan [migrasi ingress](https://gateway-api.sigs.k8s.io/guides/migra ## {{% heading "whatsnext" %}} Alih-alih sumber daya Gateway API yang diimplementasikan secara natif oleh Kubernetes, spesifikasinya didefinisikan sebagai [Custom Resource Definition](/docs/concepts/extend-kubernetes/api-extension/custom-resources/) yang didukung oleh berbagai [implementasi](https://gateway-api.sigs.k8s.io/implementations/). -[Instal](https://gateway-api.sigs.k8s.io/guides/#installing-gateway-api) CRD Gateway API atau ikuti petunjuk instalasi dari implementasi yang Anda pilih. Setelah menginstal sebuah implementasi, gunakan panduan [Memulai](https://gateway-api.sigs.k8s.io/guides/) untuk membantu kamu segera memulai bekerja dengan Gateway API. +[Instal](https://gateway-api.sigs.k8s.io/guides/#installing-gateway-api) CRD Gateway API atau ikuti petunjuk instalasi dari implementasi yang kamu pilih. Setelah menginstal sebuah implementasi, gunakan panduan [Memulai](https://gateway-api.sigs.k8s.io/guides/) untuk membantu kamu segera memulai bekerja dengan Gateway API. {{< note >}} Pastikan untuk meninjau dokumentasi dari implementasi yang kamu pilih untuk memahami hal-hal yang perlu diperhatikan. From 4403fa7ddc047359e2aa4db5e84fe9ca3b7476e4 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Wed, 26 Mar 2025 14:39:38 +0800 Subject: [PATCH 080/121] [zh] Update two SVGs in 2025-02-14-cloud-controller-manager-chicken-egg-problem --- ...m-chicken-egg-problem-sequence-diagram.svg | 646 +++++++++++++++++- .../index.md | 6 +- 2 files changed, 646 insertions(+), 6 deletions(-) diff --git a/content/zh-cn/blog/_posts/2025-02-14-cloud-controller-manager-chicken-egg-problem/ccm-chicken-egg-problem-sequence-diagram.svg b/content/zh-cn/blog/_posts/2025-02-14-cloud-controller-manager-chicken-egg-problem/ccm-chicken-egg-problem-sequence-diagram.svg index ad01afaee2..7b63777d14 100644 --- a/content/zh-cn/blog/_posts/2025-02-14-cloud-controller-manager-chicken-egg-problem/ccm-chicken-egg-problem-sequence-diagram.svg +++ b/content/zh-cn/blog/_posts/2025-02-14-cloud-controller-manager-chicken-egg-problem/ccm-chicken-egg-problem-sequence-diagram.svg @@ -1,3 +1,643 @@ - - -Cloud-controller-managerKube-apiserverKubeletCloud-controller-managerKube-apiserverKubeletTaint: node.cloudprovider.kubernetes.ioNode is Not Ready Tainted, Missing Node Addresses*, ...Send UpdatesInitialize Node:Cloud Provider Labels, Node Addresses, ...Node is ReadyCreate Node1Node Created2Watch: New Node Created3Update Node4 \ No newline at end of file + + + + + + + + cloud-controller-manager + + + + kube-apiserver + + + + kubelet + + + + + + cloud-controller-manager + + + + + + + kube-apiserver + + + + + + + kubelet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 污点: + node.cloudprovider.kubernetes.io + + + + 节点未就绪 + 已增加污点,缺少节点地址*, ... + + + + 发送更新 + + + + + + + 初始化节点: + 云厂商标签、节点地址 ... + + + + 节点就绪 + + 创建节点 + + 1 + 节点已创建 + + 2 + Watch: 新节点已创建 + + 3 + 更新节点 + + 4 + + diff --git a/content/zh-cn/blog/_posts/2025-02-14-cloud-controller-manager-chicken-egg-problem/index.md b/content/zh-cn/blog/_posts/2025-02-14-cloud-controller-manager-chicken-egg-problem/index.md index 1eb74bc26b..64b0fbea5e 100644 --- a/content/zh-cn/blog/_posts/2025-02-14-cloud-controller-manager-chicken-egg-problem/index.md +++ b/content/zh-cn/blog/_posts/2025-02-14-cloud-controller-manager-chicken-egg-problem/index.md @@ -58,7 +58,7 @@ kubelet. >}} --> {{< figure - src="/images/docs/components-of-kubernetes.svg" + src="/zh-cn/docs/images/components-of-kubernetes.svg" alt="Kubernetes 组件" caption="Kubernetes 组件" >}} @@ -126,8 +126,8 @@ will schedule properly. 如上所述,在引导过程中,云控制器管理器可能无法被调度, 因此集群将无法正确初始化。以下几个具体示例说明此问题的可能表现形式及其根本原因。 -这些示例假设你使用 Kubernetes 资源(例如 Deployment、DaemonSet 或类似资源)来控制 -云控制器管理器的生命周期。由于这些方法依赖于 Kubernetes 来调度云控制器管理器, +这些示例假设你使用 Kubernetes 资源(例如 Deployment、DaemonSet +或类似资源)来控制云控制器管理器的生命周期。由于这些方法依赖于 Kubernetes 来调度云控制器管理器, 因此必须确保其能够正确调度。 + +Kubernetes is designed with self-healing capabilities that help maintain the health and availability of workloads. +It automatically replaces failed containers, reschedules workloads when nodes become unavailable, and ensures that the desired state of the system is maintained. + + + +## Self-Healing capabilities {#self-healing-capabilities} + +- **Container-level restarts:** If a container inside a Pod fails, Kubernetes restarts it based on the [`restartPolicy`](/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy)`. + +- **Replica replacement:** If a Pod in a [Deployment](/docs/concepts/workloads/controllers/deployment/) or [StatefulSet](/docs/concepts/workloads/controllers/statefulset/) fails, Kubernetes creates a replacement Pod to maintain the specified number of replicas. + If a Pod fails that is part of a [DaemonSet](/docs/concepts/workloads/controllers/daemonset/) fails, the control plane + creates a replacement Pod to run on the same node. + +- **Persistent storage recovery:** If a node is running a Pod with a PersistentVolume (PV) attached, and the node fails, Kubernetes can reattach the volume to a new Pod on a different node. + +- **Load balancing for Services:** If a Pod behind a [Service](/docs/concepts/services-networking/service/) fails, Kubernetes automatically removes it from the Service's endpoints to route traffic only to healthy Pods. + +Here are some of the key components that provide Kubernetes self-healing: + +- **[kubelet](/docs/concepts/architecture/#kubelet):** Ensures that containers are running, and restarts those that fail. + +- **ReplicaSet, StatefulSet and DaemonSet controller:** Maintains the desired number of Pod replicas. + +- **PersistentVolume controller:** Manages volume attachment and detachment for stateful workloads. + +## Considerations {#considerations} + +- **Storage Failures:** If a persistent volume becomes unavailable, recovery steps may be required. + +- **Application Errors:** Kubernetes can restart containers, but underlying application issues must be addressed separately. + +## {{% heading "whatsnext" %}} + +- Read more about [Pods](/docs/concepts/workloads/pods/) +- Learn about [Kubernetes Controllers](/docs/concepts/architecture/controller/) +- Explore [PersistentVolumes](/docs/concepts/storage/persistent-volumes/) +- Read about [node autoscaling](/docs/concepts/cluster-administration/node-autoscaling/). Node autoscaling + also provides automatic healing if or when nodes fail in your cluster. \ No newline at end of file From 17e8aa0be50e271a97ca56dd4a396f1265b32bf1 Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Wed, 26 Mar 2025 21:13:42 +0530 Subject: [PATCH 093/121] feat: renamed search placeholder --- i18n/uk/uk.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/uk/uk.toml b/i18n/uk/uk.toml index 5e33f57f31..1776af15aa 100644 --- a/i18n/uk/uk.toml +++ b/i18n/uk/uk.toml @@ -236,7 +236,7 @@ other = "Перш ніж ви розпочнете" # other = "Subscribe" other = "Підписатися" -[ui_search_placeholder] +[ui_search] # other = "Search" other = "Пошук" From e3fee7e19d066ad1d08641f355d943fc177c1e48 Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Wed, 26 Mar 2025 21:13:59 +0530 Subject: [PATCH 094/121] feat: renamed search placeholder --- i18n/vi/vi.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/vi/vi.toml b/i18n/vi/vi.toml index 8416b23837..8475aa632a 100644 --- a/i18n/vi/vi.toml +++ b/i18n/vi/vi.toml @@ -549,7 +549,7 @@ other = """

Các mục trên trang này đề cập đến các sản phẩm h other = """Các mục trên trang này đề cập đến các nhà cung cấp bên ngoài Kubernetes. Tác giả dự án Kubernetes không chịu trách nhiệm đối với những sản phẩm hoặc dự án của bên thứ ba đó. Để thêm một nhà cung cấp, sản phẩm hoặc dự án vào danh sách này, đọc hướng dẫn nội dung trước khi gửi thay đổi. Thông tin thêm.""" -[ui_search_placeholder] +[ui_search] other = "Tìm kiếm trên trang này" [version_check_mustbe] From e43f45e27b82b4d59dfe20647c80b516136ba54a Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Wed, 26 Mar 2025 21:14:22 +0530 Subject: [PATCH 095/121] feat: renamed search placeholder --- content/zh-cn/docs/contribute/localization.md | 2 +- i18n/zh-cn/zh-cn.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/zh-cn/docs/contribute/localization.md b/content/zh-cn/docs/contribute/localization.md index d570aa3b59..f21d073ae9 100644 --- a/content/zh-cn/docs/contribute/localization.md +++ b/content/zh-cn/docs/contribute/localization.md @@ -818,7 +818,7 @@ placeholder text for the search form: 例如,这是搜索表单的德语占位符文本: ```toml -[ui_search_placeholder] +[ui_search] other = "Suchen" ``` diff --git a/i18n/zh-cn/zh-cn.toml b/i18n/zh-cn/zh-cn.toml index 3d15cd4b20..2994009a6b 100644 --- a/i18n/zh-cn/zh-cn.toml +++ b/i18n/zh-cn/zh-cn.toml @@ -577,7 +577,7 @@ other = """本页面中的条目引用了 Kubernetes 外部的供应商。Kubern [translated_by] other = "译者" -[ui_search_placeholder] +[ui_search] other = "搜索" [version_check_mustbe] From e23a8ba30011e5c6069f71a3be3f7917ebfd19d6 Mon Sep 17 00:00:00 2001 From: abhilasha2418 Date: Wed, 26 Mar 2025 21:17:15 +0530 Subject: [PATCH 096/121] fix: remove extra ` --- content/en/docs/concepts/architecture/self-healing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/docs/concepts/architecture/self-healing.md b/content/en/docs/concepts/architecture/self-healing.md index 341a0a745d..42171138e7 100644 --- a/content/en/docs/concepts/architecture/self-healing.md +++ b/content/en/docs/concepts/architecture/self-healing.md @@ -12,7 +12,7 @@ It automatically replaces failed containers, reschedules workloads when nodes be ## Self-Healing capabilities {#self-healing-capabilities} -- **Container-level restarts:** If a container inside a Pod fails, Kubernetes restarts it based on the [`restartPolicy`](/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy)`. +- **Container-level restarts:** If a container inside a Pod fails, Kubernetes restarts it based on the [`restartPolicy`](/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy). - **Replica replacement:** If a Pod in a [Deployment](/docs/concepts/workloads/controllers/deployment/) or [StatefulSet](/docs/concepts/workloads/controllers/statefulset/) fails, Kubernetes creates a replacement Pod to maintain the specified number of replicas. If a Pod fails that is part of a [DaemonSet](/docs/concepts/workloads/controllers/daemonset/) fails, the control plane From 5d70548381c2cc0051778fce4ef407dbc84bb85f Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Sun, 23 Mar 2025 21:35:07 +0800 Subject: [PATCH 097/121] [zh-cn]sync security/_index.md Signed-off-by: xin.li --- content/zh-cn/docs/concepts/security/_index.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/content/zh-cn/docs/concepts/security/_index.md b/content/zh-cn/docs/concepts/security/_index.md index 1696bbe641..59a049cb30 100644 --- a/content/zh-cn/docs/concepts/security/_index.md +++ b/content/zh-cn/docs/concepts/security/_index.md @@ -105,6 +105,24 @@ or detective controls around Pods, their containers, and the images that run in [网络策略(NetworkPolicy)](/zh-cn/docs/concepts/services-networking/network-policies/) 可让控制 Pod 之间或 Pod 与集群外部网络之间的网络流量。 + +### 准入控制 {#admission-control} + +[准入控制器](/zh-cn/docs/reference/access-authn-authz/admission-controllers/)是拦截 +Kubernetes API 请求的插件,可以根据请求中的特定字段验证或修改请求。 +精心设计这些控制器有助于避免 Kubernetes API 在版本更新过程中发生意外干扰。 +有关设计注意事项,请参阅 +[Admission Webhook 良好实践](/zh-cn/docs/concepts/cluster-administration/admission-webhooks-good-practices/)。 + + + + + +Kubernetes 旨在通过自我修复能力来维护工作负载的健康和可用性。 +它能够自动替换失败的容器,在节点不可用时重新调度工作负载, +并确保系统的期望状态得以维持。 + + + + +## 自我修复能力 {#self-healing-capabilities} + +- **容器级重启:** 如果 Pod 中的某个容器失败,Kubernetes 会根据 + [`restartPolicy`](/zh-cn/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy) + 定义的策略重启此容器。 + +- **副本替换:** 如果 [Deployment](/zh-cn/docs/concepts/workloads/controllers/deployment/) + 或 [StatefulSet](/zh-cn/docs/concepts/workloads/controllers/statefulset/) 中的某个 Pod 失败, + Kubernetes 会创建一个替代 Pod,以维持指定的副本数量。 + 如果属于 [DaemonSet](/zh-cn/docs/concepts/workloads/controllers/daemonset/) + 的某个 Pod 失败,控制平面会在同一节点上创建一个替代 Pod。 + + +- **持久存储恢复:** 如果某个节点正在运行一个挂载了持久卷(PV) + 的 Pod,且该节点发生故障,Kubernetes 可以将该卷重新挂载到另一个节点上的新 Pod。 + +- **服务的负载均衡:** 如果 [Service](/zh-cn/docs/concepts/services-networking/service/) + 背后的某个 Pod 失败,Kubernetes 会自动将其从 Service 的端点中移除, + 以确保流量仅路由到健康的 Pod。 + + +以下是提供 Kubernetes 自我修复功能的一些关键组件: + +- **[kubelet](/zh-cn/docs/concepts/architecture/#kubelet):** + 确保容器正在运行,并重启失败的容器。 + +- **ReplicaSet、StatefulSet 和 DaemonSet 控制器:** 维持期望的 Pod 副本数量。 + +- **PersistentVolume 控制器:** 管理有状态工作负载的卷挂载和卸载。 + + +## 注意事项 {#considerations} + +- **存储故障:** 如果持久卷变得不可用,可能需要执行恢复步骤。 + +- **应用程序错误:** Kubernetes 可以重启容器,但底层的应用程序问题需要单独解决。 + +## {{% heading "whatsnext" %}} + + +- 进一步阅读 [Pod](/zh-cn/docs/concepts/workloads/pods/) +- 了解 [Kubernetes 控制器](/zh-cn/docs/concepts/architecture/controller/) +- 探索 [持久卷(PersistentVolume)](/zh-cn/docs/concepts/storage/persistent-volumes/) +- 阅读关于[节点自动扩展](/zh-cn/docs/concepts/cluster-administration/node-autoscaling/)。 + 节点自动扩展还能够在集群中的节点发生故障时提供自动修复功能。 From 00ce78e030dcef412d67873556f8623717d960f1 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Tue, 25 Mar 2025 16:19:36 +0800 Subject: [PATCH 099/121] [zh] Add 2025-03-24-ingress-nginx-CVE-2025-1974.md --- .../2025-03-24-ingress-nginx-CVE-2025-1974.md | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 content/zh-cn/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md diff --git a/content/zh-cn/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md b/content/zh-cn/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md new file mode 100644 index 0000000000..192ba309ec --- /dev/null +++ b/content/zh-cn/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md @@ -0,0 +1,163 @@ +--- +layout: blog +title: "ingress-nginx CVE-2025-1974 须知" +date: 2025-03-24T12:00:00-08:00 +slug: ingress-nginx-CVE-2025-1974 +author: > + Tabitha Sable (Kubernetes 安全响应委员会) +translator: > + [Michael Yao](https://github.com/windsonsea) (DaoCloud) +--- + + + +今天,ingress-nginx 项目的维护者们[发布了一批关键漏洞的修复补丁](https://github.com/kubernetes/ingress-nginx/releases), +这些漏洞可能让攻击者轻易接管你的 Kubernetes 集群。目前有 40% 以上的 Kubernetes 管理员正在使用 +[ingress-nginx](https://github.com/kubernetes/ingress-nginx/), +如果你是其中之一,请立即采取行动,保护你的用户和数据。 + + +## 背景 {#background} + +[Ingress](/zh-cn/docs/concepts/services-networking/ingress/) +是 Kubernetes 提供的一种传统特性,可以将你的工作负载 Pod 暴露给外部世界,方便外部用户使用。 +Kubernetes 用户可以用与实现无关的方式来定义应用如何在网络上可用。 +[Ingress 控制器](/zh-cn/docs/concepts/services-networking/ingress-controllers/)会根据定义, +配置所需的本地资源或云端资源,以满足用户的特定场景和需求。 + + +为了满足不同云厂商用户或负载均衡器产品的需求,目前有许多不同类型的 Ingress 控制器。 +ingress-nginx 是 Kubernetes 项目提供的纯软件的 Ingress 控制器。 +ingress-nginx 由于灵活易用,非常受用户欢迎。它已经被部署在超过 40% 的 Kubernetes 集群中! + +ingress-nginx 会将 Ingress 对象中的要求转换为 Nginx(一个强大的开源 Web 服务器守护进程)的配置。 +Nginx 使用这些配置接受请求并将其路由到 Kubernetes 集群中运行的不同应用。 +正确处理这些 Nginx 配置参数至关重要,因为 ingress-nginx 既要给予用户足够的灵活性, +又要防止用户无意或有意诱使 Nginx 执行其不应执行的操作。 + + +## 今日修复的漏洞 {#vulnerabilities-patched-today} + +今天修复的四个 ingress-nginx 漏洞都是对 ingress-nginx 如何处理特定 Nginx 配置细节的改进。 +如果不打这些修复补丁,一个精心构造的 Ingress 资源对象就可以让 Nginx 出现异常行为, +包括泄露 ingress-nginx 可访问的 [Secret](/zh-cn/docs/concepts/configuration/secret/) +的值。默认情况下,ingress-nginx 可以访问集群范围内的所有 Secret,因此这往往会导致任一有权限创建 +Ingress 的用户或实体接管整个集群。 + + +本次最严重的漏洞是 [CVE-2025-1974](https://github.com/kubernetes/kubernetes/issues/131009), +CVSS 评分高达 [9.8](https://www.first.org/cvss/calculator/3-1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H), +它允许 Pod 网络中的任意实体通过 ingress-nginx 的验证性准入控制器特性滥用配置注入漏洞。 +这种机制使得这些漏洞会产生更危险的情形:攻击者通常需要能够在集群中创建 Ingress 对象(这是一种较高权限的操作)。 +当结合使用今天修复的其他漏洞(比如 CVE-2025-1974), +**就意味着 Pod 网络中的任何实体都有极大可能接管你的 Kubernetes 集群,而不需要任何凭证或管理权限**。 +在许多常见场景下,Pod 网络可以访问云端 VPC 中的所有工作负载,甚至能访问连接到你公司内网的任何人的机器! +这是一个非常严重的安全风险。 + + +我们今天已经[发布了 ingress-nginx v1.12.1 和 v1.11.5](https://github.com/kubernetes/ingress-nginx/releases), +这两个版本修复了所有这 5 个漏洞。 + +## 你需要做什么 {#your-next-steps} + +首先,确定你的集群是否在使用 ingress-nginx。大多数情况下,你可以使用集群管理员权限运行以下命令进行检查: + +```shell +kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx +``` + + +**如果你在使用 ingress-nginx,请立即针对这些漏洞制定补救计划。** + +**最简单且推荐的补救方案是[立即升级到最新补丁版本](https://kubernetes.github.io/ingress-nginx/deploy/upgrade/)。** +安装今天的补丁,就能修复所有这 5 个漏洞。 + +如果你暂时无法升级,可以通过关闭 ingress-nginx 的验证性准入控制器特性来显著降低风险。 + + +* 如果你使用 Helm 安装了 ingress-nginx + * 重新安装,设置 Helm 参数 `controller.admissionWebhooks.enabled=false` +* 如果你是手动安装的 + * 删除名为 `ingress-nginx-admission` 的 ValidatingWebhookConfiguration + * 编辑 `ingress-nginx-controller` Deployment 或 DaemonSet,从控制器容器的参数列表中移除 `--validating-webhook` + + +如果你为了缓解 CVE-2025-1974 造成的风险而关闭了验证性准入控制器特性, +请在升级完成后记得重新开启此特性。这个特性可以为你的用户提供重要的生命期帮助, +可以在错误的 Ingress 配置在生效之前及时提醒用户。 + + +## 总结、致谢与更多参考 {#conclusion-thanks-and-further-reading} + +今天公布的包括 CVE-2025-1974 在内的 ingress-nginx 漏洞对许多 Kubernetes 用户及其数据构成了严重风险。 +如果你正在使用 ingress-nginx,请立即采取行动确保自身安全。 + +我们要感谢来自 Wiz 的 Nir Ohfeld、Sagi Tzadik、Ronen Shustin 和 Hillai Ben-Sasson, +他们负责任地披露了这些漏洞,并与 Kubernetes 安全响应委员会成员以及 ingress-nginx +维护者(Marco Ebert 和 James Strong)协同合作,确保这些漏洞被有效修复。 + + +有关 ingress-nginx 的维护和未来的更多信息, +请参阅[这个 GitHub Issue](https://github.com/kubernetes/ingress-nginx/issues/13002), +或参与 [James 和 Marco 在 KubeCon/CloudNativeCon EU 2025 的演讲](https://kccnceu2025.sched.com/event/1tcyc/)。 + +关于本文中提到的具体漏洞的信息,请参阅以下 GitHub Issue: + +- [CVE-2025-24513](https://github.com/kubernetes/kubernetes/issues/131005) +- [CVE-2025-24514](https://github.com/kubernetes/kubernetes/issues/131006) +- [CVE-2025-1097](https://github.com/kubernetes/kubernetes/issues/131007) +- [CVE-2025-1098](https://github.com/kubernetes/kubernetes/issues/131008) +- [CVE-2025-1974](https://github.com/kubernetes/kubernetes/issues/131009) From fa5462fe576c24f65a013a13f04ea7a4977047f1 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Thu, 27 Mar 2025 10:59:01 +0800 Subject: [PATCH 100/121] [zh] sync custom-resource-definitions.md --- .../custom-resource-definitions.md | 144 ++++++++++-------- 1 file changed, 78 insertions(+), 66 deletions(-) diff --git a/content/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions.md b/content/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions.md index 6dbf2aeabd..e8809b9343 100644 --- a/content/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions.md +++ b/content/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions.md @@ -365,7 +365,7 @@ A structural schema is an [OpenAPI v3.0 validation schema](#validation) which: * 节点包含属性 `x-kubernetes-int-or-string: true` * 节点包含属性 `x-kubernetes-preserve-unknown-fields: true` 2. 对于 object 的每个字段或 array 中的每个条目,如果其定义中包含 `allOf`、`anyOf`、`oneOf` - 或 `not`,则模式也要指定这些逻辑组合之外的字段或条目(试比较例 1 和例 2)。 + 或 `not`,则模式也要指定这些逻辑组合之外的字段或条目(试比较例 1 和例 2)。 3. 在 `allOf`、`anyOf`、`oneOf` 或 `not` 上下文内不设置 `description`、`type`、`default`、 `additionalProperties` 或者 `nullable`。此规则的例外是 `x-kubernetes-int-or-string` 的两种模式(见下文)。 @@ -473,8 +473,8 @@ is not a structural schema because of the following violations: * `foo` 的 type 缺失(规则 1) * `anyOf` 中的 `bar` 未在外部指定(规则 2) * `bar` 的 `type` 位于 `anyOf` 中(规则 3) -* `anyOf` 中设置了 `description` (规则 3) -* `metadata.finalizers` 不可以被限制 (规则 4) +* `anyOf` 中设置了 `description`(规则 3) +* `metadata.finalizers` 不可以被限制(规则 4) -由于字段上设置了 `x-kubernetes-preserve-unknown-fields: true`,其中的内容不会 -被剪裁。不过,在这个语境中,`x-kubernetes-preserve-unknown-fields: true` 的 -使用是可选的。 +由于字段上设置了 `x-kubernetes-preserve-unknown-fields: true`, +其中的内容不会被剪裁。不过,在这个语境中,`x-kubernetes-preserve-unknown-fields: true` +的使用是可选的。 设置了 `x-kubernetes-embedded-resource: true` 之后,`apiVersion`、`kind` 和 `metadata` 都是隐式设定并隐式完成合法性验证。 @@ -1001,6 +1000,9 @@ CustomResourceDefinition 对定制对象执行以下合法性检查: 将此 CustomResourceDefinition 保存到 `resourcedefinition.yaml` 文件中: + ```yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -1056,8 +1058,7 @@ In the following example, the custom object contains fields with invalid values: If you save the following YAML to `my-crontab.yaml`: --> -对于一个创建 CronTab 类别对象的定制对象的请求而言,如果其字段中包含非法值,则 -该请求会被拒绝。 +对于一个创建 CronTab 类别对象的定制对象的请求而言,如果其字段中包含非法值,则该请求会被拒绝。 在下面的例子中,定制对象中包含带非法值的字段: - `spec.cronSpec` 与正则表达式不匹配 @@ -1341,10 +1342,10 @@ spec: replicas: 20 maxReplicas: 10 ``` + - 返回响应为: ``` @@ -1447,21 +1448,21 @@ Xref: [Supported evaluation on CEL](https://github.com/google/cel-spec/blob/v0.6 --> 验证规则例子: -| 规则 | 目的 | -| ---------------- | ------------ | -| `self.minReplicas <= self.replicas && self.replicas <= self.maxReplicas` | 验证定义副本数的三个字段大小顺序是否正确 | -| `'Available' in self.stateCounts` | 验证映射中是否存在键名为 `Available`的条目 | -| `(size(self.list1) == 0) != (size(self.list2) == 0)` | 检查两个列表之一是非空的,但不是二者都非空 | -| !('MY_KEY' in self.map1) || self['MY_KEY'].matches('^[a-zA-Z]*$') | 如果某个特定的键在映射中,验证映射中对应键的取值 | -| `self.envars.filter(e, e.name = 'MY_ENV').all(e, e.value.matches('^[a-zA-Z]*$')` | 验证一个 listMap 中主键 'name' 为 'MY_ENV' 的表项的取值 | -| `has(self.expired) && self.created + self.ttl < self.expired` | 验证 'Expired' 日期是否晚于 'Create' 日期加上 'ttl' 时长 | -| `self.health.startsWith('ok')` | 验证 'health' 字符串字段有前缀 'ok' | -| `self.widgets.exists(w, w.key == 'x' && w.foo < 10)` | 验证键为 'x' 的 listMap 项的 'foo' 属性是否小于 10 | -| `type(self) == string ? self == '100%' : self == 1000` | 在 int 型和 string 型两种情况下验证 int-or-string 字段 | -| `self.metadata.name.startsWith(self.prefix)` | 验证对象的名称是否以另一个字段值为前缀 | -| `self.set1.all(e, !(e in self.set2))` | 验证两个 listSet 是否不相交 | -| `size(self.names) == size(self.details) && self.names.all(n, n in self.details)` | 验证 'details' 映射中的 'names' 来自于 listSet | -| `size(self.clusters.filter(c, c.name == self.primary)) == 1` | 验证 'primary' 属性在 'clusters' listMap 中出现一次且只有一次 | +| 规则 | 目的 | +| --- | --- | +| `self.minReplicas <= self.replicas && self.replicas <= self.maxReplicas` | 验证定义副本数的三个字段大小顺序是否正确 | +| `'Available' in self.stateCounts` | 验证映射中是否存在键名为 `Available`的条目 | +| `(size(self.list1) == 0) != (size(self.list2) == 0)` | 检查两个列表之一是非空的,但不是二者都非空 | +| !('MY_KEY' in self.map1) || self['MY_KEY'].matches('^[a-zA-Z]*$') | 如果某个特定的键在映射中,验证映射中对应键的取值 | +| `self.envars.filter(e, e.name = 'MY_ENV').all(e, e.value.matches('^[a-zA-Z]*$')` | 验证一个 listMap 中主键 'name' 为 'MY_ENV' 的表项的取值 | +| `has(self.expired) && self.created + self.ttl < self.expired` | 验证 'Expired' 日期是否晚于 'Create' 日期加上 'ttl' 时长 | +| `self.health.startsWith('ok')` | 验证 'health' 字符串字段有前缀 'ok' | +| `self.widgets.exists(w, w.key == 'x' && w.foo < 10)` | 验证键为 'x' 的 listMap 项的 'foo' 属性是否小于 10 | +| `type(self) == string ? self == '100%' : self == 1000` | 在 int 型和 string 型两种情况下验证 int-or-string 字段 | +| `self.metadata.name.startsWith(self.prefix)` | 验证对象的名称是否以另一个字段值为前缀 | +| `self.set1.all(e, !(e in self.set2))` | 验证两个 listSet 是否不相交 | +| `size(self.names) == size(self.details) && self.names.all(n, n in self.details)` | 验证 'details' 映射中的 'names' 来自于 listSet | +| `size(self.clusters.filter(c, c.name == self.primary)) == 1` | 验证 'primary' 属性在 'clusters' listMap 中出现一次且只有一次 | 参考:[CEL 中支持的求值](https://github.com/google/cel-spec/blob/v0.6.0/doc/langdef.md#evaluation) @@ -1524,7 +1525,7 @@ Xref: [Supported evaluation on CEL](https://github.com/google/cel-spec/blob/v0.6 are accessible via `self[mapKey]`, map containment can be checked via `mapKey in self` and all entries of the map are accessible via CEL macros and functions such as `self.all(...)`. --> -- 如果规则的作用域是一个带有 additionalProperties 的对象(即map),那么 map 的值 +- 如果规则的作用域是一个带有 additionalProperties 的对象(即 map),那么 map 的值 可以通过 `self[mapKey]` 访问,map 的包含性可以通过 `mapKey in self` 检查, map 中的所有条目可以通过 CEL 宏和函数如 `self.all(...)` 访问。 @@ -1628,12 +1629,12 @@ accessible in CEL expressions. This includes: 通过 `x-kubernetes-preserve-unknown-fields` 保存在定制资源中的未知数据在 CEL 表达中无法访问。 这包括: - - 使用 `x-kubernetes-preserve-unknown-fields` 的对象模式保留的未知字段值。 - - 属性模式为"未知类型(Unknown Type)"的对象属性。一个"未知类型"被递归定义为: +- 使用 `x-kubernetes-preserve-unknown-fields` 的对象模式保留的未知字段值。 +- 属性模式为"未知类型(Unknown Type)"的对象属性。一个"未知类型"被递归定义为: - - 一个没有类型的模式,`x-kubernetes-preserve-unknown-fields` 设置为 true。 - - 一个数组,其中项目模式为"未知类型" - - 一个 additionalProperties 模式为"未知类型"的对象 + - 一个没有类型的模式,`x-kubernetes-preserve-unknown-fields` 设置为 true。 + - 一个数组,其中项目模式为"未知类型" + - 一个 additionalProperties 模式为"未知类型"的对象 -| OpenAPIv3 类型 | CEL 类型 | -| -------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- | -| 带有 Properties 的对象 | 对象 / "消息类型" | -| 带有 AdditionalProperties 的对象 | map | -| 带有 x-kubernetes-embedded-type 的对象 | 对象 / "消息类型",'apiVersion'、'kind'、'metadata.name' 和 'metadata.generateName' 都隐式包含在模式中 | -| 带有 x-kubernetes-preserve-unknown-fields 的对象 | 对象 / "消息类型",未知字段无法从 CEL 表达式中访问 | -| x-kubernetes-int-or-string | 可能是整数或字符串的动态对象,可以用 `type(value)` 来检查类型 | -| 数组 | list | -| 带有 x-kubernetes-list-type=map 的数组 | 列表,基于集合等值和唯一键名保证的 map 组成 | -| 带有 x-kubernetes-list-type=set 的数组 | 列表,基于集合等值和唯一键名保证的 set 组成 | -| 布尔值 | boolean | -| 数字 (各种格式) | double | -| 整数 (各种格式) | int (64) | -| 'null' | null_type | -| 字符串 | string | -| 带有 format=byte (base64 编码)字符串 | bytes | -| 带有 format=date 字符串 | timestamp (google.protobuf.Timestamp) | -| 带有 format=datetime 字符串 | timestamp (google.protobuf.Timestamp) | -| 带有 format=duration 字符串 | duration (google.protobuf.Duration) | +| OpenAPIv3 类型 | CEL 类型 | +| ------------- | ------- | +| 带有 Properties 的对象 | 对象 / "消息类型" | +| 带有 AdditionalProperties 的对象 | map | +| 带有 x-kubernetes-embedded-type 的对象 | 对象 / "消息类型",'apiVersion'、'kind'、'metadata.name' 和 'metadata.generateName' 都隐式包含在模式中 | +| 带有 x-kubernetes-preserve-unknown-fields 的对象 | 对象 / "消息类型",未知字段无法从 CEL 表达式中访问 | +| x-kubernetes-int-or-string | 可能是整数或字符串的动态对象,可以用 `type(value)` 来检查类型 | +| 数组 | list | +| 带有 x-kubernetes-list-type=map 的数组 | 列表,基于集合等值和唯一键名保证的 map 组成 | +| 带有 x-kubernetes-list-type=set 的数组 | 列表,基于集合等值和唯一键名保证的 set 组成 | +| 布尔值 | boolean | +| 数字 (各种格式) | double | +| 整数 (各种格式) | int (64) | +| 'null' | null_type | +| 字符串 | string | +| 带有 format=byte (base64 编码)字符串 | bytes | +| 带有 format=date 字符串 | timestamp (google.protobuf.Timestamp) | +| 带有 format=datetime 字符串 | timestamp (google.protobuf.Timestamp) | +| 带有 format=duration 字符串 | duration (google.protobuf.Duration) | 可用的函数包括: - - CEL 标准函数,在[标准定义列表](https://github.com/google/cel-spec/blob/v0.7.0/doc/langdef.md#list-of-standard-definitions)中定义 - - CEL 标准[宏](https://github.com/google/cel-spec/blob/v0.7.0/doc/langdef.md#macros) - - CEL [扩展字符串函数库](https://pkg.go.dev/github.com/google/cel-go@v0.11.2/ext#Strings) - - Kubernetes [CEL 扩展库](https://pkg.go.dev/k8s.io/apiextensions-apiserver@v0.24.0/pkg/apiserver/schema/cel/library#pkg-functions) +- CEL 标准函数,在[标准定义列表](https://github.com/google/cel-spec/blob/v0.7.0/doc/langdef.md#list-of-standard-definitions)中定义 +- CEL 标准[宏](https://github.com/google/cel-spec/blob/v0.7.0/doc/langdef.md#macros) +- CEL [扩展字符串函数库](https://pkg.go.dev/github.com/google/cel-go@v0.11.2/ext#Strings) +- Kubernetes [CEL 扩展库](https://pkg.go.dev/k8s.io/apiextensions-apiserver@v0.24.0/pkg/apiserver/schema/cel/library#pkg-functions) 设置默认值的功能允许在 [OpenAPI v3 合法性检查模式定义](#validation)中设置默认值: + ```yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition @@ -2371,24 +2375,27 @@ An update request via the API is required to persist those defaults back into et * 在向 API 服务器发送的请求中,基于请求版本的设定设置默认值; * 在从 etcd 读取对象时,使用存储版本来设置默认值; -* 在 Mutating 准入控制插件执行非空的补丁操作时,基于准入 Webhook 对象 - 版本设置默认值。 +* 在 Mutating 准入控制插件执行非空的补丁操作时,基于准入 Webhook + 对象版本设置默认值。 从 etcd 中读取数据时所应用的默认值设置不会被写回到 etcd 中。 需要通过 API 执行更新请求才能将这种方式设置的默认值写回到 etcd。 -默认值一定会被剪裁(除了 `metadata` 字段的默认值设置),且必须通过所提供的模式定义的检查。 +非 leaf(叶子)字段的默认值必须被剪裁(除了 `metadata` 字段的默认值设置),且必须通过所提供的模式定义的检查。 +例如,在上面的示例中,`spec` 字段的默认值 `{"replicas": "foo", "badger": 1}` 是无效的, +因为 `badger` 是未知字段,而 `replicas` 不是字符串。 -针对 `x-kubernetes-embedded-resource: true` 节点(或者包含 `metadata` 字段的结构的默认值) -的 `metadata` 字段的默认值设置不会在 CustomResourceDefinition 创建时被剪裁, +针对 `x-kubernetes-embedded-resource: true` 节点(或者包含 `metadata` 字段的结构的默认值)的 +`metadata` 字段的默认值设置不会在 CustomResourceDefinition 创建时被剪裁, 而是在处理请求的字段剪裁阶段被删除。 -#### Status 子资源 {#status-subresource} +#### status 子资源 {#status-subresource} 当启用了 status 子资源时,对应定制资源的 `/status` 子资源会被暴露出来。 @@ -2878,7 +2885,7 @@ When the status subresource is enabled, the `/status` subresource for the custom status 之外的所有内容。 - 对 `/status` 子资源的 `PUT` 请求仅对定制资源的 status 内容进行合法性检查。 - 对定制资源的 `PUT`、`POST`、`PATCH` 请求会忽略 status 内容的改变。 -- 对所有变更请求,除非改变是针对 `.metadata` 或 `.status`,`.metadata.generation` +- 对所有变更请求,除非改变是针对 `.metadata` 或 `.status` 的,`.metadata.generation` 的取值都会增加。 - 在 CRD OpenAPI 合法性检查模式定义的根节点,只允许存在以下结构: @@ -2911,7 +2918,7 @@ The `autoscaling/v1.Scale` object is sent as the payload for `/scale`. To enable the scale subresource, the following fields are defined in the CustomResourceDefinition. --> -#### Scale 子资源 {#scale-subresource} +#### scale 子资源 {#scale-subresource} 当启用了 scale 子资源时,定制资源的 `/scale` 子资源就被暴露出来。 针对 `/scale` 所发送的对象是 `autoscaling/v1.Scale`。 @@ -3131,7 +3138,9 @@ Then new namespaced RESTful API endpoints are created at: /apis/stable.example.com/v1/namespaces/*/crontabs/status ``` - + 和 ```none @@ -3183,6 +3192,9 @@ Save the following CustomResourceDefinition to `resourcedefinition.yaml`: 将下面的 CustomResourceDefinition 保存到 `resourcedefinition.yaml` 文件中: + ```yaml apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition From 4db818304d3242dc99def351e00be4881042911b Mon Sep 17 00:00:00 2001 From: za Date: Thu, 27 Mar 2025 11:38:05 +0700 Subject: [PATCH 101/121] id: Translate CVE-2025-1974 blog post to Indonesia language and also trying to initate a blog post in Indonesia --- content/id/blog/OWNERS | 12 +++++ content/id/blog/_index.md | 14 +++++ .../2025-03-24-ingress-nginx-CVE-2025-1974.md | 54 +++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 content/id/blog/OWNERS create mode 100644 content/id/blog/_index.md create mode 100644 content/id/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md diff --git a/content/id/blog/OWNERS b/content/id/blog/OWNERS new file mode 100644 index 0000000000..f234f081dc --- /dev/null +++ b/content/id/blog/OWNERS @@ -0,0 +1,12 @@ +# See the OWNERS docs at https://go.k8s.io/owners + +# Owned by Kubernetes Blog reviewers + +approvers: + - sig-docs-blog-owners # Defined in OWNERS_ALIASES + +reviewers: + - sig-docs-blog-reviewers # Defined in OWNERS_ALIASES + +labels: + - area/blog diff --git a/content/id/blog/_index.md b/content/id/blog/_index.md new file mode 100644 index 0000000000..f612832931 --- /dev/null +++ b/content/id/blog/_index.md @@ -0,0 +1,14 @@ +--- +title: Kubernetes Blog +linkTitle: Blog +menu: + main: + title: "Blog" + weight: 20 +--- +{{< comment >}} + +For information about contributing to the blog, see +https://kubernetes.io/docs/contribute/new-content/blogs-case-studies/#write-a-blog-post + +{{< /comment >}} diff --git a/content/id/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md b/content/id/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md new file mode 100644 index 0000000000..9488b329fa --- /dev/null +++ b/content/id/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md @@ -0,0 +1,54 @@ +--- +layout: blog +title: "Ingress-nginx CVE-2025-1974: Yang Perlu kamu Ketahui" +date: 2025-03-24T12:00:00-08:00 +slug: ingress-nginx-CVE-2025-1974 +author: > + Tabitha Sable (Komite Respon Keamanan Kubernetes) +--- + +Hari ini, pengelola ingress-nginx telah [merilis patch untuk sejumlah kerentanan kritis](https://github.com/kubernetes/ingress-nginx/releases) yang dapat mempermudah penyerang untuk mengambil alih kluster Kubernetes kamu. Jika kamu termasuk di antara lebih dari 40% administrator Kubernetes yang menggunakan [ingress-nginx](https://github.com/kubernetes/ingress-nginx/), kamu harus segera mengambil tindakan untuk melindungi pengguna dan data kamu. + +## Latar Belakang + +[Ingress](/docs/concepts/services-networking/ingress/) adalah fitur tradisional Kubernetes untuk mengekspos Pod workload kamu ke dunia luar agar dapat digunakan. Dengan cara yang tidak bergantung pada implementasi tertentu, pengguna Kubernetes dapat mendefinisikan bagaimana aplikasi mereka harus tersedia di jaringan. Kemudian, sebuah [ingress controller](/docs/concepts/services-networking/ingress-controllers/) menggunakan definisi tersebut untuk mengatur sumber daya lokal atau cloud sesuai dengan situasi dan kebutuhan pengguna. + +Tersedia berbagai ingress controller untuk memenuhi kebutuhan pengguna dari penyedia cloud atau merek load balancer yang berbeda. Ingress-nginx adalah ingress controller berbasis perangkat lunak yang disediakan oleh proyek Kubernetes. Karena fleksibilitas dan kemudahan penggunaannya, ingress-nginx cukup populer: digunakan di lebih dari 40% kluster Kubernetes! + +Ingress-nginx menerjemahkan kebutuhan dari objek Ingress menjadi konfigurasi untuk nginx, sebuah daemon web server open source yang kuat. Kemudian, nginx menggunakan konfigurasi tersebut untuk menerima dan merutekan permintaan ke berbagai aplikasi yang berjalan di dalam kluster Kubernetes. Penanganan parameter konfigurasi nginx yang tepat sangat penting, karena ingress-nginx perlu memberikan fleksibilitas yang signifikan kepada pengguna sambil mencegah mereka secara tidak sengaja atau sengaja memanipulasi nginx untuk melakukan hal-hal yang tidak seharusnya. + +## Kerentanan yang Ditambal Hari Ini + +Empat dari kerentanan ingress-nginx yang diumumkan hari ini adalah perbaikan terhadap cara ingress-nginx menangani bagian tertentu dari konfigurasi nginx. Tanpa perbaikan ini, sebuah objek Ingress yang dirancang khusus dapat menyebabkan nginx berperilaku tidak semestinya, termasuk mengungkapkan nilai [Secrets](/docs/concepts/configuration/secret/) yang dapat diakses oleh ingress-nginx. Secara default, ingress-nginx memiliki akses ke semua Secrets di seluruh kluster, sehingga hal ini sering kali dapat menyebabkan pengambilalihan kluster secara penuh oleh pengguna atau entitas yang memiliki izin untuk membuat Ingress. + +Kerentanan paling serius hari ini, [CVE-2025-1974](https://github.com/kubernetes/kubernetes/issues/131009), yang diberi nilai [9.8 CVSS](https://www.first.org/cvss/calculator/3-1#CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H), memungkinkan apa pun di jaringan Pod untuk mengeksploitasi kerentanan injeksi konfigurasi melalui fitur Validating Admission Controller dari ingress-nginx. Hal ini membuat kerentanan tersebut jauh lebih berbahaya: biasanya seseorang perlu dapat membuat objek Ingress di kluster, yang merupakan tindakan yang cukup berhak. Ketika digabungkan dengan kerentanan lainnya hari ini, **CVE-2025-1974 berarti bahwa apa pun di jaringan Pod memiliki peluang besar untuk mengambil alih kluster Kubernetes kamu, tanpa kredensial atau akses administratif yang diperlukan**. Dalam banyak skenario umum, jaringan Pod dapat diakses oleh semua workload di VPC cloud kamu, atau bahkan siapa pun yang terhubung ke jaringan perusahaan kamu! Ini adalah situasi yang sangat serius. + +Hari ini, kami telah [merilis ingress-nginx v1.12.1 dan v1.11.5](https://github.com/kubernetes/ingress-nginx/releases), yang memiliki perbaikan untuk semua lima kerentanan ini. + +## Langkah kamu Selanjutnya + +Pertama, tentukan apakah kluster kamu menggunakan ingress-nginx. Dalam banyak kasus, kamu dapat memeriksanya dengan menjalankan `kubectl get pods --all-namespaces --selector app.kubernetes.io/name=ingress-nginx` dengan izin administrator kluster. + +**Jika kamu menggunakan ingress-nginx, buat rencana untuk memperbaiki kerentanan ini segera.** + +**Solusi terbaik dan termudah adalah [memperbarui ke rilis patch baru dari ingress-nginx](https://kubernetes.github.io/ingress-nginx/deploy/upgrade/).** Semua lima kerentanan hari ini diperbaiki dengan menginstal patch yang dirilis hari ini. + +Jika kamu tidak dapat memperbarui segera, kamu dapat secara signifikan mengurangi risiko dengan mematikan fitur Validating Admission Controller dari ingress-nginx. + +* Jika kamu menginstal ingress-nginx menggunakan Helm + * Instal ulang, dengan mengatur nilai Helm `controller.admissionWebhooks.enabled=false` +* Jika kamu menginstal ingress-nginx secara manual + * hapus ValidatingWebhookConfiguration bernama `ingress-nginx-admission` + * edit Deployment atau Daemonset `ingress-nginx-controller`, hapus `--validating-webhook` dari daftar argumen kontainer controller + +Jika kamu mematikan fitur Validating Admission Controller sebagai mitigasi untuk CVE-2025-1974, ingatlah untuk mengaktifkannya kembali setelah kamu memperbarui. Fitur ini memberikan peningkatan kualitas hidup yang penting bagi pengguna kamu, dengan memperingatkan mereka tentang konfigurasi Ingress yang salah sebelum dapat diterapkan. + +## Kesimpulan, Terima Kasih, dan Bacaan Lebih Lanjut + +Kerentanan ingress-nginx yang diumumkan hari ini, termasuk CVE-2025-1974, menghadirkan risiko serius bagi banyak pengguna Kubernetes dan data mereka. Jika kamu menggunakan ingress-nginx, kamu harus segera mengambil tindakan untuk menjaga keamanan kamu. + +Terima kasih kepada Nir Ohfeld, Sagi Tzadik, Ronen Shustin, dan Hillai Ben-Sasson dari Wiz atas pengungkapan kerentanan ini secara bertanggung jawab, serta atas kerja sama mereka dengan anggota SRC Kubernetes dan pengelola ingress-nginx (Marco Ebert dan James Strong) untuk memastikan kami memperbaikinya secara efektif. + +Untuk informasi lebih lanjut tentang pemeliharaan dan masa depan ingress-nginx, silakan lihat [isu GitHub ini](https://github.com/kubernetes/ingress-nginx/issues/13002) dan/atau hadiri [presentasi James dan Marco di KubeCon/CloudNativeCon EU 2025](https://kccnceu2025.sched.com/event/1tcyc/). + +Untuk informasi lebih lanjut tentang kerentanan spesifik yang dibahas dalam artikel ini, silakan lihat isu GitHub yang sesuai: [CVE-2025-24513](https://github.com/kubernetes/kubernetes/issues/131005), [CVE-2025-24514](https://github.com/kubernetes/kubernetes/issues/131006), [CVE-2025-1097](https://github.com/kubernetes/kubernetes/issues/131007), [CVE-2025-1098](https://github.com/kubernetes/kubernetes/issues/131008), atau [CVE-2025-1974](https://github.com/kubernetes/kubernetes/issues/131009) From 488e4666ead9b19abbc0b9754b5221c6f383d9dd Mon Sep 17 00:00:00 2001 From: za Date: Thu, 27 Mar 2025 12:09:13 +0700 Subject: [PATCH 102/121] id: small fix and translate _index.md --- content/id/blog/_index.md | 2 +- .../id/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/id/blog/_index.md b/content/id/blog/_index.md index f612832931..55f8c44921 100644 --- a/content/id/blog/_index.md +++ b/content/id/blog/_index.md @@ -8,7 +8,7 @@ menu: --- {{< comment >}} -For information about contributing to the blog, see +Untuk informasi lebih lanjut tentang berkontribusi ke blog, lihat https://kubernetes.io/docs/contribute/new-content/blogs-case-studies/#write-a-blog-post {{< /comment >}} diff --git a/content/id/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md b/content/id/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md index 9488b329fa..46bf65d711 100644 --- a/content/id/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md +++ b/content/id/blog/_posts/2025-03-24-ingress-nginx-CVE-2025-1974.md @@ -1,6 +1,6 @@ --- layout: blog -title: "Ingress-nginx CVE-2025-1974: Yang Perlu kamu Ketahui" +title: "Ingress-nginx CVE-2025-1974: Yang Perlu Kamu Ketahui" date: 2025-03-24T12:00:00-08:00 slug: ingress-nginx-CVE-2025-1974 author: > From adeef471571b9ab53c33f722d80baaf9bc7de369 Mon Sep 17 00:00:00 2001 From: khanhtc1202 Date: Thu, 27 Mar 2025 18:42:37 +0900 Subject: [PATCH 103/121] Reconstruct vietnamese docs Signed-off-by: khanhtc1202 --- content/vi/docs/concepts/_index.md | 14 ++++++++++++++ content/vi/docs/reference/_index.md | 14 ++++++++++++++ content/vi/docs/tasks/_index.md | 17 +++++++++++++++++ content/vi/docs/tutorials/_index.md | 15 +++++++++++++++ 4 files changed, 60 insertions(+) create mode 100644 content/vi/docs/concepts/_index.md create mode 100644 content/vi/docs/reference/_index.md create mode 100644 content/vi/docs/tasks/_index.md create mode 100644 content/vi/docs/tutorials/_index.md diff --git a/content/vi/docs/concepts/_index.md b/content/vi/docs/concepts/_index.md new file mode 100644 index 0000000000..78c26b12df --- /dev/null +++ b/content/vi/docs/concepts/_index.md @@ -0,0 +1,14 @@ +--- +title: Các khái niệm +main_menu: true +content_type: concept +weight: 40 +--- + + + + +Phần Khái niệm giúp bạn tìm hiểu về các bộ phận của hệ thống Kubernetes và các khái niệm mà Kubernetes sử dụng để biểu diễn {{< glossary_tooltip text="cụm cluster" term_id="cluster" length="all" >}} của bạn, đồng thời giúp bạn hiểu sâu hơn về cách thức hoạt động của Kubernetes. + + + diff --git a/content/vi/docs/reference/_index.md b/content/vi/docs/reference/_index.md new file mode 100644 index 0000000000..4d6f0b0978 --- /dev/null +++ b/content/vi/docs/reference/_index.md @@ -0,0 +1,14 @@ +--- +title: Tài liệu tham khảo +linkTitle: "Tài liệu tham khảo" +main_menu: true +weight: 70 +content_type: concept +no_list: true +--- + + + +Phần này chứa các tài liệu tham khảo của Kubernetes. + + diff --git a/content/vi/docs/tasks/_index.md b/content/vi/docs/tasks/_index.md new file mode 100644 index 0000000000..83625ea2c4 --- /dev/null +++ b/content/vi/docs/tasks/_index.md @@ -0,0 +1,17 @@ +--- +title: Tasks +main_menu: true +weight: 50 +content_type: concept +--- + + + +Phần này của tài liệu chứa các hướng dẫn thực hiện các tác vụ. Mỗi tài liệu hướng dẫn tác vụ chỉ dẫn cách thực hiện một việc duy nhất, thường bằng cách đưa ra một chuỗi các bước ngắn. + +Các tác vụ bao gồm: Cài đặt tool, chạy jobs, quản lý GPUs, etc. + +Bạn có thể tạo và đóng góp tài liệu về một tác vụ mới thông qua +[Hướng dẫn tạo tài liệu mới](/docs/contribute/new-content/open-a-pr/). + + diff --git a/content/vi/docs/tutorials/_index.md b/content/vi/docs/tutorials/_index.md new file mode 100644 index 0000000000..f298b5763d --- /dev/null +++ b/content/vi/docs/tutorials/_index.md @@ -0,0 +1,15 @@ +--- +title: Tutorials +main_menu: true +no_list: true +weight: 60 +content_type: concept +--- + + + +Phần này của tài liệu có chứa các hướng dẫn. Phần hướng dẫn sẽ chỉ cho bạn cách thực hiện một mục tiêu lớn hơn một [tác vụ đơn lẻ](/docs/tasks/). + +Thông thường, một hướng dẫn có nhiều phần, mỗi phần có một trình tự các bước. Trước khi thực hiện từng hướng dẫn, bạn có thể muốn đánh dấu trang [Thuật ngữ chuẩn hóa](/docs/reference/glossary/) để tham khảo. + + From 1bd47e533cecd62cdf8d6a224fb9952a8f418d9e Mon Sep 17 00:00:00 2001 From: Graziano Casto Date: Thu, 27 Mar 2025 12:33:31 +0100 Subject: [PATCH 104/121] fix kube scheduler simulator content and static image pathname --- .../2025-04-07-kube-scheduler-simulator/index.md | 4 ++-- .../simulator.png | Bin 2 files changed, 2 insertions(+), 2 deletions(-) rename static/images/blog/{2025-12-31-kube-scheduler-simulator => 2025-04-07-kube-scheduler-simulator}/simulator.png (100%) diff --git a/content/en/blog/_posts/2025-04-07-kube-scheduler-simulator/index.md b/content/en/blog/_posts/2025-04-07-kube-scheduler-simulator/index.md index b37a3e157d..34bb30143e 100644 --- a/content/en/blog/_posts/2025-04-07-kube-scheduler-simulator/index.md +++ b/content/en/blog/_posts/2025-04-07-kube-scheduler-simulator/index.md @@ -10,7 +10,7 @@ author: Kensei Nakada (Tetrate) The Kubernetes Scheduler is a crucial control plane component that determines which node a Pod will run on. Thus, anyone utilizing Kubernetes relies on a scheduler. -The [Kubernetes Scheduler](/docs/concepts/scheduling-eviction/kube-scheduler/) is a simulator for the Kubernetes scheduler, started as a [Google Summer of Code 2021](https://summerofcode.withgoogle.com/) project developed by me (Kensei Nakada) and later received a lot of contributions. +[kube-scheduler-simulator](https://github.com/kubernetes-sigs/kube-scheduler-simulator) is a _simulator_ for the Kubernetes scheduler, that started as a [Google Summer of Code 2021](https://summerofcode.withgoogle.com/) project developed by me (Kensei Nakada) and later received a lot of contributions. This tool allows users to closely examine the scheduler’s behavior and decisions. It is useful for casual users who employ scheduling constraints (for example, [inter-Pod affinity](/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity/#affinity-and-anti-affinity)) @@ -51,7 +51,7 @@ filter nodes (Filter phase), score nodes (Score phase), and ultimately determine The simulator allows users to create Kubernetes resources and observe how each plugin influences the scheduling decisions for Pods. This visibility helps users understand the scheduler’s workings and define appropriate scheduling constraints. -{{< figure src="/images/blog/2025-01-22-kube-scheduler-simulator/simulator.png" alt="Screenshot of the simulator web frontend that shows the detailed scheduling results per node and per extension point" title="The simulator web frontend" >}} +{{< figure src="/images/blog/2025-04-07-kube-scheduler-simulator/simulator.png" alt="Screenshot of the simulator web frontend that shows the detailed scheduling results per node and per extension point" title="The simulator web frontend" >}} Inside the simulator, a debuggable scheduler runs instead of the vanilla scheduler. This debuggable scheduler outputs the results of each scheduler plugin at every extension point to the Pod’s annotations like the following manifest shows diff --git a/static/images/blog/2025-12-31-kube-scheduler-simulator/simulator.png b/static/images/blog/2025-04-07-kube-scheduler-simulator/simulator.png similarity index 100% rename from static/images/blog/2025-12-31-kube-scheduler-simulator/simulator.png rename to static/images/blog/2025-04-07-kube-scheduler-simulator/simulator.png From 161d863cd76a6d9128120fdeaa39aea3bdfdadf2 Mon Sep 17 00:00:00 2001 From: Sayak Mukhopadhyay Date: Thu, 27 Mar 2025 17:20:07 +0530 Subject: [PATCH 105/121] feat: remove case study template --- layouts/case-studies/single-baseof.html | 18 ------------------ 1 file changed, 18 deletions(-) delete mode 100644 layouts/case-studies/single-baseof.html diff --git a/layouts/case-studies/single-baseof.html b/layouts/case-studies/single-baseof.html deleted file mode 100644 index 1d7e2b4996..0000000000 --- a/layouts/case-studies/single-baseof.html +++ /dev/null @@ -1,18 +0,0 @@ - - - - {{ partial "head.html" . }} - - - {{ partial "navbar.html" . }} - {{ block "deprecation_warning.html" . }} - {{ partial "deprecation-warning.html" . }} - {{ end }} -

- {{ block "main" . }}{{ end }} -
- {{ partialCached "footer.html" . }} - {{ partialCached "scripts.html" . }} - - - \ No newline at end of file From f811642119b31ec09b9a60f4e63691e0d157612b Mon Sep 17 00:00:00 2001 From: Henry Pham Date: Sat, 29 Mar 2025 07:52:18 +0700 Subject: [PATCH 106/121] Translate verify-kubectl.md --- .../vi/docs/tasks/tools/included/_index.md | 10 +++++ .../tasks/tools/included/verify-kubectl.md | 45 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 content/vi/docs/tasks/tools/included/_index.md create mode 100644 content/vi/docs/tasks/tools/included/verify-kubectl.md diff --git a/content/vi/docs/tasks/tools/included/_index.md b/content/vi/docs/tasks/tools/included/_index.md new file mode 100644 index 0000000000..3313378500 --- /dev/null +++ b/content/vi/docs/tasks/tools/included/_index.md @@ -0,0 +1,10 @@ +--- +title: "Tools Included" +description: "Snippets to be included in the main kubectl-installs-*.md pages." +headless: true +toc_hide: true +_build: + list: never + render: never + publishResources: false +--- \ No newline at end of file diff --git a/content/vi/docs/tasks/tools/included/verify-kubectl.md b/content/vi/docs/tasks/tools/included/verify-kubectl.md new file mode 100644 index 0000000000..c0aef819f5 --- /dev/null +++ b/content/vi/docs/tasks/tools/included/verify-kubectl.md @@ -0,0 +1,45 @@ +--- +title: "xác minh cài đặt lệnh kubectl" +description: "Cách kiểm tra lệnh kubectl đã được cài thành công" +headless: true +_build: + list: never + render: never + publishResources: false +--- + +Để kubectl có thể tìm kiếm và truy cập vào Kubernetes cluster, nó cần một [tệp kubeconfig](/docs/concepts/configuration/organize-cluster-access-kubeconfig/), được tạo tự động khi chúng ta tạo một cluster bằng [kube-up.sh](https://github.com/kubernetes/kubernetes/blob/master/cluster/kube-up.sh) hoặc khi triển khai thành công cluster Minikube. +Mặc định, thông tin cấu hình của kubectl được định nghĩa trong `~/.kube/config`. + +Chúng ta có thể kiểm tra xem kubectl đã được cấu hình đúng chưa bằng cách kiểm tra thông tin của cluster: + +```shell +kubectl cluster-info +``` + +Nếu bạn thấy kết quả trả về là một đường dẫn, thì kubectl đã được cấu hình đúng để truy cập cluster của chúng ta. + +Nếu bạn thấy thông báo tương tự như dưới đây, điều đó có nghĩa kubectl chưa được cấu hình đúng hoặc không thể kết nối tới Kubernetes cluster. + +```plaintext +The connection to the server was refused - did you specify the right host or port? +``` + +Thông báo trên, được kubectl trả về, mong bạn kiểm tra lại đường dẫn (bao host và port) tới cluster đã đúng hay chưa + +Ví dụ, nếu bạn đang dự định tạo một Kubernetes cluster trên máy tính cá nhân, bạn sẽ cần cài đặt một công cụ như [Minikube](https://minikube.sigs.k8s.io/docs/start/) trước, sau đó chạy lại các lệnh đã nêu ở trên. + +Nếu lệnh `kubectl cluster-info` trả về đường dẫn nhưng bạn vẫn không thể truy cập vào cluster, hãy kiểm tra cấu hình kỹ hơn bằng lệnh sau: + +```shell +kubectl cluster-info dump +``` + +### Xử lý lỗi 'No Auth Provider Found' {#no-auth-provider-found} + +Ở phiên bản 1.26 của Kubernetes, kubectl đã loại bỏ tính năng xác thực tích hợp sẵn cho các dịch vụ Kubernetes được quản lý bởi các nhà cung cấp đám mây dưới đây. Các nhà cung cấp này đã phát hành plugin kubectl để hỗ trợ xác thực dành riêng cho nền tảng của họ. Tham khảo tài liệu hướng dẫn của nhà cung cấp để biết thêm thông tin: + +* Azure AKS: [kubelogin plugin](https://azure.github.io/kubelogin/) +* Google Kubernetes Engine: [gke-gcloud-auth-plugin](https://cloud.google.com/kubernetes-engine/docs/how-to/cluster-access-for-kubectl#install_plugin) + +(Lưu ý: cùng một thông báo lỗi cũng có thể xuất hiện vì các lý do khác không liên quan đến sự thay đổi này.) \ No newline at end of file From 6920aa2767d23ff223ea4f4b913a83949e9ddab5 Mon Sep 17 00:00:00 2001 From: enchant3dmango Date: Sat, 29 Mar 2025 11:44:35 +0700 Subject: [PATCH 107/121] fix: standardizing word 'klaster' --- content/id/docs/reference/glossary/pod.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/id/docs/reference/glossary/pod.md b/content/id/docs/reference/glossary/pod.md index e98315217b..e57264c85b 100644 --- a/content/id/docs/reference/glossary/pod.md +++ b/content/id/docs/reference/glossary/pod.md @@ -4,14 +4,14 @@ id: pod date: 2019-06-24 full_link: /docs/concepts/workloads/pods/pod-overview/ short_description: > - Unit Kubernetes yang paling sederhana dan kecil. Sebuah Pod merepresentasikan sebuah set kontainer yang dijalankan pada kluster kamu. + Unit Kubernetes yang paling sederhana dan kecil. Sebuah Pod merepresentasikan sebuah set kontainer yang dijalankan pada klaster kamu. -aka: +aka: tags: - core-object - fundamental --- -Unit Kubernetes yang paling sederhana dan kecil. Sebuah Pod merepresentasikan sebuah set kontainer yang dijalankan {{< glossary_tooltip text="kontainer" term_id="container" >}} pada kluster kamu. +Unit Kubernetes yang paling sederhana dan kecil. Sebuah Pod merepresentasikan sebuah set kontainer yang dijalankan {{< glossary_tooltip text="kontainer" term_id="container" >}} pada klaster kamu. - + Sebuah Pod biasanya digunakan untuk menjalankan sebuah kontainer. Pod juga dapat digunakan untuk menjalankan beberapa sidecar container dan beberapa fiture tambahan. Pod biasanya diatur oleh sebuah {{< glossary_tooltip term_id="deployment" >}}. From b452fb2ffd3413711c4ce810e59459ce8bfed8a4 Mon Sep 17 00:00:00 2001 From: enchant3dmango Date: Sat, 29 Mar 2025 11:53:01 +0700 Subject: [PATCH 108/121] fix: standardizing word 'klaster' outside glossary --- .../docs/concepts/architecture/controller.md | 108 +++--- .../cluster-administration/networking.md | 14 +- .../id/docs/concepts/configuration/secret.md | 318 +++++++++--------- .../api-extension/apiserver-aggregation.md | 6 +- .../compute-storage-net/network-plugins.md | 2 +- .../authentication-mechanisms.md | 28 +- .../docs/concepts/workloads/pods/pod-qos.md | 2 +- .../id/docs/concepts/workloads/pods/pod.md | 104 +++--- .../configure-upgrade-etcd.md | 4 +- .../configure-service-account.md | 6 +- .../mysql-wordpress-persistent-volume.md | 12 +- 11 files changed, 302 insertions(+), 302 deletions(-) diff --git a/content/id/docs/concepts/architecture/controller.md b/content/id/docs/concepts/architecture/controller.md index f863dd924d..b779b95ecc 100644 --- a/content/id/docs/concepts/architecture/controller.md +++ b/content/id/docs/concepts/architecture/controller.md @@ -12,14 +12,14 @@ lingkaran tertutup yang mengatur keadaan suatu sistem. Berikut adalah salah satu contoh kontrol tertutup: termostat di sebuah ruangan. Ketika kamu mengatur suhunya, itu mengisyaratkan ke termostat -tentang *keadaan yang kamu inginkan*. Sedangkan suhu kamar yang sebenarnya +tentang *keadaan yang kamu inginkan*. Sedangkan suhu kamar yang sebenarnya adalah *keadaan saat ini*. Termostat berfungsi untuk membawa keadaan saat ini -mendekati ke keadaan yang diinginkan, dengan menghidupkan atau mematikan +mendekati ke keadaan yang diinginkan, dengan menghidupkan atau mematikan perangkat. Di Kubernetes, _controller_ adalah kontrol tertutup yang mengawasi keadaan klaster -{{< glossary_tooltip term_id="cluster" text="klaster" >}} kamu, lalu membuat atau meminta -perubahan jika diperlukan. Setiap _controller_ mencoba untuk memindahkan status +{{< glossary_tooltip term_id="cluster" text="klaster" >}} kamu, lalu membuat atau meminta +perubahan jika diperlukan. Setiap _controller_ mencoba untuk memindahkan status klaster saat ini mendekati keadaan yang diinginkan. {{< glossary_definition term_id="controller" length="short">}} @@ -29,24 +29,24 @@ klaster saat ini mendekati keadaan yang diinginkan. -## Pola _controller_ +## Pola _controller_ -Sebuah _controller_ melacak sekurang-kurangnya satu jenis sumber daya dari +Sebuah _controller_ melacak sekurang-kurangnya satu jenis sumber daya dari Kubernetes. [objek-objek](/id/docs/concepts/overview/working-with-objects/kubernetes-objects/) ini -memiliki *spec field* yang merepresentasikan keadaan yang diinginkan. Satu atau -lebih _controller_ untuk *resource* tersebut bertanggung jawab untuk membuat +memiliki *spec field* yang merepresentasikan keadaan yang diinginkan. Satu atau +lebih _controller_ untuk *resource* tersebut bertanggung jawab untuk membuat keadaan sekarang mendekati keadaan yang diinginkan. -_Controller_ mungkin saja melakukan tindakan itu sendiri; namun secara umum, di +_Controller_ mungkin saja melakukan tindakan itu sendiri; namun secara umum, di Kubernetes, _controller_ akan mengirim pesan ke -{{< glossary_tooltip text="API server" term_id="kube-apiserver" >}} yang -mempunyai efek samping yang bermanfaat. Kamu bisa melihat contoh-contoh +{{< glossary_tooltip text="API server" term_id="kube-apiserver" >}} yang +mempunyai efek samping yang bermanfaat. Kamu bisa melihat contoh-contoh di bawah ini. {{< comment >}} Beberapa _controller_ bawaan, seperti _controller namespace_, bekerja pada objek -yang tidak memiliki *spec*. Agar lebih sederhana, halaman ini tidak +yang tidak memiliki *spec*. Agar lebih sederhana, halaman ini tidak menjelaskannya secara detail. {{< /comment >}} @@ -57,34 +57,34 @@ bawaan dari Kubernetes. _Controller_ bawaan tersebut mengelola status melalui interaksi dengan server API dari suatu klaster. Job adalah sumber daya dalam Kubernetes yang menjalankan a -{{< glossary_tooltip term_id="pod" >}}, atau mungkin beberapa Pod sekaligus, +{{< glossary_tooltip term_id="pod" >}}, atau mungkin beberapa Pod sekaligus, untuk melakukan sebuah pekerjaan dan kemudian berhenti. -(Setelah [dijadwalkan](/id/docs/concepts/scheduling-eviction/), objek Pod +(Setelah [dijadwalkan](/id/docs/concepts/scheduling-eviction/), objek Pod akan menjadi bagian dari keadaan yang diinginkan oleh kubelet). -Ketika _controller job_ melihat tugas baru, maka _controller_ itu memastikan bahwa, -di suatu tempat pada klaster kamu, kubelet dalam sekumpulan Node menjalankan -Pod-Pod dengan jumlah yang benar untuk menyelesaikan pekerjaan. _Controller job_ -tidak menjalankan sejumlah Pod atau kontainer apa pun untuk dirinya sendiri. -Namun, _controller job_ mengisyaratkan kepada server API untuk membuat atau +Ketika _controller job_ melihat tugas baru, maka _controller_ itu memastikan bahwa, +di suatu tempat pada klaster kamu, kubelet dalam sekumpulan Node menjalankan +Pod-Pod dengan jumlah yang benar untuk menyelesaikan pekerjaan. _Controller job_ +tidak menjalankan sejumlah Pod atau kontainer apa pun untuk dirinya sendiri. +Namun, _controller job_ mengisyaratkan kepada server API untuk membuat atau menghapus Pod. Komponen-komponen lain dalam {{< glossary_tooltip text="control plane" term_id="control-plane" >}} -bekerja berdasarkan informasi baru (adakah Pod-Pod baru untuk menjadwalkan dan +bekerja berdasarkan informasi baru (adakah Pod-Pod baru untuk menjadwalkan dan menjalankan pekerjan), dan pada akhirnya pekerjaan itu selesai. -Setelah kamu membuat Job baru, status yang diharapkan adalah bagaimana -pekerjaan itu bisa selesai. _Controller job_ membuat status pekerjaan saat ini -agar mendekati dengan keadaan yang kamu inginkan: membuat Pod yang melakukan -pekerjaan yang kamu inginkan untuk Job tersebut, sehingga Job hampir +Setelah kamu membuat Job baru, status yang diharapkan adalah bagaimana +pekerjaan itu bisa selesai. _Controller job_ membuat status pekerjaan saat ini +agar mendekati dengan keadaan yang kamu inginkan: membuat Pod yang melakukan +pekerjaan yang kamu inginkan untuk Job tersebut, sehingga Job hampir terselesaikan. -_Controller_ juga memperbarui objek yang mengkonfigurasinya. Misalnya: setelah -pekerjaan dilakukan untuk Job tersebut, _controller job_ memperbarui objek Job +_Controller_ juga memperbarui objek yang mengkonfigurasinya. Misalnya: setelah +pekerjaan dilakukan untuk Job tersebut, _controller job_ memperbarui objek Job dengan menandainya `Finished`. -(Ini hampir sama dengan bagaimana beberapa termostat mematikan lampu untuk -mengindikasikan bahwa kamar kamu sekarang sudah berada pada suhu yang kamu +(Ini hampir sama dengan bagaimana beberapa termostat mematikan lampu untuk +mengindikasikan bahwa kamar kamu sekarang sudah berada pada suhu yang kamu inginkan). ### Kontrol Langsung @@ -92,17 +92,17 @@ inginkan). Berbeda dengan sebuah Job, beberapa dari _controller_ perlu melakukan perubahan sesuatu di luar dari klaster kamu. -Sebagai contoh, jika kamu menggunakan kontrol tertutup untuk memastikan apakah +Sebagai contoh, jika kamu menggunakan kontrol tertutup untuk memastikan apakah cukup {{< glossary_tooltip text="Node" term_id="node" >}} -dalam kluster kamu, maka _controller_ memerlukan sesuatu di luar klaster saat ini +dalam klaster kamu, maka _controller_ memerlukan sesuatu di luar klaster saat ini untuk mengatur Node-Node baru apabila dibutuhkan. -_controller_ yang berinteraksi dengan keadaan eksternal dapat menemukan keadaan -yang diinginkannya melalui server API, dan kemudian berkomunikasi langsung -dengan sistem eksternal untuk membawa keadaan saat ini mendekat keadaan yang +_controller_ yang berinteraksi dengan keadaan eksternal dapat menemukan keadaan +yang diinginkannya melalui server API, dan kemudian berkomunikasi langsung +dengan sistem eksternal untuk membawa keadaan saat ini mendekat keadaan yang diinginkan. -(Sebenarnya ada sebuah [_controller_](https://github.com/kubernetes/autoscaler/) yang melakukan penskalaan node secara +(Sebenarnya ada sebuah [_controller_](https://github.com/kubernetes/autoscaler/) yang melakukan penskalaan node secara horizontal dalam klaster kamu. ## Status sekarang berbanding status yang diinginkan {#sekarang-banding-diinginkan} @@ -110,39 +110,39 @@ horizontal dalam klaster kamu. Kubernetes mengambil pandangan sistem secara _cloud-native_, dan mampu menangani perubahan yang konstan. -Klaster kamu dapat mengalami perubahan kapan saja pada saat pekerjaan sedang +Klaster kamu dapat mengalami perubahan kapan saja pada saat pekerjaan sedang berlangsung dan kontrol tertutup secara otomatis memperbaiki setiap kegagalan. -Hal ini berarti bahwa, secara potensi, klaster kamu tidak akan pernah mencapai +Hal ini berarti bahwa, secara potensi, klaster kamu tidak akan pernah mencapai kondisi stabil. -Selama _controller_ dari klaster kamu berjalan dan mampu membuat perubahan yang +Selama _controller_ dari klaster kamu berjalan dan mampu membuat perubahan yang bermanfaat, tidak masalah apabila keadaan keseluruhan stabil atau tidak. ## Perancangan -Sebagai prinsip dasar perancangan, Kubernetes menggunakan banyak _controller_ yang -masing-masing mengelola aspek tertentu dari keadaan klaster. Yang paling umum, -kontrol tertutup tertentu menggunakan salah satu jenis sumber daya -sebagai suatu keadaan yang diinginkan, dan memiliki jenis sumber daya yang +Sebagai prinsip dasar perancangan, Kubernetes menggunakan banyak _controller_ yang +masing-masing mengelola aspek tertentu dari keadaan klaster. Yang paling umum, +kontrol tertutup tertentu menggunakan salah satu jenis sumber daya +sebagai suatu keadaan yang diinginkan, dan memiliki jenis sumber daya yang berbeda untuk dikelola dalam rangka membuat keadaan yang diinginkan terjadi. -Sangat penting untuk memiliki beberapa _controller_ sederhana daripada hanya satu -_controller_ saja, dimana satu kumpulan monolitik kontrol tertutup saling +Sangat penting untuk memiliki beberapa _controller_ sederhana daripada hanya satu +_controller_ saja, dimana satu kumpulan monolitik kontrol tertutup saling berkaitan satu sama lain. Karena _controller_ bisa saja gagal, sehingga Kubernetes dirancang untuk memungkinkan hal tersebut. Misalnya: _controller_ pekerjaan melacak objek pekerjaan (untuk menemukan -adanya pekerjaan baru) dan objek Pod (untuk menjalankan pekerjaan tersebut dan -kemudian melihat lagi ketika pekerjaan itu sudah selesai). Dalam hal ini yang +adanya pekerjaan baru) dan objek Pod (untuk menjalankan pekerjaan tersebut dan +kemudian melihat lagi ketika pekerjaan itu sudah selesai). Dalam hal ini yang lain membuat pekerjaan, sedangkan _controller_ pekerjaan membuat Pod-Pod. {{< note >}} -Ada kemungkinan beberapa _controller_ membuat atau memperbarui jenis objek yang -sama. Namun di belakang layar, _controller_ Kubernetes memastikan bahwa mereka -hanya memperhatikan sumbr daya yang terkait dengan sumber daya yang mereka +Ada kemungkinan beberapa _controller_ membuat atau memperbarui jenis objek yang +sama. Namun di belakang layar, _controller_ Kubernetes memastikan bahwa mereka +hanya memperhatikan sumbr daya yang terkait dengan sumber daya yang mereka kendalikan. -Misalnya, kamu dapat memiliki Deployment dan Job; dimana keduanya akan membuat +Misalnya, kamu dapat memiliki Deployment dan Job; dimana keduanya akan membuat Pod. _Controller Job_ tidak akan menghapus Pod yang dibuat oleh Deployment kamu, karena ada informasi ({{< glossary_tooltip term_id="label" text="labels" >}}) yang dapat oleh _controller_ untuk membedakan Pod-Pod tersebut. @@ -156,14 +156,14 @@ bawaan memberikan perilaku inti yang sangat penting. _Controller Deployment_ dan _controller Job_ adalah contoh dari _controller_ yang hadir sebagai bagian dari Kubernetes itu sendiri (_controller_ "bawaan"). -Kubernetes memungkinkan kamu menjalankan _control plane_ yang tangguh, sehingga -jika ada _controller_ bawaan yang gagal, maka bagian lain dari _control plane_ akan +Kubernetes memungkinkan kamu menjalankan _control plane_ yang tangguh, sehingga +jika ada _controller_ bawaan yang gagal, maka bagian lain dari _control plane_ akan mengambil alih pekerjaan. -Kamu juga dapat menemukan pengontrol yang berjalan di luar _control plane_, untuk -mengembangkan lebih jauh Kubernetes. Atau, jika mau, kamu bisa membuat +Kamu juga dapat menemukan pengontrol yang berjalan di luar _control plane_, untuk +mengembangkan lebih jauh Kubernetes. Atau, jika mau, kamu bisa membuat _controller_ baru sendiri. Kamu dapat menjalankan _controller_ kamu sendiri sebagai -satu kumpulan dari beberapa Pod, atau bisa juga sebagai bagian eksternal dari +satu kumpulan dari beberapa Pod, atau bisa juga sebagai bagian eksternal dari Kubernetes. Manakah yang paling sesuai akan tergantung pada apa yang _controller_ khusus itu lakukan. diff --git a/content/id/docs/concepts/cluster-administration/networking.md b/content/id/docs/concepts/cluster-administration/networking.md index d587349dcb..b708043f89 100644 --- a/content/id/docs/concepts/cluster-administration/networking.md +++ b/content/id/docs/concepts/cluster-administration/networking.md @@ -1,5 +1,5 @@ --- -title: Jaringan Kluster +title: Jaringan Klaster content_type: concept weight: 50 --- @@ -24,7 +24,7 @@ Kubernetes adalah tentang berbagi mesin antar aplikasi. Pada dasarnya, saat berbagi mesin harus memastikan bahwa dua aplikasi tidak mencoba menggunakan _port_ yang sama. Mengkoordinasikan _port_ di banyak pengembang sangat sulit dilakukan pada skala yang berbeda dan memaparkan pengguna ke masalah -tingkat kluster yang di luar kendali mereka. +tingkat klaster yang di luar kendali mereka. Alokasi _port_ yang dinamis membawa banyak komplikasi ke sistem - setiap aplikasi harus menganggap _port_ sebagai _flag_, _server_ API harus tahu cara memasukkan @@ -73,9 +73,9 @@ Detail tentang cara kerja sistem AOS dapat diakses di sini: http://www.apstra.co ### AWS VPC CNI untuk Kubernetes -[AWS VPC CNI](https://github.com/aws/amazon-vpc-cni-k8s) menawarkan jaringan AWS _Virtual Private Cloud_ (VPC) terintegrasi untuk kluster Kubernetes. Plugin CNI ini menawarkan _throughput_ dan ketersediaan tinggi, latensi rendah, dan _jitter_ jaringan minimal. Selain itu, pengguna dapat menerapkan jaringan AWS VPC dan praktik keamanan terbaik untuk membangun kluster Kubernetes. Ini termasuk kemampuan untuk menggunakan catatan aliran VPC, kebijakan perutean VPC, dan grup keamanan untuk isolasi lalu lintas jaringan. +[AWS VPC CNI](https://github.com/aws/amazon-vpc-cni-k8s) menawarkan jaringan AWS _Virtual Private Cloud_ (VPC) terintegrasi untuk klaster Kubernetes. Plugin CNI ini menawarkan _throughput_ dan ketersediaan tinggi, latensi rendah, dan _jitter_ jaringan minimal. Selain itu, pengguna dapat menerapkan jaringan AWS VPC dan praktik keamanan terbaik untuk membangun klaster Kubernetes. Ini termasuk kemampuan untuk menggunakan catatan aliran VPC, kebijakan perutean VPC, dan grup keamanan untuk isolasi lalu lintas jaringan. -Menggunakan _plugin_ CNI ini memungkinkan Pod Kubernetes memiliki alamat IP yang sama di dalam Pod seperti yang mereka lakukan di jaringan VPC. CNI mengalokasikan AWS _Elastic Networking Interfaces_ (ENIs) ke setiap node Kubernetes dan menggunakan rentang IP sekunder dari setiap ENI untuk Pod pada Node. CNI mencakup kontrol untuk pra-alokasi ENI dan alamat IP untuk waktu mulai Pod yang cepat dan memungkinkan kluster besar hingga 2.000 Node. +Menggunakan _plugin_ CNI ini memungkinkan Pod Kubernetes memiliki alamat IP yang sama di dalam Pod seperti yang mereka lakukan di jaringan VPC. CNI mengalokasikan AWS _Elastic Networking Interfaces_ (ENIs) ke setiap node Kubernetes dan menggunakan rentang IP sekunder dari setiap ENI untuk Pod pada Node. CNI mencakup kontrol untuk pra-alokasi ENI dan alamat IP untuk waktu mulai Pod yang cepat dan memungkinkan klaster besar hingga 2.000 Node. Selain itu, CNI dapat dijalankan bersama [Calico untuk penegakan kebijakan jaringan](https://docs.aws.amazon.com/eks/latest/userguide/calico.html). Proyek AWS VPC CNI adalah _open source_ dengan [dokumentasi di GitHub](https://github.com/aws/amazon-vpc-cni-k8s). @@ -83,7 +83,7 @@ Selain itu, CNI dapat dijalankan bersama [Calico untuk penegakan kebijakan jarin [Big Cloud Fabric](https://www.bigswitch.com/container-network-automation) adalah arsitektur jaringan asli layanan cloud, yang dirancang untuk menjalankan Kubernetes di lingkungan cloud pribadi / lokal. Dengan menggunakan SDN fisik & _virtual_ terpadu, Big Cloud Fabric menangani masalah yang sering melekat pada jaringan kontainer seperti penyeimbangan muatan, visibilitas, pemecahan masalah, kebijakan keamanan & pemantauan lalu lintas kontainer. -Dengan bantuan arsitektur multi-penyewa Pod virtual pada Big Cloud Fabric, sistem orkestrasi kontainer seperti Kubernetes, RedHat OpenShift, Mesosphere DC/OS & Docker Swarm akan terintegrasi secara alami bersama dengan sistem orkestrasi VM seperti VMware, OpenStack & Nutanix. Pelanggan akan dapat terhubung dengan aman berapa pun jumlah klusternya dan memungkinkan komunikasi antar penyewa di antara mereka jika diperlukan. +Dengan bantuan arsitektur multi-penyewa Pod virtual pada Big Cloud Fabric, sistem orkestrasi kontainer seperti Kubernetes, RedHat OpenShift, Mesosphere DC/OS & Docker Swarm akan terintegrasi secara alami bersama dengan sistem orkestrasi VM seperti VMware, OpenStack & Nutanix. Pelanggan akan dapat terhubung dengan aman berapa pun jumlah klasternya dan memungkinkan komunikasi antar penyewa di antara mereka jika diperlukan. Terbaru ini BCF diakui oleh Gartner sebagai visioner dalam [_Magic Quadrant_](http://go.bigswitch.com/17GatedDocuments-MagicQuadrantforDataCenterNetworking_Reg.html). Salah satu penyebaran BCF Kubernetes di tempat (yang mencakup Kubernetes, DC/OS & VMware yang berjalan di beberapa DC di berbagai wilayah geografis) juga dirujuk [di sini](https://portworx.com/architects-corner-kubernetes-satya-komala-nio/). @@ -113,7 +113,7 @@ Plugin ini dirancang untuk secara langsung mengkonfigurasi dan _deploy_ dalam VP ### DANM -[DANM] (https://github.com/nokia/danm) adalah solusi jaringan untuk beban kerja telco yang berjalan di kluster Kubernetes. Dibangun dari komponen-komponen berikut: +[DANM] (https://github.com/nokia/danm) adalah solusi jaringan untuk beban kerja telco yang berjalan di klaster Kubernetes. Dibangun dari komponen-komponen berikut: * Plugin CNI yang mampu menyediakan antarmuka IPVLAN dengan fitur-fitur canggih * Modul IPAM built-in dengan kemampuan mengelola dengan jumlah banyak, _cluster-wide_, _discontinous_ jaringan L3 dan menyediakan skema dinamis, statis, atau tidak ada permintaan skema IP @@ -129,7 +129,7 @@ Dengan _toolset_ ini, DANM dapat memberikan beberapa antarmuka jaringan yang ter ### Google Compute Engine (GCE) -Untuk skrip konfigurasi kluster Google Compute Engine, [perutean lanjutan](https://cloud.google.com/vpc/docs/routes) digunakan untuk menetapkan setiap VM _subnet_ (standarnya adalah `/24` - 254 IP). Setiap lalu lintas yang terikat untuk _subnet_ itu akan dialihkan langsung ke VM oleh _fabric_ jaringan GCE. Ini adalah tambahan untuk alamat IP "utama" yang ditugaskan untuk VM, yang NAT'ed untuk akses internet keluar. Sebuah linux _bridge_ (disebut `cbr0`) dikonfigurasikan untuk ada pada subnet itu, dan diteruskan ke _flag_ `-bridge` milik docker. +Untuk skrip konfigurasi klaster Google Compute Engine, [perutean lanjutan](https://cloud.google.com/vpc/docs/routes) digunakan untuk menetapkan setiap VM _subnet_ (standarnya adalah `/24` - 254 IP). Setiap lalu lintas yang terikat untuk _subnet_ itu akan dialihkan langsung ke VM oleh _fabric_ jaringan GCE. Ini adalah tambahan untuk alamat IP "utama" yang ditugaskan untuk VM, yang NAT'ed untuk akses internet keluar. Sebuah linux _bridge_ (disebut `cbr0`) dikonfigurasikan untuk ada pada subnet itu, dan diteruskan ke _flag_ `-bridge` milik docker. Docker dimulai dengan: diff --git a/content/id/docs/concepts/configuration/secret.md b/content/id/docs/concepts/configuration/secret.md index c7d295702f..1e12af0a53 100644 --- a/content/id/docs/concepts/configuration/secret.md +++ b/content/id/docs/concepts/configuration/secret.md @@ -265,8 +265,8 @@ melakukan mekanisme _pipeline_ `base64 | tr -d '\n'` jika tidak terdapat opsi `- #### Membuat Secret dengan Menggunakan _Generator_ Kubectl mendukung [mekanisme manajemen objek dengan menggunakan Kustomize](/docs/tasks/manage-kubernetes-objects/kustomization/) -sejak versi 1.14. Dengan fitur baru ini, kamu juga dapat membuat sebuah Secret dari sebuah _generator_ -dan kemudian mengaplikasikannya untuk membuat sebuah objek pada Apiserver. _Generator_ yang digunakan haruslah +sejak versi 1.14. Dengan fitur baru ini, kamu juga dapat membuat sebuah Secret dari sebuah _generator_ +dan kemudian mengaplikasikannya untuk membuat sebuah objek pada Apiserver. _Generator_ yang digunakan haruslah dispesifikasikan di dalam sebuah _file_ `kustomization.yaml` di dalam sebuah direktori. Sebagai contoh, untuk menghasilan sebuah Secret dari _file-file_ `./username.txt` dan `./password.txt` @@ -325,14 +325,14 @@ $ kubectl apply -k . secret/db-user-pass-dddghtt9b5 created ``` {{< note >}} -Secret yang dihasilkan nantinya akan memiliki tambahan sufix dengan cara melakukan teknik _hashing_ -pada isi Secret tersebut. Hal ini dilakukan untuk menjamin dibuatnya sebuah Secret baru setiap kali terjadi +Secret yang dihasilkan nantinya akan memiliki tambahan sufix dengan cara melakukan teknik _hashing_ +pada isi Secret tersebut. Hal ini dilakukan untuk menjamin dibuatnya sebuah Secret baru setiap kali terjadi perubahan isi dari Secret tersebut. {{< /note >}} #### Melakukan Proses _Decode_ pada Secret -Secret dapat dibaca dengan menggunakan perintah `kubectl get secret`. +Secret dapat dibaca dengan menggunakan perintah `kubectl get secret`. Misalnya saja, untuk membaca Secret yang dibuat pada bagian sebelumya: ```shell @@ -366,9 +366,9 @@ echo 'MWYyZDFlMmU2N2Rm' | base64 --decode ## Menggunakan Secret Secret dapat di-_mount_ sebagai _volume_ data atau dapat diekspos sebagai {{< glossary_tooltip text="variabel-variabel environment" term_id="container-env-variables" >}} -dapat digunakan di dalam Pod. Secret ini juga dapat digunakan secara langsug -oleh bagian lain dari sistem, tanpa secara langsung berkaitan dengan Pod. -Sebagai contoh, Secret dapat berisikan kredensial bagian suatu sistem lain yang digunakan +dapat digunakan di dalam Pod. Secret ini juga dapat digunakan secara langsug +oleh bagian lain dari sistem, tanpa secara langsung berkaitan dengan Pod. +Sebagai contoh, Secret dapat berisikan kredensial bagian suatu sistem lain yang digunakan untuk berinteraksi dengan sistem eksternal yang kamu butuhkan. ### Menggunakan Secret sebagai _File_ melalui Pod @@ -403,17 +403,17 @@ spec: Setiap Secret yang ingin kamu gunakan harus dirujuk pada _field_ `.spec.volumes`. -Jika terdapat lebih dari satu container di dalam Pod, -maka setiap container akan membutuhkan blok `volumeMounts`-nya masing-masing, +Jika terdapat lebih dari satu container di dalam Pod, +maka setiap container akan membutuhkan blok `volumeMounts`-nya masing-masing, meskipun demikian hanya sebuah _field_ `.spec.volumes` yang dibutuhkan untuk setiap Secret. -Kamu dapat menyimpan banyak _file_ ke dalam satu Secret, +Kamu dapat menyimpan banyak _file_ ke dalam satu Secret, atau menggunakan banyak Secret, hal ini tentunya bergantung pada preferensi pengguna. **Proyeksi _key_ Secret pada Suatu _Path_ Spesifik** -Kita juga dapat mengontrol _path_ di dalam _volume_ di mana sebuah Secret diproyeksikan. -Kamu dapat menggunakan _field_ `.spec.volumes[].secret.items` untuk mengubah +Kita juga dapat mengontrol _path_ di dalam _volume_ di mana sebuah Secret diproyeksikan. +Kamu dapat menggunakan _field_ `.spec.volumes[].secret.items` untuk mengubah _path_ target dari setiap _key_: ```yaml @@ -443,17 +443,17 @@ Apa yang akan terjadi jika kita menggunakan definisi di atas: * Secret `username` akan disimpan pada _file_ `/etc/foo/my-group/my-username` dan bukan `/etc/foo/username`. * Secret `password` tidak akan diproyeksikan. -Jika _field_ `.spec.volumes[].secret.items` digunakan, hanya _key-key_ yang dispesifikan di dalam -`items` yang diproyeksikan. Untuk mengonsumsi semua _key-key_ yang ada dari Secret, +Jika _field_ `.spec.volumes[].secret.items` digunakan, hanya _key-key_ yang dispesifikan di dalam +`items` yang diproyeksikan. Untuk mengonsumsi semua _key-key_ yang ada dari Secret, semua _key_ yang ada harus didaftarkan pada _field_ `items`. -Semua _key_ yang didaftarkan juga harus ada di dalam Secret tadi. +Semua _key_ yang didaftarkan juga harus ada di dalam Secret tadi. Jika tidak, _volume_ yang didefinisikan tidak akan dibuat. **_Permission_ _File-File_ Secret** -Kamu juga dapat menspesifikasikan mode _permission_ dari _file_ Secret yang kamu inginkan. -Jika kamu tidak menspesifikasikan hal tersebut, maka nilai _default_ yang akan diberikan adalah `0644` is used by default. -Kamu dapat memberikan mode _default_ untuk semua Secret yang ada serta melakukan mekanisme _override_ _permission_ +Kamu juga dapat menspesifikasikan mode _permission_ dari _file_ Secret yang kamu inginkan. +Jika kamu tidak menspesifikasikan hal tersebut, maka nilai _default_ yang akan diberikan adalah `0644` is used by default. +Kamu dapat memberikan mode _default_ untuk semua Secret yang ada serta melakukan mekanisme _override_ _permission_ pada setiap _key_ jika memang diperlukan. Sebagai contoh, kamu dapat memberikan spesifikasi mode _default_ sebagai berikut: @@ -477,15 +477,15 @@ spec: defaultMode: 256 ``` -Kemudian, sebuah Secret akan di-_mount_ pada `/etc/foo`, selanjutnya semua _file_ +Kemudian, sebuah Secret akan di-_mount_ pada `/etc/foo`, selanjutnya semua _file_ yang dibuat pada _volume_ secret tersebut akan memiliki _permission_ `0400`. -Perhatikan bahwa spesifikasi JSON tidak mendukung notasi _octal_, dengan demikian gunakanlah -_value_ 256 untuk _permission_ 0400. Jika kamu menggunakan format YAML untuk spesifikasi Pod, -kamu dapat menggunakan notasi _octal_ untuk memberikan spesifikasi _permission_ dengan cara yang lebih +Perhatikan bahwa spesifikasi JSON tidak mendukung notasi _octal_, dengan demikian gunakanlah +_value_ 256 untuk _permission_ 0400. Jika kamu menggunakan format YAML untuk spesifikasi Pod, +kamu dapat menggunakan notasi _octal_ untuk memberikan spesifikasi _permission_ dengan cara yang lebih natural. -Kamu juga dapat melakukan mekanisme pemetaan, seperti yang sudah dilakukan pada contoh sebelumnya, +Kamu juga dapat melakukan mekanisme pemetaan, seperti yang sudah dilakukan pada contoh sebelumnya, dan kemudian memberikan spesifikasi _permission_ yang berbeda untuk _file_ yang berbeda. ```yaml @@ -510,19 +510,19 @@ spec: mode: 511 ``` -Pada kasus tersebut, _file_ yang dihasilkan pada `/etc/foo/my-group/my-username` akan memiliki -_permission_ `0777`. Karena terdapat batasan pada representasi JSON, maka kamu +Pada kasus tersebut, _file_ yang dihasilkan pada `/etc/foo/my-group/my-username` akan memiliki +_permission_ `0777`. Karena terdapat batasan pada representasi JSON, maka kamu harus memberikan spesifikasi mode _permission_ dalam bentuk notasi desimal. -Perhatikan bahwa _permission_ ini bida saja ditampilkan dalam bentuk notasi desimal, +Perhatikan bahwa _permission_ ini bida saja ditampilkan dalam bentuk notasi desimal, hal ini akan ditampilkan pada bagian selanjutnya. **Mengonsumsi _Value_ dari Secret melalui Volume** -Di dalam sebuah container dimana _volume_ secret di-_mount_, -_key_ dari Secret akan ditampilkan sebagai _file_ dan _value_ dari Secret yang berada dalam bentuk -base64 ini akan di-_decode_ dam disimpan pada _file-file_ tadi. -Berikut merupakan hasil dari eksekusi perintah di dalam container berdasarkan contoh +Di dalam sebuah container dimana _volume_ secret di-_mount_, +_key_ dari Secret akan ditampilkan sebagai _file_ dan _value_ dari Secret yang berada dalam bentuk +base64 ini akan di-_decode_ dam disimpan pada _file-file_ tadi. +Berikut merupakan hasil dari eksekusi perintah di dalam container berdasarkan contoh yang telah dipaparkan di atas: ```shell @@ -548,34 +548,34 @@ cat /etc/foo/password 1f2d1e2e67df ``` -Program di dalam container bertanggung jawab untuk membaca Secret +Program di dalam container bertanggung jawab untuk membaca Secret dari _file-file_ yang ada. **Secret yang di-_mount_ Akan Diubah Secara Otomatis** -Ketika sebuah Secret yang sedang digunakan di dalam _volume_ diubah, -maka _key_ yang ada juga akan diubah. Kubelet akan melakukan mekanisme pengecekan secara periodik -apakah terdapat perubahan pada Secret yang telah di-_mount_. Meskipun demikian, -proses pengecekan ini dilakukan dengan menggunakan _cache_ lokal untuk mendapatkan _value_ saat ini -dari sebuah Secret. Tipe _cache_ yang ada dapat diatur dengan menggunakan +Ketika sebuah Secret yang sedang digunakan di dalam _volume_ diubah, +maka _key_ yang ada juga akan diubah. Kubelet akan melakukan mekanisme pengecekan secara periodik +apakah terdapat perubahan pada Secret yang telah di-_mount_. Meskipun demikian, +proses pengecekan ini dilakukan dengan menggunakan _cache_ lokal untuk mendapatkan _value_ saat ini +dari sebuah Secret. Tipe _cache_ yang ada dapat diatur dengan menggunakan (_field_ `ConfigMapAndSecretChangeDetectionStrategy` pada [KubeletConfiguration](/docs/reference/config-api/kubelet-config.v1beta1/)). -Mekanisme ini kemudian dapat diteruskan dengan mekanisme _watch_(_default_), ttl, atau melakukan pengalihan semua +Mekanisme ini kemudian dapat diteruskan dengan mekanisme _watch_(_default_), ttl, atau melakukan pengalihan semua _request_ secara langsung pada kube-apiserver. -Sebagai hasilnya, _delay_ total dari pertama kali Secret diubah hingga dilakukannya mekanisme -proyeksi _key_ yang baru pada Pod berlangsung dalam jangka waktu sinkronisasi periodik kubelet + -_delay_ propagasi _cache_, dimana _delay_ propagasi _cache_ bergantung pada jenis _cache_ yang digunakan +Sebagai hasilnya, _delay_ total dari pertama kali Secret diubah hingga dilakukannya mekanisme +proyeksi _key_ yang baru pada Pod berlangsung dalam jangka waktu sinkronisasi periodik kubelet + +_delay_ propagasi _cache_, dimana _delay_ propagasi _cache_ bergantung pada jenis _cache_ yang digunakan (ini sama dengan _delay_ propagasi _watch_, ttl dari _cache_, atau nol). {{< note >}} Sebuah container menggunakan Secret sebagai -[subPath](/id/docs/concepts/storage/volumes#using-subpath) dari _volume_ +[subPath](/id/docs/concepts/storage/volumes#using-subpath) dari _volume_ yang di-_mount_ tidak akan menerima perubahan Secret. {{< /note >}} ### Menggunakan Secret sebagai Variabel _Environment_ -Berikut merupakan langkah-langkah yang harus kamu terapkan, +Berikut merupakan langkah-langkah yang harus kamu terapkan, untuk menggunakan secret sebagai {{< glossary_tooltip text="variabel _environment_" term_id="container-env-variables" >}} pada sebuah Pod: @@ -610,9 +610,9 @@ spec: **Menggunakan Secret dari Variabel _Environment_** -Di dalam sebuah container yang mengkonsumsi Secret pada sebuah variabel _environment_, _key_ dari sebuah secret -akan ditampilkan sebagai variabel _environment_ pada umumnya dengan _value_ berupa informasi yang telah di-_decode_ -ke dalam base64. Berikut merupakan hasil yang didapatkan apabila perintah-perintah di bawah ini +Di dalam sebuah container yang mengkonsumsi Secret pada sebuah variabel _environment_, _key_ dari sebuah secret +akan ditampilkan sebagai variabel _environment_ pada umumnya dengan _value_ berupa informasi yang telah di-_decode_ +ke dalam base64. Berikut merupakan hasil yang didapatkan apabila perintah-perintah di bawah ini dijalankan dari dalam container yang didefinisikan di atas: ```shell @@ -630,8 +630,8 @@ echo $SECRET_PASSWORD ### Menggunakan imagePullSecrets -Sebuah `imagePullSecret` merupakan salah satu cara yang dapat digunakan untuk menempatkan secret -yang mengandung _password_ dari registri Docker (atau registri _image_ lainnya) +Sebuah `imagePullSecret` merupakan salah satu cara yang dapat digunakan untuk menempatkan secret +yang mengandung _password_ dari registri Docker (atau registri _image_ lainnya) pada Kubelet, sehingga Kubelet dapat mengunduh _image_ dan menempatkannya pada Pod. **Memberikan spesifikasi manual dari sebuah imagePullSecret** @@ -640,17 +640,17 @@ Penggunaan imagePullSecrets dideskripsikan di dalam [dokumentasi _image_](/id/do ### Mekanisme yang Dapat Diterapkan agar imagePullSecrets dapat Secara Otomatis Digunakan -Kamu dapat secara manual membuat sebuah imagePullSecret, serta merujuk imagePullSecret -yang sudah kamu buat dari sebuah serviceAccount. Semua Pod yang dibuat dengan menggunakan -serviceAccount tadi atau serviceAccount _default_ akan menerima _field_ imagePullSecret dari +Kamu dapat secara manual membuat sebuah imagePullSecret, serta merujuk imagePullSecret +yang sudah kamu buat dari sebuah serviceAccount. Semua Pod yang dibuat dengan menggunakan +serviceAccount tadi atau serviceAccount _default_ akan menerima _field_ imagePullSecret dari serviceAccount yang digunakan. -Bacalah [Cara menambahkan ImagePullSecrets pada sebuah _service account_](/id/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account) +Bacalah [Cara menambahkan ImagePullSecrets pada sebuah _service account_](/id/docs/tasks/configure-pod-container/configure-service-account/#add-imagepullsecrets-to-a-service-account) untuk informasi lebih detail soal proses yang dijalankan. ### Mekanisme _Mounting_ Otomatis dari Secret yang Sudah Dibuat -Secret yang dibuat secara manual (misalnya, secret yang mengandung token yang dapat digunakan -untuk mengakses akun GitHub) dapat di-_mount_ secara otomatis pada sebuah Pod berdasarkan _service account_ +Secret yang dibuat secara manual (misalnya, secret yang mengandung token yang dapat digunakan +untuk mengakses akun GitHub) dapat di-_mount_ secara otomatis pada sebuah Pod berdasarkan _service account_ yang digunakan oleh Pod tadi. Baca [Bagaimana Penggunaan PodPreset untuk Memasukkan Informasi ke Dalam Pod](/docs/tasks/inject-data-application/podpreset/) untuk informasi lebih lanjut. @@ -658,41 +658,41 @@ Baca [Bagaimana Penggunaan PodPreset untuk Memasukkan Informasi ke Dalam Pod](/d ### Batasan-Batasan -Sumber dari _secret volume_ akan divalidasi untuk menjamin rujukan pada -objek yang dispesifikasikan mengarah pada objek dengan _type_ `Secret`. -Oleh karenanya, sebuah _secret_ harus dibuat sebelum Pod yang merujuk pada _secret_ +Sumber dari _secret volume_ akan divalidasi untuk menjamin rujukan pada +objek yang dispesifikasikan mengarah pada objek dengan _type_ `Secret`. +Oleh karenanya, sebuah _secret_ harus dibuat sebelum Pod yang merujuk pada _secret_ tersebut dibuat. Sebuah objek API Secret berada di dalam sebuah {{< glossary_tooltip text="namespace" term_id="namespace" >}}. Objek-objek ini hanya dapat dirujuk oleh Pod-Pod yang ada pada namespace yang sama. -Secret memiliki batasi dalam hal ukuran maksimalnya yaitu hanya sampai 1MiB per objek. -Oleh karena itulah, pembuatan secret dalam ukuran yang sangat besar tidak dianjurkan -karena dapat menghabiskan sumber daya apiserver dan memori kubelet. Meskipun demikian, -pembuatan banyak secret dengan ukuran kecil juga dapat menhabiskan memori. Pembatasan -sumber daya yang diizinkan untuk pembuatan secret merupakan salah satu fitur tambahan +Secret memiliki batasi dalam hal ukuran maksimalnya yaitu hanya sampai 1MiB per objek. +Oleh karena itulah, pembuatan secret dalam ukuran yang sangat besar tidak dianjurkan +karena dapat menghabiskan sumber daya apiserver dan memori kubelet. Meskipun demikian, +pembuatan banyak secret dengan ukuran kecil juga dapat menhabiskan memori. Pembatasan +sumber daya yang diizinkan untuk pembuatan secret merupakan salah satu fitur tambahan yang direncanakan kedepannya. -Kubelet hanya mendukung penggunaan secret oleh Pod apabila Pod tersebut -didapatkan melalui apiserver. Hal ini termasuk Pod yang dibuat dengan menggunakan -kubectl, atau secara tak langsung melalui _replication controller_. Hal ini tidak -termasuk Pod yang dibuat melalui _flag_ `--manifest-url` yang ada pada kubelet, -maupun REST API yang disediakan (hal ini bukanlah merupakan mekanisme umum yang dilakukan +Kubelet hanya mendukung penggunaan secret oleh Pod apabila Pod tersebut +didapatkan melalui apiserver. Hal ini termasuk Pod yang dibuat dengan menggunakan +kubectl, atau secara tak langsung melalui _replication controller_. Hal ini tidak +termasuk Pod yang dibuat melalui _flag_ `--manifest-url` yang ada pada kubelet, +maupun REST API yang disediakan (hal ini bukanlah merupakan mekanisme umum yang dilakukan untuk membuat sebuah Pod). -Secret harus dibuat sebelum digunakan oleh Pod sebagai variabel _environment_, -kecuali apabila variabel _environment_ ini dianggap opsional. Rujukan pada Secret +Secret harus dibuat sebelum digunakan oleh Pod sebagai variabel _environment_, +kecuali apabila variabel _environment_ ini dianggap opsional. Rujukan pada Secret yang tidak dapat dipenuhi akan menyebabkan Pod gagal _start_. -Rujukan melalui `secretKeyRef` pada _key_ yang tidak ada pada _named_ Secret +Rujukan melalui `secretKeyRef` pada _key_ yang tidak ada pada _named_ Secret akan akan menyebabkan Pod gagal _start_. -Secret yang digunakan untuk memenuhi variabel _environment_ melalui `envFrom` yang -memiliki _key_ yang dianggap memiliki penamaan yang tidak valid akan diabaikan. -Hal ini akan akan menyebabkan Pod gagal _start_. Selanjutnya akan terdapat _event_ -dengan alasan `InvalidvariabeleNames` dan pesan yang berisikan _list_ dari -_key_ yang diabaikan akibat penamaan yang tidak valid. Contoh yang ada akan menunjukkan -sebuah pod yang merujuk pada secret `default/mysecret` yang mengandung dua buah _key_ +Secret yang digunakan untuk memenuhi variabel _environment_ melalui `envFrom` yang +memiliki _key_ yang dianggap memiliki penamaan yang tidak valid akan diabaikan. +Hal ini akan akan menyebabkan Pod gagal _start_. Selanjutnya akan terdapat _event_ +dengan alasan `InvalidvariabeleNames` dan pesan yang berisikan _list_ dari +_key_ yang diabaikan akibat penamaan yang tidak valid. Contoh yang ada akan menunjukkan +sebuah pod yang merujuk pada secret `default/mysecret` yang mengandung dua buah _key_ yang tidak valid, yaitu 1badkey dan 2alsobad. ```shell @@ -705,15 +705,15 @@ LASTSEEN FIRSTSEEN COUNT NAME KIND SUBOBJECT ### Interaksi Secret dan Pod Lifetime -Ketika sebuah pod dibuat melalui API, tidak terdapat mekanisme pengecekan -yang digunakan untuk mengetahui apakah sebuah Secret yang dirujuk sudah dibuat -atau belum. Ketika sebuah Pod di-_schedule_, kubelet akan mencoba mengambil -informasi mengenai _value_ dari secret tadi. Jika secret tidak dapat diambil -_value_-nya dengan alasan temporer karena hilangnya koneksi ke API server atau -secret yang dirujuk tidak ada, kubelet akan melakukan mekanisme _retry_ secara periodik. -Kubelet juga akan memberikan laporan mengenai _event_ yang terjadi pada Pod serta alasan -kenapa Pod tersebut belum di-_start_. Apabila Secret berhasil didapatkan, kubelet -akan membuat dan me-_mount_ volume yang mengandung secret tersebut. Tidak akan ada +Ketika sebuah pod dibuat melalui API, tidak terdapat mekanisme pengecekan +yang digunakan untuk mengetahui apakah sebuah Secret yang dirujuk sudah dibuat +atau belum. Ketika sebuah Pod di-_schedule_, kubelet akan mencoba mengambil +informasi mengenai _value_ dari secret tadi. Jika secret tidak dapat diambil +_value_-nya dengan alasan temporer karena hilangnya koneksi ke API server atau +secret yang dirujuk tidak ada, kubelet akan melakukan mekanisme _retry_ secara periodik. +Kubelet juga akan memberikan laporan mengenai _event_ yang terjadi pada Pod serta alasan +kenapa Pod tersebut belum di-_start_. Apabila Secret berhasil didapatkan, kubelet +akan membuat dan me-_mount_ volume yang mengandung secret tersebut. Tidak akan ada container dalam pod yang akan di-_start_ hingga semua volume pod berhasil di-_mount_. ## Contoh-Contoh Penggunaan @@ -731,12 +731,12 @@ secret "ssh-key-secret" created ``` {{< caution >}} -Pikirkanlah terlebih dahulu sebelum kamu menggunakan _ssh key_ milikmu sendiri: pengguna lain pada kluster tersebut bisa saja memiliki akses pada secret yang kamu definisikan. -Gunakanlah service account untuk membagi informasi yang kamu inginkan di dalam kluster tersebut, dengan demikian kamu dapat membatalkan service account tersebut apabila secret tersebut disalahgunakan. +Pikirkanlah terlebih dahulu sebelum kamu menggunakan _ssh key_ milikmu sendiri: pengguna lain pada klaster tersebut bisa saja memiliki akses pada secret yang kamu definisikan. +Gunakanlah service account untuk membagi informasi yang kamu inginkan di dalam klaster tersebut, dengan demikian kamu dapat membatalkan service account tersebut apabila secret tersebut disalahgunakan. {{< /caution >}} -Sekarang, kita dapat membuat sebuah pod yang merujuk pada secret dengan _ssh key_ yang sudah +Sekarang, kita dapat membuat sebuah pod yang merujuk pada secret dengan _ssh key_ yang sudah dibuat tadi serta menggunakannya melalui sebuah volume yang di-_mount_: ```yaml @@ -760,7 +760,7 @@ spec: mountPath: "/etc/secret-volume" ``` -Ketika sebuah perintah dijalankan di dalam container, bagian dari _key_ tadi akan +Ketika sebuah perintah dijalankan di dalam container, bagian dari _key_ tadi akan terdapat pada: ```shell @@ -768,12 +768,12 @@ terdapat pada: /etc/secret-volume/ssh-privatekey ``` -container kemudian dapat menggunakan secret secara bebas untuk +container kemudian dapat menggunakan secret secara bebas untuk membuat koneksi ssh. ### Contoh Penggunaan: Pod dengan kredensial prod / test -Contoh ini memberikan ilustrasi pod yang mengonsumsi secret yang mengandung +Contoh ini memberikan ilustrasi pod yang mengonsumsi secret yang mengandung kredensial dari _environment_ _production_ atau _environment_ _test_. Buatlah suatu kustomization.yaml dengan SecretGenerator @@ -793,8 +793,8 @@ secret "test-db-secret" created ``` {{< note >}} Karakter spesial seperti `$`, `\*`, dan `!` membutuhkan mekanisme _escaping_. -Jika password yang kamu gunakan memiliki karakter spesial, kamu dapat melakukan mekanisme _escape_ -dengan karakter `\\` character. Sebagai contohnya, jika _password_ kamu yang sebenarnya adalah +Jika password yang kamu gunakan memiliki karakter spesial, kamu dapat melakukan mekanisme _escape_ +dengan karakter `\\` character. Sebagai contohnya, jika _password_ kamu yang sebenarnya adalah `S!B\*d$zDsb`, maka kamu harus memanggil perintah eksekusi dengan cara sebagai berikut: ```shell @@ -864,7 +864,7 @@ Terapkan semua perubahan pada objek-objek tadi ke Apiserver dengan menggunakan kubectl apply --k . ``` -Kedua container kemudian akan memiliki _file-file_ berikut ini di dalam +Kedua container kemudian akan memiliki _file-file_ berikut ini di dalam _filesystem_ keduanya dengan _value_ sebagai berikut untuk masing-masing _environment_: ```shell @@ -872,12 +872,12 @@ _filesystem_ keduanya dengan _value_ sebagai berikut untuk masing-masing _enviro /etc/secret-volume/password ``` -Perhatikan bahwa _specs_ untuk kedua pod berbeda hanya pada satu _field_ saja; -hal ini bertujuan untuk memfasilitasi adanya kapabilitas yang berbeda dari templat +Perhatikan bahwa _specs_ untuk kedua pod berbeda hanya pada satu _field_ saja; +hal ini bertujuan untuk memfasilitasi adanya kapabilitas yang berbeda dari templat konfigurasi umum yang tersedia. -Kamu dapat mensimplifikasi spesifikasi dasar Pod dengan menggunakan dua buah _service account_ yang berbeda: -misalnya saja salah satunya disebut sebagai `prod-user` dengan `prod-db-secret`, dan satunya lagi disebut +Kamu dapat mensimplifikasi spesifikasi dasar Pod dengan menggunakan dua buah _service account_ yang berbeda: +misalnya saja salah satunya disebut sebagai `prod-user` dengan `prod-db-secret`, dan satunya lagi disebut `test-user` dengan `test-db-secret`. Kemudian spesifikasi Pod tadi dapat diringkas menjadi: ```yaml @@ -896,9 +896,9 @@ spec: ### Contoh Penggunaan: _Dotfiles_ pada volume secret -Dengan tujuan membuat data yang ada 'tersembunyi' (misalnya, di dalam sebuah _file_ dengan nama yang dimulai -dengan karakter titik), kamu dapat melakukannya dengan cara yang cukup sederhana, yaitu cukup dengan membuat -karakter awal _key_ yang kamu inginkan dengan titik. Contohnya, ketika sebuah secret di bawah ini di-_mount_ +Dengan tujuan membuat data yang ada 'tersembunyi' (misalnya, di dalam sebuah _file_ dengan nama yang dimulai +dengan karakter titik), kamu dapat melakukannya dengan cara yang cukup sederhana, yaitu cukup dengan membuat +karakter awal _key_ yang kamu inginkan dengan titik. Contohnya, ketika sebuah secret di bawah ini di-_mount_ pada sebuah volume: ```yaml @@ -932,8 +932,8 @@ spec: ``` -Volume `secret-volume` akan mengandung sebuah _file_, yang disebut sebagai `.secret-file`, serta -container `dotfile-test-container` akan memiliki _file_ konfigurasinya pada _path_ +Volume `secret-volume` akan mengandung sebuah _file_, yang disebut sebagai `.secret-file`, serta +container `dotfile-test-container` akan memiliki _file_ konfigurasinya pada _path_ `/etc/secret-volume/.secret-file`. {{< note >}} @@ -943,20 +943,20 @@ kamu harus menggunakan perintah `ls -la` untuk melihat _file-file_ tadi dari seb ### Contoh Penggunaan: Secret yang dapat diakses hanya pada salah satu container di dalam pod -Misalkan terdapat sebuah program yang memiliki kebutuhan untuk menangani _request_ HTTP, -melakukan logika bisnis yang kompleks, serta kemudian menandai beberapa _message_ yang ada -dengan menggunakan HMAC. Karena program ini memiliki logika aplikasi yang cukup kompleks, -maka bisa jadi terdapat beberapa celah terjadinya eksploitasi _remote_ _file_ pada server, +Misalkan terdapat sebuah program yang memiliki kebutuhan untuk menangani _request_ HTTP, +melakukan logika bisnis yang kompleks, serta kemudian menandai beberapa _message_ yang ada +dengan menggunakan HMAC. Karena program ini memiliki logika aplikasi yang cukup kompleks, +maka bisa jadi terdapat beberapa celah terjadinya eksploitasi _remote_ _file_ pada server, yang nantinya bisa saja mengekspos _private key_ yang ada pada _attacker_. -Hal ini dapat dipisah menjadi dua buah proses yang berbeda di dalam dua container: -sebuah container _frontend_ yang menangani interaksi pengguna dan logika bisnis, tetapi -tidak memiliki kapabilitas untuk melihat _private key_; container lain memiliki kapabilitas -melihat _private key_ yang ada dan memiliki fungsi untuk menandai _request_ yang berasal +Hal ini dapat dipisah menjadi dua buah proses yang berbeda di dalam dua container: +sebuah container _frontend_ yang menangani interaksi pengguna dan logika bisnis, tetapi +tidak memiliki kapabilitas untuk melihat _private key_; container lain memiliki kapabilitas +melihat _private key_ yang ada dan memiliki fungsi untuk menandai _request_ yang berasal dari _frontend_ (melalui jaringan _localhost_). -Dengan strategi ini, seorang _attacker_ harus melakukan teknik tambahan -untuk memaksa aplikasi melakukan hal yang acak, yang kemudian menyebabkan +Dengan strategi ini, seorang _attacker_ harus melakukan teknik tambahan +untuk memaksa aplikasi melakukan hal yang acak, yang kemudian menyebabkan mekanisme pembacaan _file_ menjadi lebih susah. @@ -965,34 +965,34 @@ mekanisme pembacaan _file_ menjadi lebih susah. ### Klien yang menggunakan API secret -Ketika men-_deploy_ aplikasi yang berinteraksi dengan API secret, akses yang dilakukan +Ketika men-_deploy_ aplikasi yang berinteraksi dengan API secret, akses yang dilakukan haruslah dibatasi menggunakan [_policy_ autorisasi]( /docs/reference/access-authn-authz/authorization/) seperti [RBAC]( /docs/reference/access-authn-authz/rbac/). -Secret seringkali menyimpan _value_ yang memiliki jangkauan spektrum -kepentingan, yang mungkin saja dapat menyebabkan terjadinya eskalasi baik -di dalam Kubernetes (misalnya saja token dari sebuah _service account_) maupun -sistem eksternal. Bahkan apabila setiap aplikasi secara individual memiliki -kapabilitas untuk memahami tingkatan yang dimilikinya untuk berinteraksi dengan secret tertentu, +Secret seringkali menyimpan _value_ yang memiliki jangkauan spektrum +kepentingan, yang mungkin saja dapat menyebabkan terjadinya eskalasi baik +di dalam Kubernetes (misalnya saja token dari sebuah _service account_) maupun +sistem eksternal. Bahkan apabila setiap aplikasi secara individual memiliki +kapabilitas untuk memahami tingkatan yang dimilikinya untuk berinteraksi dengan secret tertentu, aplikasi lain dalam namespace itu bisa saja menyebabkan asumsi tersebut menjadi tidak valid. -Karena alasan-alasan yang sudah disebutkan tadi _request_ `watch` dan `list` untuk sebuah -secret di dalam suatu namespace merupakan kapabilitas yang sebisa mungkin harus dihindari, -karena menampilkan semua secret yang ada berimplikasi pada akses untuk melihat isi yang ada -pada secret yang ada. Kapabilitas untuk melakukan _request_ `watch` dan `list` pada semua secret di kluster +Karena alasan-alasan yang sudah disebutkan tadi _request_ `watch` dan `list` untuk sebuah +secret di dalam suatu namespace merupakan kapabilitas yang sebisa mungkin harus dihindari, +karena menampilkan semua secret yang ada berimplikasi pada akses untuk melihat isi yang ada +pada secret yang ada. Kapabilitas untuk melakukan _request_ `watch` dan `list` pada semua secret di klaster hanya boleh dimiliki oleh komponen pada sistem level yang paling _previleged_. -Aplikasi yang membutuhkan akses ke API secret harus melakukan _request_ `get` pada -secret yang dibutuhkan. Hal ini memungkinkan administrator untuk membatasi -akses pada semua secret dengan tetap memberikan [akses pada instans secret tertentu](/id/docs/reference/access-authn-authz/rbac/#referring-to-resources) +Aplikasi yang membutuhkan akses ke API secret harus melakukan _request_ `get` pada +secret yang dibutuhkan. Hal ini memungkinkan administrator untuk membatasi +akses pada semua secret dengan tetap memberikan [akses pada instans secret tertentu](/id/docs/reference/access-authn-authz/rbac/#referring-to-resources) yang dibutuhkan aplikasi. -Untuk meningkatkan performa dengan menggunakan iterasi `get`, klien dapat mendesain -sumber daya yang merujuk pada suatu secret dan kemudian melakukan `watch` pada secret tersebut, +Untuk meningkatkan performa dengan menggunakan iterasi `get`, klien dapat mendesain +sumber daya yang merujuk pada suatu secret dan kemudian melakukan `watch` pada secret tersebut, serta melakukan _request_ secret ketika terjadi perubahan pada rujukan tadi. Sebagai tambahan, [API "bulk watch"]( https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/bulk_watch.md) -yang dapat memberikan kapabilitas `watch` individual pada sumber daya melalui klien juga sudah direncanakan, +yang dapat memberikan kapabilitas `watch` individual pada sumber daya melalui klien juga sudah direncanakan, dan kemungkinan akan diimplementasikan dirilis Kubernetes selanjutnya. ## Properti Keamanan @@ -1000,59 +1000,59 @@ dan kemungkinan akan diimplementasikan dirilis Kubernetes selanjutnya. ### Proteksi -Karena objek `secret` dapat dibuat secara independen dengan `pod` yang menggunakannya, -risiko tereksposnya secret di dalam workflow pembuatan, pemantauan, serta pengubahan pod. -Sistem yang ada juga dapat memberikan tindakan pencegahan ketika berinteraksi dengan `secret`, -misalnya saja tidak melakukan penulisan isi `secret` ke dalam disk apabila hal tersebut -memungkinkan. +Karena objek `secret` dapat dibuat secara independen dengan `pod` yang menggunakannya, +risiko tereksposnya secret di dalam workflow pembuatan, pemantauan, serta pengubahan pod. +Sistem yang ada juga dapat memberikan tindakan pencegahan ketika berinteraksi dengan `secret`, +misalnya saja tidak melakukan penulisan isi `secret` ke dalam disk apabila hal tersebut +memungkinkan. -Sebuah secret hanya diberikan pada node apabila pod yang ada di dalam node -membutuhkan secret tersebut. Kubelet menyimpan secret yang ada pada `tmpfs` -sehingga secret tidak ditulis pada disk. Setelah pod yang bergantung pada secret tersebut dihapus, +Sebuah secret hanya diberikan pada node apabila pod yang ada di dalam node +membutuhkan secret tersebut. Kubelet menyimpan secret yang ada pada `tmpfs` +sehingga secret tidak ditulis pada disk. Setelah pod yang bergantung pada secret tersebut dihapus, maka kubelet juga akan menghapus salinan lokal data secret. -Di dalam sebuah node bisa saja terdapat beberapa secret yang dibutuhkan -oleh pod yang ada di dalamnya. Meskipun demikian, hanya secret yang di-_request_ -oleh sebuah pod saja yang dapat dilihat oleh container yang ada di dalamnya. -Dengan demikian, sebuah Pod tidak memiliki akses untuk melihat secret yang ada +Di dalam sebuah node bisa saja terdapat beberapa secret yang dibutuhkan +oleh pod yang ada di dalamnya. Meskipun demikian, hanya secret yang di-_request_ +oleh sebuah pod saja yang dapat dilihat oleh container yang ada di dalamnya. +Dengan demikian, sebuah Pod tidak memiliki akses untuk melihat secret yang ada pada pod yang lain. -Di dalam sebuah pod bisa jadi terdapat beberapa container. -Meskipun demikian, agar sebuah container bisa mengakses _volume secret_, container -tersebut haruslah mengirimkan _request_ `volumeMounts` yang ada dapat diakses dari -container tersebut. Pengetahuan ini dapat digunakan untuk membentuk [partisi security -pada level pod](#contoh-penggunaan-secret-yang-dapat-diakses-hanya-pada-salah-satu-container-di-dalam-pod). +Di dalam sebuah pod bisa jadi terdapat beberapa container. +Meskipun demikian, agar sebuah container bisa mengakses _volume secret_, container +tersebut haruslah mengirimkan _request_ `volumeMounts` yang ada dapat diakses dari +container tersebut. Pengetahuan ini dapat digunakan untuk membentuk [partisi security +pada level pod](#contoh-penggunaan-secret-yang-dapat-diakses-hanya-pada-salah-satu-container-di-dalam-pod). -Pada sebagian besar distribusi yang dipelihara projek Kubernetes, +Pada sebagian besar distribusi yang dipelihara projek Kubernetes, komunikasi antara pengguna dan apiserver serta apisserver dan kubelet dilindungi dengan menggunakan SSL/TLS. Dengan demikian, secret dalam keadaan dilindungi ketika ditransmisi. {{< feature-state for_k8s_version="v1.13" state="beta" >}} Kamu dapat mengaktifkan [enkripsi pada rest](/docs/tasks/administer-cluster/encrypt-data/) -untuk data secret, sehingga secret yang ada tidak akan ditulis ke dalam {{< glossary_tooltip term_id="etcd" >}} +untuk data secret, sehingga secret yang ada tidak akan ditulis ke dalam {{< glossary_tooltip term_id="etcd" >}} dalam keadaan tidak terenkripsi. ### Resiko - Pada API server, data secret disimpan di dalam {{< glossary_tooltip term_id="etcd" >}}; dengan demikian: - - Administrator harus mengaktifkan enkripsi pada rest untuk data kluster (membutuhkan versi v1.13 atau lebih) + - Administrator harus mengaktifkan enkripsi pada rest untuk data klaster (membutuhkan versi v1.13 atau lebih) - Administrator harus membatasi akses etcd pada pengguna dengan kapabilitas admin - Administrator bisa saja menghapus data disk yang sudah tidak lagi digunakan oleh etcd - - Jika etcd dijalankan di dalam kluster, administrator harus memastikan SSL/TLS + - Jika etcd dijalankan di dalam klaster, administrator harus memastikan SSL/TLS digunakan pada proses komunikasi peer-to-peer etcd. - - Jika kamu melakukan konfigurasi melalui sebuah _file_ manifest (JSON or YAML) - yang menyimpan data secret dalam bentuk base64, membagi atau menyimpan secret ini - dalam repositori kode sumber sama artinya dengan memberikan informasi mengenai data secret. + - Jika kamu melakukan konfigurasi melalui sebuah _file_ manifest (JSON or YAML) + yang menyimpan data secret dalam bentuk base64, membagi atau menyimpan secret ini + dalam repositori kode sumber sama artinya dengan memberikan informasi mengenai data secret. Mekanisme _encoding_ base64 bukanlah merupakan teknik enkripsi dan nilainya dianggap sama saja dengan _plain text_. - - Aplikasi masih harus melindungi _value_ dari secret setelah membaca nilainya dari suatu volume - dengan demikian risiko terjadinya _logging_ secret secara tidak engaja dapat dihindari. - - Seorang pengguna yang dapat membuat suatu pod yang menggunakan secret, juga dapat melihat _value_ secret. - Bahkan apabila _policy_ apiserver tidak memberikan kapabilitas untuk membaca objek secret, pengguna + - Aplikasi masih harus melindungi _value_ dari secret setelah membaca nilainya dari suatu volume + dengan demikian risiko terjadinya _logging_ secret secara tidak engaja dapat dihindari. + - Seorang pengguna yang dapat membuat suatu pod yang menggunakan secret, juga dapat melihat _value_ secret. + Bahkan apabila _policy_ apiserver tidak memberikan kapabilitas untuk membaca objek secret, pengguna dapat menjalankan pod yang mengekspos secret. - - Saat ini, semua orang dengan akses _root_ pada node dapat membaca secret _apapun_ dari apiserver, - dengan cara meniru kubelet. Meskipun begitu, terdapat fitur yang direncanakan pada rilis selanjutnya yang memungkinkan pengiriman secret hanya dapat + - Saat ini, semua orang dengan akses _root_ pada node dapat membaca secret _apapun_ dari apiserver, + dengan cara meniru kubelet. Meskipun begitu, terdapat fitur yang direncanakan pada rilis selanjutnya yang memungkinkan pengiriman secret hanya dapat mengirimkan secret pada node yang membutuhkan secret tersebut untuk membatasi adanya eksploitasi akses _root_ pada node ini. ## {{% heading "whatsnext" %}} diff --git a/content/id/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md b/content/id/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md index fffc8709a6..8a5835ed2d 100644 --- a/content/id/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md +++ b/content/id/docs/concepts/extend-kubernetes/api-extension/apiserver-aggregation.md @@ -13,11 +13,11 @@ Lapisan agregasi memungkinkan Kubernetes untuk diperluas dengan API tambahan, se ## Ikhtisar -Lapisan agregasi memungkinkan instalasi tambahan beragam API _Kubernetes-style_ di kluster kamu. Tambahan-tambahan ini dapat berupa solusi-solusi yang sudah dibangun (_prebuilt_) oleh pihak ke-3 yang sudah ada, seperti [_service-catalog_](https://github.com/kubernetes-incubator/service-catalog/blob/master/README.md), atau API yang dibuat oleh pengguna seperti [apiserver-builder](https://github.com/kubernetes-incubator/apiserver-builder/blob/master/README.md), yang dapat membantu kamu memulainya. +Lapisan agregasi memungkinkan instalasi tambahan beragam API _Kubernetes-style_ di klaster kamu. Tambahan-tambahan ini dapat berupa solusi-solusi yang sudah dibangun (_prebuilt_) oleh pihak ke-3 yang sudah ada, seperti [_service-catalog_](https://github.com/kubernetes-incubator/service-catalog/blob/master/README.md), atau API yang dibuat oleh pengguna seperti [apiserver-builder](https://github.com/kubernetes-incubator/apiserver-builder/blob/master/README.md), yang dapat membantu kamu memulainya. -Lapisan agregasi berjalan di dalam proses bersama dengan kube-apiserver. Hingga sebuah sumber daya ekstensi terdaftar, lapisan agregasi tidak akan melakukan apapun. Untuk mendaftarkan sebuah API, pengguna harus menambahkan sebuah objek _APIService_, yang "mengklaim" jalur URL di API Kubernetes. Pada titik tersebut, lapisan agregasi akan mem-_proxy_ apapun yang dikirim ke jalur API tersebut (misalnya /apis/myextension.mycompany.io/v1/…) ke _APIService_ yang terdaftar. +Lapisan agregasi berjalan di dalam proses bersama dengan kube-apiserver. Hingga sebuah sumber daya ekstensi terdaftar, lapisan agregasi tidak akan melakukan apapun. Untuk mendaftarkan sebuah API, pengguna harus menambahkan sebuah objek _APIService_, yang "mengklaim" jalur URL di API Kubernetes. Pada titik tersebut, lapisan agregasi akan mem-_proxy_ apapun yang dikirim ke jalur API tersebut (misalnya /apis/myextension.mycompany.io/v1/…) ke _APIService_ yang terdaftar. -Biasanya, _APIService_ akan diimplementasikan oleh sebuah ekstensi-apiserver di dalam sebuah Pod yang berjalan di kluster. Ekstensi-apiserver ini biasanya perlu di pasangkan dengan satu atau lebih _controller_ apabila manajemen aktif dari sumber daya tambahan diperlukan. Sebagai hasilnya, apiserver-builder sebenarnya akan memberikan kerangka untuk keduanya. Sebagai contoh lain, ketika service-catalog diinstal, ia menyediakan ekstensi-apiserver dan _controller_ untuk layanan-layanan yang disediakannya. +Biasanya, _APIService_ akan diimplementasikan oleh sebuah ekstensi-apiserver di dalam sebuah Pod yang berjalan di klaster. Ekstensi-apiserver ini biasanya perlu di pasangkan dengan satu atau lebih _controller_ apabila manajemen aktif dari sumber daya tambahan diperlukan. Sebagai hasilnya, apiserver-builder sebenarnya akan memberikan kerangka untuk keduanya. Sebagai contoh lain, ketika service-catalog diinstal, ia menyediakan ekstensi-apiserver dan _controller_ untuk layanan-layanan yang disediakannya. Ekstensi-apiserver harus memiliki latensi koneksi yang rendah dari dan ke kube-apiserver. Secara Khusus, permintaan pencarian diperlukan untuk bolak-balik dari kube-apiserver dalam 5 detik atau kurang. diff --git a/content/id/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md b/content/id/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md index e0f727ece7..e79836aeb3 100644 --- a/content/id/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md +++ b/content/id/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md @@ -21,7 +21,7 @@ _Plugin_ jaringan di Kubernetes hadir dalam beberapa varian: ## Instalasi -Kubelet memiliki _plugin_ jaringan bawaan tunggal, dan jaringan bawaan umum untuk seluruh kluster. _Plugin_ ini memeriksa _plugin-plugin_ ketika dijalankan, mengingat apa yang ditemukannya, dan mengeksekusi _plugin_ yang dipilih pada waktu yang tepat dalam siklus pod (ini hanya berlaku untuk Docker, karena rkt mengelola _plugin_ CNI sendiri). Ada dua parameter perintah Kubelet yang perlu diingat saat menggunakan _plugin_: +Kubelet memiliki _plugin_ jaringan bawaan tunggal, dan jaringan bawaan umum untuk seluruh klaster. _Plugin_ ini memeriksa _plugin-plugin_ ketika dijalankan, mengingat apa yang ditemukannya, dan mengeksekusi _plugin_ yang dipilih pada waktu yang tepat dalam siklus pod (ini hanya berlaku untuk Docker, karena rkt mengelola _plugin_ CNI sendiri). Ada dua parameter perintah Kubelet yang perlu diingat saat menggunakan _plugin_: * `cni-bin-dir`: Kubelet memeriksa direktori ini untuk _plugin-plugin_ saat _startup_ * `network-plugin`: _Plugin_ jaringan untuk digunakan dari `cni-bin-dir`. Ini harus cocok dengan nama yang dilaporkan oleh _plugin_ yang diperiksa dari direktori _plugin_. Untuk _plugin_ CNI, ini (nilainya) hanyalah "cni". diff --git a/content/id/docs/concepts/security/hardening-guide/authentication-mechanisms.md b/content/id/docs/concepts/security/hardening-guide/authentication-mechanisms.md index 19df252b6b..eb3ce83319 100644 --- a/content/id/docs/concepts/security/hardening-guide/authentication-mechanisms.md +++ b/content/id/docs/concepts/security/hardening-guide/authentication-mechanisms.md @@ -8,19 +8,19 @@ weight: 90 -Memilih mekanisme autentikasi yang tepat adalah aspek penting dalam mengamankan kluster Anda. +Memilih mekanisme autentikasi yang tepat adalah aspek penting dalam mengamankan klaster Anda. Kubernetes menyediakan beberapa mekanisme bawaan, masing-masing dengan kelebihan dan kekurangannya -yang harus dipertimbangkan dengan hati-hati saat memilih mekanisme autentikasi terbaik untuk kluster Anda. +yang harus dipertimbangkan dengan hati-hati saat memilih mekanisme autentikasi terbaik untuk klaster Anda. Secara umum, disarankan untuk mengaktifkan sesedikit mungkin mekanisme autentikasi untuk menyederhanakan -manajemen pengguna dan mencegah kasus di mana pengguna tetap memiliki akses ke kluster yang tidak lagi diperlukan. +manajemen pengguna dan mencegah kasus di mana pengguna tetap memiliki akses ke klaster yang tidak lagi diperlukan. -Penting untuk dicatat bahwa Kubernetes tidak memiliki basis data pengguna bawaan di dalam kluster. +Penting untuk dicatat bahwa Kubernetes tidak memiliki basis data pengguna bawaan di dalam klaster. Sebaliknya, Kubernetes mengambil informasi pengguna dari sistem autentikasi yang dikonfigurasi dan menggunakan informasi tersebut untuk membuat keputusan otorisasi. Oleh karena itu, untuk mengaudit akses pengguna, Anda perlu meninjau kredensial dari setiap sumber autentikasi yang dikonfigurasi. -Untuk kluster produksi dengan banyak pengguna yang mengakses API Kubernetes secara langsung, disarankan untuk +Untuk klaster produksi dengan banyak pengguna yang mengakses API Kubernetes secara langsung, disarankan untuk menggunakan sumber autentikasi eksternal seperti OIDC. Mekanisme autentikasi internal, seperti sertifikat klien dan token akun layanan yang dijelaskan di bawah ini, tidak cocok untuk kasus penggunaan ini. @@ -36,8 +36,8 @@ untuk autentikasi pengguna, mekanisme ini mungkin tidak cocok untuk penggunaan p hingga kedaluwarsa. Untuk mengurangi risiko ini, disarankan untuk mengonfigurasi masa berlaku yang pendek untuk kredensial autentikasi pengguna yang dibuat menggunakan sertifikat klien. - Jika sertifikat perlu dibatalkan, otoritas sertifikat harus diubah kuncinya, yang dapat memperkenalkan risiko - ketersediaan ke kluster. -- Tidak ada catatan permanen tentang sertifikat klien yang dibuat di kluster. Oleh karena itu, semua sertifikat yang + ketersediaan ke klaster. +- Tidak ada catatan permanen tentang sertifikat klien yang dibuat di klaster. Oleh karena itu, semua sertifikat yang diterbitkan harus dicatat jika Anda perlu melacaknya. - Kunci privat yang digunakan untuk autentikasi sertifikat klien tidak dapat dilindungi dengan kata sandi. Siapa pun yang dapat membaca file yang berisi kunci tersebut akan dapat menggunakannya. @@ -55,13 +55,13 @@ di disk node control plane, pendekatan ini tidak disarankan untuk server produks - Kredensial disimpan dalam teks biasa di disk node control plane, yang dapat menjadi risiko keamanan. - Mengubah kredensial apa pun memerlukan restart proses API server agar berlaku, yang dapat memengaruhi ketersediaan. - Tidak ada mekanisme yang tersedia untuk memungkinkan pengguna memutar kredensial mereka. Untuk memutar kredensial, - administrator kluster harus memodifikasi token di disk dan mendistribusikannya ke pengguna. + administrator klaster harus memodifikasi token di disk dan mendistribusikannya ke pengguna. - Tidak ada mekanisme penguncian yang tersedia untuk mencegah serangan brute-force. ## Token bootstrap {#bootstrap-tokens} [Token bootstrap](/docs/reference/access-authn-authz/bootstrap-tokens/) digunakan untuk menghubungkan -node ke kluster dan tidak disarankan untuk autentikasi pengguna karena beberapa alasan: +node ke klaster dan tidak disarankan untuk autentikasi pengguna karena beberapa alasan: - Mereka memiliki keanggotaan grup yang dikodekan keras yang tidak cocok untuk penggunaan umum, sehingga tidak cocok untuk tujuan autentikasi. @@ -73,12 +73,12 @@ node ke kluster dan tidak disarankan untuk autentikasi pengguna karena beberapa ## Token rahasia ServiceAccount {#serviceaccount-secret-tokens} [Rahasia akun layanan](/docs/reference/access-authn-authz/service-accounts-admin/#manual-secret-management-for-serviceaccounts) -tersedia sebagai opsi untuk memungkinkan beban kerja yang berjalan di kluster mengautentikasi ke API server. +tersedia sebagai opsi untuk memungkinkan beban kerja yang berjalan di klaster mengautentikasi ke API server. Di Kubernetes < 1.23, ini adalah opsi default, namun, mereka sedang digantikan dengan token API TokenRequest. Meskipun rahasia ini dapat digunakan untuk autentikasi pengguna, mereka umumnya tidak cocok karena beberapa alasan: - Mereka tidak dapat diatur dengan masa berlaku dan akan tetap berlaku hingga akun layanan terkait dihapus. -- Token autentikasi terlihat oleh pengguna kluster mana pun yang dapat membaca rahasia di namespace tempat mereka +- Token autentikasi terlihat oleh pengguna klaster mana pun yang dapat membaca rahasia di namespace tempat mereka didefinisikan. - Akun layanan tidak dapat ditambahkan ke grup arbitrer, yang mempersulit manajemen RBAC di mana mereka digunakan. @@ -99,7 +99,7 @@ Kubernetes mendukung integrasi layanan autentikasi eksternal dengan API Kubernet Ada berbagai macam perangkat lunak yang dapat digunakan untuk mengintegrasikan Kubernetes dengan penyedia identitas. Namun, saat menggunakan autentikasi OIDC di Kubernetes, penting untuk mempertimbangkan langkah-langkah penguatan berikut: -- Perangkat lunak yang diinstal di kluster untuk mendukung autentikasi OIDC harus diisolasi dari beban kerja umum +- Perangkat lunak yang diinstal di klaster untuk mendukung autentikasi OIDC harus diisolasi dari beban kerja umum karena akan berjalan dengan hak istimewa tinggi. - Beberapa layanan Kubernetes yang dikelola memiliki batasan pada penyedia OIDC yang dapat digunakan. - Seperti halnya token TokenRequest, token OIDC harus memiliki masa berlaku yang pendek untuk mengurangi dampak @@ -109,13 +109,13 @@ Namun, saat menggunakan autentikasi OIDC di Kubernetes, penting untuk mempertimb [Autentikasi token Webhook](/docs/reference/access-authn-authz/authentication/#webhook-token-authentication) adalah opsi lain untuk mengintegrasikan penyedia autentikasi eksternal ke Kubernetes. Mekanisme ini memungkinkan -layanan autentikasi, baik yang berjalan di dalam kluster atau di luar, untuk dihubungi untuk keputusan autentikasi +layanan autentikasi, baik yang berjalan di dalam klaster atau di luar, untuk dihubungi untuk keputusan autentikasi melalui webhook. Penting untuk dicatat bahwa kesesuaian mekanisme ini kemungkinan besar bergantung pada perangkat lunak yang digunakan untuk layanan autentikasi, dan ada beberapa pertimbangan khusus Kubernetes yang harus diperhatikan. Untuk mengonfigurasi autentikasi Webhook, akses ke sistem file server control plane diperlukan. Ini berarti bahwa hal ini tidak akan memungkinkan dengan Kubernetes yang dikelola kecuali penyedia secara khusus membuatnya tersedia. -Selain itu, perangkat lunak apa pun yang diinstal di kluster untuk mendukung akses ini harus diisolasi dari beban +Selain itu, perangkat lunak apa pun yang diinstal di klaster untuk mendukung akses ini harus diisolasi dari beban kerja umum, karena akan berjalan dengan hak istimewa tinggi. ## Proxy autentikasi {#authenticating-proxy} diff --git a/content/id/docs/concepts/workloads/pods/pod-qos.md b/content/id/docs/concepts/workloads/pods/pod-qos.md index fe2d577a82..30180dbe76 100644 --- a/content/id/docs/concepts/workloads/pods/pod-qos.md +++ b/content/id/docs/concepts/workloads/pods/pod-qos.md @@ -67,7 +67,7 @@ Perilaku tertentu independen dari kelas QoS yang ditetapkan oleh Kubernetes. Mis * Permintaan sumber daya Pod sama dengan jumlah permintaan sumber daya dari Kontainer komponennya, dan batas sumber daya Pod sama dengan jumlah batas sumber daya dari Kontainer komponennya. -* kube-scheduler tidak mempertimbangkan kelas QoS saat memilih Pod mana yang akan [didahulukan](/docs/concepts/scheduling-eviction/pod-priority-preemption/#preemption). Pendahuluan dapat terjadi saat kluster tidak memiliki cukup sumber daya untuk menjalankan semua Pod yang Anda tentukan. +* kube-scheduler tidak mempertimbangkan kelas QoS saat memilih Pod mana yang akan [didahulukan](/docs/concepts/scheduling-eviction/pod-priority-preemption/#preemption). Pendahuluan dapat terjadi saat klaster tidak memiliki cukup sumber daya untuk menjalankan semua Pod yang Anda tentukan. ## {{% heading "whatsnext" %}} diff --git a/content/id/docs/concepts/workloads/pods/pod.md b/content/id/docs/concepts/workloads/pods/pod.md index 97500d2bc1..71cc8741d0 100644 --- a/content/id/docs/concepts/workloads/pods/pod.md +++ b/content/id/docs/concepts/workloads/pods/pod.md @@ -17,48 +17,48 @@ Pod adalah unit komputasi terkecil yang bisa di-_deploy_ dan dibuat serta dikelo ## Apa Itu Pod? Sebuah Pod (seperti pod pada paus atau kacang polong) adalah sebuah kelompok yang -terdiri dari satu atau lebih {{< glossary_tooltip text="kontainer" term_id="container" >}} +terdiri dari satu atau lebih {{< glossary_tooltip text="kontainer" term_id="container" >}} (misalnya kontainer Docker), dengan ruang penyimpanan ataupun jaringan yang dipakai bersama, dan sebuah spesifikasi mengenai bagaimana menjalankan kontainer. Isi dari Pod akan selalu diletakkan dan dijadwalkan bersama, serta berjalan dalam konteks yang sama. Sebuah Pod memodelkan _"logical host"_ yang spesifik terhadap aplikasi. Ini mengandung -lebih dari satu kontainer aplikasi yang secara relatif saling terhubung erat. Sebelum +lebih dari satu kontainer aplikasi yang secara relatif saling terhubung erat. Sebelum masa kontainer, menjalankan aplikasi dalam mesin fisik atau _virtual_ berarti menjalankan dalam _logical host_ yang sama. -Walaupun Kubernetes mendukung lebih banyak _runtime_ kontainer selain Docker, +Walaupun Kubernetes mendukung lebih banyak _runtime_ kontainer selain Docker, namun Docker adalah yang paling umum diketahui dan ini membantu dalam menjelaskan Pod dengan istilah pada Docker. -Konteks bersama dalam sebuah Pod adalah kumpulan Linux namespace, cgroup dan +Konteks bersama dalam sebuah Pod adalah kumpulan Linux namespace, cgroup dan kemungkinan segi isolasi lain, hal yang sama yang mengisolasi kontainer Docker. Dalam sebuah konteks pada Pod, setiap aplikasi bisa menerapkan sub-isolasi lebih lanjut. -Semua kontainer dalam suatu Pod akan berbagi alamat IP dan _port_ yang sama, -dan bisa saling berkomunikasi melalui `localhost`. Komunikasi tersebut mengunakan -standar _inter-process communications_ (IPC) seperti SystemV semaphores -atau POSIX shared memory. Kontainer pada Pod yang berbeda memiliki alamat IP -yang berbeda dan tidak dapat berkomunikasi menggunakan IPC tanpa +Semua kontainer dalam suatu Pod akan berbagi alamat IP dan _port_ yang sama, +dan bisa saling berkomunikasi melalui `localhost`. Komunikasi tersebut mengunakan +standar _inter-process communications_ (IPC) seperti SystemV semaphores +atau POSIX shared memory. Kontainer pada Pod yang berbeda memiliki alamat IP +yang berbeda dan tidak dapat berkomunikasi menggunakan IPC tanpa [pengaturan khusus](/id/docs/concepts/policy/pod-security-policy/). Kontainer ini biasa berkomunikasi dengan yang lain menggunakan alamat IP setiap Pod. -Aplikasi dalam suatu Pod juga memiliki akses ke {{< glossary_tooltip text="ruang penyimpanan" term_id="volume" >}} bersama, +Aplikasi dalam suatu Pod juga memiliki akses ke {{< glossary_tooltip text="ruang penyimpanan" term_id="volume" >}} bersama, yang didefinisikan sebagai bagian dari Pod dan dibuat bisa diikatkan ke masing-masing _filesystem_ pada aplikasi. -Dalam istilah konsep [Docker](https://www.docker.com/), sebuah Pod dimodelkan sebagai +Dalam istilah konsep [Docker](https://www.docker.com/), sebuah Pod dimodelkan sebagai gabungan dari kontainer Docker yang berbagi _namespace_ dan ruang penyimpanan _filesystem_. -Layaknya aplikasi dengan kontainer, Pod dianggap sebagai entitas yang relatif tidak kekal -(tidak bertahan lama). Seperti yang didiskusikan dalam +Layaknya aplikasi dengan kontainer, Pod dianggap sebagai entitas yang relatif tidak kekal +(tidak bertahan lama). Seperti yang didiskusikan dalam [siklus hidup Pod](/id/docs/concepts/workloads/pods/pod-lifecycle/), Pod dibuat, diberikan ID unik (UID), dan dijadwalkan pada suatu mesin dan akan tetap disana hingga dihentikan (bergantung pada aturan _restart_) atau dihapus. Jika {{< glossary_tooltip text="mesin" term_id="node" >}} -mati, maka semua Pod pada mesin tersebut akan dijadwalkan untuk dihapus, namun setelah +mati, maka semua Pod pada mesin tersebut akan dijadwalkan untuk dihapus, namun setelah suatu batas waktu. Suatu Pod tertentu (sesuai dengan ID unik) tidak akan dijadwalkan ulang -ke mesin baru, namun akan digantikan oleh Pod yang identik, bahkan jika dibutuhkan bisa -dengan nama yang sama, tapi dengan ID unik yang baru -(baca [_replication controller_](/id/docs/concepts/workloads/controllers/replicationcontroller/) +ke mesin baru, namun akan digantikan oleh Pod yang identik, bahkan jika dibutuhkan bisa +dengan nama yang sama, tapi dengan ID unik yang baru +(baca [_replication controller_](/id/docs/concepts/workloads/controllers/replicationcontroller/) untuk info lebih lanjut) Ketika sesuatu dikatakan memiliki umur yang sama dengan Pod, misalnya saja ruang penyimpanan, @@ -78,9 +78,9 @@ ruang penyimpanan persisten untuk berbagi ruang penyimpanan bersama antara konta Pod adalah suatu model dari pola beberapa proses yang bekerja sama dan membentuk suatu unit layanan yang kohesif. Menyederhanakan proses melakukan _deploy_ dan pengelolaan aplikasi dengan menyediakan abstraksi tingkat yang lebih tinggi -daripada konstituen aplikasinya. Pod melayani sebagai unit dari _deployment_, -penskalaan horizontal, dan replikasi. _Colocation_ (_co-scheduling_), berbagi nasib -(misalnya dimatikan), replikasi terkoordinasi, berbagi sumber daya dan +daripada konstituen aplikasinya. Pod melayani sebagai unit dari _deployment_, +penskalaan horizontal, dan replikasi. _Colocation_ (_co-scheduling_), berbagi nasib +(misalnya dimatikan), replikasi terkoordinasi, berbagi sumber daya dan pengelolaan ketergantungan akan ditangani otomatis untuk kontainer dalam suatu Pod. ### Berbagi sumber daya dan komunikasi @@ -88,8 +88,8 @@ pengelolaan ketergantungan akan ditangani otomatis untuk kontainer dalam suatu P Pod memungkinkan berbagi data dan komunikasi diantara konstituennya. Semua aplikasi dalam suatu Pod menggunakan _namespace_ jaringan yang sama -(alamat IP dan _port_ yang sama), dan menjadikan bisa saling mencari dan berkomunikasi -dengan menggunakan `localhost`. Oleh karena itu, aplikasi dalam Pod harus +(alamat IP dan _port_ yang sama), dan menjadikan bisa saling mencari dan berkomunikasi +dengan menggunakan `localhost`. Oleh karena itu, aplikasi dalam Pod harus berkoordinasi mengenai penggunaan _port_. Setiap Pod memiliki alamat IP dalam satu jaringan bersama yang bisa berkomunikasi dengan komputer lain dan Pod lain dalam jaringan yang sama. @@ -116,7 +116,7 @@ penerbit peristiwa, dll. * proksi, jembatan dan adaptor. * pengontrol, manajer, konfigurasi dan pembaharu. -Secara umum, masing-masing Pod tidak dimaksudkan untuk menjalankan beberapa +Secara umum, masing-masing Pod tidak dimaksudkan untuk menjalankan beberapa aplikasi yang sama. Penjelasan lebih lengkap bisa melihat [The Distributed System ToolKit: Patterns for Composite Containers](https://kubernetes.io/blog/2015/06/the-distributed-system-toolkit-patterns). @@ -128,9 +128,9 @@ Kenapa tidak menjalankan banyak program dalam satu kontainer (Docker)? 1. Transparansi. Membuat kontainer dalam suatu Pod menjadi terlihat dari infrastruktur, memungkinkan infrastruktur menyediakan servis ke kontainer tersebut, misalnya saja - pengelolaan proses dan pemantauan sumber daya. Ini memfasilitasi sejumlah + pengelolaan proses dan pemantauan sumber daya. Ini memfasilitasi sejumlah kenyamanan untuk pengguna. -1. Pemisahan ketergantungan perangkat lunak. Setiap kontainer mungkin memiliki +1. Pemisahan ketergantungan perangkat lunak. Setiap kontainer mungkin memiliki versi, dibuat dan dijalankan ulang secara independen. Kubernetes mungkin mendukung pembaharuan secara langsung terhadap suatu kontainer, suatu saat nanti. 1. Mudah digunakan. Penguna tidak diharuskan menjalankan manajer prosesnya sendiri, @@ -140,30 +140,30 @@ Kenapa tidak menjalankan banyak program dalam satu kontainer (Docker)? Kenapa tidak mendukung penjadwalan kontainer berdasarkan _affinity_? -Cara itu bisa menyediakan lokasi yang sama, namun tidak memberikan banyak +Cara itu bisa menyediakan lokasi yang sama, namun tidak memberikan banyak keuntungan dari Pod, misalnya saja berbagi sumber daya, IPC, jaminan berbagi nasib dan kemudahan manajemen. ## Ketahanan suatu Pod (atau kekurangan) -Pod tidak dimaksudkan untuk diperlakukan sebagai entitas yang tahan lama. +Pod tidak dimaksudkan untuk diperlakukan sebagai entitas yang tahan lama. Mereka tidak akan bertahan dengan kegagalan penjadwalan, kegagalan mesin, atau _eviction_ (pengusiran), misalnya karena kurangnya sumber daya atau dalam suatu kasus mesin sedang dalam pemeliharaan. -Secara umum, pengguna tidak seharusnya butuh membuat Pod secara langsung. Mereka +Secara umum, pengguna tidak seharusnya butuh membuat Pod secara langsung. Mereka seharusnya selalu menggunakan pengontrol, sekalipun untuk yang tunggal, misalnya, [_Deployment_](/id/docs/concepts/workloads/controllers/deployment/). Pengontrol menyediakan penyembuhan diri dengan ruang lingkup kelompok, begitu juga dengan -pengelolaan replikasi dan penluncuran. +pengelolaan replikasi dan penluncuran. Pengontrol seperti [_StatefulSet_](/id/docs/concepts/workloads/controllers/statefulset.md) bisa memberikan dukungan terhadap Pod yang _stateful_. Penggunaan API kolektif sebagai _user-facing primitive_ utama adalah hal yang -relatif umum diantara sistem penjadwalan kluster, seperti +relatif umum diantara sistem penjadwalan klaster, seperti -[Borg](https://research.google/pubs/large-scale-cluster-management-at-google-with-borg/), -[Marathon](https://github.com/d2iq-archive/marathon), +[Borg](https://research.google/pubs/large-scale-cluster-management-at-google-with-borg/), +[Marathon](https://github.com/d2iq-archive/marathon), [Aurora](http://aurora.apache.org/documentation/latest/reference/configuration/#job-schema), dan [Tupperware](https://www.slideshare.net/Docker/aravindnarayanan-facebook140613153626phpapp02-37588997). @@ -173,23 +173,23 @@ Pod diekspose sebagai _primitive_ untuk memfasilitasi hal berikut: * mendukung operasi pada level Pod tanpa perlu melakukan proksi melalui API pengontrol * pemisahan antara umur suatu Pod dan pengontrol, seperti misalnya _bootstrapping_. * pemisahan antara pengontrol dan servis, pengontrol _endpoint_ hanya memperhatikan Pod -* komposisi yang bersih antara fungsionalitas dilevel Kubelet dan klaster. Kubelet +* komposisi yang bersih antara fungsionalitas dilevel Kubelet dan klaster. Kubelet secara efektif adalah pengontrol Pod. -* aplikasi dengan ketersediaan tinggi, yang akan mengharapkan Pod akan digantikan - sebelum dihentikan dan tentu saja sebelum dihapus, seperti dalam kasus penggusuran +* aplikasi dengan ketersediaan tinggi, yang akan mengharapkan Pod akan digantikan + sebelum dihentikan dan tentu saja sebelum dihapus, seperti dalam kasus penggusuran yang direncanakan atau pengambilan gambar. ## Penghentian Pod -Karena Pod merepresentasikan proses yang berjalan pada mesin didalam klaster, sangat -penting untuk memperbolehkan proses ini berhenti secara normal ketika sudah tidak +Karena Pod merepresentasikan proses yang berjalan pada mesin didalam klaster, sangat +penting untuk memperbolehkan proses ini berhenti secara normal ketika sudah tidak dibutuhkan (dibandingkan dengan dihentikan paksa dengan sinyal KILL dan tidak memiliki waktu untuk dibersihkan). Pengguna seharusnya dapat meminta untuk menghapus dan tahu -proses penghentiannya, serta dapat memastikan penghentian berjalan sempurna. Ketika +proses penghentiannya, serta dapat memastikan penghentian berjalan sempurna. Ketika pengguna meminta menghapus Pod, sistem akan mencatat masa tenggang untuk penghentian secara normal sebelum Pod dipaksa untuk dihentikan, dan sinyal TERM akan dikirim ke -proses utama dalam setiap kontainer. Setelah masa tenggang terlewati, sinyal KILL -akan dikirim ke setiap proses dan Pod akan dihapus dari API server. Jika Kubelet +proses utama dalam setiap kontainer. Setelah masa tenggang terlewati, sinyal KILL +akan dikirim ke setiap proses dan Pod akan dihapus dari API server. Jika Kubelet atau kontainer manajer dijalankan ulang ketika menunggu suatu proses dihentikan, penghentian tersebut akan diulang dengan mengembalikan masa tenggang senilai semula. @@ -199,19 +199,19 @@ Contohnya sebagai berikut: 1. Pod dalam API server akan diperbarui dengan waktu dimana Pod dianggap "mati" bersama dengan masa tenggang. 1. Pod ditampilkan dalam status "Terminating" ketika tercantum dalam perintah klien -1. (bersamaan dengan poin 3) Ketika Kubelet melihat Pod sudah ditandai sebagai +1. (bersamaan dengan poin 3) Ketika Kubelet melihat Pod sudah ditandai sebagai "Terminating" karena waktu pada poin 2 sudah diatur, ini memulai proses penghentian Pod - 1. Jika salah satu kontainer pada Pod memiliki - [preStop _hook_](/id/docs/concepts/containers/container-lifecycle-hooks/#hook-details), + 1. Jika salah satu kontainer pada Pod memiliki + [preStop _hook_](/id/docs/concepts/containers/container-lifecycle-hooks/#hook-details), maka akan dipanggil di dalam kontainer. Jika `preStop` _hook_ masih berjalan setelah masa tenggang habis, langkah 2 akan dipanggil dengan tambahan masa tenggang yang sedikit, 2 detik. - 1. Semua kontainer akan diberikan sinyal TERM. Sebagai catatan, tidak semua kontainer - akan menerima sinyal TERM dalam waktu yang sama dan mungkin butuh waktu untuk + 1. Semua kontainer akan diberikan sinyal TERM. Sebagai catatan, tidak semua kontainer + akan menerima sinyal TERM dalam waktu yang sama dan mungkin butuh waktu untuk menjalankan `preStop` _hook_ jika bergantung pada urutan penghentiannya. -1. (bersamaan dengan poin 3) Pod akan dihapus dari daftar _endpoint_ untuk servis dan +1. (bersamaan dengan poin 3) Pod akan dihapus dari daftar _endpoint_ untuk servis dan tidak lagi dianggap sebagai bagian dari Pod yang berjalan dalam _replication controllers_. -Pod yang dihentikan, secara perlahan tidak akan melayani permintaan karena load balancer +Pod yang dihentikan, secara perlahan tidak akan melayani permintaan karena load balancer (seperti servis proksi) menghapus mereka dari daftar rotasi. 1. Ketika masa tenggang sudah lewat, semua proses yang masih berjalan dalam Pod akan dihentikan dengan sinyal SIGKILL. @@ -229,25 +229,25 @@ untuk melakukan penghapusan paksa. ### Penghapusan paksa sebuah Pod -Penghapusan paksa dari sebuah Pod didefinisikan sebagai penghapusan Pod dari _state_ +Penghapusan paksa dari sebuah Pod didefinisikan sebagai penghapusan Pod dari _state_ klaster dan etcd secara langsung. Ketika penghapusan paksa dilakukan, API server tidak akan menunggu konfirmasi dari kubelet bahwa Pod sudah dihentikan pada mesin ia berjalan. Ini menghapus Pod secara langsung dari API, sehingga Pod baru bisa dibuat dengan nama -yang sama. Dalam mesin, Pod yang dihentikan paksa akan tetap diberikan sedikit masa +yang sama. Dalam mesin, Pod yang dihentikan paksa akan tetap diberikan sedikit masa tenggang sebelum dihentikan paksa. Penghentian paksa dapat menyebabkan hal berbahaya pada beberapa Pod dan seharusnya -dilakukan dengan perhatian lebih. Dalam kasus StatefulSet Pods, silakan melihat +dilakukan dengan perhatian lebih. Dalam kasus StatefulSet Pods, silakan melihat dokumentasi untuk [penghentian Pod dari StatefulSet](/docs/tasks/run-application/force-delete-stateful-set-pod/). ## Hak istimewa untuk kontainer pada Pod Setiap kontainer dalam Pod dapat mengaktifkan hak istimewa (mode _privileged_), dengan menggunakan tanda `privileged` pada [konteks keamanan](/id/docs/tasks/configure-pod-container/security-context/) -pada spesifikasi kontainer. Ini akan berguna untuk kontainer yang ingin menggunakan +pada spesifikasi kontainer. Ini akan berguna untuk kontainer yang ingin menggunakan kapabilitas Linux seperti memanipulasi jaringan dan mengakses perangkat. Proses dalam kontainer mendapatkan hak istimewa yang hampir sama dengan proses di luar kontainer. -Dengan hak istimerwa, seharusnya lebih mudah untuk menulis pada jaringan dan _plugin_ +Dengan hak istimerwa, seharusnya lebih mudah untuk menulis pada jaringan dan _plugin_ ruang penyimpanan sebagai Pod berbeda yang tidak perlu dikompilasi ke dalam kubelet. {{< note >}} diff --git a/content/id/docs/tasks/administer-cluster/configure-upgrade-etcd.md b/content/id/docs/tasks/administer-cluster/configure-upgrade-etcd.md index f0a9d789b2..69b65f56c9 100644 --- a/content/id/docs/tasks/administer-cluster/configure-upgrade-etcd.md +++ b/content/id/docs/tasks/administer-cluster/configure-upgrade-etcd.md @@ -207,7 +207,7 @@ Pada Kubernetes v1.13.0, etcd2 tidak lagi didukung sebagai _backend_ penyimpanan dan `kube-apiserver` standarnya ke etcd3 - Kubernetes v1.9.0: pengumuman penghentian _backend_ penyimpanan etcd2 diumumkan - Kubernetes v1.13.0: _backend_ penyimpanan etcd2 dihapus, `kube-apiserver` akan - menolak untuk start dengan `--storage-backend=etcd2`, dengan pesan + menolak untuk start dengan `--storage-backend=etcd2`, dengan pesan `etcd2 is no longer a supported storage backend` Sebelum memutakhirkan v1.12.x kube-apiserver menggunakan `--storage-backend=etcd2` ke @@ -215,7 +215,7 @@ v1.13.x, data etcd v2 harus dimigrasikan ke _backend_ penyimpanan v3 dan permintaan kube-apiserver harus diubah untuk menggunakan `--storage-backend=etcd3`. Proses untuk bermigrasi dari etcd2 ke etcd3 sangat tergantung pada bagaimana -klaster etcd diluncurkan dan dikonfigurasi, serta bagaimana klaster Kubernetes diluncurkan dan dikonfigurasi. Kami menyarankan kamu berkonsultasi dengan dokumentasi penyedia kluster kamu untuk melihat apakah ada solusi yang telah ditentukan. +klaster etcd diluncurkan dan dikonfigurasi, serta bagaimana klaster Kubernetes diluncurkan dan dikonfigurasi. Kami menyarankan kamu berkonsultasi dengan dokumentasi penyedia klaster kamu untuk melihat apakah ada solusi yang telah ditentukan. Jika klaster kamu dibuat melalui `kube-up.sh` dan masih menggunakan etcd2 sebagai penyimpanan _backend_, silakan baca [Kubernetes v1.12 etcd cluster upgrade docs](https://v1-12.docs.kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/#upgrading-and-rolling-back-etcd-clusters) diff --git a/content/id/docs/tasks/configure-pod-container/configure-service-account.md b/content/id/docs/tasks/configure-pod-container/configure-service-account.md index af796a99dd..d548a6476d 100644 --- a/content/id/docs/tasks/configure-pod-container/configure-service-account.md +++ b/content/id/docs/tasks/configure-pod-container/configure-service-account.md @@ -11,7 +11,7 @@ ServiceAccount menyediakan identitas untuk proses yang sedang berjalan dalam seb Dokumen ini digunakan sebagai pengenalan untuk pengguna terhadap ServiceAccount dan menjelaskan bagaimana perilaku ServiceAccount dalam konfigurasi klaster seperti yang direkomendasikan Kubernetes. Pengubahan perilaku yang bisa saja dilakukan administrator klaster terhadap klaster tidak menjadi bagian pembahasan dokumentasi ini. {{< /note >}} -Ketika kamu mengakses klaster (contohnya menggunakan `kubectl`), kamu terautentikasi oleh apiserver sebagai sebuah akun pengguna (untuk sekarang umumnya sebagai `admin`, kecuali jika administrator klustermu telah melakukan pengubahan). Berbagai proses yang ada di dalam kontainer dalam Pod juga dapat mengontak apiserver. Ketika itu terjadi, mereka akan diautentikasi sebagai sebuah ServiceAccount (contohnya sebagai `default`). +Ketika kamu mengakses klaster (contohnya menggunakan `kubectl`), kamu terautentikasi oleh apiserver sebagai sebuah akun pengguna (untuk sekarang umumnya sebagai `admin`, kecuali jika administrator klastermu telah melakukan pengubahan). Berbagai proses yang ada di dalam kontainer dalam Pod juga dapat mengontak apiserver. Ketika itu terjadi, mereka akan diautentikasi sebagai sebuah ServiceAccount (contohnya sebagai `default`). @@ -292,7 +292,7 @@ kubectl create -f https://k8s.io/examples/pods/pod-projected-svc-token.yaml _Token_ yang mewakili Pod akan diminta dan disimpan kubelet, lalu kubelet akan membuat _token_ yang dapat diakses oleh Pod pada _file path_ yang ditentukan, dan melakukan _refresh_ _token_ ketika telah mendekati waktu berakhir. _Token_ akan diganti oleh kubelet jika _token_ telah melewati 80% dari total TTL, atau jika _token_ telah melebihi waktu 24 jam. -Aplikasi bertanggung jawab untuk memuat ulang _token_ ketika terjadi penggantian. Pemuatan ulang teratur (misalnya sekali setiap 5 menit) cukup untuk mencakup kebanyakan kasus. +Aplikasi bertanggung jawab untuk memuat ulang _token_ ketika terjadi penggantian. Pemuatan ulang teratur (misalnya sekali setiap 5 menit) cukup untuk mencakup kebanyakan kasus. ## ServiceAccountIssuerDiscovery @@ -326,7 +326,7 @@ Pada banyak kasus, server API Kubernetes tidak tersedia di internet publik, namu Lihat juga: -- [Panduan Admin Kluster mengenai ServiceAccount](/docs/reference/access-authn-authz/service-accounts-admin/) +- [Panduan Admin klaster mengenai ServiceAccount](/docs/reference/access-authn-authz/service-accounts-admin/) - [ServiceAccount Signing Key Retrieval KEP](https://github.com/kubernetes/enhancements/blob/master/keps/sig-auth/20190730-oidc-discovery.md) - [OIDC Discovery Spec](https://openid.net/specs/openid-connect-discovery-1_0.html) diff --git a/content/id/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md b/content/id/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md index d03681df13..e074bbebdb 100644 --- a/content/id/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md +++ b/content/id/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume.md @@ -2,7 +2,7 @@ title: "Contoh: Men-deploy WordPress dan MySQL dengan Persistent Volumes" content_type: tutorial weight: 20 -card: +card: name: tutorials weight: 40 title: "Contoh Stateful: WordPress dengan Persistent Volumes" @@ -11,7 +11,7 @@ card: Tutorial ini menunjukkan cara untuk men-deploy situs WordPress dan database MySQL menggunakan Minikube. Kedua aplikasi ini menggunakan PersistentVolumes dan PersistentVolumeClaims untuk menyimpan data. -[PersistentVolume](/docs/concepts/storage/persistent-volumes/) (PV) adalah bagian dari penyimpanan di dalam kluster yang telah disediakan secara manual oleh administrator, atau secara dinamis disediakan oleh Kubernetes menggunakan [StorageClass](/docs/concepts/storage/storage-classes). +[PersistentVolume](/docs/concepts/storage/persistent-volumes/) (PV) adalah bagian dari penyimpanan di dalam klaster yang telah disediakan secara manual oleh administrator, atau secara dinamis disediakan oleh Kubernetes menggunakan [StorageClass](/docs/concepts/storage/storage-classes). [PersistentVolumeClaim](/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims) (PVC) adalah permintaan penyimpanan oleh pengguna yang dapat dipenuhi oleh PV. PersistentVolumes dan PersistentVolumeClaims bersifat independen dari siklus hidup Pod dan mempertahankan data meskipun Pod di-restart, dijadwalkan ulang, atau bahkan dihapus. @@ -51,20 +51,20 @@ Unduh file konfigurasi berikut: MySQL dan WordPress masing-masing memerlukan PersistentVolume untuk menyimpan data. PersistentVolumeClaims mereka akan dibuat pada langkah deployment. -Banyak lingkungan kluster memiliki StorageClass default yang sudah di-instal. Ketika StorageClass tidak ditentukan dalam PersistentVolumeClaim, StorageClass default kluster akan digunakan. +Banyak lingkungan klaster memiliki StorageClass default yang sudah di-instal. Ketika StorageClass tidak ditentukan dalam PersistentVolumeClaim, StorageClass default klaster akan digunakan. Ketika PersistentVolumeClaim dibuat, PersistentVolume akan disediakan secara dinamis berdasarkan konfigurasi StorageClass. {{< warning >}} -Di kluster lokal, StorageClass default menggunakan provisioner `hostPath`. Volume `hostPath` hanya cocok untuk pengembangan dan pengujian. Dengan volume `hostPath`, data kamu akan disimpan di `/tmp` pada node tempat Pod dijadwalkan dan tidak akan berpindah antar node. Jika sebuah Pod mati dan dijadwalkan ke node lain di kluster, atau node di-reboot, data akan hilang. +Di klaster lokal, StorageClass default menggunakan provisioner `hostPath`. Volume `hostPath` hanya cocok untuk pengembangan dan pengujian. Dengan volume `hostPath`, data kamu akan disimpan di `/tmp` pada node tempat Pod dijadwalkan dan tidak akan berpindah antar node. Jika sebuah Pod mati dan dijadwalkan ke node lain di klaster, atau node di-reboot, data akan hilang. {{< /warning >}} {{< note >}} -Jika kamuu menjalankan kluster yang memerlukan provisioner `hostPath`, flag `--enable-hostpath-provisioner` harus diatur pada komponen `controller-manager`. +Jika kamuu menjalankan klaster yang memerlukan provisioner `hostPath`, flag `--enable-hostpath-provisioner` harus diatur pada komponen `controller-manager`. {{< /note >}} {{< note >}} -Jika kamu memiliki kluster Kubernetes yang berjalan di Google Kubernetes Engine, silakan ikuti [panduan ini](https://cloud.google.com/kubernetes-engine/docs/tutorials/persistent-disk). +Jika kamu memiliki klaster Kubernetes yang berjalan di Google Kubernetes Engine, silakan ikuti [panduan ini](https://cloud.google.com/kubernetes-engine/docs/tutorials/persistent-disk). {{< /note >}} ## Membuat kustomization.yaml From 62a3a6698f1bd0fbea17833b3dfd562b12ff6b77 Mon Sep 17 00:00:00 2001 From: za Date: Sat, 29 Mar 2025 14:19:31 +0700 Subject: [PATCH 109/121] id: translate security tutorial pod security standards https://kubernetes.io/docs/tutorials/security/ns-level-pss/ --- .../docs/tutorials/security/ns-level-pss.md | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 content/id/docs/tutorials/security/ns-level-pss.md diff --git a/content/id/docs/tutorials/security/ns-level-pss.md b/content/id/docs/tutorials/security/ns-level-pss.md new file mode 100644 index 0000000000..f42054e04f --- /dev/null +++ b/content/id/docs/tutorials/security/ns-level-pss.md @@ -0,0 +1,159 @@ +--- +title: Menerapkan Standar Keamanan Pod di Tingkat Namespace +content_type: tutorial +weight: 20 +--- + +{{% alert title="Catatan" %}} +Tutorial ini hanya berlaku untuk klaster baru. +{{% /alert %}} + +Pod Security Admission adalah pengendali penerimaan (admission controller) yang menerapkan +[Standar Keamanan Pod](/docs/concepts/security/pod-security-standards/) +saat pod dibuat. Fitur ini telah mencapai status GA di v1.25. +Dalam tutorial ini, Anda akan menerapkan Standar Keamanan Pod `baseline`, +satu namespace pada satu waktu. + +Anda juga dapat menerapkan Standar Keamanan Pod ke beberapa namespace sekaligus di tingkat klaster. Untuk instruksi, lihat +[Menerapkan Standar Keamanan Pod di tingkat klaster](/docs/tutorials/security/cluster-level-pss/). + +## {{% heading "prerequisites" %}} + +Pasang alat berikut di workstation Anda: + +- [kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installation) +- [kubectl](/docs/tasks/tools/) + +## Membuat klaster + +1. Buat klaster `kind` sebagai berikut: + + ```shell + kind create cluster --name psa-ns-level + ``` + + Outputnya mirip dengan ini: + + ``` + Membuat klaster "psa-ns-level" ... + ✓ Memastikan gambar node (kindest/node:v{{< skew currentPatchVersion >}}) 🖼 + ✓ Menyiapkan node 📦 + ✓ Menulis konfigurasi 📜 + ✓ Memulai control-plane 🕹️ + ✓ Memasang CNI 🔌 + ✓ Memasang StorageClass 💾 + Atur konteks kubectl ke "kind-psa-ns-level" + Anda sekarang dapat menggunakan klaster Anda dengan: + + kubectl cluster-info --context kind-psa-ns-level + + Tidak yakin apa yang harus dilakukan selanjutnya? 😅 Lihat https://kind.sigs.k8s.io/docs/user/quick-start/ + ``` + +1. Atur konteks kubectl ke klaster baru: + + ```shell + kubectl cluster-info --context kind-psa-ns-level + ``` + Outputnya mirip dengan ini: + + ``` + Control plane Kubernetes berjalan di https://127.0.0.1:50996 + CoreDNS berjalan di https://127.0.0.1:50996/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy + + Untuk debug dan diagnosis masalah klaster lebih lanjut, gunakan 'kubectl cluster-info dump'. + ``` + +## Membuat namespace + +Buat namespace baru bernama `example`: + +```shell +kubectl create ns example +``` + +Outputnya mirip dengan ini: + +``` +namespace/example created +``` + +## Mengaktifkan pemeriksaan Standar Keamanan Pod untuk namespace tersebut + +1. Aktifkan Standar Keamanan Pod pada namespace ini menggunakan label yang didukung oleh + Pod Security Admission bawaan. Dalam langkah ini Anda akan mengkonfigurasi pemeriksaan untuk + memberikan peringatan pada Pod yang tidak memenuhi versi terbaru dari standar keamanan pod _baseline_. + + ```shell + kubectl label --overwrite ns example \ + pod-security.kubernetes.io/warn=baseline \ + pod-security.kubernetes.io/warn-version=latest + ``` + +2. Anda dapat mengonfigurasi beberapa pemeriksaan standar keamanan pod pada namespace mana pun, menggunakan label. + Perintah berikut akan `enforce` Standar Keamanan Pod `baseline`, tetapi + `warn` dan `audit` untuk Standar Keamanan Pod `restricted` sesuai dengan versi terbaru + (nilai default) + + ```shell + kubectl label --overwrite ns example \ + pod-security.kubernetes.io/enforce=baseline \ + pod-security.kubernetes.io/enforce-version=latest \ + pod-security.kubernetes.io/warn=restricted \ + pod-security.kubernetes.io/warn-version=latest \ + pod-security.kubernetes.io/audit=restricted \ + pod-security.kubernetes.io/audit-version=latest + ``` + +## Memverifikasi penerapan Standar Keamanan Pod + +1. Buat Pod baseline di namespace `example`: + + ```shell + kubectl apply -n example -f https://k8s.io/examples/security/example-baseline-pod.yaml + ``` + Pod berhasil dibuat; outputnya termasuk peringatan. Sebagai contoh: + + ``` + Warning: would violate PodSecurity "restricted:latest": allowPrivilegeEscalation != false (container "nginx" must set securityContext.allowPrivilegeEscalation=false), unrestricted capabilities (container "nginx" must set securityContext.capabilities.drop=["ALL"]), runAsNonRoot != true (pod or container "nginx" must set securityContext.runAsNonRoot=true), seccompProfile (pod or container "nginx" must set securityContext.seccompProfile.type to "RuntimeDefault" or "Localhost") + pod/nginx created + ``` + +1. Buat Pod baseline di namespace `default`: + + ```shell + kubectl apply -n default -f https://k8s.io/examples/security/example-baseline-pod.yaml + ``` + Outputnya mirip dengan ini: + + ``` + pod/nginx created + ``` + +Pengaturan penerapan dan peringatan Standar Keamanan Pod hanya diterapkan +ke namespace `example`. Anda dapat membuat Pod yang sama di namespace `default` +tanpa peringatan. + +## Menghapus + +Sekarang hapus klaster yang Anda buat di atas dengan menjalankan perintah berikut: + +```shell +kind delete cluster --name psa-ns-level +``` + +## {{% heading "whatsnext" %}} + +- Jalankan + [skrip shell](/examples/security/kind-with-namespace-level-baseline-pod-security.sh) + untuk melakukan semua langkah sebelumnya sekaligus. + + 1. Membuat klaster kind + 2. Membuat namespace baru + 3. Menerapkan Standar Keamanan Pod `baseline` dalam mode `enforce` sambil menerapkan + Standar Keamanan Pod `restricted` juga dalam mode `warn` dan `audit`. + 4. Membuat pod baru dengan standar keamanan pod berikut diterapkan + +- [Pod Security Admission](/docs/concepts/security/pod-security-admission/) +- [Standar Keamanan Pod](/docs/concepts/security/pod-security-standards/) +- [Menerapkan Standar Keamanan Pod di tingkat klaster](/docs/tutorials/security/cluster-level-pss/) From ed2f7ca35a1de9399775d33de7f9155b548fff6a Mon Sep 17 00:00:00 2001 From: Yuto KIMURA <75498217+yuto-kimura-g@users.noreply.github.com> Date: Sat, 29 Mar 2025 16:46:34 +0900 Subject: [PATCH 110/121] [ja] Translate docs/reference/glossary/minikube.md into Japanese (#49887) * [ja] Translate docs/reference/glossary/minikube.md * fix link * Update ja/docs/reference/glossary/minikube.md Co-authored-by: Junya Okabe <86868255+Okabe-Junya@users.noreply.github.com> * Update content/ja/docs/reference/glossary/minikube.md Co-authored-by: inukai <82919057+t-inu@users.noreply.github.com> --------- Co-authored-by: Junya Okabe <86868255+Okabe-Junya@users.noreply.github.com> Co-authored-by: inukai <82919057+t-inu@users.noreply.github.com> --- content/ja/docs/reference/glossary/minikube.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 content/ja/docs/reference/glossary/minikube.md diff --git a/content/ja/docs/reference/glossary/minikube.md b/content/ja/docs/reference/glossary/minikube.md new file mode 100644 index 0000000000..5c1433c0cb --- /dev/null +++ b/content/ja/docs/reference/glossary/minikube.md @@ -0,0 +1,18 @@ +--- +title: Minikube +id: minikube +date: 2018-04-12 +full_link: /ja/docs/tasks/tools/#minikube +short_description: > + ローカルでKubernetesを実行するためのツールです。 +aka: +tags: +- fundamental +- tool +--- +ローカルでKubernetesを実行するためのツールです。 + + + +Minikubeは、ローカルのVM内で、単一または複数ノードのローカルKubernetesクラスターを実行します。 +Minikubeを使って[学習環境でKubernetesを試す](/ja/docs/tasks/tools/#minikube)ことができます。 From e05d30554c2d7897cdead32ef4ddbcd6ae9a5bac Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Sun, 30 Mar 2025 15:48:41 +0800 Subject: [PATCH 111/121] [zh-cn]sync Accelerators kubectl_patch/_index Signed-off-by: xin.li --- .../feature-gates/Accelerators.md | 1 - .../docs/reference/kubectl/generated/kubectl_patch/_index.md | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/content/zh-cn/docs/reference/command-line-tools-reference/feature-gates/Accelerators.md b/content/zh-cn/docs/reference/command-line-tools-reference/feature-gates/Accelerators.md index 24f2baa301..0f8427dc79 100644 --- a/content/zh-cn/docs/reference/command-line-tools-reference/feature-gates/Accelerators.md +++ b/content/zh-cn/docs/reference/command-line-tools-reference/feature-gates/Accelerators.md @@ -1,5 +1,4 @@ --- -# Removed from Kubernetes title: Accelerators content_type: feature_gate diff --git a/content/zh-cn/docs/reference/kubectl/generated/kubectl_patch/_index.md b/content/zh-cn/docs/reference/kubectl/generated/kubectl_patch/_index.md index 39cc665eb3..9a145e1e53 100644 --- a/content/zh-cn/docs/reference/kubectl/generated/kubectl_patch/_index.md +++ b/content/zh-cn/docs/reference/kubectl/generated/kubectl_patch/_index.md @@ -225,10 +225,10 @@ If true, keep the managedFields when printing objects in JSON or YAML format.

如果指定此标志,patch 操作将作用于所请求对象的子资源。 -必须是 status、scale 之一。此标志处于 Beta 阶段,未来可能会有所变化。 +此标志处于 Beta 阶段,未来可能会有所变化。

From bef6abc28b7cd266a7a19ec3e708813cff3537eb Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Sat, 8 Feb 2025 16:32:12 +0800 Subject: [PATCH 112/121] [zh-cn]sync rbac validating-admission-policy Signed-off-by: xin.li --- .../docs/reference/access-authn-authz/rbac.md | 56 +------------------ .../validating-admission-policy.md | 25 ++++++++- .../examples/access/simple-clusterrole.yaml | 10 ++++ .../zh-cn/examples/access/simple-role.yaml | 9 +++ 4 files changed, 45 insertions(+), 55 deletions(-) create mode 100644 content/zh-cn/examples/access/simple-clusterrole.yaml create mode 100644 content/zh-cn/examples/access/simple-role.yaml diff --git a/content/zh-cn/docs/reference/access-authn-authz/rbac.md b/content/zh-cn/docs/reference/access-authn-authz/rbac.md index e742498a09..7bed05c140 100644 --- a/content/zh-cn/docs/reference/access-authn-authz/rbac.md +++ b/content/zh-cn/docs/reference/access-authn-authz/rbac.md @@ -151,30 +151,7 @@ Here's an example Role in the "default" namespace that can be used to grant read 下面是一个位于 "default" 名字空间的 Role 的示例,可用来授予对 {{< glossary_tooltip text="Pod" term_id="pod" >}} 的读访问权限: - -```yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - namespace: default - name: pod-reader -rules: -- apiGroups: [""] # "" 标明 core API 组 - resources: ["pods"] - verbs: ["get", "watch", "list"] -``` +{{% code_sample file="access/simple-role.yaml" %}} -```yaml -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - # "namespace" 被忽略,因为 ClusterRoles 不受名字空间限制 - name: secret-reader -rules: -- apiGroups: [""] - # 在 HTTP 层面,用来访问 Secret 资源的名称为 "secrets" - resources: ["secrets"] - verbs: ["get", "watch", "list"] -``` - +## 免于准入验证的 API 类别 + +某些 API 类别可以豁免准入时验证检查。例如,你无法创建阻止更改 ValidatingAdmissionPolicyBindings +的 ValidatingAdmissionPolicy。 + +豁免准入验证的 API 类别列表如下: + +* [ValidatingAdmissionPolicies]({{< relref "/docs/reference/kubernetes-api/policy-resources/validating-admission-policy-v1/" >}}) +* [ValidatingAdmissionPolicyBindings]({{< relref "/docs/reference/kubernetes-api/policy-resources/validating-admission-policy-binding-v1/" >}}) +* MutatingAdmissionPolicies +* MutatingAdmissionPolicyBindings +* [TokenReviews]({{< relref "/docs/reference/kubernetes-api/authentication-resources/token-review-v1/" >}}) +* [LocalSubjectAccessReviews]({{< relref "/docs/reference/kubernetes-api/authorization-resources/local-subject-access-review-v1/" >}}) +* [SelfSubjectAccessReviews]({{< relref "/docs/reference/kubernetes-api/authorization-resources/self-subject-access-review-v1/" >}}) +* [SelfSubjectReviews]({{< relref "/docs/reference/kubernetes-api/authentication-resources/self-subject-review-v1/" >}}) diff --git a/content/zh-cn/examples/access/simple-clusterrole.yaml b/content/zh-cn/examples/access/simple-clusterrole.yaml new file mode 100644 index 0000000000..e0fa51dcdf --- /dev/null +++ b/content/zh-cn/examples/access/simple-clusterrole.yaml @@ -0,0 +1,10 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + # "namespace" 被忽略,因为 ClusterRoles 不受名字空间限制 + name: secret-reader +rules: +- apiGroups: [""] + # 在 HTTP 层面,用来访问 Secret 资源的名称为 "secrets" + resources: ["secrets"] + verbs: ["get", "watch", "list"] diff --git a/content/zh-cn/examples/access/simple-role.yaml b/content/zh-cn/examples/access/simple-role.yaml new file mode 100644 index 0000000000..2df0136a97 --- /dev/null +++ b/content/zh-cn/examples/access/simple-role.yaml @@ -0,0 +1,9 @@ +apiVersion: rbac.authorization.k8s.io/v1 +kind: Role +metadata: + namespace: default + name: pod-reader +rules: +- apiGroups: [""] # "" 标明 core API 组 + resources: ["pods"] + verbs: ["get", "watch", "list"] From f5b85d44eea6f42e07345192908e8bb7e11f8bb7 Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Sun, 30 Mar 2025 16:13:02 +0800 Subject: [PATCH 113/121] [zh-cn]sync server-side-apply Signed-off-by: xin.li --- .../zh-cn/docs/reference/using-api/server-side-apply.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/content/zh-cn/docs/reference/using-api/server-side-apply.md b/content/zh-cn/docs/reference/using-api/server-side-apply.md index e49a895ab9..93e1073ca2 100644 --- a/content/zh-cn/docs/reference/using-api/server-side-apply.md +++ b/content/zh-cn/docs/reference/using-api/server-side-apply.md @@ -1020,8 +1020,8 @@ Apply can send partially specified objects as YAML as the body of a `PATCH` requ to the URI of a resource. When applying a configuration, you should always include all the fields that are important to the outcome (such as a desired state) that you want to define. -All JSON messages are valid YAML. Some clients specify Server-Side Apply requests using YAML -request bodies that are also valid JSON. +All JSON messages are valid YAML. Therefore, in addition to using YAML request bodies for Server-Side Apply requests, you can also use JSON request bodies, as they are also valid YAML. +In either case, use the media type `application/apply-patch+yaml` for the HTTP request. --> ## API 实现 {#api-implementation} @@ -1029,8 +1029,9 @@ request bodies that are also valid JSON. 服务器端应用的用户可以将部分指定的对象以 YAML 格式作为 `PATCH` 请求的主体发送到资源的 URI。 应用配置时,你应该始终包含对要定义的结果(如所需状态)重要的所有字段。 -所有 JSON 消息都是有效的 YAML。一些客户端使用 YAML 请求体指定服务器端应用请求, -而这些 YAML 同样是合法的 JSON。 +所有 JSON 消息都是有效的 YAML。因此,除了可以为 Server-Side Apply 请求使用 +YAML 请求体外,你也可以使用 JSON 请求体,因为它们同样是有效的 YAML。 +无论哪种情况,请为 HTTP 请求使用媒体类型 `application/apply-patch+yaml`。 From 6adb59bd73a7238b3c8ad4e2c94694ed827d5de3 Mon Sep 17 00:00:00 2001 From: Hiroyuki Hasebe <16788901+levi106@users.noreply.github.com> Date: Sun, 30 Mar 2025 22:14:34 +0900 Subject: [PATCH 115/121] [ja] Translate content/en/docs/tasks/manage-daemon/update-daemon-set.md (#50177) * translate update-daemon-set.md into Japanese * Apply review feedback --- .../tasks/manage-daemon/update-daemon-set.md | 166 ++++++++++++++++++ .../controllers/fluentd-daemonset-update.yaml | 52 ++++++ .../controllers/fluentd-daemonset.yaml | 46 +++++ 3 files changed, 264 insertions(+) create mode 100644 content/ja/docs/tasks/manage-daemon/update-daemon-set.md create mode 100644 content/ja/examples/controllers/fluentd-daemonset-update.yaml create mode 100644 content/ja/examples/controllers/fluentd-daemonset.yaml diff --git a/content/ja/docs/tasks/manage-daemon/update-daemon-set.md b/content/ja/docs/tasks/manage-daemon/update-daemon-set.md new file mode 100644 index 0000000000..924bdca617 --- /dev/null +++ b/content/ja/docs/tasks/manage-daemon/update-daemon-set.md @@ -0,0 +1,166 @@ +--- +title: DaemonSet上でローリングアップデートを実施する +content_type: task +weight: 10 +--- + + +このページでは、DaemonSet上でローリングアップデートを行う方法について説明します。 + +## {{% heading "prerequisites" %}} + +{{< include "task-tutorial-prereqs.md" >}} + + + +## DaemonSetのアップデート戦略 + +DaemonSetには2種類のアップデート戦略があります: + +* `OnDelete`: `OnDelete`アップデート戦略では、DaemonSetのテンプレートを更新した後、古いDaemonSetのPodを手動で削除した時*のみ*、新しいDaemonSetのPodが作成されます。 + これはKubernetesのバージョン1.5またはそれ以前のDaemonSetと同じ挙動です。 +* `RollingUpdate`: これは既定のアップデート戦略です。 + `RollingUpdate`アップデート戦略では、DaemonSetのテンプレートを更新した後、古いDaemonSetのPodが削除され、制御された方法で自動的に新しいDaemonSetのPodが作成されます。 + アップデートのプロセス全体を通して、各ノード上で稼働するDaemonSetのPodは最大で1つだけです。 + +## ローリングアップデートの実施 + +DaemonSetに対してローリングアップデートの機能を有効にするには、`.spec.updateStrategy.type`を`RollingUpdate`に設定する必要があります。 + +[`.spec.updateStrategy.rollingUpdate.maxUnavailable`](/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec)(既定値は1)、[`.spec.minReadySeconds`](/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec)(既定値は0)、そして[`.spec.updateStrategy.rollingUpdate.maxSurge`](/docs/reference/kubernetes-api/workload-resources/daemon-set-v1/#DaemonSetSpec)(既定値は0)についても設定したほうがよいでしょう。 + +### `RollingUpdate`アップデート戦略によるDaemonSetの作成 + +このYAMLファイルでは、アップデート戦略として`RollingUpdate`が指定されたDaemonSetを定義しています。 + +{{% code_sample file="controllers/fluentd-daemonset.yaml" %}} + +DaemonSetのマニフェストのアップデート戦略を検証した後、DaemonSetを作成します: + +```shell +kubectl create -f https://k8s.io/examples/controllers/fluentd-daemonset.yaml +``` + +あるいは、`kubectl apply`を使用してDaemonSetを更新する予定がある場合は、`kubectl apply`を使用して同じDaemonSetを作成してください。 + +```shell +kubectl apply -f https://k8s.io/examples/controllers/fluentd-daemonset.yaml +``` + +### DaemonSetの`RollingUpdate`アップデート戦略の確認 + +DaemonSetのアップデート戦略を確認し、`RollingUpdate`が設定されているようにします: + +```shell +kubectl get ds/fluentd-elasticsearch -o go-template='{{.spec.updateStrategy.type}}{{"\n"}}' -n kube-system +``` + +システムにDaemonSetが作成されていない場合は、代わりに次のコマンドによってDaemonSetのマニフェストを確認します: + +```shell +kubectl apply -f https://k8s.io/examples/controllers/fluentd-daemonset.yaml --dry-run=client -o go-template='{{.spec.updateStrategy.type}}{{"\n"}}' +``` + +どちらのコマンドも、出力は次のようになります: + +``` +RollingUpdate +``` + +出力が`RollingUpdate`以外の場合は、DaemonSetオブジェクトまたはマニフェストを見直して、修正してください。 + + +### DaemonSetテンプレートの更新 + +`RollingUpdate`のDaemonSetの`.spec.template`に対して任意の更新が行われると、ローリングアップデートがトリガーされます。 +新しいYAMLファイルを適用してDaemonSetを更新しましょう。 +これにはいくつかの異なる`kubectl`コマンドを使用することができます。 + +{{% code_sample file="controllers/fluentd-daemonset-update.yaml" %}} + +#### 宣言型コマンド + +[設定ファイル](/docs/tasks/manage-kubernetes-objects/declarative-config/)を使用してDaemonSetを更新する場合は、`kubectl apply`を使用します: + +```shell +kubectl apply -f https://k8s.io/examples/controllers/fluentd-daemonset-update.yaml +``` + +#### 命令型コマンド + +[命令型コマンド](/docs/tasks/manage-kubernetes-objects/imperative-command/)を使用してDaemonSetを更新する場合は、`kubectl edit`を使用します: + +```shell +kubectl edit ds/fluentd-elasticsearch -n kube-system +``` + +##### コンテナイメージのみのアップデート + +DaemonSetのテンプレート内のコンテナイメージ、つまり`.spec.template.spec.containers[*].image`のみを更新したい場合、`kubectl set image`を使用します: + +```shell +kubectl set image ds/fluentd-elasticsearch fluentd-elasticsearch=quay.io/fluentd_elasticsearch/fluentd:v2.6.0 -n kube-system +``` + +### ローリングアップデートのステータスの監視 + +最後に、最新のDaemonSetの、ローリングアップデートのロールアウトステータスを監視します: + +```shell +kubectl rollout status ds/fluentd-elasticsearch -n kube-system +``` + +ロールアウトが完了すると、次のような出力となります: + +```shell +daemonset "fluentd-elasticsearch" successfully rolled out +``` + +## トラブルシューティング + +### DaemonSetのローリングアップデートがスタックする + +時々、DaemonSetのローリングアップデートがスタックする場合があります。 +これにはいくつかの原因が考えられます: + +#### いくつかのノードのリソース不足 + +1つ以上のノードで新しいDaemonSetのPodをスケジュールすることができず、ロールアウトがスタックしています。 +これはノードの[リソース不足](/ja/docs/concepts/scheduling-eviction/node-pressure-eviction/)の可能性があります。 + +この事象が起きた場合は、`kubectl get nodes`の出力と次の出力を比較して、DaemonSetのPodがスケジュールされていないノードを見つけます: + +```shell +kubectl get pods -l name=fluentd-elasticsearch -o wide -n kube-system +``` + +そのようなノードを見つけたら、新しいDaemonSetのPodのための空きを作るために、ノードからDaemonSet以外のいくつかのPodを削除します。 + +{{< note >}} +コントローラーによって制御されていないPodや、レプリケートされていないPodを削除すると、これはサービスの中断が発生する原因となります。 +これはまた、[PodDisruptionBudget](/ja/docs/tasks/run-application/configure-pdb/)についても考慮しません。 +{{< /note >}} + +#### 壊れたロールアウト + +例えばコンテナがクラッシュを繰り返したり、(しばしばtypoによって)コンテナイメージが存在しないといった理由で最新のDaemonSetのテンプレートの更新が壊れた場合、DaemonSetのロールアウトは進みません。 + +これを修正するためには、DaemonSetのテンプレートを再度更新します。 +新しいロールアウトは、前の不健全なロールアウトによってブロックされません。 + +#### クロックスキュー + +DaemonSet内で`.spec.minReadySeconds`が指定されると、マスターとノードの間のクロックスキューによって、DaemonSetがロールアウトの進捗を正しく認識できなくなる場合があります。 + +## クリーンアップ + +NamespaceからDaemonSetを削除します: + +```shell +kubectl delete ds fluentd-elasticsearch -n kube-system +``` + +## {{% heading "whatsnext" %}} + +* [DaemonSet上でロールバックを実施する](/docs/tasks/manage-daemon/rollback-daemon-set/)を参照 +* [既存のDaemonSetのPodを再利用するためにDaemonSetを作成する](/ja/docs/concepts/workloads/controllers/daemonset/)を参照 diff --git a/content/ja/examples/controllers/fluentd-daemonset-update.yaml b/content/ja/examples/controllers/fluentd-daemonset-update.yaml new file mode 100644 index 0000000000..195823b917 --- /dev/null +++ b/content/ja/examples/controllers/fluentd-daemonset-update.yaml @@ -0,0 +1,52 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: fluentd-elasticsearch + namespace: kube-system + labels: + k8s-app: fluentd-logging +spec: + selector: + matchLabels: + name: fluentd-elasticsearch + updateStrategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 1 + template: + metadata: + labels: + name: fluentd-elasticsearch + spec: + tolerations: + # これらのTolerationはコントロールプレーンノード上でDaemonSetを実行できるようにするためのものです + # コントロールプレーンノードでPodを実行すべきではない場合は、これらを削除してください + - key: node-role.kubernetes.io/control-plane + operator: Exists + effect: NoSchedule + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule + containers: + - name: fluentd-elasticsearch + image: quay.io/fluentd_elasticsearch/fluentd:v2.5.2 + resources: + limits: + memory: 200Mi + requests: + cpu: 100m + memory: 200Mi + volumeMounts: + - name: varlog + mountPath: /var/log + - name: varlibdockercontainers + mountPath: /var/lib/docker/containers + readOnly: true + terminationGracePeriodSeconds: 30 + volumes: + - name: varlog + hostPath: + path: /var/log + - name: varlibdockercontainers + hostPath: + path: /var/lib/docker/containers diff --git a/content/ja/examples/controllers/fluentd-daemonset.yaml b/content/ja/examples/controllers/fluentd-daemonset.yaml new file mode 100644 index 0000000000..c331b8aec4 --- /dev/null +++ b/content/ja/examples/controllers/fluentd-daemonset.yaml @@ -0,0 +1,46 @@ +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: fluentd-elasticsearch + namespace: kube-system + labels: + k8s-app: fluentd-logging +spec: + selector: + matchLabels: + name: fluentd-elasticsearch + updateStrategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 1 + template: + metadata: + labels: + name: fluentd-elasticsearch + spec: + tolerations: + # これらのTolerationはコントロールプレーンノード上でDaemonSetを実行できるようにするためのものです + # コントロールプレーンノードでPodを実行すべきではない場合は、これらを削除してください + - key: node-role.kubernetes.io/control-plane + operator: Exists + effect: NoSchedule + - key: node-role.kubernetes.io/master + operator: Exists + effect: NoSchedule + containers: + - name: fluentd-elasticsearch + image: quay.io/fluentd_elasticsearch/fluentd:v2.5.2 + volumeMounts: + - name: varlog + mountPath: /var/log + - name: varlibdockercontainers + mountPath: /var/lib/docker/containers + readOnly: true + terminationGracePeriodSeconds: 30 + volumes: + - name: varlog + hostPath: + path: /var/log + - name: varlibdockercontainers + hostPath: + path: /var/lib/docker/containers From 9b6e68f3c2a98c81cb4c2eb04f1f9c814c4401a1 Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Sat, 29 Mar 2025 16:23:31 +0800 Subject: [PATCH 116/121] [zh-cn]Add blog: 2024-12-16-cpumanager-strict-cpu-reservation.md Signed-off-by: xin.li --- ...12-16-cpumanager-strict-cpu-reservation.md | 180 ++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 content/zh-cn/blog/_posts/2024-12-16-cpumanager-strict-cpu-reservation.md diff --git a/content/zh-cn/blog/_posts/2024-12-16-cpumanager-strict-cpu-reservation.md b/content/zh-cn/blog/_posts/2024-12-16-cpumanager-strict-cpu-reservation.md new file mode 100644 index 0000000000..24036dcdb6 --- /dev/null +++ b/content/zh-cn/blog/_posts/2024-12-16-cpumanager-strict-cpu-reservation.md @@ -0,0 +1,180 @@ +--- +layout: blog +title: 'Kubernetes v1.32 增加了新的 CPU Manager 静态策略选项用于严格 CPU 预留' +date: 2024-12-16 +slug: cpumanager-strict-cpu-reservation +author: > + [Jing Zhang](https://github.com/jingczhang) (Nokia) +translator: > + [Xin Li](https://github.com/my-git9) (DaoCloud) +--- + + + +在 Kubernetes v1.32 中,经过社区多年的讨论,我们很高兴地引入了 +[CPU Manager 静态策略](/zh-cn/docs/tasks/administer-cluster/cpu-management-policies/#static-policy-options)的 +`strict-cpu-reservation` 选项。此特性当前处于 Alpha 阶段,默认情况下关联的策略是隐藏的。 +只有在你的集群中明确启用了此 Alpha 行为后,才能使用此策略。 + + +## 理解此特性 + +CPU Manager 静态策略用于减少延迟或提高性能。`reservedSystemCPUs` +定义了一个明确的 CPU 集合,供操作系统系统守护进程和 Kubernetes 系统守护进程使用。 +此选项专为 Telco/NFV 类型的使用场景设计,在这些场景中,不受控制的中断/计时器可能会影响工作负载的性能。 +你可以使用此选项为系统/Kubernetes 守护进程以及中断/计时器定义明确的 CPU 集合, +从而使系统上的其余 CPU 可以专用于工作负载,并减少不受控制的中断/计时器带来的影响。 +有关此参数的更多详细信息,请参阅 +[显式预留的 CPU 列表](/zh-cn/docs/tasks/administer-cluster/reserve-compute-resources/#explicitly-reserved-cpu-list) +页面。 + +如果你希望保护系统守护进程和中断处理,显而易见的方法是使用 `reservedSystemCPUs` 选项。 + + +然而,在 Kubernetes v1.32 发布之前,这种隔离仅针对请求整数个 CPU +的 Guaranteed 类型 Pod 实现。在 Pod 准入时,kubelet 仅将 CPU +**请求量**与可分配的 CPU 进行比较。在 Kubernetes 中,限制值可以高于请求值; +之前的实现允许 Burstable 和 BestEffort 类型的 Pod 使用 `reservedSystemCPUs` 的容量, +这可能导致主机操作系统服务缺乏足够的 CPU 资源 —— 并且我们已经知道在实际部署中确实发生过这种情况。 +现有的行为还导致基础设施和工作负载的基准测试结果不准确。 + +当启用这个新的 `strict-cpu-reservation` 策略选项后,CPU Manager +静态策略将不允许任何工作负载使用预留的系统 CPU 核心。 + + +## 启用此特性 + +要启用此特性,你需要同时开启 `CPUManagerPolicyAlphaOptions` 特性门控和 +`strict-cpu-reservation` 策略选项。并且如果存在 `/var/lib/kubelet/cpu_manager_state` +文件,则需要删除该文件并重启 kubelet。 + +使用以下 kubelet 配置: + +```yaml +kind: KubeletConfiguration +apiVersion: kubelet.config.k8s.io/v1beta1 +featureGates: + ... + CPUManagerPolicyOptions: true + CPUManagerPolicyAlphaOptions: true +cpuManagerPolicy: static +cpuManagerPolicyOptions: + strict-cpu-reservation: "true" +reservedSystemCPUs: "0,32,1,33,16,48" +... +``` + + +当未设置 `strict-cpu-reservation` 或将其设置为 false 时: + +```console +# cat /var/lib/kubelet/cpu_manager_state +{"policyName":"static","defaultCpuSet":"0-63","checksum":1058907510} +``` + + +当 `strict-cpu-reservation` 设置为 true 时: + +```console +# cat /var/lib/kubelet/cpu_manager_state +{"policyName":"static","defaultCpuSet":"2-15,17-31,34-47,49-63","checksum":4141502832} +``` + + +## 监控此特性 + +你可以通过检查以下 CPU Manager 计数器来监控该特性的影响: + +- `cpu_manager_shared_pool_size_millicores`:报告共享池大小,以毫核为单位(例如 13500m) +- `cpu_manager_exclusive_cpu_allocation_count`:报告独占分配的核心数,按完整核心计数(例如 16) + + +如果 `cpu_manager_shared_pool_size_millicores` 计数在长时间内为零, +你的 BestEffort 类型工作负载可能会因资源匮乏而受到影响。 + +我们建议,任何用于操作目的的 Pod(如日志转发器)都不应以 BestEffort 方式运行, +但你可以根据需要审查并调整预留的 CPU 核心数量。 + + +## 总结 + +严格的 CPU 预留对于 Telco/NFV 使用场景至关重要。 +它也是启用一体化部署类型(其中工作负载被放置在同时担任控制面节点、工作节点和存储角色的节点上)的前提条件。 + +我们希望你开始使用该特性,并期待你的反馈。 + + +## 进一步阅读 + +请查看[节点上的控制 CPU 管理策略](/zh-cn/docs/tasks/administer-cluster/cpu-management-policies/)任务页面, +以了解更多关于 CPU Manager 的信息,以及它如何与其他节点级资源管理器相关联。 + + +## 参与其中 + +此特性由 [SIG Node](https://github.com/kubernetes/community/blob/master/sig-node/README.md) +推动。如果你有兴趣帮助开发此特性、分享反馈或参与任何其他正在进行的 SIG Node 项目, +请参加 SIG Node 会议以获取更多详情。 From 53ca42a782965ba302331d7a3dc066425aab5980 Mon Sep 17 00:00:00 2001 From: dkarczmarski Date: Sun, 30 Mar 2025 16:27:04 +0200 Subject: [PATCH 117/121] [pl] sync with PR #45030 --- content/pl/releases/_index.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/content/pl/releases/_index.md b/content/pl/releases/_index.md index 2add7bf6e7..580f23e17a 100644 --- a/content/pl/releases/_index.md +++ b/content/pl/releases/_index.md @@ -13,6 +13,7 @@ Projekt Kubernetes zapewnia wsparcie dla trzech ostatnich wydań _minor_ Poprawki do wydania 1.19 i nowszych [będą publikowane przez około rok](/releases/patch-releases/#support-period). Kubernetes w wersji 1.18 i wcześniejszych otrzymywał poprawki przez 9 miesięcy. + Wersje Kubernetesa oznaczane są jako **x.y.z**, gdzie **x** jest oznaczeniem wersji głównej (_major_), **y** — podwersji (_minor_), a **z** — numer poprawki (_patch_), zgodnie z terminologią [Semantic Versioning](https://semver.org/). @@ -21,13 +22,16 @@ Więcej informacji można z znaleźć w dokumencie [version skew policy](/releas -## Historia wydań +## Historia wydań {#release-history} {{< release-data >}} -## Nadchodzące wydania +## Nadchodzące wydania {#upcoming-release} Zajrzyj na [harmonogram](https://github.com/kubernetes/sig-release/tree/master/releases/release-{{< skew nextMinorVersion >}}) nadchodzącego wydania Kubernetesa numer **{{< skew nextMinorVersion >}}**! -## Przydatne zasoby +## Przydatne zasoby {#helpful-resources} + +Zajrzyj do zasobów zespołu [Kubernetes Release Team](https://github.com/kubernetes/sig-release/tree/master/release-team) +w celu uzyskania kluczowych informacji na temat ról i procesu wydawania wersji. From a1fbaa22a520b9a04fc142dcdbc2e04b1690a990 Mon Sep 17 00:00:00 2001 From: Arhell Date: Mon, 31 Mar 2025 00:52:00 +0300 Subject: [PATCH 118/121] [hi] Added "LinkedIn" to toml --- i18n/hi/hi.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/i18n/hi/hi.toml b/i18n/hi/hi.toml index d945069d23..72df140f7a 100644 --- a/i18n/hi/hi.toml +++ b/i18n/hi/hi.toml @@ -23,6 +23,9 @@ other = "फोरम" [community_github_name] other = "GitHub" +[community_linkedin_name] +other = "LinkedIn" + [community_slack_name] other = "Slack" From b3e86c5e896e3859bbf8f5a8e47d7c0a7d94e4aa Mon Sep 17 00:00:00 2001 From: Paulo Ponciano <96355974+paulofponciano@users.noreply.github.com> Date: Sun, 30 Mar 2025 19:56:35 -0300 Subject: [PATCH 119/121] =?UTF-8?q?[pt-br]=20Add=20/tasks/debug/debug-appl?= =?UTF-8?q?ication/determine-reason-pod-failu=E2=80=A6=20(#50051)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [pt-br] Add /tasks/debug/debug-application/determine-reason-pod-failure.md * [pt-br] Add /tasks/debug/debug-application/determine-reason-pod-failure.md * [pt-br] Add /tasks/debug/debug-application/determine-reason-pod-failure.md * [pt-br] Add /tasks/debug/debug-application/determine-reason-pod-failure.md --- .../determine-reason-pod-failure.md | 132 ++++++++++++++++++ content/pt-br/examples/debug/termination.yaml | 10 ++ 2 files changed, 142 insertions(+) create mode 100644 content/pt-br/docs/tasks/debug/debug-application/determine-reason-pod-failure.md create mode 100644 content/pt-br/examples/debug/termination.yaml diff --git a/content/pt-br/docs/tasks/debug/debug-application/determine-reason-pod-failure.md b/content/pt-br/docs/tasks/debug/debug-application/determine-reason-pod-failure.md new file mode 100644 index 0000000000..eda6f3c77a --- /dev/null +++ b/content/pt-br/docs/tasks/debug/debug-application/determine-reason-pod-failure.md @@ -0,0 +1,132 @@ +--- +title: Determine a razão para a falha do Pod +content_type: task +weight: 30 +--- + + + +Esta página mostra como escrever e ler uma mensagem de término do contêiner. + +Mensagens de término fornecem uma maneira para os contêineres registrarem informações sobre eventos fatais em um local onde possam ser facilmente recuperadas e exibidas por ferramentas como painéis e softwares de monitoramento. Na maioria dos casos, as informações incluídas em uma mensagem de término também devem ser registradas nos +[logs do Kubernetes](/docs/concepts/cluster-administration/logging/). + +## {{% heading "prerequisites" %}} + +{{< include "task-tutorial-prereqs.md" >}} + + + +## Escrevendo e lendo uma mensagem de término + +Neste exercício, você cria um Pod que executa um único contêiner. +O manifesto para esse Pod especifica um comando que é executado quando o contêiner é iniciado: + +{{% code_sample file="debug/termination.yaml" %}} + +1. Crie um Pod com base no arquivo de configuração YAML: + + ```shell + kubectl apply -f https://k8s.io/examples/debug/termination.yaml + ``` + + No arquivo YAML, nos campos `command` e `args`, é possível ver que o + contêiner dorme por 10 segundos e, em seguida, escreve "Sleep expired" + no arquivo `/dev/termination-log`. Após escrever a mensagem "Sleep expired", + o contêiner é encerrado. + +1. Exiba informações sobre o Pod: + + ```shell + kubectl get pod termination-demo + ``` + + Repita o comando anterior até que o Pod não esteja mais em execução. + +1. Exiba informações detalhadas sobre o Pod: + + ```shell + kubectl get pod termination-demo --output=yaml + ``` + + A saída inclui a mensagem "Sleep expired": + + ```yaml + apiVersion: v1 + kind: Pod + ... + lastState: + terminated: + containerID: ... + exitCode: 0 + finishedAt: ... + message: | + Sleep expired + ... + ``` + +1. Use um template Go para filtrar a saída, de modo que inclua apenas a mensagem de término: + + ```shell + kubectl get pod termination-demo -o go-template="{{range .status.containerStatuses}}{{.lastState.terminated.message}}{{end}}" + ``` + +Se você estiver executando um Pod com vários contêineres, pode usar um template Go +para incluir o nome do contêiner. +Dessa forma, você pode descobrir qual dos contêineres está falhando: + +```shell +kubectl get pod multi-container-pod -o go-template='{{range .status.containerStatuses}}{{printf "%s:\n%s\n\n" .name .lastState.terminated.message}}{{end}}' +``` + +## Personalizando a mensagem de término + +O Kubernetes recupera mensagens de término do arquivo especificado no campo +`terminationMessagePath` de um contêiner, que tem o valor padrão de `/dev/termination-log`. +Ao personalizar esse campo, você pode instruir o Kubernetes a usar um arquivo diferente. +O Kubernetes usa o conteúdo do arquivo especificado para preencher a mensagem de status +do contêiner, tanto em casos de sucesso quanto de falha. + +A mensagem de término deve ser um breve status final, como uma mensagem de falha de asserção. +O kubelet trunca mensagens que excedam 4096 bytes. + +O tamanho total da mensagem entre todos os contêineres é limitado a 12KiB, +sendo dividido igualmente entre cada contêiner. +Por exemplo, se houver 12 contêineres (`initContainers` ou `containers`), +cada um terá 1024 bytes disponíveis para a mensagem de término. + +O caminho padrão para a mensagem de término é `/dev/termination-log`. +Não é possível definir o caminho da mensagem de término após o lançamento de um Pod. + +No exemplo a seguir, o contêiner grava mensagens de término em +`/tmp/my-log` para que o Kubernetes possa recuperá-las: + +```yaml +apiVersion: v1 +kind: Pod +metadata: + name: msg-path-demo +spec: + containers: + - name: msg-path-demo-container + image: debian + terminationMessagePath: "/tmp/my-log" +``` + +Além disso, os usuários podem definir o campo `terminationMessagePolicy` de um contêiner +para uma personalização adicional. Esse campo tem como valor padrão "`File`", +o que significa que as mensagens de término são recuperadas apenas do arquivo +de mensagem de término. +Ao definir `terminationMessagePolicy` como "`FallbackToLogsOnError`", você instrui +o Kubernetes a usar o último trecho do log de saída do contêiner caso o arquivo +de mensagem de término esteja vazio e o contêiner tenha encerrado com erro. +A saída do log é limitada a 2048 bytes ou 80 linhas, o que for menor. + +## {{% heading "whatsnext" %}} + +* Veja o campo `terminationMessagePath` em [Container](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#container-v1-core). +* Consulte [ImagePullBackOff](/docs/concepts/containers/images/#imagepullbackoff) em [Imagens](/docs/concepts/containers/images/). +* Saiba mais sobre [recuperação de logs](/docs/concepts/cluster-administration/logging/). +* Aprenda sobre [templates Go](https://pkg.go.dev/text/template). +* Conheça mais sobre [status do Pod](/docs/tasks/debug/debug-application/debug-init-containers/#understanding-pod-status) e [fase do Pod](/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase). +* Entenda os [estados do contêiner](/docs/concepts/workloads/pods/pod-lifecycle/#container-states). diff --git a/content/pt-br/examples/debug/termination.yaml b/content/pt-br/examples/debug/termination.yaml new file mode 100644 index 0000000000..3f63748f72 --- /dev/null +++ b/content/pt-br/examples/debug/termination.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Pod +metadata: + name: termination-demo +spec: + containers: + - name: termination-demo-container + image: debian + command: ["/bin/sh"] + args: ["-c", "sleep 10 && echo Sleep expired > /dev/termination-log"] From 9528423e97ff38d515c45eb1e582bab1f0b8608c Mon Sep 17 00:00:00 2001 From: Eason1118 <1084430062@qq.com> Date: Fri, 28 Mar 2025 08:44:29 +0700 Subject: [PATCH 120/121] [zh-cn] sync pods/user-namespaces.md --- .../workloads/pods/user-namespaces.md | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/content/zh-cn/docs/concepts/workloads/pods/user-namespaces.md b/content/zh-cn/docs/concepts/workloads/pods/user-namespaces.md index 377a1a7598..3c86c1e49c 100644 --- a/content/zh-cn/docs/concepts/workloads/pods/user-namespaces.md +++ b/content/zh-cn/docs/concepts/workloads/pods/user-namespaces.md @@ -149,7 +149,18 @@ The kubelet will pick host UIDs/GIDs a pod is mapped to, and will do so in a way to guarantee that no two pods on the same node use the same mapping. The `runAsUser`, `runAsGroup`, `fsGroup`, etc. fields in the `pod.spec` always -refer to the user inside the container. +refer to the user inside the container. These users will be used for volume +mounts (specified in `pod.spec.volumes`) and therefore the host UID/GID will not +have any effect on writes/reads from volumes the pod can mount. In other words, +the inodes created/read in volumes mounted by the pod will be the same as if the +pod wasn't using user namespaces. + +This way, a pod can easily enable and disable user namespaces (without affecting +its volume's file ownerships) and can also share volumes with pods without user +namespaces by just setting the appropriate users inside the container +(`RunAsUser`, `RunAsGroup`, `fsGroup`, etc.). This applies to any volume the pod +can mount, including `hostPath` (if the pod is allowed to mount `hostPath` +volumes). The valid UIDs/GIDs when this feature is enabled is the range 0-65535. This applies to files and processes (`runAsUser`, `runAsGroup`, etc.). @@ -158,7 +169,17 @@ kubelet 将挑选 Pod 所映射的主机 UID/GID, 并以此保证同一节点上没有两个 Pod 使用相同的方式进行映射。 `pod.spec` 中的 `runAsUser`、`runAsGroup`、`fsGroup` 等字段总是指的是容器内的用户。 -启用该功能时,有效的 UID/GID 在 0-65535 范围内。这以限制适用于文件和进程(`runAsUser`、`runAsGroup` 等)。 +这些用户将用于卷挂载(在 `pod.spec.volumes` 中指定), +因此,主机上的 UID/GID 不会影响 Pod 挂载卷的读写操作。 +换句话说,由 Pod 挂载卷中创建或读取的 inode,将与 Pod 未使用用户命名空间时相同。 + +通过这种方式,Pod 可以轻松启用或禁用用户命名空间(不会影响其卷中文件的所有权), +并且可以通过在容器内部设置适当的用户(`runAsUser`、`runAsGroup`、`fsGroup` 等), +即可与没有用户命名空间的 Pod 共享卷。这一点适用于 Pod 可挂载的任何卷, +包括 `hostPath`(前提是允许 Pod 挂载 `hostPath` 卷)。 + +启用该功能时,有效的 UID/GID 在 0-65535 范围内。 +这适用于文件和进程(`runAsUser`、`runAsGroup` 等)。 -Kubelet korzysta z dostarczanych (różnymi metodami) _PodSpecs_ i gwarantuje, że kontenery opisane przez te PodSpecs są uruchomione i działają poprawnie. Kubelet nie zarządza kontenerami, które nie zostały utworzone przez Kubernetesa. + +[kubelet](/docs/reference/command-line-tools-reference/kubelet/) +korzysta z dostarczanych (różnymi metodami) _PodSpecs_ i gwarantuje, że +kontenery opisane przez te PodSpecs są uruchomione i działają poprawnie. +Kubelet nie zarządza kontenerami, które nie zostały utworzone przez Kubernetesa.