From db483d298637d947bc6acde8703309832a28283e Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Tue, 26 Sep 2023 02:32:24 +0000 Subject: [PATCH 01/82] add gw api time to switch draft --- .../gateway-api-resources.png | Bin 0 -> 363629 bytes .../index.md | 97 ++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/gateway-api-resources.png create mode 100644 content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/gateway-api-resources.png b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/gateway-api-resources.png new file mode 100644 index 0000000000000000000000000000000000000000..1a01ac5f6ce13c2b0f592910758767aa691de105 GIT binary patch literal 363629 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֌XGjX9DX^%*22uOP@t%vt|q-Fi7by`?P#)2e6vLr&n z!=t4Pb7VN?zPS+bNmttU2(}1hE5#h3XqRW4I6@nu91RG{O?F1PW=^--~XVQw)gr++`T=#DoD2JaRlqV+8r?LiArX#c<65UY*%|+t~cdW)APVItIX>&dG~MD{l7=rG%4sN1xt!| zKmaw6^88*1ZZbx9jB)FVE)hh4=Lc3D@`ZXQtBaPR+%mXRkn&rG)YBQP z*bSTSU(*TRvU+IKv#OF4?Y-ScOR+zZRGIBi?Ptt8F-NlO4G8@B&^Rh8Y6(;2^VPFv zy}pyQ!|to1s7zL`uikKuXguqKhwe6gjNL!&O57hu9T88{ZIlp*`ey28WH|fO7kH<= zYo(xi6QR%dhw$}wG+XvkzsWnj_G;W{RyH}h0D)?$cHO6Muz&hL6Hj^|wT9$yX@C@X z5T{N_p4N@UMz4sxb!9WO55LNje+YfsbrRA!u}&7y>iOe)jAP@^v_hEeo0U7-O@ zI8rm4ZZJk#i^e={w-jNY$EOmx4HgrQALvhQW~s)-gcVv?!r>Oq4M=8}f8y3OGfs($ zG<-Z;5b>M-QgI5kE%`Jx1*DW zKuEbYC7cPzP~2L)9)@n^gsOUL=e0!9LSDOH**{_;F`7q7ebUV047>mY2KhO{e4iWTgn|$Pi05_(2xBqNjymT>@=X zHP&Nw@b1Y9{d~}~W?g?v{=lzmlgA^q*FvS7SbAwc;LII?f%b1y3aIFh^3{ZIZTd(?)8|0cuU%8SMDg}1T90d zR0<>Fy(Ew zyx3@F`x8Fle4yH?_x0Yxn9Wk<@&7~FTSrwHt^2}sONU6ebR*IrNOyOabccX+cO%`> zAhk&8RJub6X=xCo{N~zwpFQq9=k7Dc_ZNd00y5V-pXZkaTLXs7S~KJqGk6yM(}!`l z`yI>9WtOI2IfqUEhPZS+??9JMuAcOP=%hvy z)9S3C%`j_B5tecJf}kwxD~ zIMhJh_nim4IunKmBq#g=%eSxe2meU)8!zBdIwvf8^5pp$2_`m8QooCz1L9a&q6350K+FWlk%VS3+K^mNFCe zA^g^G_Q_0~T5IXJDY)ko5$Y~`KQmnVMj5s*s(@9DyKLhU%c!5-Eu(*@!F(goi2v?W z|3-89W>&fJ;IoXJ$i~S>JM8b#z6~Gx1d&$I5L=g|Tefj?Z~tU0-|n#{Y$O)P_q!C| z3~%L&3|H%lZto#xPuDsKl6nk0&vE_T2A9q{n35n8+o&vrkr5}TTR@H_w8Mr_of>uG z>H^0+=z;Ym+{=ok=h+@<)Db9)F2Q_=F>unGYh0u8iu4?}@(Y#9{}RsG$ZZKZ^h4_$cad?lsJB1t`qkhKGA7(rx*Ei#r)HO zr9UtTp5v+qzQOMtPRRG>nE#!MG^xuOr8h#}=OUXR{kQBD80%KqdaJ!?K~G!tewyUp z@2tp&a{Soh`R`uhJL!g}F%z1rH;}!-A`jZ^m+sU5n1E&c9?5AeqOI4z-Sp>%2)$yF zvKsB35Ugy*eppo}99z)!E{k#WLmwQ*$tu|!WUS%+aeC_4f?f$2#d%H8VTK$Hdrc2i ze7z=?;6s3{v^aE(D=9I2^oqM;%NU1Yc_@}}BPdht{PlT!s^jKl6GN8d0-EqXv4g|4 zy7~o2M>@5u!0h^P-g`I8T0w4L7h+JhETa3wDt=QVBh_0YQ)y!;&r~ouo35cf43MDz z`}_q78-fe&1$nQ`hglP+;I|LdtC2V~FGQA%Wg%n@;N&ilW77&tfiu12gQgKhlVo?z!q42Yv6mmvn}tVje%s^d{i{qK zCnJYG3jx(}kV@4RRrK$VgtIAir;XZ*W2WgV4ioFYmv-b{xC)AvlX3{9D|5L`&+7wp4rm7q}N6 z{^E=;R`+M%ZhyTZjZJJ)u$5IBK!;em4al`iB6nvsKA+uV>kVCX9A0u`8y*vV>RBUZ zH(#21R~=VSZL<1?K&qU<-fvSbKCYNotg-LgLIRUn$~R+Fpx-zOe}Pu zLALnuOwT!w<=9j3qIGw>D_?7K?Zfx@wOBcY?t1|P??1$Fl1;GK5gW}>SNMR>R@~qrVtax`V7ilg9+TW|dnhhb$mhcI zZ{$=e_x9ykvOHVGV$>(bZN5@vRaG2l#JqrE1O{<1uxLP(y0n^%5CQAPaCt2K#dya2 zmD_8uCc1!9^aWzx8H(4unr38KO+~~|!j(I^;td$F{*8(M0~!~rQa4$s)=mW{&_pS~B`{tq!0E}wkD|F#Q&#en0ilb(AZk)FhtO4Sx^L*S* zp~Jnxn)|`)XEloVIQUb)5Drxn!8HNGk)+9$SC&Uw+KLkOSC< zhvN>AH}j!*$^1=l7n*DuxzOGI^$0OPCcDt}b4SP)e$(jJL@clA8B|@F1cQ`jCM?@O z5+ZPFoCkT*E*qSCn~>tWtymgNaf#1lb)A=@wnsg5dwCIFBKpB|O$fBN>-?J|u#mmx z1D!S&ti3ovqHQJeu<;22SW7Nc;xjY|(4{EOyy?E!%<#T@bUHskzbTC4FB|Z9jS_#g zkXH6`<8sSOHU;8vV2_`cDuXsad|@g;);};!qbs7pKs!jq$O+5L=hz!V@gd^F`aQ+N z&efN~k`jFDTvt-e)gSRkC;pgjHW^F@JU&$A5A*Gi5!E3IFs zsjI8%!mnu#t8NXe5hUZDPo9l^MBs0kiC}Cb+8T*D8KOeo0l%ZPte-hux0A#Omx0eN zf9LOMYX0p&H)T=6R*_pSwb@3_)72Y}&B`k0vmT@84NmN-X);U-uq|T)F5?U-G4hvM zX6xxS{2pIly2Qv2PPx^JPl))3FqDY?<7%}DhD++HnKHdia6#XaOUCbJHFPg(D1p?|U;ERgg^l*pdC(6N1zB0tn(uT_ z$p!ARS4YT2f+gVP{(8;^d7i8-L$Iu@tb)JX%l+hL_&d_#eQx&0emBn75IBM0pv1nw zJ;7QfO_WwsJ=~p;gK3b5_kX+d|Bnfv53DcD3fSvV#<|M?7S=)NXqUR%jCqZ#;r1~@ z-6Wx+ujdiDH!l+|qT~cMa(jVbQBh*@`y=OhFT=AOw|=SNtx@eVQ|G_-IWC8$ndkka ze)qF_vK@P3MZ$sNSwEUwWJ?CCy$N8e0qqtcm-iI&FC4r)z3Qu3^RQD@!F9eX@xWez}7=S(N*rocR88jV{@K#KT*);!+sq!eAaD#9_ zZoK}bXaK4{(Ia)dPQX{AD`Y>{2E#!K9y(5=z%qm+4kUK}2iCU_UuMq|qHZF~`2229 z^!eY|>tp@Oh>Dqf4X6GkH;mn?8V8vVIeD9jlVv=lSc#u}o8CW=*jTZ5Mmg{8U-DcP zUBSS&qTJ$!WQ%&6Xqej}Coy8kYC`1_zLvrl&_E8llZ5Y#mpM;iJC9{D}F5?r$&_ znu9`|Bodk9?&NT9kgl`;wY zsk+p>*OOWR+U~72yxP3~#43R%1z=WwsEu)N32nKpSpz5ZM~^|FgA(w`DW*MVimW|V zgL01YJBuOzW0CpSgSN-$6Br=hn@(LPgO^W10HP2HA!V%vt57$L++v-$lnWf;RAn*LIQ+^^h)L^A;);qmi5oR(H;_CRG5 zzVuEdB$QtnP`hPbn_(c#N|s=MYto3u2`_Ufh}3Y-dYY*Af#;)7odOU0$2-1@fCspM zX%9ssk?8TUq^#snjcE?UoW|Wcy$~s>9=y6Q5w|7y#pAr%MxlH8{^TyW>UAX)O@o8f zvNKG$&M9A`A1{~P*#t8xWz-v>S8|liD`B&ogymkxE zy=s9uM;ga7+J$Cd(fW)Vv9Jhw zzflaQwW+mczWW>)SXT92Gtl)CQ-r7zeTkfaj~`y>9F#fVL0wA0rIJbvyU-Xe@a3kb zCk*hyx#;3+I`%*ybukipzqfq5=zkhbqfY&h9KilIewfD(_CVc8HEcXyUcAmTz@5T{ z08{uFb6Gd6nOS?|(wctrYf5~m5Q2)T9`%M+nE0UDN>fT~BI=pU*x;OhLUN1^v39DV zk5^5uFxlmIeo?k+T81Ao4Ft*I(&mVHFH+SEQiks=Faj+(kva9GaHpB;wKU)isqni-$BKMc6N6Ev=tu^dLcmuCy^B@hV7gfwcB^6n%ag?5PqWL zCUd3KzVrOk*MDLF71{OF$n42Tw}GSEIn7y>I_Xx|eFuo4Q^%Zk>NtmaUIxg#!71v| znnXsxA5wiSt?*C;*+sUxU8cF{?U}ZOFXm>Mf=2Q{d^9;rn5K>VZ*u*=tv%pT7Y~Tj z`6NkZ=-%w4O{vn3Xes|iD(74LR@{-QQN3bMjROD94mL8q_B7vsm6z1J{C*5t0_#iD zncKe+!};0K1F7DSPELA7D%mV9SzE84l*msmzAvKJQJ;H$*B`O}LIL+(&1Cg7vW9x@ z&DU|Jd3WVdMI|+FW;B(wWo5PJo`lZKgrc4P+-%(sMlM6HMG8x#DL$$jzc@Lf*My})1w4O8$`&;5{nBL&7G$J_TL zNfvTG6eXh+^`?U1E&cNlS}j>yf+0*7ldWZ2=R#qmyc@<}sLP)&Qcce9u?j7YtYBgO zhW?N!WDV!%Sy9-2&Mv0;7q3pj?;YRPue96qTs!CQbP2t?3W@h}J+)%7CA*7b*SE5H$XDC4b~5*H51uBua6@!)Dc_pZ7;vGpiiXiLzX+=7B{sPg>~0 zdTZ>PvgT{HS@uuC1U*xI@rKsEDXNoB1^#Q!AE`xn-xO7A&i%We?(90jO5h=I;Wh>> z;8mkpSZ>2(x{Wn#bEUJI%zGBhhlq&Cdq9NB2cQ`$LBZ9YV31jtxg77QM|za))LpTx zsB;Wrx+|Akv;@3PVmJFE^s{;8+v6OtM7BBiH+am4FzlD=Vcp4Sz79xC#U4l@KYL-J zc3L``fn1aZtXxGBB6Xoepe|~@O559`=Gex+)$2*W)p79j%U>fq7RNL4=dWE${4i_p z{{&YcW$C4y>$W=P!n%Bdy+6Bib#+xxfG#l54r-i7%eL7bJXqAgtxTB(pMItt)AcD^tst7|d3U1FZY9T7Ma4qeqS=>EAE@aAuyht6`@y@VImuubOB9nC_ z_tUL`NjvlUh5|G)w_lL6riuNWO$i@MB2wQ?{YWpXQPt2xruD$3hrzQ*^sq@y`U>1} zgpEqE*w~EJT$%~Rv`D8PB&dcFp*b=~x~$_r0-f?Y(Vu3h?O(optLjlX;4YhynM`X- zAJ#ZV#zX2q{PZm}?8nKZaVrMV)0h4v@}!aU&;5fQ zka(LH+IOwrpqwH3)j*wY&mhY2cnbl^KF0t39<{@MvCO+yDnl5VP4RYCogoB2{Mk|< zTT0;9$tsz;8vAC0w^x^Qg}=QtZ#T!e^mpJ=Us>f^4*G=4csZ2=UOb4{;gkb|+U7al zQ1Q`Vy6)ay2DFNJ>9eJLEZf~|;f z+NlyHh)T=SK}kLQbtxQO&(+iYDO5tdDvTf+LF&B`#1Ftxy7h)erTe}74JF`@}Brc~#yxIvb?myG91Zhld6iY4qcMk1~v(k2rdMTX%mz6=Wt6 zS=I|R{)thB{8%7Np0ic5<`d|~DMM$EYeN?O```w`oRBx)JU@e0qSgjYqC8u79cRVy zDC(YTE0tI8so4!s4mG9`uYm?;E&;&mwl;FrPt?Hgd=Lo|y;RViZ1SDNsS}5n)zTY? zu(xvDCOA)%&ivcg-NDSf;(pvz{$E;(f2s8Tk2i`?xnGJo)2TcF9TLdUpgfL>0m zRZvNtrNYe45~$wYb*eBa>F0`OACC}JW`-T9ETu33Gr&(<8rOwJA@T~xSmYIP|4o8; z2WG_#ANg@dSs~>YZ2i{e;a;Nd__=EGPZ-`(qCuW56XEOZn5Zo#cU^i#;c)tErZD+( z8iVu&OjUI~MxjAWh}3Q-Ppy-i&8tJ^GREw#?=1?JjwIETn0}f4O#8w}7@`b>;$6d( zl<^AAdo)%@TpEAY&NRI@@LFM&bu0J-eGqh_xf!V*;mAv`KzwD+NwZQ#v;D2`&h6c~ zph`=?vlje}qJpns?y~Z!Ny(8KKFeE!*>W&#%$}3!nfRbewR0mJwj!Q)j_Sa zLupNuTSie%biFk}5vKW^)=??hDjz_S#2wh+iY@LGPxZEPufSE+xC@h={V0;Q;IijJP%GsjU$+nn|Auc;Q^gWt9{8rh^; zLoihQ9ti%d#SUHkxER`H*C1TYJ9Zg|ad<|phd;;QN_1L65 zUNoy9ZjuCxr_(5#W4_rBsUSO0BGA)ATibdaaJv~n$uqaqchdtJeN9RGCGID(xRIeb zg*Iur3}@G%c2HVT7noyy5HHmzNmmrO%>!fD3)_r}dr*uXLcpvww+t0#ng3d9;Jps@ z-Pa;Oy{fX+m_%Fu3Y;Sk0<7QtZwwW(xJs3T*YChN?>;VLwIJP3m6Cbc39TIF2eZ0e zrOyYcXd-n|T*_7A(uNH!`A!Cjx|EGgAQ05w#wKd7>-H#vAp`Dm7mb*?c*<=M&KkM3 zwI$PWR0Go0c%b$$-_`wzaAq(wh1->~{tt%Y-)MymCXoER!zA#)0CCCJT;x);ILygp|(a4+OL46H(fc32C~>Bwi}oEn+>!X9l+1lQLl^KyV=o{q&Cd z$waDRtoap}S|R$O;ogc9b39q06%s2O=BDzgc6Mo{xT2j`C>H_u#8PapE@I>oKW4%R zIF^>uqp=V~JeLi#!PBWa>K!iJPNYE?kqcM6GWtC$t#fwJB~xt>H1P8|Eq@C353A?x z-lQ3$~*+XlgC^5Ln6r=7Q;UkzUef-%VDD)DbA3WUy=Sn0CRY3EJC$&_i6``t#)l4&G?XO z;C0W`2vX!%oDDl5IsoZ@GTbs)liydKZNeGw2w~gGVr99SBGm%o*bdn}Efe*gF7ny=oKr+{(?8o+X z1W~XQ0(MsWJQJ4C8B996v7^HR%cSs)0V$|C;az2In|bbBRr(!o;Tp#in!P-wa>G-V z-&`^jOZFi@f^g{K_o|aqBD$f?m#ORU0g! zQlJbxm!K$l%_+5ZC8dMq)09m&?=eII!SWoIhH4pAub9G`lK&Q?lhu|70dzxQLiD4n9& zv&a7HftF7Shm?+nu9%z+a5qb|*PDd+jyjBN@{T1|7Bt0%ua1)pbZ(t8E>5 zm(db{Dis?TaMa*F#_a5%%X&BNFCiz7cEf2%W$fN-@=@}Ou^A3F1Mjkvk*kok7Ta%P zf20|Kt3#EJ)OG(oWL~2~0H&XC3q>ex@)Pjb+ewR%AV90XpYPvK` z?F??PKKbpSC9{#5uK=Q)yu&K&uz?_I`~ZI5f}?RdKx0?)i}MPY>RXvq)YRb0a8{SY zR1g^+|4@&Z5#-vmq}sIY0Ae9BKj5xn0yY!QVI(m(+pJANnCx8v(Vso%w-DBh0O1Ag=$+tzFHpT>J$RUJbF;Rvw$45R5jBb$uZn>J z#q8nse17s_gF{*55AE)^Y;8LQN014L1hv}c`u1sub{&Q|L6h$yE6~7q^x7^W5P3Q2 zKT{&hJO9J)GOq2rjFJrk=Yh`P4Tn14?#@mSXSBvGIm63Twv*Pvuy|#lu0*ThIs%&9 zLB&_=8s#EQTYsNU|B5YsI+MVT5!13U6&UU7>ziU~RH~1|G!`u80T0~Kn^2G3=>X(2 zZkrCzV+8|4HX>ks#5(h%PJ4R1-=_F`D_vvAZ9Opnwq}E>i4~Jye~jp_q$1gp)nBZZ zm6QOU?Iik;%Q~)n{22O>Kej7j{eMsQ&>`PO3Hp#%;`LyGzQc=#AjemH*2<1UBc{F? z?y=QvA#G+wk2{0nNcX~-S<8fCJCDve?q>_Sga+oH@BoSM5@iKk73n~>Ww3_%T5k0j zhd(!NYq}<0k_$kvC5!oms-2Kq<8NTix!Sv}$vJ4&35kz{SJ#XUd<%y}YhZRKnk(WwyReugu8B{Zn7TJH;ckueeerBh~WlfyRKjLs@H4^WJQ@=qBYLm&MS zS|4~fw9-hGSE6Y?Dw1}8_QjHVn-S1AZ8_S;j|k_MDXaHE>NS&GYmxgblf5A)1s#cY z)=^~I`_wR`=dfTn*}N#wp%iKDi4ckMDGCe^ZEdIEfs4oyG}6PpSb0Q;g;hFy2X-r1 zP0D0AVE8~Hq=dN$E6KkHDKdvVB+Lh^@mR7yw913DcyxknPTn9`wxe-0c1iG;SJ+;n zgkK#k)-6z>PL-Me=+Eul{PZ}Cxon|=X(lgv$Ks}-s5V5G6(c9UljUvsLxM~kvzj8%Z#I`Yw?Jeash}D&;;Iv5tU(C z0OOuyh|z6#L5!+*mhgMN{U=RhVooyz5Ez^zp!nVQh}G}$deP%B0Te&vxQ;P4AMQ=& zCxG-4*qw{4l&}NxET)7h!dW}LFkfyq&~Epax=$o&$f)^Un#=I#Ar!*}FHx>%6sFZO zj)sNtrljnY`T6^LgqZo$Ni50c+WW70_I%&;vXVFc<64k}TfQ|iA5-m1E)2U_20yrV zG4BudP}GQLBw7r)mOPZP2jXC3#}{DXvtKg#UZ*7|1*Z>I8m_vt8~>X4_GuI7nXlJa zQTfk{uN8FWw@Ok)hAzGfWnyVCT49af38&Cre(w|~jb%#AWZOvh+ZLS2V%bRV5k`%I zvqlZ0!Ib;J#W5e4R#D&c+)gxOzRtP#UAwNo#0%^eGv3v?U+Dy8$`+-X#+vJq$5dDG zj5+w*o*sg_GsH|{t*qKvkPrfry&9&hOu0m!D3^GC+TQ{Q@xaf%u79Actjj6#euF+$ z_QhAlWTt7F3L5S#CRKo;(h5|fLefl#7FaVE65G{j;Cve{9RBhL-6*sxz}9~fARG5{ z%xJ>dA9KvO@B0{A9Us;7c~r-ROO}}V2Hgohe1Lf>-FW7?tHe}j)-}*;Rq)vIl5PD? zryWkdin}mQE77)CkQg7CQy-4wJ0 zO(#Lqcs>Pf_pQ2Qvt=Xf_Z3#kU@F>A+7+khd7D;Ben(Fl+k^8C09&eu=k>`t3AEF* z##ca)v&PuFuyO9o-^bIlL&8-@42Wf}B$(Ns69sE*Qmz66Z3K9ZuL-!;H#B9}7^lUn&$Pkm{Qon(hXJ+5_QH65 z+Omoo9)gu;riIfNfZ#`X3jwV%bAGgW!uc9tyw z9k(o5MfQ|$Rb2%`B!R%&dina4>g+yFh3!O#+RyR#7F2j_3V-*!V&0@e9NOrww$w`KUeg(xQL9-JpT^>4Fn2t6 zh&m#)%%I4D@Eo~or)2b&Af%hoF{GLyL>HwH%J0*bH#-uUj62pLwbG{3YZeXk@1Y0l zmzj@Xg(qW65RlD%O?KA4_Hl-*y3#oWbA#{7kcjr~=7Q`*JlwVa_Nydw@F4Mb|= zZ2yCTWVSz2D5>p@k>-ENjOzuNdhp}H1wiO5xpUp|$ludD&^uTbCZT?16 z$DD~`YC3B~oW-4SnP9>aec(uE(KQ1TFRJ|X<_J@$QzreiYwzbn8rFVOJ^@lt%TTB^ zYm=BUpU6mjP;co^5B(G|$U4(xLl6741(k#KSbslGw~@(Tg$@N=FMd z+!Z$xlVM=ma1>WAKDV)K)O9t(rZithP<5FQ-A;A658y>_b$-syv?fIh|`-hiZ@6sdvWfHCDY! zIB56C4Y?aijfRHS3%Z8S{9W|vpTQd?1nTcN6A|>OYf;<&?vzR9395i|Y)e_8_UPH{ zLvZ-8#qHfAe6trW<;Jly+Oc!@sMBa!B}!yEg}oH(_#f#_KS z=Wc2iT@QfZZcGiJ^t&9~oe(_b5i_`ryoS{*bnwDoD;mdNFFRyLxY@su9Eq&g`0O{d z8I!19BzDuOJd|KPwz0AUf*%Je%JcL(KKt59_tXGZ1kLHoqi3!Qi7V?b$=k$w4gTA~ z)Q|{rUz=}`BpCJ++9oOQaVGa>Uy#sIt=OnQB(2-QA3kHs^p89e1R&$ZnW|)$#J%t|schE|ywsqm8YVEMLu5&omwYG5}lG6O3M1FQWQd4?74z87Cq#V zs7CuU2DcGL^EUR&@|vFA=s&Bx$L_^ZQLv#B%V|&$7?|QCrE;(ScrwqdrQa?wpL*yI z8{|t{YAi<2(p9Sl@A!w#(#%JfalvsdI5xhk{x9lYe|oC!Y$I=-2GWDh?Xh*{`AL;d zvtwM3hG$bslh}bmMrLNb38<(WJb+5(sC%ejGC z&@>Q7Et|6c+j}!bpzl4|?}H$7_Ab?}wd2Xcn?PQ~*584Y2aJ_)9V)P8EOtM-yIf3X zqIT1<20$QT6i~s;zs45-6!3UAUx8J(r0N_~D?%pdi9xX-rU;xp!|cgSZa`MJ+xFsn z#w08yj@n(FWK0@v-3p)EIw%YB}ltaR>`rgNQ(I@X%GQpNIT~kx4%(0o^ zt{Sq<#A)D54FlKM%8EleP+Eot6+w$2^{zK-m8NTV4y)>FUp+H2GRk{Rf0}#Nl&}Dc z>deW9&`!vzXQ8>sl2w#+dVPlbEH(zgTq-0UB*O8igvf;5@R@#@>U)0xtgakvW`)awk@S$?iWLT%!aJNPeI{q8(c;jEc^1vV$)=bTL16}n+VF3+h zu1g=fVb=acQ`ZGZOa>S@{yt>=y4RHY( zoxn6iv#|h=B@_tS0HsO2q?xi7k`Bn;j0<1*q;2SVqlV>Cm$r9+B7mQ633%=r=(e5PcPAvZ{AgSd|9hJLiAyb|QYf2m}fsKR-Vo5{_AU{35g&u)bOcv?%3E+Ifn7_)`!9Uf$j4ABvfNDP3o4m+tFY&c6_F|KQJz`9q6qeCp8rAe#vZDq z_l4ld-ORlld7R(SY_?QOYn2FOVz=iaAGoe4%SW`2lGiHz;S_Ja!M1>mrNv!IoN_Hh zU&uNe-ci*{t_zsic}IOqX97Y>m6K$bF39DVA10gOXhOdSil4h~Bqnm+#Lu_Qiu4do zu7#MnkT9rSBxsjuG1Xg4ib-B8MKia;7Fr9Kjc7#%yAw@K&RoN=7kM2p{&6bw1W zU|)y-*p8^GhC>|0HHV#kNDIgsVR`FoC7_ghhAr@$yvYkevkq!W@{ESFTda-SkDbLu zE+pvFS*6ciOl>70D^w+zmGRZJfcAAiLoZJSLMtf(=!gNj}-7mIB(IEGi=&a zabjtN2#mt9DB?kmk7(zLpQFz~X$EzB+`R2tV6@E!VaHon9P>vYJdA;k{06*ib`$}( zg}PXey>kI`40=(!GajHcVH2ROu?sc2MTrL4v~Ky*_{d%h)$& zO>E=oto_iqAY|;=g}m#EiVFVI&dYa{U3V*o-QkQ-{QjV%=6`{9*q~>Mjn0D<3hgwb z`Q3hhpN#txHmGXMW%e&gC>8vDe_nc!x63+OnS5*ntB825vC0eh>oe)=m|b{_@^?x6 zYu2!unrHGWebGe@Tt+W`O-QdGxm*W*m{A#(fSTSNCC562e>H?EH8FE8q6mAFB|L3L|0vyAiyuX&O5twv&XN+I{6CE8Zt1FarB4g#wt~%U0M`?!n;n zg17mFcpZ;y(AU&Zcm3$}qRAH=xG0v#t2o1~aMFT@NLIPh`^hI#dpT}OHfcfYC|zM0 zz(cng&0NdDChIPb##%UG2&O*1Oka*Bj&(A!wj%NOq#4^08Q_D2;BbBDud-{&Qc5^K zAIl*6Ef(Qz~fK@ z{&7A-fYUD!oxO94-#KjY$a5Pi=HBL=CI8RJ`>#l7%u=N9iZ=AohK4ADzZX1A;e)Um zEywxUnrSGX2N#uiSw=>l=#%se-55fsFcs&1yOh+3Vb+?j)u5O_b%kN&P1KQE>1tS! zN7aT~N777Lu9yU7mJDtLgO878zJ5=Qq)U(-zO(!YIdNHg9pZ<1429tGJIh1J1c7Wb zLyFlGS}SQW=}Di2_qd!%2t~q&2jPH+V$wI5&qMX;gq7aV57}WZ%4wlE`d=Q>ICqSx z{$zUNnp`4}&%w?*9VIDi_k6FZU)*_IX@lwc1m!2GNmj;r(Y_$&6EqZ+9gjctB2LU} zTQXB@%-{GOIa^qE9I>M14Mt>?-}=Uv{J{SdV;+&N;v9pQY?Up~$F-S$D<>yu+=k`o zvdoltKDI`1HeS-csvcPV6~q0oLo~kIf*P0ZTlqhI+aKkjpbkc+9xWCRHBNH#@a!)8(9-wgd|q|kN?zHHH6pV>W8 z0FeF8AaEu+rHnsIi>PcyzuqM1^$lnm`Bqu0+X6@+aIcwxA)j}66HUAb$ORWG?S3Kk z7RnrKQU{rZE<&qJ*MP=Q2SDgGZ^DAL6%Iz4A_~J8v2};tQ-LY~eH~GP-(3hjBI6J~ zG8`BK8q9}ZyqtXzo9~3u3i?Mkr2Z=l;3F?Oz_4Rcw&#%@U2<$DbU-~KkMGUNvmvTZ zjyUR|{yQ|P`)tQ{#v=GRsL34QI*W^4y1#ir3PILs)D$|6-|&0Cov}2Nk8iuZu_T#8 zIl$m~Cy?*czk1odAv{VnYyeW4#^?yVoBD1LPVwM^^gI=yR_4qApiKCWf|nua;Ac)S z`x`p=Ei#@x37&5F{3-LV2oxswB6bw;;Rrwd!fvKMvwfC&`<^O+|<7e7e|Plp1%Qyl+g*S|;?r|J}>#wH9=B zb#-|DJ8v+D@zi8@Re4-eg;;K|VvHTr(qVR$M))<3EGp)}c+8pB)H8X|9;Jv~o9rG2 zr~5dni@5lD)S_2=2vvTqDY~_--uoL8{@Cp(m(Q3;+Dv>(q2a1Uq2j7LE$wUC$CQC} z84A}g97XhxmL3C&GF97lpUt#-85nU=2n{3xb~@4VHb zE&JtvzW)BiqDxKFWRDrDLIL9WxDG9TgqbPk*{I!cre^bF6y+(~muky^Q*i+axl$|h z1p;uU2>sLqecXU6sad{`6uXWgVy^}ItXhy64S%S!x+&kzhQoo*&Wh*=?P&l<;_dCG z!k9##<2S=h%rk&vRB`{J%PvoCU;cDtS6^tFD4FBq&Oag@|f(G7BE^*mzSE zhPn4nmpXfCc+0y{lU}Nj z6FowdAxn<0u^!hrmc(bWasy}-V}|7Tqe}!v6lex?x902bt`6of+sFhcJM7pWcDACN zE4Q`0KeJ$z{Y(6y?j?>yz2tHF zaDV9%==l4$&*y9Ff(GXRg74mVdU}?uHy`eQ@&J;N#ma3Ysv2hp znjp`*&I>fC)sKYRWi3kk?E$J@^#Gy)0^j97AEfzI{?K6R2>{nlD7 zvR5t0jt$T11lLq!uao3}AKwL}z-LVwCH;#=WRAcjd$D5Kais7= zb}IS+3AGBhnuOokWFX+5r#3iW9!hk&DSIYPew-cyVk*%TD{ep0+_8Nf!U~RXh4FTP znZI3eI4mlyk9Aj;CX@7%)CAn99@tTo^@w z`yy<_Qmg;xk3Ppqq9f$pn(QY9nc!SUeNPv8u3CLK?P-sgL2ThrzpvpHT%s%{%oe(g z@j9@u;SWX$5OW_zZv7lGD7SuaNLTSZPCjFP7=sZW`Jg~FBYYnf_WgiQl=+>dy>dm5 zDc#_Z!%=O9=s-&Tx85N58>#GHEbd1$&sx`fkUtM5nK&_#yDayiCUr@4q{V!4JB~nc(N&BD=u#W){ipn@P^+q_?*W<44gQHF7yFs`!YS@aszR z7V+!ls4%`?Qito316NsWF6ES#nE@{XeGif0?AJhXmGJ=@+7c^KtlqzHaF0H4pPYSE zsU7v{b{u7sUOK)TPdD3cfg^1*rf3>*PlUy}o#Aldl{qBnnx(TCJQa9uv zG}C}c&|xSgSI2%EoL(LDC#Q@VkF2my-hYEIH{c0K=V&PNt0d6X8=)b*25*@~VD}jm zGF2D`Nkm0C6pjBrJr;ZLUaOZW^g=gj0|C@QPRpOabK3Wnv{Y17P9bYPy@*66AW)%s z1!u@-D~jRWywr-x3%N2`ix)#@5@#_mI^LVYE`TM8&|b7>*K0ya*+Iukl6%urb4R+` zH%w~)4S_g2{IvSz;Q~GH!_%Kn_tLS?O>-Jwz!l=!ZwsHgw!Ir_T(*aRvg%%q6>R$CbYGT|F~)P-QAh+5Pq5QhezK1ytl&M z>(d5p`z?bvv_EDGOWpP+D0|8*hryP95PwkK^}i^hs=+zt)#7xhgPQu&;LwR!dcIhg z)vM7XcXFL;v851vsMd{OTGZ_LlxLhR>UkF(!k( z&fp4~Oz6e`gP#@E8ShM^;PZ+twHAG=IqhSSV)v-iF70jqAqDOG%J=fZ!+fG&qpOiJ z(%`cHAgo+OZ4>5p{tBQ7c=YF-xSu3>c@2v^_G-BiC@mNmNM5Z62)4&uE_~OxNN4XE zPFO>DZ(j=0@)_``B9*5r-OM2%ak+(koN6`K=HIfHai{NLlP^;!IU-bL#Y5}gM_eR+ z6JEgdR*mij&fi$hBe?H!w_wlTt4qZXPn?TsfO}XrDW4@A##tKwm8i+BVe^tM&#JLK z{(OgN_^N&ITh&^~){Lu$jNdDK`@yERn8cs;+xt}hiL>;`6%H%gk?2l@8IWV;f^7B0 ze~I(Nfa}S6CzH`3nV(6#;^xiQ`Ot+u*YO z_Ht}|ydU_VD5gh8URVQH6+dX!s{ZzoPW|h*e9+xVKETyryx{p%#z;j5$GADjI3;S>ih|AQ?`lIe z!UfizPS9jqIA2D#NggbnRKUm=@7XyOTD|M#87)pFih ztBJps3c{~IMA!Uy+*`Bqpa7G27ur9(eR)X1)d*e|q4g^+(snBTd}E=`u8hJ-rm9!(WAqQ@maaEywD%SlsCe(-lttG48i!F zs)iO34_Cj#$n=xLTS;!h@oTOA0TTv|Nv6Cd)Uoa}HpRmBDuq`vwn4TxS*VP= zYosKIBax4`IXzi-|Hgef6YL?_cFB`=cYUI$NWxq6^{YaA+&U%FeH+^?n!?vFMo2pW zcefsT!qzY7bRB+LS#uG+aYNUtE-%f#QH^S5An&}%Jszv{{I+N3%m(Pt-F~3GA3kedc%jhR*7c!vF7>_rC>BZi_ z{bS@P*c`WlK~jbKRIEh1Gg7*S=$+I-ExA?Lhs$JE-tuM;k;iF=X{Dt#@bj$NzD1xu zX*_3*tojR|X@^v|Th&VbKQz$4hZqk&3Zi4Ls=V7`@T`^t!+}k$Lm2#cKFC&w)-gGY zCz9qM!-VuH0vgDD(a?+WcJM=Xg?jnS*DUVG#x#<7(9ooHFc&rHY6I~>>Pt9?J*DXRP9?zen@fN0 z#ny<>Q~%-b(;P5Ncuc_f_IFtWC;UUF!Ff*g>KTxZ7lIZLsSKKwc~!BK@_ALo792!L zSXD86?Em?u;0_H1qUnEZArC$;RsyP2~Q;=u8lqgvC?gu=nN>*EX;7h@JI1y+b2 zU5+;7JyzTE+Rup*RM}RkIeFrxOLbMDD#Yessp<5_9sgABT7+N|yZ z(8Ua40@s{ZnW(f?VcUFOZf_c=h!(%<*6qWD4-AXEtCyE_V_WQD$LI!LFCl&-<9l$sMw1WZ~lrc*4&~F?5%SH{c+a zmVwN&@Rw6#Yn;}bJ}??S5z%R@X&F>CYTCpEuHN4aeIjgbdf(`z2(&s*6sC{a4nM)K z;W!ljisgCtF}L@P0Plo?_KA_!1iN`)jMGeI9~wf{Cjkk%;N?rm>j$%jY_w?kib%s& zH2E0YgYf32fO`=UGKfg$6RNaldCRwtiMggd;>B!*unhUes?o9k_zQh%gR|NoBvpg4 zgB2Uyuv0dq2QLHpX8(IQepsR^_U_w0{Fw^bxQ!W){%5ZcgcD%Gg#dR7yNTZX|MB&f zK~;X=ALyZ_L1_*p-6h>E-Q5DxaHNrL1O=3m?oP=ADk&-5Qqm355(0Pg{r&HKdEYqW z42L=CDksGkBrc`SRpDXk3-wqJ=uIhHUe$GGpp#D`hPh>eTC zhQtN6;MT2^RDuIO$~_hB+g3>;p(g06UBH ze{~(6(APrDChJgZbvCNtqY)f%6MiVjn3Fpo8 zgA1#jx;F)7(UxT7NE&+V*7~8nz7U0`dZ3f(u2rYKZ1!fKaahe zrdyKQjk88Ab2`Y~C=Q5H>et@V+z%dcI~5=N_2p-G_q+9xf|-E0mCXZ_yerE4f?P^L zpO(@gL+PWg=Wc|=;IL*?_4gJQyBmPAY`^U!9qjHK<712xZgj2T|1*F$+YYa%%@7eH zmo_?{_G_@a5viouAB0eJZ5~L#5?*r{C>FWYAnp&61d~q{&|-^JayG|DXbG}0NRu;^ z(0rqbQaR_V`ox-+_x)nQYn1 z5*?gQIU|bvck`Yqb#SHaZI)Dcvv7hA+8zQD3O%b+A|B>Qlp! zB9uVEH-QzRl;1%b0`hk89vysc$zxJA94{$v0&GU#d0bV{IuEL|dWE^35VA#W@;sYx zSnKc6(zIK>jS=Ny{Uh!t>~ox(LgOny+| zX}{hgC-kZ>rlyQReeVr6O6j!zxcfOGzO;SS6GM0o0B8Xwl5KPE2j7k)!DbMJ zV`+dK>GUYpX0IM9>haQ zISxAq!9s8jx> zJJ8#a+U>F_ic|lDkzO7BVs{}!jUouUh|gKxj8OPv9y|D>o0jLtIy3t!*E@QhK{ZU~ zO_v+H8EETzySY|b)G7@Jc`n{ceafPyhtFvC;0eTcyY9A&P~W_Yn#a87+1a0& z0@=@TMbasReS%NQ-B7D0?0O=H8(r*5i?J*Q5NT zjo^CS&u$mh>C!wlKP<9)VK3o6CynDb;Edj(-Xo=QieTjBWz;PpfMjS89`4&TtL2PX zQmKvlH(xuFhpl%zeya%ujkEfxjImi{)1r>nUZM1I)Yl>9iYDh=6i0q{QX-`-;XE@A z)aKSkdnK9M3u;__#LY_yPbjw7wnH6kJB9AQ8`Gg2(!nlSW8~AEo}xc_SX9tbj4|Wn z7c2~%V%+Q|@Y;EcrxtPJ1q#ooSr+wW=tW}@o|my8=eNBt5TZK=-MtFfQ(P}@tQv*n z(%HF}tZ$}iIgf}jW`m5>T#F$tP+Cu#S;+d_;%Oc>*gu!fVp@Gpe%HxK_60O zFR>20h04m$*J3%JQd89HBpas&26)7^4UT?;m0={WjG--oOd1&=k-#+&dkVum9tA{n zZuayYru5EmwdvOzTYX1L98Dlnw{OhKKMp{&BnOtDa~7JOmmO8DS1L}ce`Fr6M}x{e zJb0fGjL~(-1lcJY6UUh`2`p+P&3nOekan2IQi@*=_qj<_wM1%#f|CAGg6K2ibJVhp zm5c-j`-AU({;!xNF-m_oIufsL;`;|B5CotcAH@BM0x{t%8-iv#2}z$ZRsJg4 zj{J|b3JhBaKQ-U|uM^i%e(b&JGo0u^FZixfk|S!__Y(!8*WuiNg$n-R&z}Xw|L6(r zcVm)05=@(&uq4U^4z4lvm_@8S9kb-LDZgc-o=apZ35~u|xBOd0P*)7=mql@Xvt1DC z|B2vSH?uj4NF_tbPrphB7MJ*iOwfsf$!lE7ODj}H+bAY0-JRsSO4J7}(uOx6Rli|K zE(;ASw?IBeIj&OvplNf>jdVa$BR;iz`=lwj$p`iZ&7p2q_4h+-w9DI7t9k7mEf;mz zJtAZHO-V`7IDQmWwKRPSjO3-H^me8nhiQj7G@Z{iJ7L)0Vpi|w=AutfcGE@p2Su&l z-=m_}2S>qMY2SSaqxje~R)~U`Qo=GTtHMGmCsF?va8xaPS;SJHv3}l+If8`ZdeTI) zZq5^>Y0_wqHk|nv?Qq~{4Wx!m$yMNM$(t|bwA^V@qG(Z-;m?ROTTBkx5Spv-@BGFR z+Ln?oF>cnBaw(}h27UbW-;n0Gs}WL;Z!#BPi@5JLC-3{*x_O-|X}LHsJ+&}cf3G9_ z=GZc6@8u?!=0QiVh{S1<`)(;ONAdgKcfZ=ueJ2K`z-yB+p_L$z8`>diEwYU|P6PuX`0~&YA-F;EFA(GIj z&EL1fTQpoqz%P&Glj-U${ZY@A_*M=oHkmAAmdB?cuc0lJ#hA47I;;PVz`bNdM3?D` ztxtn7;H^8e*4nSjrw@%l9QCSR*;RaQ+Hfhs^6GKu!JEtuxZP3r!hy(zacW<=LB`On z7{gv52{#tb{`netgT13ne-LB6swRyY6(4#_RGbJ=(WQgC(PXY}p|p=>)3+z~m=3BL zctzG$V$J&WciVLRLLV`vjC5C0GTqp~3!p&5ExNpm)7pHyyIXj@sw4>s)r6 zntnB>2owI5HqV9TvCwI9c%T`IbDp!aiZjAum(UMd;p!lDhskoGQ9t{>5mOx#9i{K6 zSo!N5@HpWM@~%9wXC(p8Hbs-y!Mqo;$4pHzJUv;(-`s^;3MoX;p&=lH;KCbhY;2gf zLEwI;A_hcWH8J*22~2Xn#l3_Kk^&)-GU!CW`d-3aNqLCOgmH_MiA;jFf`8QWvCwmW zX8iJSAz6G3Jx}38PedBkYj;8}nOxELq?Myf8}Ubo8SF=wZ?KhUra5*0z`#3)M*OB{ zBd+)8)hdt`2iDcw4*oy{1uf(J!M^Az8S8*}M zzq6bNEJ!V9%f?d_&e?_oJJ)!}e;}2}nv9>wGIW)TiCLVm)DgBnEbzPVkyWPd1qv>E z;IfMRW;YDch@YBnY`sNwV*b0jS5EwUVb$;mXk)Q_Xb@(1?IfD}nx8fri}-s70InBX zq|Lj1W&IAeCq`QJct<>L)=ePZ9Rkst>Hyb9pQ~h4AVwe{QlDi4nf~dD zJpVU{tAIh~r!2w1Q}Bu+%OKQgXhKdyR8R))92rlig)cJb@zH!RE#hxR zuRn7ROGw_%)a3ggWx~!pgu;x7P~o3Q=9NbJ^QVf3nLk+O4e>h{Pf(tSkm%aIbV+E3e+SVedLl<;G<<@?>%d_tpZ;Pi zfqRFEZRoX>(e?INhRtsUt z2-%;Me`wf;e0A=WiSJLP(Lq>7%+()kwJk0l+YP(b?n|kf7B(PG(&72)YDl^q z3Qs3T^=LZHkwz_Y^QOvOLOb2Hu>6Q&+;1C?@%3{r#q@`|$uiYM`Kf&SrupS=yi{QY zf`q8!cm8pm_7zjz7ap4UG8Qf_XBQ$(+zpMIEp~=2VpWhPAB#!$x)Z9*#2#p9y~5Ym zFKWF7#Ln}5$f_%;%)X=T4iq3*WytSI2wI$LtVe;*d> ze5c{ZS&KLV-P_O{$MxMlzkoYyBZ6o~l#M_#^{R2$o>oprRe2XWCY_$N`*)?wf=q{(!7Ep z;5^>|(LG+90sCgjoUE@YAslb`)1`=5=dWx$#2r`P!2H*ojOWUAScU zAI+!TX0Ts%wXrEEE2+{21la`;c8H0KmotnAX7`<^S=g=8R$X;H!QbA2B79IgOM^Oe zPHf=ki0Wo3Qn%=nv?nF(#eSug@M!T&p(x70zvRLi8<$eXrARVjkWVX@h0AZZzn~qd z`>RB~iO%0Tc#6P;t!BmiFLKoV8KV|%pbWj{(|Pad8uQ7}n&pB;=az<`-;@rsb<9O> zU;niPKC2pCs*t8b?Cok*i!8!38XI0An*Y@;Eoe$P2%G!WQ!ap{Ns(ln99m>xOg=x; zJ8#6UWHtTc8}>Ph&ZcETP0~`Gs7Z0^!qdZ#U0k|6U)^as@ngL)FJm)^B`KxN-wMex zG;>q)P^NyVNdKv=dhbr2t`Y8(Xl`9`hEVA%b6?zk^pq9lBJ)+UPL;zT11g zthV;E(kHE*m|F&|g^_oYZA!@h0i4)I2)lMJW5b+ioES_fU|pouqlX@GO49CS_*CL! z+nYz2aBFY(!TQ4vtA=?8dw5U4`Uinf4C)m<4g0lMA)sdLQG@XTuMp&ck*Jkl4XM_I zp-wRhk~Fz28RZaqw1%7Sp64M4u)oyu67Z+j%ljK3(l|1aJK)G z2K*R$DG{_5P^B)L|Hx~(dPxyodf*6qyGQypW~xuVR;t5tB3DBn2cVZKD9DRSLte=R zk0%uwQ?Ld{PQWR8K)0(4oTPZZ%QCR(jR7&-;uq-%f?>g86GWBU9_dNnz6~*3q)QTS z;-u;@ul7z`#Yiq_;1u=lCpKRNqmCFu;1FxemvwbW#0MWqj-<7?2>U6L1yv~TxnCeB zpvkIlK3%4grbRpseU^x3h1%;xDR8(x#yk2=By0KKYy7Ai<+Wp97@GD&!0mQ^5^WNq zpFbouqZ{(t)<(-UvKdnL%O^t~ns0mFvON*~k+zI9>YYlVhuv?No4bs7`$JA%UHD)l zl;h2ClPQ*%Au}K8;ZHomFs&!5(Xe+mi>R>gEHWbQw1T7^h)}*#1srTyA4ZX{WheZ> z#g$l=2DTter>Sd_sjR+pH&nk{n971`02s!`AI5K9+Wb;sxOi9nF5OCcTUQCyUk$l6Q!Xp*q@|np^pD zu~N+$1?9zj9 zVy}x}bcH$YPHC$baa;A;)uZ#qF~A$a>W#M`I68o{d7nT@U0r|M4j!EEGAW!!0IN{5 zR)c5#1F*;o`w6=4Hy68;3K58W)`O1_3Eg|pVbZH;4~9JcFI5R4wTD6@3sT;6tfJDFhFO)wX6v2P{Z5G3Gi-1vEh{pw>=jhPZXy9! zpTsW&-lE#qmAEENCc#Yx&m?^@MyzTFhY$D4>}(}X#wuw=ys-Bt!;JV{sz*=+Qw*il zPFjf~;Z9hvPLTDB3NyEYD03UJ0Cizx>Y8X5zl+y-=p@l))neO~DB{#63u}?{tv7dV zW7y@!8@QY<>IhBFSE6~{5GzsC&m}Fc%mN%{v%{O44G!{4?(_Oh?H@+Bd!2=~er9G* zl{=d6z5T(piJ?!mptr~NNX$S865?J9;etM;s$l6RGFgeA;I~;UIQaI%raRTkPAhk+~%KmR`eQBdR=uNBNYx;f6F%}Wo4-X zVUmx{3q*GF-jf2!7ai=-;YW7_V|)K%bb)4vz4G@bP>HBCJiboXpRlQc(a{p1_0;N% zqjn zA;woUGDvX9O~;2=LsD}e5ghZmf&kuD=f!s(Bh0kS^kQLygpxg6xN{WQdglHu{+s;~ zcRF-zdYe3jJtD7hu#Swdf==cz4Pv{ud`;EnlfQ;7XP-O^xZKB>Z>>pyLUC{l@nAIA zQ_>$<{3$QH(@1K~vG$yq#ZeF1>5VZ2))B^tE^!U8IaI5zey-o)N~o|KHAre+u=pBO zY)be`DbLwdaJk}kYZiHM<>Y<4^VQKf(0Tidq^au!aR|`^Es7QH#7rG;tc_qI`UkbP z2MHo}KgwlB%4g}_Sn$@fI5UO9PypgSMg}wKA%PL5x>}}kRH@do&qu~;*`(?p;BuHl z5LO!^IR8N4rx-XBR2j_^)ktX9v1JO$A%o@ovLfYowUb1tuA9CP6FdFSEvw&9zM)8B zt>ZvBzUaEUn4=DjEi=biD{aCu<9e%h8}=W1j*KsA0`{i|n34&>m13kTDV*-8YsPFs z5bcO^>@RNFg$%G<3rR7+>Mn;LBBKi$4B(;U=LRpT7f|OD;D13p!ExzaT?ZpPj;{%# zOGFY=G3ygJVcI_+X3KlrEL%IiGhVR!7~thqH5*Atx4?9Y`g50Lo5kbQV^Tq zR)gIaY{IZ$4DZ9j=5}*g&QY^6Y6?O2vO1qX7*E%H&C|rAqrLNjsWw|9SWfSglnH7| zET~Z5LZS0t@S{E{dJ5J?x)lf~2PL(v&KM79ek>uHN|f*wX`Wd4YpRNZ_E*dD4KszH z&P#fz_?XN3SoA?1O3_#`i!9Azm5)(`qU^03TybaD^6v{=&ahje`Rs>^i}4Xyz0xXP zte8kc$1Dtx3w^u_SLXXa&1+LI;A zxMkTOu?N) zoLfg~m~+O=#kF7&f5pf2If^C|1BTh+vtFQEp*Iz|RBqI`FG*2ZOEE+7ab}zN{HrFZ)|flwTDj*#$q{aj%AYy74wW_?p1T?nhc8d_L$$p zwLPDzaZ_>~RJ3Hz;0s^sCT9GTTr^0k^gEw}u)rzNQM(SJE)*6m3_}bC z(H!607TAm(vBa06%lK3oH5c(`wQ9au4iv6+;V!Cm*^Se2t4-8xrTx%oeT93e{|(gA(TfS4ZN-I36;yvutxIq0V)*nwF17iwTl(%S zTn1;-utEW1NSgUCRtl0rLF=i!abQJQus=9hWJ6XSIUG2DUEw7`v@L8OoH_+9?%QNI z_e~2f1pvI)j%c3X#QXn>B`~AXxH;|~_#4RiNkGJeDUh^Bil)7j0F81?JHP!7AILk< z)dKywTuVy}0#CNryuAl7U!ZODSw#jLpUknGm@|UXY5!0dnJ?KuhzDbxk5K~Q8%!FU zgph9+tG9n98_Klp7n+>I1z6I8G!;8Fpo2KUxWx!Z7Fa%*SlC;H)ZH|M89eW&>uuGA z{~dSl9=8SPI(craIyXoJU5CU3`A026#qr08gPFmwA*EInCdFs)ts)_o7C{?*DqD)|kMxr*@qJY>qojsh7L(?^cNMeVUgl+H z-<7JW5sx^^mo2u%z6Q;P#I1VdgGo$HXdLqZGc+b)A;nTGJQLXjWeo#HsTZo85o^ib zV9y-&oz0SwFSV}kG%!^nrfbOjHp*n zT%Z<;9%t<3wXd|r-vgOt#|$(1VBAm~!uTQ2O5R*)_t%F2)}QA813g605 zQ<5PdDQye{|Bz@%1KNBSXsv7fkFX7-9-*BM9fX#g^ugz8jg^w$LXCj~tY|yiPwl%# zi6WPEKVIuv3~N$>RbXISN>%R(vdijUY_mb*oX3{@goqbw{N7_xNy(Z#_ z+dGjLa)OOlo4b@bzsrJXHib>pt19$d|DS?BWs?K#6>H63umbUC{$|+P@X@A^jgV#* zkUXWICWf(6*5JQ$!`X>1sP>%sW1LY9nD|~z1v3B$cYU9epa7ivo|#FaV{lMfqYxD{ zJi@D64Ende^?h*YJ}at;dEN#)HL9t8s#`kfzqWL>DV`V-OMv)lK* zErzq8rQ4@c@;(&p6QVr$#jZnIXF~Au#pAr#K$N`xNQsg$C#0q-u(q6`NvKs`ovF{a z1&9!y;i~q?_2>+0UX2Ol}z2Gm_^912y_ zIH3=hPQT?Bnw^Vmex^#nd{X744?u3h5Jw{EEm*E)*GyzSYr*5@F$5W9b6 zv3c28QmEzdn%|}#Q+IupJ#VZy z-PW2MoBwNrR!i~_hC~b(RuiYLeHFQY_K@0qhf>!$HOUdL2JGq_r(d+rzJ>2=G zH|&QC-@_Iff-T#gqK?O0DeI!I9smFW_Kpc+17P8{#Fl`J7tV_8^V=GuA$=O{t0fxs zO+w!y{&!_Ql>z93+Iz1gfL%S;wfI$Mv)6<9a0tR)OVxA4?|<=df+n7Z000nALag6Z zG2z9pq-2=aB1Sjb0$SH1UCCQ+anclp~Q-YaU(|j`OnAID_ALCz>`+VNKL_;LVqln*%BX@q0B=O{9o*xChcbpI-43I5TJZ58mL;{vVy52rzG@Jx-lD_nj>aE!rjKLiPl%*^1@RR+Rl zoB1Y^L3OGZNaG6tEHk2Erl$ua&o{e~q7P|4lfT*nU!P5b2mdSch5b|ToS1T7`m4FN z?lMgN-bT`!vAJqyCz_tw)^0ZDBgI(kx^B(9^?-dqERFOd%cZ3=*@yl9asAj;drIhI z<{zVN(_FrD#Hqdu&Pss&>23L)LOWp5PBKPJq?j(?n*Ekz+?CgDz zIN%35??)q^6oQ`X zWQt4+WGfOxv!bk&dp=ot_CT%CkNeXH)?*xl6BykQ#v1uD`tJMBz+zqVZ+XzxD_nRw zhCF5xk@^`D_i4Z{NQF)@Cwba8sBc@ap99|o*MiRqy2spZ>J<;meHTh)Zmp!)IS~9gvVa6~% zcZ4CUC{~dmU++Sj(*!AI=n>aq!$uV8dC!mAsZ^|;KaM)@$KsOR+cw)~^n=C^7U5Uj zK>=0O#Q}yMT{Z%f(QouCHs`65aP2DKTseIaqT;gGw|}*ymc>~%xnldzl3E6aJIsvq zXdRY|zax&MHy-v=8#$s*LX9+eh#nPx)Rtg^-wL-^62klMI+G0{VF9f%NzCtHZ;JSp z8NjTnfhahhhQVo|+YnAnAmv<{8BAu~om7|5rO1sO)Z?D~?&saQlOM|>q7DKj+{Pc} zwH9pbNbON#5C6^_i14tal@QC(lUGV1T&o0uhPAELWaRu#xy`==jXiH7>LtP_yY6c# zpi}4Q$EeU42U?oUEnpLU%|w=UwB8plu+g*d-thZlhR7a}QdH?qKm6;8TWJXU%_woT zf|M@i*R$H{u6r@XS%Cw;SdF6kL>eAVybZk2BMEr#10Uu+OasLm102@NJE}l`KYj~Em&c89 zT)2)$sDlKfzDyee!H^jcqyXUXJ_mkkH2<05!5?>I7I@UXu)nuK4}XI&CdN~}f#Qz| zLKr*^a)K>eT|0Dx-7W?yD*@4DeqoyzggNU2RTiA}NeWu_-6qZDyld-9i~Q9MU>ey9 z{Tduw&*^wUa3+%pd)SR#yb%*{PsMBv`5g*U31VBl4);-EBOM7(TWgzt(^QOG`lnTW4&CdKM;Zl7b)II?`+rzEm9Tv#O$q#LruHP@YD z6f<4^#C|6OA!Renp9M}4;aaA0ABN{A+3X)3Kib1wp$y=qOFnA^YMs?y!ad0oyx7ie zSN9INN@3TJ5%UURhSl@4((Qr55nF-BWa+)cgIbM*I#(5{$qeOL4Kq~+MjuP&DTjZe zZ=*&o)2bKMyZGWo$d9!Nw$Ba!)b6#!cOJAc6P8)oh`F|a(t~EbSH742lb*>6pPjL zj;^!uaFDeIi(IEvnTu|@v&z7f7B*rLeNOf`A}2p~I56X9p4aUw?=IC39dFl$dhaB77I z=X+~Exc8d-)42LXQm2dN_B+)OkxQkRAN@iHb~fWMVK1O4l+{M z%V)Vp4QcnJ+>1QNY`#mLvuTkim8`IeradZ^F!R9ch?TWcAx9KrP6P1~G|BldPi`qH z)jn}zOg(}r)5Wb?O#p#=!Gt1;HAqk^qt6^w?bzem4=0TQQJ)iS(!{^Ae3KfSP+LyD zt|<3N`lS#*cLx!s>QF4|!GBEOincRUA; zxAaYUa%gj6_sx`j6y{E5M`A@54p#cCZ zY`6aZPui!!4mds|_FvWoWGr~4W-O>ly!RCAoi_~gX8M9} z4anE4iI58#JxkQGbnFDg67c`5=&^asoMU)H(cv~t9G7AJjPO5Q$(5~T91=PAo-dG^ zA=sT?>RQqNa>C;gq%j0KclSV4Ksi#VX6H*kl-I$j=nR==oaARl<`Y6n&W>ys{=><*05? zLxs^H8R+Z!WjJr=*m|j5)zF>+R)Yz!UHJ`#&?rzQKU5HKqo8apV{INSToI86rS!+b4HIF}#S@F!>hh4&`elH| z6`wNTqO|O`_F#R{Y9HXH{+2NaFN4Ro%=Q^0{U0OA41M>|v_WT)Ia zn7bIi;NX|ZaUoM=lo`QI(vksIvsf_x)^^nZ6SIE{<|@X%mXHz3ca zL!AxyJ_Xs&vH@fu8XH5ka5R<>9x=k{5t7{*l4Md8Oh;Bmbh#_S3YPRIx_B$49{gS~)qyuc zxV<5upx`UGyI8`X3-2p@Ak!sn(=kS~>OfCqRG+ccRr|X)t=wsL^&SM+YJ**6hrio% zh&atu&bCJdJo7q*ur+9OeuTCn%fS9UY2MCR0lSPKFW1iU)YH<^!W|VSD+Ku_l6CGs(AkF7!rVGORe+iEoNZ&^|{?t|%vtdG%#5KXcqrnZ|k}(*y z*sjP+V0pcFdbVqh%?tY(L}6lkEOa>crNAxhN25L1H?j8?)mydxmg*<~Mv29^3J&Og zb90m5CkMfIR(A6ZWvvWrlsMiDi$QmjmQfV)U^#efP?P14vx}ksHw$1HYmui?gFDQf zh>K(deK82{=nqI+8));Bm@4aU;oNR1Uw)iHr#9+@%e>ax2+6^PrPZ!VJdG>d^ zIJ{=PjEX|YjSgWXGR)Y)frZ9{HjYY$tM<>L`)E<3n(#o702tfoGQr78Z<08O z@Tkc%WrB3{`tCpoUCdM?Du_S&{god)h34lpQxrb1iAg%&<7=QdDhL^@;HiUv)V(-hCWY}txgU6n|lBvc6VAJN9$F&G*#Hd}^RiL~rg ztkLfL3_X&y;c##nD9NgSP`;Eg-aRSE(6GA4?@C(^Jvj8!eqAG#G@s9oB#(3dC66Pi zJm)sLFn~Qy#bJA1GHkY8mOnN*gAgfQpRZUAl3g<Rrn&vk&+1s{WVWJCWy%nNd9*?%&XM0}YFn$KD3=N^b5<{n1$E)j=Nb{t= zsnI4h2vZvb$r9S_fp`A|w9j_v0zq)B{lF)BgrC6anP=jQNOWa`yno&+j{kPxcZ>7_ zG^=DzK-gs%45mS4uZXgpfVz?8$A-D%^oWk`Ht~pkcnkD}T|#J6Xx6&X@R;EP2oXht z7|h|UN=4yPRacR5^G1we14m?l!Ho9^6(!>y_S^|tF!~^uLywUv-Ph z2fKL3KE3nG-pIcO@XQjbLx;ci4y=ENswK|GZBjI&3Ly!HH@3 ze4)RANrMVtrxoH&=~ITFCSDaoDC3j|n>AN^lRb8Be>0WY;nKHY4D53hHk>}4H{2)| z31X%*uIMfu{oJnYqDV&Q$Ci}rP_jVw@KWrPcOolu1e;zYpwWB6aXZ+}1!bW`(NtoM zn_<46bV$T%joWO79J!~oN5=F>580Iqw!N^6*n60hEdOd1bn!L(tKTlQHNqF;7L52t zgqHkk;`8w!bq#y$LDpN1UUUV`xAN+BKD<|bRi6h)y+x|kZc}_JlLly5;zzS&hht_w z&Za9VVr`XCd0xkcaq7PJEi7gsg9ej4t*Pp5Gc;$ln%{e)nOB8=H+I7^ubr)GpTgr{ zLU&m4iGWbDVD1bf^%k&G1&7xW~ItFm8QmRbkbLoiW< z8OFg9H=hH23TeD3c;U$?OW~Pa?Wp z({;9Z0w#|vQ)=vEoZ19T8X5HoxutyV8Rn6ZzNu%jn>u>)OTkMv^R~rW;gv{`>1@=J zPeSy0h=73L5oIlfE}X}{$rd~AKng#8-KoXaiC3j|g6h(9O7;c}W95#rOnrhTIpSbU z1iHMO7o@Cx7buJ6m|3iH?_kdf;3#ANC81&adV{1k9du)Ptz?5h@nLGBDGCnFC$mv! zY&u<@*qc{K?2i{|7T7k{Xe`*8iieG5cER-dL96F#myngB5wjfQ-Y%EZ)}7R)40 zggB*J=C5n(R(c~7T6`#h#w}GH)N^BdK`3L zZtz;IQI(VY`@)#48PX@^dLW(|2!MD+Ge%G6UcE}?lF5Agnu*P&#GT@9XB~~#R(}{o zd@Gr;{N6CN%a>WVx1#$V9x_e4Biqp97FhdTeHmMCZ+u>3sk$IAu$7CG65w&L?9IH? z65r^>#8s2IK;j(JR2^QAwTiF%vw~mGDI2kMtZmbuqh-K;I5&qpOK#t3sdUj)$+R$l z*45;fH2BEL-UA?h(IVXlN9X@0I-*C-6nhM-9GWgQWk(etZYDqgkZma~6e=H2>D)j0 z`mxSgWcupG5n4kX!!AWW1*ZKv2Mv@e4SP~7OrleZs}}WEe%nhOu#%m$P$NTE~`o-7yRjw`+!v-1t zuX<6TPI)Ilw2nwk0{%5u493+n1Q;QXr%{(XT6Ht5ibuKAf;CtVtW4xvptCcpt$W_m z)P47C7CAg^nz5r(a5j`ad|d8!_gOHv=vN)Wbd7fLBURYtL{!<2`e)hi%0ovB5L|ll z?_sq)*ZJyW7&)Egar*7z76K1=seMp)EK}gjzL^FJ$CrYSfIple8R?Pqv}1v2l*2v9 zDPSWEC4X`2gic8Y2N;d^>25j{XXu*#0J$aGMqVWWr>e23Ll(gQ0HI1SHt}0#l%z7B=xuXitEclNnP(|6 zv1JHoC}AD`^*i*NjhaJhmI_5(qFtxLGy7rAoQX49t)00`Jrnev1hnVTIdAM4W4TjPPB z>5M0HXs|D}LojZ+?XXrB&&x*cbP5g!!T3rj(pm6#p}XurXjR>1A&)J3qa)p+F>{*A ze+RKeKIr;0qMsZ7cTPX5o5COIM(IxLi&7>$M;K<_^hzsM)ADeC8y2||ivn+a zv)&8o!xA*@bf#TI-bRD_?Q~1MGKRAQ{{pui_iGDP&#sHlLR^c$J~7qks6QF-XYPxP zr`JuGAgo35bJ5FBhMyG?ny;Ff0)6pnafOWmT^m(jBYO ze?}-wVq4Y294-(Z584Z1IbjMANcdF@tlA3S|7N&1mWQ-DkHaq?9DE-g$9_F+SiXN=&r_vb?SYj zF}wmjbZ~OsZB@_C~EO33v>w|^3A_rOE@+8WnzkfiR*X$K9a)Q0u^&)uj+x0_oN;tRpo zY!tpnRZgktYK~sS<3}>zD7uZSCdFP9_b`xUwq>QyDMc4B@T^#^R~QE9#ROZWrEnb%}|;!)A3Va(li&9W&T z_IFC(=hENgx^aZiaP0l)*5&UF`!oRHuDe0rvc*qwDc`>{F9cxNY@afgR8_U^29ps!sgI7xSI^ZUKK!CTH-VXxA`gd&(ZMd zSEnNF>MCA#6;kQ1Y{R6LGPmado_s0;B5x3|E=hPnII^Dy!2Jq67c=4N;BK~}le$*zJ(h)CTIQ`%a=7k9DXoHD!Puli7!$-A@5aTDE zF|`Hvf1f|pDa1h)iA_B|26;7ZS%HHXsaZ|@+L}zn%jriSqPGS-d{0~Vm{MB&4p*Ax%*Z=V4wDAJt| zrnz?`V8xJ3Ha}7=)n5dl=|s!6>GC9>ZpspJXHd-&*3Hme2e$qQu+ai4lO0%GyrNgR zha1KH4KGg}&Ve*lc|bhL`64ayXGTz|oXKQ;U7gBI3Y#YN8(=hGeKW5WCkt-O{KDXh zhVV4m~jb1;zD=hE0QN2sZj_VAZ{JW_Z~{cw8h?h=7n==K(aEQrg$`( zq3IUYT{@n-&Rk$>yUcQ;<=pK0XJ;Z*Rp!`NQH@rfK8;<1AwYAEMy5 z|H7UY1TBtuxfx9`JZ9s75E*4VATuE7;OKPFtXisx+dDvka*KFZgl;q(4)p@^L9cZ`_0bNvfe3mhDn*!Z*G9kU>PyT&V4u{gPey z^0}WI20eE|^4FTrO`FLY?-nYcwQNq!$pb6;>(&B%jj3A2MW1=tpcvyuYA&c%O5gce z*t|8ee@fk&@(+3&mcEx_gS!@S)6Z1fvv@ikt=!-z6Qzz7+qm1!RQ#R5{+{VEYJr&y zqf-dq?e6|ml1Y=NCI3Zj^BVt2e;*gI(kq{ziAgHUVmPO5$(?<((V`#H6W423r*@7D zn1w31sf_O=RQH+!R_kom&w8YH{o4wkHCHg^K(i6u@N$$ZMRT|}>I%6Uk`*HqcXc$f z<$D&1Y!=msynegQC6)$gqcwBNcuurkJRm30K8l%)^dIGvrmud5{NE{!qyc~t?A(v* z$9PsCUL_4JA?*G`AY3T#jF*qEQK<-d@p+MU;mQmcwO+F7RdU&3K0)PrZx}j>0;N4i zSJQxn$GiY~+S0jJ&;2J{Vd6B_#X$<~fxgZv3P_89nBxxsX<3nba%AZPwcMkhBm6>t z#wzfOPUo%$<6sBI7OQ4Vs z`1*qphhB`g-T5{+-ZyU;2;>ZAq39e9mK1iqs=ILi!4VGbQGl4pq4k z9u^y8cFr)Ne}zB8BHpkFTGL$L-w^Q-^ol5cF=XntEGSO%a+sxyn1CLv{unW~F=6Pa zD*COGCztb0vL@TEL|gcaF>wd`MSM5+TTE3|oLh)sHgA$_{qkk`xUZB);i& z>_s5Gi*i#%+(=4IEwNyHk5IJQj26Jc!7(#hzN-<(Fb;97EqG~xFhzd2Y98dV;=MCQ zvqB>SW#pIfINF*BUH zybxm$D(46}2s=ZUlr0>n{Jt+!D%;W9h&?V}UKAL>>+`Z5`v0)^mT^_LOWQD@C;|#f ziAbp^jdV#!DInb}LZoZ4P(VVYL1|GyKtQ@fx*O^41`%lx1X1#x<)!<&?!EW@;eFrd z$s}6w=UOKVq7(44uZDG;Hti-6e3mpygiVFrPt{jAaz}z+YVp%5Wx& z`0uV_+Nj;4J>;wtWKmnt^tHFZMK%{4J05!{Ey7T@qDJmO%)207fjIA8_C5>E&Y6uf zJpN>O_~mBiuOmZm9WlMptU2xkBel~KfrS+IXIqk2LkKa_lB|LqTb1n;d?dTGp<&ax zI?{Z`3w-yb11|gTzw^41in<|T@^};_dzXJU=F9s1M5bB?oR1q${zT4Nm67pVzj@v?Z3e+E zsbvPz0?yg_g(LPoNj(A#7G9Dsivw$=R5$lBqju`G)&}3y@6NlN{NzUqM zn>g)3>FWM=GaaI|;q|>_qwP2Or^sqk=898a3(*C92{%&uM#P$E=(jZyBD|8W7fZXF z;EFkGEPF7V^-YG635;ng4GvB%`Z4!|e${e;fgKO>Fgb445jfnz*k!x0na`A|Tm=C= zyY=D`Upn(U?uZ{+)GZ#0$m6-QjRH7RGFv#v`q)pv;v5+2=QSVZr_2wN1_q{-62?J7 zqwb8*V41Dq!cF6Pf=K(fiI~VJ{s0VlXd>s#biILEsDzHrQzZlr7ozRMW*p~(21{*b z+&MDa(fX>tcm>&)kUwgDPa~av8f)@>UG6b>aYhqk@o}1I{EGl~Iz{Tv0mv-v)em6t0# zJ4oGG_^z|3HxESU_{L8^LIq&bdrLPpdOx22BqGRnV~%b>SG9lRvcT5(EqYF-7;(m% zSqoNGDWYs|4Cl=6c+%(l>y}QsXT5Fp#EjJLHfG;!UTyU2he7?Ut zFXd>ItbR3$lhS-bf-Tl62|v`xLUM+xJyyqo$sK|3YfCTXj;QM``d~^{`Bd)Fot#0b zg(?*SB69}>BMSqnx4opLzl&F=hlX4uHIB|)UtjQ+#ldjlfKn#fVv5tjVn!0nl#70c zJ})J7=u6F*UlCos0@EjAy}OzDl+DlC>|bXS6hw4nKE7&+vIITp)3<_v!la?qgChHQ zy{s6dwcJBpd18WQFR8^|5W*}CG;IWaxg-cka~cIx3Pzx_e{ntCPKi^K98U-;fz)Z% z8cNG8aGLX88qB4L(`KQpdK z9d~)%KlGW2yb!AQRGnHZaYv77QGE{Bb{xq1T8Gv%ODrWzza~C3)MRhxtRKGtc9BVu zQ*aHtbOTK`pqV{y{%A(IGdyt(=LrIwSddkO(YWHnq!EJ8y{~%? zW1@Mj8!SiiZmh?Qt|Mx@r8070-GOHSRNa^rnX%u1%Xvv)tTvwA>dT_s<(pocNzErQjoJzNVwZRhRRU=++s&o+uCe@hxA$ z8kpqpgEvZ4@S%#CLt1hK1SpnzAVRys@CKs^n( z#hbV|s$MBGJigsG;kIQLb!EQL(>j`%4WtIK@>aD0ew}n48Rd~_f;hiO|nSRr^t6~yVM4)%C%#PQa~ReFt+u-ID(n$+0HM%LEn~`NR`e>BKZr zN3*7(5T%j&v{0e3h7B$C0tESfe@-w~F$cRkr?%FeGY;6txXp|g@R+vlY|oXbseefb zd&J9fu&=AV{qx&SJkeD<=cmVW&23ES$ucyIpQ2u09=L+5isw|*B&=i6T^L1KH7#-b z{ssItK|`IOdKQZH&%G~s+3u$zs2qK}?;!I_w5l)59wep^mAbArOVfuFL&hwi0vYq_ z1B{hQh}hBKysp20Rw`YRYdQXq;JI%&o-bL z?*oKlm=u0d>~6=;oS|hGYxs=S6R1t}!_kbAqbX3!&*qLN0vj9qbSch>_x{AX!^v9c zH>kAJz0#tu0b#2+=wsU(k+J6^Igje-)cOLt%xOgOdQuVqJYbiL#Q%mqN)NLjtpOg>@6zIXG~%$DCn9fsWn>*K1L04?WCjBF-uYb#VQzdwimM%umEH@Z z6J}SWP(~$sGirK>@NA^4Zn{M{Z${l!xL}aRU_(w9{)A5gZ(bH(Qj3D!%l`Z+ouJDl znKv>;-`B7>vhWgE7$2Wf z4*)M6>4$6`B)AjsF1)JU4}8m1ANsT)K%Hae5d!P#@hfoj!kWeG6_3ZT#+=SXay)Sr*Ft^p z_!i>k58h=c1-uL27vKr9*M*p zHYnm>0eJ2b7nd;*jS92OfHnSmefe7o zit4XF8Wm2owh!yJtyN&3Wx*#wq<7uM836Dp6?t}04vpeKHubZ-3DA6bFw^=VQ~dXbDY3GxBU$mWzk4d+1nCXisGkAJG*1ilBE{}*KW&&<+nhkiLz`c zUFkYnzgVm!XkhtS=@tGfmKg&YcxP$1WGLA#cK+V;}k-0XC) zV#59owA&73YZdNj4W=nji{Vs{%lCQaDE63zlRz8E6FcaLIg{}*m{Jyq0tK{rB_`<8 zPsQ=86|9HU3B+@_&M?;3y-U2j@r)G>d7`M0D#%qhkD4hPqxV!W7PcfE*W8ha*#?2W zQf-dS!0N3uj{MKYX8s8*zNyUktXj->bn3s#x+tn%#xOINAPL#q{z|o2?i8r$Z*lQt zF8h&h3hP0^yW#Ta-q5W0)RL)#upy)YDnPf?QMYbRQwZvwRqeW8Z}d`xJ2rHjifend zXoBkKn!6e+&t|R1<@ele6H_2nlA+p}F*1ncZQnLs+}+V8o;y?>;h*wD&b+@D{*mdV zwK%FV;IevS$tW4M@Ph45>$loZsK6HC`$@j%-@Ei|)Z?M@w_=lBZ7-RLe=4?l7VoMo zh<-dDw9CL7GLHZ4GG3;lT}F=NYReWJbM*v;K-0hdm1ymE7+Nfz_U^I2Fw&zEM4TqV+p#Nbfljj9hr9f|&6C^Y&`UJX3x49Iy+vd(sK z;u*i};TPUaP)1u$E(5@M=gw0L-+7~o*?~QY`<&$hA(Lky=#+;~KR>W;Bt^?C;v@{l zIet3#xV-GOSR@9++_*=t{oF6dat?`Rf^Agq={3^wA}2L{P~1k_oxm)XfF6fj+Dc#v z?7&EuE87-^Hz99XA^jD9I=>4-2TsLWL5GESfjfugF9X6nOKfuHstIQ7&r>ll>`XoW z=k0)3L+CC`$ZK~C#*+KtrNV5Bq&rLBd=tSNP`w=1 z{#HjIWG-_0jye}f9Se)C9xXvUYMP2_&E3dRFQ?tjYGJ2`ntA7^@8cD>>8U}(&-`m; z&8+J9LSt|73pMf;+>^KzvmS@tB7W>8@{Uo;%>(gnPU>wF2SGS#x%t9~P5+A4>!p<% zKs+z&rPs84eH(I*?v}#d+??u}(!u9W+H`?VqLa2}1Q-@q-zRWh+;woyqDs+T`1PZNwL>3`Xf&JAtuGAb^^6H()60 zXlrBt>=RuM!%9x6ztljj!htfyrsn5I#hH}~ADlAd>6bI0FWgX0(m@QqrrQc5b5<%z z0pluk_N4dVx?IU`g(CX-)p(~bQFb56O)qa3MF9-$18kzyuFS16+xaDEkl}?(L;*o5 zp;0gX^rV0`+r5RNr~z#?lO(JNqy;bIu%HdTT8uB$4hxT1`wEq~R3bRPO$?ULs zTC9|5ysJaFJrCjsntB9OSS!uJ90YI0w{F4nPH)-q_WTu}5D4uk7K>dtyY}86pVJIl z6n;qys(%RonfRAay8Rl5H$wqqhR~ssRqQ(&f0jJ5Wn%^QoouQYo~f}h`LQkkAuPFZs=S%Zj3)LG_yX%iR=|L6?{!%oPdfS-jN_sW+YQ*kr$$cZ~-WmXJ9u zRk2;>5nR=>7)m`g<@${C%4n?H3)Pmk)sKc@-xt&~%nl^1W*qM2dIyX z&fD7)fg`YXT^e+(Q$U5UCtq5QG78`4XIItFFEKmNj6wbwC}$6THGB*W;Wt>+2er-A zqif0u&DzAwU^sNK6dW! zt}aKJ#<3Io?0*tgR`VY=ZSKs-X54GcTp_lIBDW)XIUk{Z{9AUm&xEOE&eu6;VQ~O| zGBfxLpBblyP@STCVrSSGr@DP!fXTwyjsQ|CpY0?yb->U8-ZN|PK8NXd+5By{J61#I z?aG^ySa~gp$L^7s(knzdTb*`;dGjK=ii!_$uYaluB%{0W66<9q7~0G6g2y_r42mgO zR3&HJoc5`A?2#OhT?nT1JP#G7GE7Tlz&G%)R<^~D(#9&|ezB-vfOGR@q}n63cX^jW z+`br4u^B36T^euTpy=z@mF9Zx%#c#LDt?rA$ZO1N-JXl6s&f!Y0+pDVC$n>lVfgeym2HuSz z?Xy5($rZhe_);%5T3G6&+;5iH%;bt#kx+3c-ztR86($;qhfquCoMejL-hAUey8_~P zz3$IB`#hCMS#|D1uFLZ#*sziPlje145I*8yL6gj+)4LbV2U7b2$vN>SB>LNe&(GmI z4#@G6x7R%=14s@OCZAp@$;0L0%+_Q#Jo6IEzoWaG2cf$lnRPzv6mf!Usr7_O`UH%7 zy}uayG>(>SFfhsiWGIwbcDBtxFT@J1CGaLDh9Vzrit*?%XYS8jrG7az(v|Pv6z|zt zb5#1BQhf%q&T#fP3(+dEy?_rIYkFH_^cUI8Oovi;fHV#gW~Xqq8H*u40-4fJR6q zYuMVdquCIcY|Lo=g3l+uq zf&GX5+#=Pu%JhqUonz+WwZYd`3^?ItYPotik?Aw1>9ETC&M==6Pod+pcH(brG>q&J zZ*FECFEqKB^K<6(N`#WkX7Cxpj}%KKN`z#%mm7D~1s|Bex)f!4s*V4 z+BvVP$jJD6A|NZz?YSUeP5SsE6YmYwD$Kx645Hw@!i6=8RYy0>puI?Tb(s)IWXbem ziC72s0y01o zDJvoGF@p&;n8s&1(rsoV$ltuMY=W^k_l2Bya2($H9)iO3I{DNm@biBX>*}^Qe^)k(kLc4iU`=T$D(?*{bwP#)^D}L0Bi>0^{4;@5& z3#m9btdq&QrWlv>pHA7IzFd}xE^A}oSspQ;Ec<|UdDlrzZp8jbh>Bn??m`Q*s{jl? zF@q8}nvBzxOR>DXyaNPwwenbIV(gVlbX(9K>6?AD@^vw>X1Oiz)b1RvjCtRy3&@%K zXN9X{g@p&?bYn(GbNs1GzSj9*4xsWYylHQe;J#W^Ybbl<%p{IbajIh$V_s3_FH|gj z7Aqlw{HEN)ev({rFYZCx1;I+>*iY+{8wG}((-HxlFXWiqF3p~swxlb=E@hcfl-Ki? zwyVfU&VTcm>_JKpr+#9g%jnXFc_+Fu%Vna;QjCQ7Ra%Rt0Y-!DnCZ^Kcw0%UcWDJb z2^>DMoo62Vlq~CJB{r28)6lCWphaMvV)}76(SgOY);PuCVxvfZjhVzyXw8-h6`kV2 zcHe#A$N`l`6rA9NP>DZUkP;p*&@9HLu(mTwif|tKDsi}0*n<-rd~DwI;v%DjvRbU) zjO!jHCeGGbrJ@4XvRN##TSocBEcvMdNP&8t(pfu?V1+tMHM+XXOU&G|=dr<%%rToz zzh%;S+xDQ=Y(aAMP|UUSs!S+>DY-XIXM1~tRWH|*FAt&x>@DgZW6+|kv)W_v-A@NE zoQzcxIWnakh0ND};g`EY9L_~3hnsMTT$z^Ro>9cl_6Mn!8&|?~3{}O%q+j&cc1m9~ zS7p4yZAo=}P`PtwZ|q>rwOe>`?Me6a!L#Aj;pe`)*``99#XYDAeM@tb_Yaj&YrYgn zoFfXghh?3_M!I-b9a(!Xkb<|H zcq0%7U`ndAO@A=M41C8*lrGq^ej#UHxRbW>6Hij+h3<3D&JR?=#C%}o+GjN2tv zO9WF11H}-p3Kdq8YZi@2HC1BG3WJu*rf2q@L%0!v>4z0N|i@o?dlB z@CPr^igSdMGNl(6oCrl}EIoQpE*{&hJaaLcepaG)0bi(2LoK ze$D8uokK12K6z5BH##oYWeko1Q0M{ZBqkcDYq5W{15k?zOL8i3+t@qsG`tD5(?6V|8Lx-y9R-q3TJ$CQ6ob+LErB)wP;aR} zf7v;M{XsR+-*gnSX0<(`nAoDu7lf6%)E=j#(QR3V7`qsod{wLSi&P|Lk<3yjQ zRhL%Hzj>>kWtU+*8zGRp@O1EL*G=N`zzJwvw+0E=?{LJ(uow)Rsb_I5%OY?hQsU~K z)-)Z86UK;zVUC)`ox&)BthWS$FP+_-bX`H^ZXMVKTMkDf7DJik9l2VZUEdJ<2648cXaSJ$4Mr^Z>8tPEl7IKs;AP{(W=AhX zA6DGHK;L#D%)#A_nJlr6L2Pu25RTq2o{gxWV(LtadJ9duSH8J40p)iM66y1ITz{n2 zd`!f?)nIAtW;0#ol=@XNADnC>lq!yA6YwWq?rXO#?|s6j^q&_^^g>iDfNJ*C$b--8 zyTv&vQij;#xGSrig|iWHcQ*?GYpxIG`}87z;WL*@A8?nJ8j_=}nG4K@rG07&8276a z03Jx)(>3bb<7E-bru(rY#M-|BLX=O3ue7v21|9fum>)>wG`fC^(JJNRr6F~BFU0Qt?{RQcEyvCdb8 zD-1tUHr@EOra8^(d9d18MNv#+_g);+x{H3o7OQQo;&P~{-tBP6(y8`6s&)uxx$5w` zdiZ&GaV|Bk>avJGV~D$mMH73RAsX$OO01Z&wIxhSpXUY1U(U z+msWW6Hbl>JbI_AGw-x6^Q3L3UjGwG9ZfA2r4t>$ORW#&t$%R=CgG^=p{vy zkRj2yeA<>=&C{zwVi+DbF3x&=xj~Lo;emmLLlfGMb$CZ^c}{k$`yL*WZrfldL8Gd} zxY=dK69<`L6MgRfTv(^S$$IZu$5(~NMh-z@k8vHE7_liyd;P+2sh3annn}`L?V3## z+0VDxT^S;e==XQfeSWqyahEo&g;)yo-VqUzmLG9_?iwwTI4z5tv5dUIr&HQw+tk{j zQoL;pg6h)=`5LaHIUn|>*`lY!Imb>1RpAjkR~&A4$j!An`U^YO0NK+DlqZ$4n5xo3 zeLYn&lR(&(ZW;v90<_h+wfojAqQmd+shZKK-=`<>LR=9H`U#_-l7uSoRu(?HoUYGF ze>W!ZmaLxTC~%!dFZo zXoujcz-+isq0O?0-7}FlquQ68ht_m*yW`yO8T6W-6C9oFbbR!_`DI+|<4XK)==#)q zEwi@zF!gNBEg|weMaPcH2YD|3dp!&rY9vJ$_Y0ZcOpcT9i`+sSPa83rx|s${*Uo%r zDs4Qb*e{LNUJxg#!lIo|GIt8W||S1((JswoeP{oB|?@*-lc zR_Q(t8$U`1O1W^M1|B<(u{eJecHK8BS4A0Bu8!nA6*)`twbNYbVLCK=AkWmdlE3z}z6m~26HDY~eQ|v>7Uz7t6 zieq}_DOP0uOVM^*NKD2OlIFpIs9+w&mt`Fvq~tKGceF<^*&ukW^UH0f4flAW%!RbQ zhcC^L;_{Z?P+Pi?pf6!9yHsqrq{-wHSM`Z5X6MR2C+$uPc6`xE5AEI+ZCqPdvy2AB zN0LG|GV4Nt7JcjD5CP62)kh3W+Eo%}#Z8JwLXl=| zjZz2m9R?*<+m;Sujs4#@=N+`QbjkMbRplqn4l5D!cKhA&Tt!^ou zoiW(Kz&stM=1vg(+TLi141B1&DC4=WFmg|d$#q`_#pGg`5haCgIvY3}T2H8Kl4JIh zie(_RF4#m@v5dCh&i+yo@=Rju{I~+79lVfsh*KY%GnAbi)Sd(!jB#hFLi#tEZOJ?B zXgKP3xJ)(KzeWPRXQsZ!5nOTF6>PuE?^RFIm{k#RT#eqfNL~MIit?EvbCuHUM3Yl( z(tZ7|Hr2Zk4D=Um`Z)a2>~zpI8r1_u*8GkFqRD<{ewdD1+c>>y5ai=fR23=4)+dvB zrgVpSpNjoa6HcjwRgr0cL-yl^_6-+r6AG9V?AMSJIC_+?dwFs9gu%t2Wgfk z1}$qv2@C5xmEIB9otZblCJ%08=1c+%PIjaNUCqgeIPU40db?Qv=Vw>@lKf&AR^zX4 z9p$*spxH0x3yz)$3!2)4y!d<0A*RJfPmBBp0(Ee$i;+_T{I^1144VhjhRR}kBFayH zeteqnzK}=luvLDRew2kE<2sr4UU`xA#CB;H)z5jDNy~leAQ*7e2H@h?!BHdQjS&_pcb{j*>h@A0y${hJfM2=3gOu|@} z{|V6~u1}?^XU@KyH;*0JraG?mGFby<0z)ltww6JFh-2q)&%to6K=zwm{yT%UiuXHn zQqo07MKq3|WItJ&Jl1p54LA|ZYq>(ca!}CAoltX}=e-h6|LEwJRYAf;aG_UEIq#0! zP5-f(RrLwI7_y1N$g3vC?cPFPPgq&%Sbmu%#*Fsl6);U5v}rzbU!wYDnldjKg!CR6duD58%c)SJRzhuoS-bIishy6R9+?TZ#W$C#Og@fz!4eb^WW*Gt^t&pc%d zyBgFO!EnCnN+m8Ie4~-3U2FluCcg;fEfsLaKqzPCm0dcN2A^P4Ph$xS@ z?V!N-G28h@Q(%@_MS(1%HJQCGQY(BN(ozA9*$14a8Hb<`yWvtiP4;0r5BKuQQD)R! z(V96jAVPj{isvb1Ell*-|`VA5cf4QU9x4-|>7P_=~Z3-noH=a~hkJP1ktjLX0t8)=+U`!UFD7 ztBFU2)2>a<8b2D40yl5ZM{KjTi!9I7T);o#XSh7M-N2qO&-hKO)+prs(a*&hk7NEX z#}~K>+kvJnt5o^qlRT4tPRY>9^LVxC(ho7!nfE_DNa{Rpu zv6kl}GEqRVQJO<>TyQIxbEU#3_dC8`z}dRlhE`GKye$mrD&3@)Sd(;ljBmo(3RNWflm@z|WF=AuFi zD;V!A-q*W@3iW5uc8r0=PddA39=u#e=z&Gl`#=l?B%T)1FL`N_bmgZ+Jt|UF{m@%0 zlwzqwbFZhydDo)U?p1?%w0R0NkEw&miJhxe91|IqY$Pl9kya@(_5eetLw#8&Nzq%( zdR)OyiBP=$g>gqjxeHTMN|gJK{jbv`=M-Hcb+oQ&U!o-PWnNbdFXHF+!jWkZH-*x* zjTmNYvv+O>>%4nMO0dd8VjKHZAE0>YYtK0zW&{&<-{YNls~O$OIgPu$%6Ul{^F4H+ z?$5*%3*@S1gdI5Lehm?0aZ(~S8wv~BztYFyj!R)artX@vbdb0&`jYj%Vpv4n;GW}{ zIsWbwi5bf*)r?1HucAc7JRPQ|NZQpcJC!TVzZ)FILY{*Xo9Rqya`*u#LU4|`%otJeoNM;k|!os4u`wy-+EaS$Vr^pzL@m@MxpFBhJ7|w|FL03l;wc`j8z@BpXQXd+V@F%C%w!1Hq8A`o>iyKlK^7y zf*1}w_b-0GC<=j_u(bwq#X_5pB)^Ob@|S%q{byS~=gB#4tlb6a*ZZY`k4Eo05dQkG zD2B%!LYlJhv*}zf0f%7ux=>U;d@?{+qOtC)US)J{qS!E|>&Py@c!FdR{PO;r23|QFqv%c;xX*$sEn}ibp&yi9E+y8=r#L`9HWUvXXI4Z0|WEc(&*! zZd+CrXKS^`Efq1@A=H$`^_UWLcdMnALiVYal$Y+Odq?ON#j1bqQLGg?M^|E}b-Rqj z!W6L-jS$Aip0J2FKcIGbb&w}ea$McbldEa;)GouOi(+G5TPC#@ULV*0i`Ul|!7BuH zjVa~Aj1#*%n1Ah7oEw$ktc<8>_x;evOmvox{zD7*>)j_25~_c_T^d=;=W!;|KuP}V zb>A1mWKjX-EuJihG$k&j_N(fv&;z*4t%#o_(>h{q0z;=?R7VDWXh_INkX%CFRyfEr13OCJAJ zrg~1a(2rR!B({G((b~Um*og-40s=+zOMhPj^Ypd`gxGH*F_nLvKGMLV2A=3RG5&QM z{b~vkdT9V-w~e+k>h{S~ z|Kl>M=*zr`{P@dqabLn^@Y+Pbz5VMAB)_af7lzO}<)Z_{49ZR8CDxWu2(LotSO$w# zu_7mj1JHnF2ytrn!p}UY36%n~J*4eMF&JGRcr z)9Cx5>B0uY?aQgo`CrdV6KaB0`E;}7;&rLfA6xTD!df8qn5|dste&Av_w+fO(@Tun zE*$`QF>#nps~~ym`N2B-DSaijPc(ll;UDSQ?}dZw&^uxZo3Z|2e}DGZ17@(n+6_{R z$Njau9u4%jL8Oj?+d?&$s#-Ne85z|KEQ7^NN>-^q22j8Ri&gn(@ZO()fcNW>OavB@ zOmRuT``43sqVbOUyGb3t?P&INk<}*G9sg@P7Zdv}X?`h2e zYo5e?EcE9I&<0IhhC$6m_JgqZ*P?lF5ki2vf`2XKFJl*_B^@ocj64EZmj`AZ>}4JS z)uu1e0V;draJoW*Fbn&-%D*hY6D&ZDaAlI{pB8Y55s=Sw3(4$g%kmIITeFzJ*E>9a z-Gw=QKBT;eBC}UH+QseaxjN<)yvQP45=KqnUgjvL$P7alLutHkNcZ)>7S3JNAB`w~ zz)Y(A{q(f*1VsxlR!JRsQvu7+BIYaFf!v zaqKYBpQ2en8_TwM>#2Wz;Lk_@@74d0zxmLyvt2<~c;!8*`hPpoF#U(!Yh&N*-?Ebn zjOSQttd8d(eCMzJz0LmqsWldD)IV*x|FM`jH#|hMXVov+1+o6Mexch~r%RQe<2Ygb z<=y@mEUfi?WpEwR0=Mn{@~*#ad)i{ z#s0O+z{YQof+KA55+C{XL1jJoNIL;7!5>@uV@hCkj9`k=XMK^sP5YNciXLKtu68kW zWN;tjr9;U6^?6&o!&Uv00uVH7){Xc7`z!wbX$!W6f6q(pzyAdigU?v#iM@c$v9!5J z@BMY-_gOrg?N`UwpH9Bgj!iB7=jVU#dVh#YGOs)mWB&QO(Be9vnpi=}PD>*h^4ZUo z?j|1*A0A2i9;j!kwqi!ETkVg#8c+mGPhQ~&YCMQP-)agZs?b=#W% z{Cf1IZ@jKMIhr{c18VQ91X)S}yL>o_u{GLW_>XP)`>iaak?^T|Zx_Y?@&149;B%*O zkaYDly??^;-xl-hr~8cPW#_(Xcjn*L)MJMj7B6nTUFDx^^80ddzoOl6^9z%~On;fi zKfabm9=_66OzBsF=ihDz{)!s}MkK~Lc!&OZ5j zk~#bQeHXue64gdK!mPQ^2LCX~f8G!#Sp6mU`$Yf#nrTAI;VU~``2c|ZkKe%!`Jjz@ zj^at&<$r%U&tPAKZ+@O6{I_5H{wo~YXVt?92&evIIVfQ{QX1*E@&DWPz)tVOyL&m9 z%<>=B@&dg@81c^j$Ls#}hTjw75l%8TdG#b+4_(26c9&AnK4=w^f>^Q!-3csT?_Cjj zUL_aJ)pk=M&I&|Ci+~_C;c=GA%yoa~1Ju-t>JILK&Hih-=;`4`u<3eS|NHf5v|#n= zR$F`7APHBV1ztf3%+08DhUB3Dnrcm*!}I`xJVYw{5t5WSVXj@ z+Aa4V3saon1j5X1=&D+GxFG!Fq2Nk-()+uA9;;s))yRB^<&tr ze?9U)))YK)6WXB#UeAI3i-~hX9AybYxtM3!v6pF z)u5$U0!Qe5g%g;r>CHm46i+Wf0gyh06?{3r(w{ife-GAVKaftr^S^Jxmlt78F5lCJ zHNhghZ-kQNG$CQp=9*C00*Ma<7{lQzddQw2AeBc)hohP>2$w+=Cgll?L_%vP+r6Gk zYpdhMmg@jFmH-M`{t%8ML!N1zQ{4ej6}5%7z+5(N%i+$QhL2<?I0Er_YZ%Vphc-FLyA7Qcz{-RW!m7VhR*xMbxYOr`?L_~J$J~Iu zztA0$by4&^2KJ|ONV$07sniEipPaP-)`EM?nwW-)u(?Av@N1i4R2vxt6(2loO1s{> zsiIwSyi>%SW*pCcpeD*}lPnj}R0F6GPid3^uR8~rZpSrP%&^}Jph$Pn@@Ur_a^Ua4 zFBwl)O0wFREN3N5E;)mL`QdpAo}IiAU$F0J)DTCBgXjXl@(X(hg~-44>kmT1N5%3;CC zu~l$EpBv0GpEO;(HwrY5NG*F6&DEp5nNlE(RxGNVc&5NDIzR=wVy_$X>{Y@$3njPY zqK%x9d4ZII!^EK~XmO2E7l{_&;hkO`%8KOCjpDOStp4#SU^@3arNE#+F~g_Lmhrco zrorat6!KaN0ZW?Bb?FLn%TEC5mWr)@7e^R$P_MFaGzsHYD)(2i8f&B)7(aOZHcN9B z*jhP$k$(T~)BkcV9#_#PSj;Ptu(clJG!aei@711I192*H6$Rps59Y|RU!%uLZ_)&^e1UXv3;zF4`>LQv&Hm+t;iY*gjNJ2Y{d229 zqN-XYs^-ilu)a;l!OSQNkD|dPYW6eHC#|fA zg;nkmop~`Ay=G{pA7ce6cbgIHiBC~<8y#%5J2N5`ns+6!iM{B|Ug^3O7dm}2sYDZO zxbdeI>RVf=TspZTh=03D`a9^@(4+Y+`JcY=ufz^1()6LPp?s_w-Db8r zoMS807fLJspzt)dtb@3W7IrD|8-92zjSctf53s!ua9>WN*|K^cdYKn;8M?4HyI!rXx49W+NIT zwI8!ysqNq4yz!k~GY;ZrBt7l)LlPPPtk9Hr2+y?+vPW>Wv zP_PEQHhDf#<64O~40uRUa=OVE|93$wnts;5AO1cYgn(u4xI5?nYhr@)8J$aSoHvJ4 z8t#3X%6b+S{WQ7@z+N)Z7FLukVbD=QyQT`ejF^{8a6aYf%KaSf`hBdWXix`Le%B|h z3iYPpPW-d&ml{)Om@G>v$+tG|e3!gEh|2$L@#I7nn-6@1mdJ-NFW~WF@r_5YiKnbo zwH-D*>awf_gd0MB?Py+#$--m7 zgxaDT2E7U`#+ns&=6U|urq9p~c1MJY;fzqHP`gKI|0e4I;_xU$UsJ%}6Wpxzy35dY zi85niuY~JCi`J!6CeWvyK694EDV_WSSHPQysU3e4j)8AktsOCH4-T~B6gLG)y3UaC z2WWv|>!x?B;T(nQb0UpLY5{5Cd4A}a7lY(s>zW46w~JfgLfT&5bl$%6wttOpvE6m- z-{~H%ADChTd-ol>|GrvHY~VVcGg(}77Y#dS#0y2YTBEiw9+-gltwD6!wwiItu9-xm zEHv<`j_f8_jhQ5;4#SUyaCj4=T(1>P=s1`chK8&j;_geZx}^y_$+quq&ddz;St%HP z475$Swz=Or^1-l08<47_sQ1KFFp)u1lN-B+xJa3QEx&OMG+(}&zQE18Jl@y;3fF#l z8dtAPgd;iCl1pWn-1Oa?J{5mugxj_Ji}*+nnKGS3lTZgpANj6zE4@X9-FGu4;bf4OEUwylxs{1g{EuzOpflt8{LpH>GOA@7f!2LWOf|!opzrTmv;Iy9-CS6>e}eRq=BsOxhlYJTT!sjU9#dAvxQ#-9 z2P%0m!)MX96Ef<$qTDoSy~oZ&Sz-l zp_A#@_ASe6o``7OOvrg`cWLwBXKPDzE;iMcysdo9}g~>~y7AK%NiyLz!-62*3?D*pxw#qdQ7pU`11?nBwTOn^; zD=RkZyQV_J6c8 zynLPeavl9gkTPxTz%US_Td{Uw8be)ncCEC2KRSk&C89WtbttjTp{>gdl8>*eErqWp zX4N5owyO8U-kNM5Y73YhhK_ebNHJ0^_2Y1x>71p~jm{&RSMwgmU?CZ`OA6tffJC?f z<#l2vxa5Oz2Pt@(w{9|p6ATjff1fx!cF>^D^nAy_|B?lN2OBq@31k9vQTlWN#bl;p zf+yZ=)4-8qu8YUE&PFhrofBoDEeFSmzia;x z($>O_sY(QNBIke!E3KX;_-IL1CDp<898#Q((2W$HPb^Mg7#z>FyA@KP0L?l}YUB1P zCo;P}$MI-y+%m7MHm-o99Og)_L!|G?yt4TFs7up~-i1Ff`d$CK3%XwhOY8l*p9Y|x zNKpqb1S}O^j22_z^N$q5?bawJL06c6R*BG)FSK%!^vHu2@CmrWX2gA+LX#lak25R? zUYqGVdC@1Z7@DilJ6^kKovm9rOdQw8eBa`_x;c#3s)ht~xWKqWQ%z@SC6KfGYfnpb zPG=tBIL?_;E|pQpIewpEh9Sy*i3l7Fg52?83{Y58U0d7Q(CapzM_$OqiAeOXi2x~# zEeY;>f`7bhGI-fAyN64p|2<$4zlBG{N?QB~hy=o;fpoIsOSGjGXg>=hpp76KiZ1Mt z&ky%k^W-@1nU9IsELUjOv*h)`W{WmiKu}fQ@9V1$AP8v=rQKb5x;5@vPXrY7Bu6=X zVGu?D`Xpq~^NPr=i?q~y;O0m-q|D0^U+^utf+<5n0IQCHL(#2R6sTgpjceDDwCS0jrAC0H*)3SpP`fOamT%t zWE1WKaJxAGR790TPQ3&CEVYlC zKIZCHu0dN%f!ool{&5t*i#;qkOVp!a_!%!>j9V=&1J^mg@k%QkUe4$l0;)9)SyfaP;J4o){j6{Z zfhl1FoqB(Adr=xrh-6XAs0;rcKf_G|`)lA^xxozCCamg7T!r|a$c7`HRSZf&%WC2NUgeer_H z_DIu9BFKO&96chVencFha-g0jO|s6z>Uez);Ofh}!EwyevYWUgZUrZ)_6(f6E#HHbl=MEP+Ri zieOen*KgP1jtez8MHz~Q%Ac5usLlsz+%8L5_*N7cr%`kSLJQg-9yM2q8{`Q--Qe;G z;wlW20pv`Mx<--|I}M7#v#`Q*e(Rt?_H8f8`t!}Q6k$jl7oHd5G6M8hH$#B5nyMJW zo(A;w>Yc0HWyKEb+Lqwu&85Zi=;>4HRI>}94^|LF$sXJlBnb-nD2AERnm8MV^?(sK z+WhB70Inp}@h0+gD@)9Mxx%66rHt;HAxk8mN#|uj&{uviPs$7ym(d0OWd=aJMP4+8 zaBmHr$A?HFTcxB5l>1y(;0#{$sX5@Dy78Y9PX7b&lF{esL;fUYf2SzFekw;tb4#%+ z;3YlLo`r>+$(z$+kUstZItap2No^aF5f?=H=hEp_@$v_ManKglzB-AG7B;t)r$z4NMB z%X_C`O5XgWrxeU3XW!NDS@&r}pNh3PlsMlg{mJZ)&^g7)l*|~)n5Uov zCL7MH1_`%@2Ks$*2hdX%d`e2J#u6K!D^W!EF$}NiCz4w*K&BW{E3_acQ^zJ0ZtaW^h-=-DNmyNvS5s8 ziR*#GdPU-*`ULLHHbh~d`OBt<{NG0n*CG3STAwj%YvTf#0NP=i=I?dK1Mq+(m$lK) z6LeV17r(&Y1k8DoJ8Kb&gH{?VN!{ipx5EJ^8Et)aef|HT?7QQ!Zr}Gyi;%4(GP4O0 zQ3)wz%O2Sow~_1+*&z}#i$W!PkI0S4EPHcjl|7OWe&^NasptFj`8K zIt`59FO;zOHfEhn44n%hr5JgI>A{=4JpVPhiHFYT?7rfHrCC zgsT*Y9fRa6llm9 zv$zqDMGQpkpv)4TZ`oHK(0l2(nqNmfjL|_YK*1Br-Vg3V5T5g+P+W3;Ry9?qWMHCm zdcq zSHRI|+lkS&Ky)Z!gb6?WuJM!+a8|nk{dO6x~29h zkbJ&}8LhTJ^l4Y5P?@!b!@aQ3#EbGkH|2yHsa*SqTqCIxQ^VASH@Cm2T09>!fT>gp z@^~oU=rv-o6O}nI^oi%VcWX?#c171Ap12og_=NfF+*5A?fs-}mYkc@Vm;*gysHlJQ zS0eKCE`%tmr9Ji@|2q-6dJaOA>{*uE_0w3wXpzf!UqA5s=SfjDVME*YzY}l?95lx<{H8Dc`b0x`s*_x2&;Co- zfD&~a@$N|<{j<+{)d`->%L~3=f1T8STroLnM|?~z{O{_91`j z_+0-V#Bay{L|!6J!p*Np#d-Y8J#wNhd)mj;UrE>R&wc&^9ycYONcq2E9jD+@+izO_ z*+t*GUmUI_`8W3W`vd>FfVUS>&BOLzmm`skc9WyA?VmsJ*DZ6P-&cPybb;xQ{}2%Z zAE@fk_4!{I1`}y;Bb8lgzfkzU+u`=;N|^uaO8)wVzpJl5cgFwWoBr2|f@|YI?=US8 zC|!SE=y7zRCW)W_1yG(qy^kLSQ;L6nDy0s3yUw58?Em*B4q}Agc<`^{LsbgR2QPM< zR?Gxo$LjWDgWnI#Umcb^Bb_Tf?H{-F*SE%?848iDB|yK$$Mk3^zyovsM-6h}bF=}H z!GQZ0!Tbs^@vRSy$yB9J#+2`9CoA2xq(ki}qru zOa0FG0@`*1tiy@KViJmZ2BbObvQ~;3R?ilH`|;WP$xnk2K>HG=F<9vKO*DrZ}AZUYoX>p@{hv= zHvReal-USgLKCcjC0OS7EqP2sQq+>@uQziTQCcK-4vsDVy5xVpL56$q??fzramdC_ z!tGR2{JIpMI<&_VS$Y2V?Mb+!@cF=Dg5&28tVqBjp?}%|3WlGz{Qt4|d`wCE-guPE z$^d*$K9B_U-TmnFMtoE^Ptt%=q!q?4GKvM*FRO2Z?f#vlr$pAW{pZ<439uUWf5jeaG&sKH2Si%x`iH z_v(h|ry%B`0zLbh1H3J#YJpumn3M0d?VbrJZ1u@9#wQ5i0)JTCW}3ZLF8c{*aIGB# z&8ih7A|%O8x!Xwj2$niS%Lsi1*!kK#F}-*nnuOcw(a3c;fTQv9Z|=!MZCD@z4~}^L z%i;HbXtIajyoKU)4lCvh79x>^xSQtb(AFL$xm_=L?(@@odafD3-OGDbYLD7AlWir| zy=_HqF!``=ABi~WT0F7=KrXD#wlIAI(F6t{PsWB{8RRgiEG1MJ25t+Dq!~iZ(fqp| zGpPWgyyWv9n_Jo#)D`zy$^>bVu+xnCF1i1!%DeFk{LuQ_)td+~r|I;hvTA;H0uUo% zkSlFLfXD)L(rXPhPPChT?DHXR&2|FS)d2LzDMgNZsu_vCIW$3=x&Mi7O$9hI)*tu* zwdpgWSoWb3lZJ4j2GQTao+S$QqUmws&3~c3yhnU>8X2DpkTs@I1QFSW0oUQoU?+6* zKjkYgT@mDS6Lh+4@Lapdw}z*+=Qd2RyrQwX4(cbkmcrpXtF1Ix37r`jxBjgF-rpd& zzO?E#eYAc7xEwThbBS>2(C$J033@{QsgzS88Qj2aL2$#Tr9{!v<+M!K&5A#p~ zIA7vk)Oo|X^n6-n=~_+Z7?B<*Snejo&7zu(FPLg5Ucf8_9!e`zQ477@0q-oqpSA?h zoYFmd6QO2M5DNMar$#r9^+3^Y48$PY!dDBT;PjD(WB4n8u%PB1%W4VMGDt3~X*ocyU4p9MvgVkY(l&_w@mdW1j&bDnLvL;7LrWS(ZujFds{7Z4#p) zvK6xF`)~kDNzbX0>SswKap3iBrB;JAC>SdG^ASGEdy?N+T8rTt?iA0W3z$C))*L!H zH;nZ!DI`jbIY89blos)L0H2yi;d_qvb~Bx7H8jR&@w98seFTs8E(B>Qa-2!uqX9jq zAFr18mr(M~!i?H4_at)~*8m+VfL5h89J<3s2cAHyovs3i7V|(bb81kx17XsL88uHS zT#R>|`6WdDF;uDo6f8oF_afDX_4@|sRkXu<8|wv?QH}PSN{X7X9)MSE0m#Y{yPhUT zHQSl-fX=B)#nw>%^33)!{F{61O2}VX3O)-;Z=Ro^KKF|)_DA+`fE}{xJ)MfP8V*&MAJb8xwlKC-9Wxt0xkA{hq_@Nacg%#`-`G8R5LF` zQVtleC1B%G&IxPIMV<`#Q}(d(YB>XyB;I^}r3tl!`3}4^IefM|TYnI!S~IUc(^N{t zxF}4_f<7(_tTVm=f?29|m0S_uxRZx^&I>mrls`1JLj@6r`rYoEx@9)gfruC=5e@gwuzLd zN!cmCv$~fkZ|s%{-T9pc{o?^i7@)M%+GqeN5>oM{34ikP{GV`YW}lc0*`*61VzQiK zKTz(=3iyR~b^sBL@nIS>4c^KnNlhiE!aHLCByYzh2~;QwUM;fe@0ewTgropw(0EWL>RTXdmY-kh=_Br$InA77i_egx(ZbWoAzUw1GjF z{L29!S7Eg;ZgIyGhEDxq}sHK-`zueK}+SHin z@P=3Q0BMs$sCi}#NofGf4FZl@x%Y*E07==I2GDm5e*rRgH@(|LY?GWdN8^3v~g(UI?+e#R}wuzI8^mT%FJ9$o_X4Tu^!-pRzj3Ic|1)NmLG`e^v; zZ+<76Kl9>7Ye)&*c&=^1;+LTGfq0G3MZkJgtYj`00`iv$;wr+e7w-^;1onLuhN1$c zMfNx>x0F_|zDp9qyNf=iE6~F4UHtLw({L%o`fH45sCZOL0jemO-%k7HbTS&ikMcBp z(DK?X7Vd8LnLLOy|DpQP(ds?+rl7VN)et)M=TKyv|2jX|+hyzA1i6Ye2+^~=WlxtD z-I|okG;hkiT|oS_sHT`a}n_VUb(w41ClLU%t4z z@n9Gxj?fHPL(0>dB-TsU&TSuk-98i2;9_V8^tOQ`y9Er-y&m9U=6nO@O#`*_Y_;6! zQfN7z>AV#f%n25oB``_7$By^dP)B~`NQ;rzf!_s?4<#a`8t;>F`Inn*N7#fY|5^0j z1rEc_>g*^skC~M~gR&mHoo9K~KFTL)CG0B21nArI5yd9t@}T8Jer~f0xYv*r?>_v@&{h1}Wj{_(-97$;m?p zRJkwTY4N*TY(#4k_m?1wrjDZWBgDKYC^r+nx>+V= zCzIQFAGo!qAf_x5(*sS88vZM&nR!Lh_rx__*qSq`-rcEq$(JXmQIj=x>*2>3v(WBr zm&(8T)b16$TIoBl8mm;({5*4|et7}Nq0Ly5^Y&-QvY28S*g?|l9e*j=L92uA@&6-< zPx4qO`v%mpy7?std;I{A&&*iAd;?au{fH)F_#|qqrzx5%3kb@n(b5|(d39t?+p9Lt z<{A*jb&74i^t!@nIo~1Ax3+$d_OKYoV;CeW8rg<6XzdAzlNmVZt4cJACU)9Liwm zLN?ri@BSFi+WjEUcweDqXD&<$!HV?#g8a`Q2RMVz_x(&@ z&Grh2bHV@(0OQB8MF!Dh@Ge74TA8f`p#sW|H@5~FE$ywRTH;U|H(2RbV69Z(ipbc` zz~b^NIys~wGUH3gYwx)pZY`4wHpK1~Du!T)Ftae3)TJ5;ru>c-8OiRiDso(Sd#oXa z(9h7WrFZ|#SRD-I`XG$@814w&sd*cK=Ky5u*VPjyW9ogX!RM+x)@^6IUPd9>PEPs- z(9hR}Wq6-99!K=@LEDPfi|&wnYwzxCZ+l{pdCZMNf59dl2m|_CC;O|^_?=S|P{C7D zRy>XnfKL=b)I%N7;LPBZa?=0)8A8q6JAjfn!${1s$?uiphiy1YskCn$A5s-VVm-vO z@QRv=l9Y+ncaBSV(b*}xwKu#Pte|z}Etps4Y zw&NZX1JaCHFz$+B$&ym8xa83@6- zm=gx)(g37C7$|Rv#j=xz;L^4sR9L}!)e1SvXN!vOd8l*K)AmodCRl(;6p2P2w06ql z@D(=ou1K4jKOB#?M3!%*8OaBzqurV%Q zId2AE=J9x8AFKJb@?(rQGAA7ph|-bc*D5qkmDDenk-x}mP$}X%00_a2lb&BAX`6E? zQs{hjBbny@La-%XL5(E0M)rL7AEndpWf5@`lFMM~wDTw+9Dy1$6B?r+%aN-9p~f(| zmxJDdq&{r>LSSD>XC)7g#T@UxX7I*iU6_aNm{J+I$YG%0r;%^^-t|?*IV%qU#Rv%R zqIs#jBGgLE%V0ay1CSib%pHwNUJvweYq@*1_H?ISCaiXUjYxzv@3$G##OpZu{j@ zs|Z!rP2pF-lpoNzIpwJ^KBBU1GRACo-aunu7*c%7EfjU;prtK`7`eGU_<_{ z?c(m85^j{}zp3qa_k>hPL7wZ?%@}y+?#-ydSvv6HRv<#KGC|PJH9K1Eo!*PWwtpIe z_a4V2hjIf3Uc!}KilqT!&j6H{Cxw|2>^F2PCbHLU3!7!Rl0gpqz zo07dF-<=a|1)Pmoz?7=+NzAg^jae8DT8MI0%CAj}sTU9fXXlo8{1-^$-4~Qzs-~?} zh!K=MiFx`1T#|GrMZl}3TTby?S~AlzB~ZT&VKDs{O9>_2kP|aH^H9t=U>0%e!9!P z3bCPW2_JIXQp8;b@$H1(7y^C~nd`L=q~^T?C3YvBL+Sp{GWolqC2;{-Bu!UrZ2wMu zA}HZWJ~Te|dH;WYjS*fv{~Z8>04y>a1Y$~UTVB)!JYcN@@=HVi!h3gTe~G}0iG{b` zyIZ3~HCZTK1r~QiML-!?LnXe25McwL5$p!plBUbSa6MS{P!t2j1Rj3UmJ_~%xUtmZ4SErU$Bq`45Eb$1UCW?o3JZT zd4czC)F#3%?1%_#C!YwpaNfZK)zTx5N-AzZw#v~_Q6pu;d{=^ze9UD)@=TxQ&I^zr z+_~!}4i5)uncs`@em(qqO))H@TTSBOL67q#cLb2Am-?Hdxh%j>zStyO^qtl@4)!Pq z4>-k<^uR)dvAR=Hj0e`w^I~`@KWHxkpU2T~_EDb7{!DEAKt_D^4B}2F5`}m<( z@pK7)NeqLdnZ50;3Ob+*Sn-oU4Ek^QE+P=!8EI@ftb89zYEVZun|$byMT%4C?$?Ud zS^K?3xXX&_CWH9@^L?RwbD&Za=-} zR~0y)N3rEyFy2xO$d$;*7-Z2`?v7d#wrgce{z|QAD>CR;C2aeyn;U7iV z^IVC-F%4+Y%>l!uZAm@e%mlI(lvpE`QkGtsfE3-L1Z;+Rm~q44H{m1gM#pdL2h<^p z9hz314q*Iuu0%chO3ofM)&tBF8wBe__#4Rz`sx}M*`S2pjoq^MG zvt-yg;X0ghDeEa=i{R!>^OOE%O!BY`hg)=^ObipR-=X(G z;uuoBG`VQKMg{XnKV_lbCSWGG`?^dGM+v8e{}&5Q$TPB_XiR@9jOY(zE;=LoULqBL z_mzm9zjx|iP!t}D!8am4BYA-`xP=nfx(yHKo83p}MEagsJkA)X!U`?$J zv+|3dJJO!w=Z^eomx2P`^ZT#{Z_~&o|H@x}wZZ;j*5HFjc~#oJd3Fbx(m=0-pXcQ< zbh^06@1f?>;C6kC`HzhM2d&kA7W3~Kz-9jA-ey;YPkE2_-ix&(9 zD?jB3qTvaMe*`YB9cOcW-~>1D*# z3EK|coNSI&>T@)m-dXNh+tg0KM#H6&DqR^nDf|%#uULHT&P?0Gl5_m=*g$Nf-+OWE^=7hRb&1>fBg1O0Nmq%L4J`I+QG9zL zhl7}}E(ia$+rKzwzu#>a!p;W9uPmZyQ%T+kdJ&+SD$LK+KDhA(I+k?6fvu5puv>(z z1j(0C6}k;vLnOxbmX-080E!!{7~p!ZA*n^1*l&L(Pyr_w$^iU?n~Z~#rm2g>^KlkQ zIgmk(15exv0w2f$Fy5wGFL0$Ab)V%~zx1pmrxyiO^Y3h0e5E|oG=k|KW*DjHrho3S|;4Xn;VNb%q3uU~__du^ThETl$uYU$Sq#D)N-ge=U*``X@g zIM!>bATid>Hx1r;s>8On_a-{FKx>b_?QEzkhP68b2IC9GnXwDvnFH}6o$^qZhg~B6oy=rS=b|G!Kv3aZqd|u;laTmZB zfvDm3Q)meqHB8=yI2TCQY-ItGfi}JNUC8{)KE!0J=pK%5d#3tNU0 zTe^&TZ>kZcI#ahK+Z&PYY&I#lp;)vE#~Qde z6kpJGu6bAVrGr|dBWTZedh-`jp7itR6yh70Z&ooqxnT*yxIPa?SKb1Qr(xH62S~67 zKn99|!_e#E+8gP1ec&MW9&($VzVnLmfHu{QUXQEoFFwSqJ8F+I-!r_jNkgXuZ$6Ze z;Lz;M`pNB)h$Q77zzjfU?F7Q(#cN*SC+w2GgQ2g&=<2=6M8~#em$kJNi|!{ktM7fD zuJStDxkz}teeTiCY8S-6TbRB-@Nv->M#(r|e6Z&9Z1ki0SC98RB}1Qz3pO(uysEo; zBfKm+7h?ttAbjt7%Iwt!@nXg6mangJ0*7KuHtcOY+!s(ZR2)pjRxO!X! zSh2(FR(2N)dMm%{w9a`Y%G;uh;{1iLe@Y*G3K5_{UE3&y0w%#x*j_Q`HUMTTCE2-0 z*Au7&To=bBWxc_RJKvunXU>ItS+2aw%2(tC5AM6XtT)}QGIn#KF>>La>7tfKPI>Qv zqk0ipdwQ>H>Q4r?SAIJQjc*(O`v5y&5ClUQ?S`py?+z73Lb0u9cRxb!^4K?{*LVc+ zR6H6V1D~P3j93=Q?gN+wvVMZ%)U{lo25gxMx?WN^oZ8WEEluA- z9UPhy&x%s_NCP5q4Of`h_AZ6=J`vMC&W{TjCWmRie*Rc{;KGVPsS}7@>t-Zl8rFQO z&EMb8_*}aM(#3=e*B+FxE5E#<1?c_w8y3wq$kaK$B9UbsEQphjW@`=onQm=*eY{6m zw{<4t?%@kWG%LGvNd!NRcJA!9Pc~(j=j#<-4Vp8}(5sL(<$9iPpdFGA*nwHK1G5LK zG%MwKJ-NpC+y3PFu|thsyUDB7tJ_I&?Qt6|Ez_&pZPTmsYhL2zPvQip6Gf**E!q-i zE2|dQ-vkivums#(`yfTKCVh}uCiHaBB}@g(j!_N9%=mT#im#+}+Nh)e()AI&x`R95 ze(kl!d6@v%3G3bCq#J&?&d07oo*wto>%TMJ?zOFhgbt%E_sk z7%8yIejE@+vdB`XtPdJ<_$dROCcHI-VG~HY?2Vm}yLAFoY6jW zEV2IbDRu834CS=o(#v+Ec-E0_l?a4!e4U^ru1luTpFL7FUg`1`2O)fYs&8qV^aB4b zWkI=t;YuJe{?g}IzGJ*SGW*v7N->U){HqO@kLpu4 zHfvP@mJ$-4H*iODA9085b+QQi%vbcW$GPyB821@W_riiXj<|>=;TvuR{~7+} zzz7a-U>q`rX{nZj1AqW@!tf-!C~C%scG`ZrK{}AfS=g3;In|ySWT^SjP}l(q*5vnu zw7x}v#=LnacJ1NThTGD?%e%|258steLm{p+)}Nw9=NcvoI*r4^M>#aJm4l0ThKxfQ zZz7)r)dy!c-&eF(ltS;vK__#HoF?~+LaEqhM2{<9oA_#rIv&d|y<4c-?uex~8S@b^ zsf=9e$fji^8&7Eco_qAk8EjU$@g&@B+#wRRAQe)L=lqhRkah7z-|WqKvL4JIr~Vcf zJMI#tAiP}pos|H7gRQ>De9_1{vs_{Qd8pgWod+!0j#$4|$5DH-hI081atB-uUp%;- zb7mY4tFW`wL8%W5qn2H;1Z6RuPDDa)G(+i$^t=;63F*tcg&=Z_gS@mo^ps(q$nM3L*}bttRPAQ2 zI&0^@Ul!*5gx7wE->k#FF1kFuzF-6fT~cVte_)$>UWjvT0B?&W_M5cEY9jU8`jwdu z>%B!ytPD7f$qTea*Y-F2kyphjvXIdu;s#{AE!0G& zWVZ9=v)KW;@-WA4EmLu=`IPv`#SWVuGVC0*E_w0mGl_Hu9W9ujDm&an!!LQ|j1$Gyck^WsJPlos-M? z{;^n9qGj^YNMp$(vG#;~N`A%n3!u78e_No*f#sPZ7ndO$D5f;oc`K&G8eFoJ_)g4^ zoi&pYi@Z-5DQ`SlrYrkQLL!CB3ppg5teMEDQ3lN_!YUKL3zJnUQ}JrrQluk-naKEt zqK>>xv`r7oBc3SGJC?%Nw4^FzKPE9fDc%$7+GRp)lv9=%#`Q4Bl`vADJaa;b$Ggtw z(6zx&b@!YvY>CW?##rNLo$b4^PfT~LG<&4`t%8%P(0-PoSMgWU0z&ShP5h59i8XTA z{q9eaba>I$FOq#)?5A5uV~6jmk{71zd5G?IM3TCFOFFVxnj^XrxaVF3CnSafHYdN&W>4t?zzp8j|7>8U;-=2yGJV(r z+{uJY@skU!)u_#VqxP|YpCZ#&P4e0(TH}nRDYkaA%&g*-h4-GQMY{@@>zb^zWF__D zY3}khB~WGA->MN!7Dd3`bbz>lYVokMuHBtnm1_o@A?)E{I)l%&FV%aqJd!WHT$+)K zJI~9_bhj0NKDx#beBZDw_FAzciyD2TG&XP6dJJ}H#9R#|)t8WHk%>>55jQPOH*_-P z8YWKOl(g#T3D+w~EkJ692pD&Ow{&nXS;Bjq+ufB)%^-m&E&A~@vK4x6q}GTws%T`? z_1!#Fuw*s7UYi`JpVJ~z(-&A z?;|#4lQARW@7DM2_~l58G>K1W#tBc^oGY)Ut6tu23^2WzaW6I7ad zM#tES^EB!lk1@%K`v|0yQ7u=klJEs(+p*(f!4+Sr;+5~XoMGpuB(ewP#Z(le18$<` zwx$?!+S$`uSAuJ2H}#7K)5m8RAbdHAvlXfS8M`22y^6o0YuILU=_S zLrnWA4X)WpeZC~}ROJ3Z*NAxnrjk@vB_*Zr%w*1YvhcoQFos9~W@o?R;S&Xs4FMK? z9{ZT`)RfM55Bd>N<|^uWP6*I`x0z_r*1-K#fPZ}?dC`b=($l|Hsxqmx&b+Vy9Re4C z6H=+*ty#UC9B_raPOtc*0aiS(pVq>r6qm%sEn_^s@jOa#MYutK(yhwxwmZNHguI5( z^iBuF@4y#lEMg#_29nr&v4EqDpHeHG!TNbwUF1%pzDk*&u5;2(o;*vW^aL(;I<|Eb z(H#|6!pV*@xLYq@>1$<|8p8&7_sP@HzOui+8bo&8;^9}3$i2RgAW7<=NVweX|Je83 zk5=!CC&wvkOcUSwRJw(!RVP_`gQfasH}Au-T*6gu4^G}$x^(X}b5jUG$;u5XwjpDi zPbrY1ghzte+Y3EM0z9UvJY#BBb>=%KMiX9a>>qL2#aY@zN61H)LF3X3(lvb+$3%O= zWqjWmXpp$4^0bX}XWA1oa+%czTs=Y}iqD(MZ57ItJwBL}ahbs9m^{7>r0owHr*L16 zM7q0%i+}wfWzwv|xGJz(fVtC5YE+)gxXM2|np;-+%73*E&dKfYi#x9O*jvq(aAKdy zcfl_BEyYX5&9Ho9EYAq7-zYx!_{{Qb&g>fNy3?}M^UFcwB8ygjbw~n5Sb4ug2`eG< zX0s1r^era{234JLhgt#4+F3P%Nvo% z$1hoWch@zTn0=764l!yEwyQZD)U2bn2?)rd#8Dd*kRJHBC}Og@1ENXJz92LvqZM4> zPH1)w0nmM5US`g}Z*QbNKQqy(lzTR{@<$UgRH!F0gnSAhG3O6D6{0=#&XJX{q))j% z;c{Oy2_7L9n`dO$LQ1ewS!?vh)i!k8c)Un!J9{=;;noTxY07Zus&N2=ue<9`F(Xz& zoy@{5w6pYEo&Npfqm@dbivX3sqgu~q9AbKu-u$0+#5yD??HhE!$DSXIb`xpNyWhSf z{O%p($abgt#T{So#(z^$v8SHJu*GIEgh8E3~)FWQ61;rvJWrxGo) z)Ns4^mS!lAqy@(^O6#f^3sulWol;oYUx>3iY5ka*A5XO+d_d%#{K-$p2T8k@&cC~- z#XqjiBvP{FFG3l4^AUc+IqlipcMNk+Fs`}SsA!C9H#1*yl?`(j%V@hXwNM5Vb;c8i zk(wXnSHg~)kq-C~=b-MNgh<(x_`+5hv?b%A+`Jg0rf}K(`z#18%=toO0EKSItH z8wZp=Aia;X`>1k-&J0LtM=h4Ev^&eEjHj3@7g_nM_*|=t!rTJZ;+j|7HT5wnI+N&d zzV#$b=hUBhIh@sN0k8nqrc_=rqqJRF14Xi1n9t+UXl_`fr-XXl!7Pm58At!hyw$#j z?63>i{=Ayc0^*m(k{XMR4a(;#ZPJ-#5QTc))J{s=b|2?`d%_3WKsT@&yWl5dZ1Q2! zj5%W2o6Tm=x0&wDF;$3dV5u-!Gw0%(0u&w zb4#}M`<+8Czk7~xZ7PMqn&fWlOU-4;w7s0#rIYS_58bb*-@Lq)t1r-*Hl9-XDoqL9s6qZ*@l=NN8 z60ZC9&68y$4iu6lEU7%ZJFXY%_N8JRMxDhBF(;UdKWVpsL9DXpfPF50HEDDoHCxN_ z>T=uiLVrMCqHzCWj(lN@3sIyz`HqSsCoVTCTzBBAZtbdc-iL^6x5womV)y8Lc7@~! zg)aT9JXSh?Avf%TAru9Xi?yq0zeZEBe5 zr@z;d#7=H!mk&HIY+`{k%?1WoWb+xsE?=*p*kc!MrfdLy`ezK=Y zy%(L=#N=E97#`%R*^mwdoTaFYf6ia2Q6}kr9ZnejcUmSb{l!pUyBh@06|%q*oCbi= z&A5_fvU4JsoF*dq-Qz%4bC~sdgtB(^WU_%?OoND15wq;^RTdb>7ZG_2@Fzh)2^CZ? zE70%1#;X+KfX%AZx=c`F3ncnf`hC{tel+-4w_RL%yYG$ieMo?h?PZpf8O(2C%RcSq zfEA1dALBmbiliL}YFtd_o1l2I@-%+zJd|lik=v1s|C%;?S1@97kaW1E}c%Q({r?nIUS8ZbW^_Xh}hie z0>JqLqu#8t<1_~BEDUDlB@<9J`Qa>fe}RmGRkn~?;`#vW^A%!a+x$1~OrIy{_@+ER zP+{XgJO}bo28A_iWoBCdN8Ts=tEJZ+9!L|D|JQj!>a%&}?b^v7pUq-g<2J8cIgkE} z4{NLh2437XQ?-x6;>2TVHD;jH6+%#vp7H9#uqtE5?|A+@B8-JCKo7@zpONGo4~c{V zLl{M@W|}eMS8VhchKqX%iWa>W^@Z3hm|GkV)V}?;VVcBsWR_BGWx^o^hf6vR8!r|6 z_wo!vQo9iReD2KFF&|lx7B&7wVQ079$GPW>a5o-ZIjdli@KKt1C+k3Vrt|RtycPj5WFkYFj#F=1y7{BAw8u;SJYA8BF zy*Ako!#ui59QZ>C`CvUL48Po^vOjOaiz6dbG1YPOKM_V@J6YevIwU7HS{rcst>3<4 z;*Wbi?TrN|(5G)5S$vI0_SRjoY@td%+twT6GKX)cEcljzE6?uv=^7I^U0M)I}bx^? zu0NmEk#_m^IFQb|>V$=8Bo^HjS6&?nhVLb`@zo#NH&e+R$~%yHzYuBD1%b{ik%uz6 zF?|jj-o5)0B=9lCea83gzvU-oz*Dd?S^ZdC+UhQ5_`OsQn*~FT`v&cg^qzFt0dd7+ z&^DcmU{yR5aD_qoU@N&xfkOE{kiK&nRx zBdM=mvscAnc{E2mZNCNPF(_}q#O;0WEi0?`AAXnkNX>MNe35ZLik+;u@||TVoou_I zEAD{f;+yq@`6bXcUUffq^_uHLnbK%BF4(j8@%B18@BY<&EBYj-cIrjo|pFZ3lzp(OX3|VQh`@%0`!ZA8t%km z>1Vanmg&=ksxASf?)6lwLpdhfg=U#GdG9ij1?{L}vgbq6V6U=UZ7==YkCbrOjyMpM z;IE3nl!XD=yeOYzAJ-@C0jSb*>Nf-q$iJeILWVL~@Q zJbfF*aCG%}h7hs5+t|t}ffoC03fSwDQIIO~>3 zK1lGpWzw!6fm4=qTKfg-f5W0o%60_sHtkMko%@-Zv69(i%+31y9EGq&W#p4t2T861 z|MAuh=J<1D7-UIx-P7i{ccfD3u|YIT1fXCMv6oZFl#bfmVd}!C#nKPFHT*hm1X41M z0OF6TJX!YlmF1j8SQgp?#A&}-X2kij*^j^@r!%)CHQqY04I_%Xchkp zVmFJ~6N;NMjL2DcpBg%RfAF*2(7T)D^auu~fyo{W)*2+{K5~+5law^dLU?hAH)DUa zE+dH8rrA1i0CUyxTB#~FW}xS#8k^D!s|?ojip)bzQP&NyJnvdwYZu^&kbP$uX)*?m zJIS4#RPjTqF3GUp*$aoA2U|~oTZDGGKEK&_;Zp1ci)~)Uo2M!ZF)9X<^Wr=FBYxk* z{d@6uoV@P4vF5K1G)yL{kv(J#D7qXtM7Vq=wJ*1FBzq&9@uQmt z9(o6r=Hu^T*EDM5d+Y=q`@wa0=81dt>u&9W3hom-Q4aSS&Q-oId)+Z|U6VFiLlnVW zi54j_{{XoDgLg^1L6GJf&%&9TNznwtXXtxSd2BtDs_W9H-Isjyb`{Qj&hd^W`aAOtV_l=!09^Od;cL15=0R zudoXUhjr={5tQhy;^C5o`)=GT)X#api}KP%O$F@9Ln@MrVoC$!w?c?YUHWM8EteQ8 zV=+)*R}fo<>r1B6pLc%@?2ZcxLPBnx_$4c*(XsZ;Lg7|p(Kv=CM~3Uuklec+7lSc6 z#7173{h*~Y2ThY|rvBSOHshw}GRI`azm(a4(B-GM=Ova$Jx%8`@_S5LEp*kj8gJp3 za2k1ndeqRJF|~HPn8rRdqZha+9!z3AvEYc7{GMF(Q8}lZg8bGURGA)a`e5K;2k4SP z>8*=k8yXb9yb60~LpJ#>*USTfM)lxDD}`|ja7q>S!Y<}R3Fn3Prr;t9~J782ZmDfNo2&aRA z&4n!{-_w#LI68(Cw(ZcvfkkOtaJc`7yEjk5D|Vzi`$D4 zH*2iEt{C+_2d@@&K0KkBVBgG&#SOpD|FXEsC~hWl!aOmSp;~WX^wxbM{0tb&-XbBW z$0!F8%_ksD1gUshVF#15*PMtFvWc~Bk@lBs`MDcnwOIF56S1i*-h}lZYf+-Q-`DJ| zdJJdkPPLOZ=dK~EpI2?Ck?Ocu?H#Ibl(HMIamF0F3!>2uO~>nmr%3$djJN`UXxS6{ znr(?*u2H@2yKJc40+i!(+v6T_J)BMov8D=gL7OBRkUp>ONZD@B6}hwiEFhIb(Yazt-2Z@>3P@Q}6IP)!GZPm;&Gg9LTSzJ91Rd{!;pf zBnU}NHZSKt;+@W3y1VzrWkqPXJGPJCPYR1r#wTvFoTR2Ho#K!Ez?b6?A5Ayn;(Dr> zf2zRGAT1o)Fyh*itV8F(7pxWa$;WxO__2*(K0w(u8{bSSXR%EEgG4K*CqK z#%jQ>k1MMs61noW5D4BLDe(nCYg`z3730WX5LRolM1FIvr53(i<0q6OeIq%>xu#Ei zTZ4^C3Qq12H%hCZ|Jni2Ff&By+Necl^3QaQ<7czPybEl8RdQA4SJb7pmVfvjdYo%U zJV=!txC#*H#}m$dM%nU_mdMO54h$q)tKrNN7Rd27S|4^%x($6P9@kIT8EkA)nZ0DK z;mMbS(OC=3CQsXe);&vZA=ugT*lP$zs`cn zIGpImVkqO{ih6XK6*<3rkB~aTk57Y*$$-LIABnNkJ-5E$%r&|^x76x zfm$zamwe!C@KyU@!ym5^>d%(gO0H8jlUQNxSH7Dr^r(1*hdj9Siqd8+Ea*2N9g+2_DNW+GIOkdn} zaE`Pu4l2oa9XYJ|csgEqC?>bD;L^Q=Bc)51t^8U}J-~pMR=74eKF>b~%-%zj@c0YA z5GFVfE}uUlB=f&O4K@U7OgmoB`3Y*M;}x+2oYex}5(CIps_hi>RmsPc#q4}UxI1o% zyFwAgRr1odtuSGnLPs+ePLLXkVOpc!R93yKLLl(Br}pFMc{=|d(q zT!gr(5>un&bzKZL3;e;_2E~iFd`r&lchsIohYt9%nLhmvIO)t+mZOc2R-Pv^-GiMt z%#e-S*a+AYy=3RdS;Uj$U{%7{nkWCZu>Hc;<9kQWvHw1{Cudy1_?s9v-q{EJ0W&18 zl_0}rkw0uRgT_?!2B^08#ezJ~1{jVx5;~Z~(keP9DozLBW0(V5#m9CYSOx+1&$?|~ zWhH;yq{WK@r4a2@P`R+?ca;I7cKyQlR8vJ-y3L{)pOy*iUKiK!v~*M(9KmS_W%ChS zzs6o4c+#t{RQyekOzFpRgU-$NzFnv7nm{^Ue(pI*@%fdm+1}}0je&}p68Y+A)ZK5o z!)q1&zqSPz+7_7&FWb<`F42$Q6<|LLv2R8EqThK=27HNQq-NQzlVIEs4-ts>)z!<- znSHTQTBX(X(xgz9@sfywE4=zEWw{HvR^+y2!nT^a7$HYUQ8tEOMvo#_Op3|=XbY+n z>IwFQmkwho2k|ihSJGb#gT166_-9HiBPl7YSjGsA8ClWG2VsGSi7r;I;weam0xMhd zV28+i>qP1^EJnWau3g0#-FplS_xl;MeyjvVga75klb#<_?>YH!F|$<;k~zn<%tY)x zb!X*D{lELUbO?(dBs-TMAExZ>szONXD3y3aEV25;G;ofDfh|a=ez~y)%s`@_x20&yYRt9wm^aCK*`m zixWuh>V~Z$UT5W6s#kbZr8Ny`3j?IaNoztz%Bokt7g+%@kPUGH6GgWa*y zF2VChF9Ch)*%mH&o=N)8cWdOjsHG?(`Y%Sav)Qo=)NZP_~;?Dm;u&Cav|tzVw{t2Jp}`l+L>H z=V5?C^i^0TR@ct6VNLm)Mpd0b6n(ZXR#oMVR1i5b^z zKK?8_>@>!Yy^!br6|Raq118^BcCIqEB6ChKmX&&X?t89f#k=Fy`#bI@fQ#G!m3T^?n<7P?YePrPajMbIoP0%4e9;dNJtO?&jEZ-_DZ z3Z?BwZgDlno`Ntt?$Lq5caQU>6jz8(oVlrNmFG0DRlYI`3G@`O&kyVAfNt$Pzk$dj zD+VbMTeiCKi;t}pC&jSqEMd#%jkuX6ig>cKp##67WeCdZ zgagLUAlVU}-kWgc`!W6)dG3~VL2j?t=|Y&&Cy9viNf9*IOM0NT!>hN${Y0jpOZP%l zI9DvZ+UPBtE`dM$g0OdAoJBR$*$1k02nX`XC%4BWTlAM^sDL+6>LqT;Qi?%*+PZf< zBO#xNQi$dW>`vR})l(~el-JYOdq!vTb<7EmSjaBHuUu$cyNu=<0GOttvTQMe z%>wdp0@&$yEflXGx$NIS2pH{BVZ9F4z~nR=u85n&G5Dor12AvRoku;_yA-e<)bt!6 z<7k#P(;j8GnukG|!m)m17x81uJOw-ojnaVLp602X%A0kes~Bh=2wgrYbT(GLG`eB) zp^%1FCCOR80Lu}Vfp8bO{bR+rVd1&@;(?w*XYU^-Re8=guZ|oNm&Vqd#R`{z4a!BH z&4l#|okE``Wq$OEA74oc__HQP2kAC~BDOt?XX4PI`$+QX2`o=#RxZIsKyH20b7lQA z?!xLV8H?w_MP8xjM?|TbG-NT2s3!-$s1O8I`j?m_5K_q>#9JMVj<{l9q)auc$ryp_tuHp+y&0c3+h1eWh8i;oNtmp0CqzzEH`YACOzG_RXo6 zUy{mCB&d_L$a!H%RMlQ_;{|DOc5bdcLkkb%LyY`!0e&k*1?J=w!#j&uBi@Z2n55Nd zt1$+EIuBOI7*>3DJB(kZSnP1D%A{k!k8U7#D{f%H~4)&05^mSYQ1dHXKLX)3% z5ntf@JJN$qW|qR={vT=Y0gh$g|Bv5EWu%O3S!HH#A+jnXTej?E6D}j7i)@)$sU+EZ z@60kow#8!CDLBJTfjjsn(snwrZy$Kgm=N?b(TEmO{H+Dx zBrUl>zktSw$$JRR;P#!f@(3TO6lyiRWZ^w0fmd|n!%hT=eP4#S&OF;hS}#|DemcK9 zg1oj2Al050=qKcv`DhE~ae^KRhX6OVFCVo`P7>IocbFlwTMw{ws}XU-4R7+$Im`2e zzNMT%8>hf_H zYhDT}0AizJZ4bvTFXw7J{>l=ofdr&}Ch6Jx62RB!nmYJik+!Uhwhs%3(s=iJ?bLbq zi9XDVfwr=Z-mSftO&vcxgduBL`-tg{IapZFFK#nC4+ziCA}{iu-fDM6Qpswoe6b_o zfQ`h+@QLYbR8BL}^nM)l0Pt{knhf1WUp*I34%uAn-4>b}QIak^S7y>{981E5qrzy7 zNU%)GYoQ)Sc@nD6n7o9GI>BIyDVAHxgce$HW6p7Z(%RKZA=Id*iAJBRBsRNkAyE&z ztt}QK+7pnvcpZ$))zkj?wcX>6qKD$4j-kbf=0Qd9>hRp*EDRF+Zi=m%QwiBFv3NB= zqmCEH1K?*=*DF-m4J!j~`zaR!RdUL{+`Wrg)W~0G5@l90b~lIAHn7+_du0R5YCa48$ac)ow>F};ihZhKOD40)Ag*rtzhFMuX%4rhAV=O^HIfNPS zxF0>n>bu1YO?5JxTOYP^=aP%MDI%$-S|N2U?9i_~;m{%v3LosKi(Q5|RO=TjJJ@ru z^P58)E=;93R?00j@b`!`mjVV)wM{Y$dxp&Bgftc7EG~5uUHx)xayb!I_^uDQ-7Y{S zR?O|uj$)J9pDnH?ws%@%Rk>*(Ls1LGnCBFZZx7RXGmct-nNIRss+3T#m3=%jh-sjKI^|*(+UuOT{QU-aj zfk^wyc$=S%g5pc^!J1XHR<1wu6)H)$1=u%Xo)Nce@PYlP{OA^Pc;1TCc=|g(B67s7 zP{>OOmy)JtTzPvJZP-Gs7+dsCj)L*v?o$F4A*uE2)5JuD$8IJt*Q&{mLer_PdnR)k zr@oRdwUV%aNWSNLgvpbahZ7Frf$LKQfi!rm=tb_3S=wcQ7j4$#47QaE7EsT9fVQmXp%XO`-j?Fy6M2>Cwh< zrVhurJY@h4=lcBoLD_QFL`Gl`7)mNA+zZk;0j)khl#`dlQI$fI?;ehzi%K>+E_o#n z1l6XAW8UES-OzbHGnGTrz!i0D4Vw{bd}SM3-qEp}F80ksf;3K{u^1gAfQpVAc!YFU z=(fA_LR`wS(e}WvSmIAL#w46$@@78ENYO^U#%>nl5TUsLMr1+XpFD{*2lkB};?^J@ zb?-w3NkQ;8>PQsY+lS4sd#t6jk)5rbmp<0_O)z!KhtF z6$>&1^KveruE}A@h1v*=@a_6sMN}p{4C`}BWt#FJDNY=Q&Cs=&rhU|ap$_RM)p@3T z3Hy~vg-eMB=-W;Z)t@L(v7L;&Ydb=e&B;-DU4wg71O)3y0+`+m^z5w9J*CdNv4;B) zp{+&T;mmOiEvMH8!mn!jHUG-*jMyV!1%}sjT?#KZksJEl z*P_MEz`X7j(+X_orGUB9UL9Gm0an8{xlFcSCN!R$p`OhXd6Q!JY&k*Mx&_CifFr;5 zReF`|Nob4;BGV5Rnj8AUYxfF_>Ouk;2!@k~MF=V`d=@ndA6e-&Mb|XHG}hVCwl&z@ z20VHk{Y2UnGQWlPI7R28`U?4*Q?$o-zqaYV!l}4p#=EXf+u8pWSZy6`T7K3&lV9n z=$RY?1at)U5Iv$r?g*-ciK{7yc)&d<8#xHJ9N}^vJ)gjMAJ;}w* ztG0E)Tl$Vuv7u$4jCxLf=FFSBJ9XFDC(`O%TeE=#@r|*=>j+Oo*W@5 z({(SH@e#}k+oJ24E}E&!dG?FgsGZFiHkm~bn+xw_g>9LZPid)g*wwed9FmVFGR+zaE{C5KnI75gVQ zS3Q9{R_D%lH#h1D;X~Be%+s(9+4jkldJ#L0h?YU|@hm+nHb|zbc zHwbO}xQ7UxTnLOl?_7D*tVDbl17wbZ#Hrb_dE>eB?J~DUl8J0sYVQYdiobR~4~Lt< zkMH2ULLog4!g#_4r3>PnOGOj!$sf#%O5 zE-sD-4z;XcEk870(p{PIBmzGOsq{Y8*E}pa*`%c=~0GXZ4lENhQSVI?I zC&~<)EXeF`&Z?`#%}}SHYWqls7EO$a_ogl7)OT@3Bk5r)A4JCAfiJff{awy&W@{p3AouKag#$tl#6ql9e;DhUgbB1n62CZHJ2zyr|7}MsP4yz4DwSN1&QK zk=dx{ChH*4pG1!}@h@6F#6?6(0wur@miCKa)=wyP=RX510TQWcg?iLhw{jdsQ4FRmZ~PvY_Mw#7yiT!Kc)vT|3$T@4IeD z<1HF@0@^G_OX4+YfA>_~q9cC6^;wTKef$Vq3qNnvBSxiICG0Orf0>xnC~acu9gkj?fQuI1@qa`jix5Iay?C@&5yF4!XLH_%G#j=xWE(%bxlCct@g%vC)5a z<-QU)G_77d9|~de7&gwlfcsa20kAMrs;h&|U0e9V%>?(V9o6N0MJz;pllanAvQzZ z_-)Y8xy|xf-~FxLNFF2PucO}qmj z{BFc?7#duh1>2~J%RnOO_FT?;5_Hm^Q~fc3@7CYNg6@rBcA;i ze5CW=8KWurdtKtqvHl)O(Kps~1K{{J^x;%WhV*PsLS)3ks=~Kx`5m4M3HN0=_8dKCn%sDai6l!5&D84>%G4-1uew~;h&=} zTuTBJ^5wlk7)~TWJ30XrA3TO(z@oni$l(O&L48PUfI0I5^diI0d5hw+sljbd5~6@* z*A0q#-4LF%-?N~(gDMcoS-Z>J(CJ4gcnh#0xCw1{18V*da}PBe7*!Xs3E4@qS70bB z45ATkPp2B{KdJ%{^SkWevub(_aIKROOU4E8TjJ^DtS~T~P~T=f4lC60mzvfQ&D{s! zH4nidH8THCb45y!h~f{S<%aS?!69x*B}^5bXh!0}8?Gtr2Z+7|09JiONa=}U{)-KW zO9G*r7N81MeUS{=H}#b#BNihe(zHQcsb)Wd2*Rj(682o&v9#TJXd%(D z1KFb%l5}M^;oH4o9ogv=2Y+Si$Qk^9{vx~zSBAr*K=wQS`>``4ZpO)<2VQ&4=1twl1+tMb+2G;n!Q*gM=5QejZ8xg^Gi1S66cE}UE=E)H&u)V)4$ujLv{0yB#*i&w z3Bo{@Fg6wfM!pcL9i4{6s{KuM@dr~FFlT{Kl5JeI~D@2?=Sp#I~O@<6y zx>NMC#$m~T0gtpYy$)CRaskC^`KzaJj{|umTF4S*`=Y=60|)o(ubNko_;pB`74UBl z@Be&|^jNM42)KGaujYtiw~-i`)iZ4rx6fYd3kB#6qc{V$i` z05>}S6Z@X;5!axDh1>+TxVbBYp8q&I|9piWq3Ed3s9PTK0fc@WaDg4t$`=3izr#Vw z4jXVX0v(nvv*6qm0K!L1Q*GpBIqdwsP$+!=$=x-gx@&EfKsNoul zoix~vyoqzj%Xmyt_sA6D_b0^Tz$I`JMe061_n%kj=MAZ29JlXB!~gympKl;H>d`C9 zdDK#RB3X>*_Vq!Aqb~6GPxK>35>!ShQu6=20sz|Igin|ai7-$T0Z_(9-^%gp3PHY>M^`p^GmDOt&3Av)yLw~jn=WML^U z5r=af`H#Q9$ngSxik>uGZ8hh=NAF(&$Q21K)#-U&N5q}KgPA6B>SfQcWrZIRTU6(f zo7gy&xd0*Zzg)GU4{McTjyFPH^aU;mubc3YR@n9HJ|IYx9HK~!p1#_Ilkv-H=n5F?9S=p-nEn4mHM z3_{C4fmb>Y;OFksPl5J~`N5Cj2IT5L0bRk%&v6+tRv`jvq1-(E>`70B=_#;fssca9 z<8?BX0fcH~%6}E<>r}cvJD7Cu;mOC&<1M+6MGYUFqmD2@GBMoQ0(1sBVY=!zm7ie*6)fIRY}N<;W@D`uCL z^aPPl8y|>vyhL45t7wt9wrOAT^%)(!3mawyVxf)EQpld1Vatg;VoyR+fm`A1^H+7< z-+NL@4GXbO|2$q%unWZ7SM4m9!v5dF=Vdnx>Wt)b+}$Y?~oXk_TM3f%x`X#n&P$T&)y3cpp(>#{F=%xR zVvLWGK2eq}%zP_c_W!qb(_(U$UT-{G@Ul5NDQvJQF0)b*S4C z=N(4s*Q8R6A6nmp@p6GS+?R!yGg8LIyJvB1-k-GVSw7Hfhtq0!WZ=Hs?Hh0vL(v=Q zgDOWnmbX!G6{1bUdB4M)Gs|;=-U+&^*(bXoyYz;^cLu1krM}LCB8}%y&Gm z@C)p+!c%Dr=17$wbnkb;J18TyOab3-Rhs>ZQS~XZ6MGgjw2wFu{uzf=EwRQh9Q^O` za&9)|;d#;Dy=jSDunf!pzY7L-3L+s`po{<{cL$ywXgaN48hTzmf!RmQAbtroTRbrw z+Pjr&H(w9HwuWT6P_o20ZM}CKWgpb%^Xs42SJxX~J$`T~bA7E>#X7tUfQd(ii33Yim%8 zJH!J@a&Z;lcJqOONISezy&ZI`bsp0`Y0Nm^ba9-J^*q26jr5ssrrfFj@#WGUc&U@{ zYK;J7sKPON6f~!mK#&2i|0OYavIrv({{#e7UJDZ|OVIuiWTeGD6HX<_2aJZIQE04m zK@t8;K}jyTJ>oodr7JW%kS2&~Oq=E6x6cFJ(3UWrgac+1cny?7T^`z?0+gg{7A~j+ z__JCchHBP9u$lV2wGBKD9z?KP_{!}Ee?27l(y%|zJy|&dCt;WI;g8`D71Yqg7zSk_ zL@&=^JQTNrf*a1T&D1`Si3@K??3K_qaFPQ?(Q*Q!Thbe}S*m?=M%ympb?HxbE1$Mc zaKR>s@43SSj~hybsLurFHAO+PZE^4@@P`TJ#PgIB`C4=wcx!Y~8o& zbN2TE14xU%)^@n}EL>>p?OZRL%V@*F7WXD>wc*;ubpAsGaYaKWNb#Np#qW+N{4W5Q z@_PrbL-T!5d;MO|qHkLiuzjCRFYAI#Re-+t_Rh)vuK?koY_Uv`?A^6npw>R)m+?|D zD+ba0E=$}7A^Izu^)Ux1vjg+6biOa)>hF3EO{^JPkUW6Jkm#%BEmKzH$s`v=h3hP6$5d$ zUP=q+)@NZ;rm-2~TD~U+fR*)g&L@$j?1}`akGmn)b(!m>F!l9hoG7Jz51jk71|(Aw zzKKcD>>_;IWDEE@mHqRVw5`ULgIp=cgI?Z$p z0t9$#4G&5C$Zv?YF11PH=9Mi9uGWLHj$3K40LdtupL_8#yXe5^T%juX=c`8VV zNB>X?;ukU@(wC)7jReO_@=7J2+INH*96fg~%z*rmOeb&??4a+a7Gp3DYxK1Wj-I;r zR)WIaj#78pVOYamo^Df;fVql_P7?QUwjHeu4bmkHzQ`+dW8GOT8^R}N)L$%}^7SxF z9SL+a(Y1r4XRGA`&T5EmywINO&^&5mO_#jk8@`hYZ=?n$oJ3?jV*AVBrKq5G5Q-7l z`Jkb4qRA}dv*e3;LIq~Q1+}JzxPdR~m94dnwR0P#^V`9WnL&<*@}jcNh`-6Q^Q?fl zuIt+5M+_}^x-_gC~qf9>Q;z{C5bSpeq(`_PPVVkBDZvcAS)<&xL?u^6yr%g+rmQ#t0yeL z)r&@ElGVkI?9nE%W%%Vg!qiJ>isl;1Lmah=+i(0GiBy)_>OzB~?}#y$74keNTCZsM z*^QY%5P%*TNfKV=2#czYCz<9E!Lc)wp%jWv@fH`Rm?nzX{6q+k-GqZ*3DN`thRc)< z=wa!<+6y`{vL&!@YPe4H7ndgDeeo1OL1h@qQu{i{9g+iGNAgrjBOeqQ46L@=dY~h2 z4t4=^b+=Fwc+@UurC(%j_xG+5+wTtV8@C7^)HLZ#|C~P9N4#(LZT*a8IcvvT!&D!G zwyo})J!#Qe%^A@!_qg}Q_~cxtYhR%y{~+gYY)=o`8`aJh|+4hql|kEIun_6HidUDhG9n)VPj&zHhnPJgXaPbLL5uUO-sjixrNcxzi=*gRCj9$wSyHBh zDbl`D4;o?fqZc`t9pN}0Qy-pV%RZdHc@0Nl%J$)mk=LrlW!Ep~*v^=A5q&3MP#Fmc zmVO8SfA#=X3D&Y^pEhN~Hequhp(ZHl$meSNNn?&j4(6w;k&f$P&mYTf=V9MT*vdq>kUU;y->*N2UPm1|7d9 zBZ}C^gi^Vym(s9!i6$?P6dD0h%~W*SV;(fCI562VZ>fa(XS30RGwPn3mPNT*p;W0#l_(_ zAgj>ra*;mm-$>sx@~HuuW#W;S-0A@m+k=1N&g;>3G^M%sNZ{gyrYX`I77G|t-`GTK z-&!T!obIJy0J!_;+el)2h90qlow?8mi?LZ^>Zk}FduR&H@j&blja)xB>c?l)SVFUA zsiPTfZuFe8OA(Q#yvq8%665W&`4V_}?w1!5%uZuxsiNgimMeE=?SQ%cK{> zz0mtAnJ3lW!w}P0_0$Zp35AtzfIiP+eK~`I+?~MdWeG&`@s7piGq09gNK{H=Iy}8$ zTuD*OFc!#4$eXXYZ@V~0!OJyeFHSWYhzVU&GiaDY>sz;<-tOUZUnp{Wx2eA(`SPw| z`}+f!=qDoc{k4$o&L4}QfVElcev(V%Cg$uO zW9sh#zMqNAS8Zs1>$HzI_iXJx@G2NGTJZ_fM8^s3m~eZqQ+6=AF`j$j0MdzAT9OW9 z#`RSn&Xc`;ML9PSe2KIo|4rFXC_4DF`$BZ;d zHc*W6U!!r7%|268>w9rj_5e9{34^|$6flw*!QPhOoAF?w5el~nicf1IuBI~n639ZU z@C$KL*i@d0iGWq2PZN!JWr_^V%W&kbLN_}Q<7vGDWJ64wdFAOQPHY3U`0{R#@Yk8&pYT83 zzP$1V=U6W&GezwP1sy=z{>^`zfQZm!JB>r3(iKir7P4@)3Y!T=9;rLi#ZcFJ_+xo- zT`(To_2c8}b#UdJK%B~zqTdIVk~inj^|p~=q9b<8n$-(XBywmAY`H#p#3TNO;m!^Aux}1OAc>@`H6Cko zk6TlVofbq?!Mb*~mBifDxgyIHQ>RRyX_e)h862KBMObME*B_{6T6fLAgASMgb{zDl z=_BAgb-H)&D3FNka}I2S!#A-Z%3G}jl40<%+yv2A&yOnrj zrr%fsJl?Mwh!+CT1WA^nVo^(OHBqrXaY6R~K@nJHb<9TQpIjpk>(I2?`H1nsWl*G;D_uxR1~EECwO#05q(M+5m6QLBYL4Iy^uBLWqipEGD^b1~4_T-sS%&zAz5T zBu_)?PeB9*sr7Hq?tuqkY%`TidLa1=k#!~Ig|JikZj7_mBZVgB;q&M0t7Ju5(O<2{ zQ-)C?*gAgX{}PJP)9#9S1~Tt-teE|NiZzzCEIUA)g^GU3e7TaIWG3!e2U8otMH=Ah zzoBt#Jmyz=kp)-^@y0$L{2&!}Q91A3+?T_vr_P&0|NB{zxb+##^+(THX__!l5C|(L z2{>uTX#>$nrWQR~4t!0Isp3*ov3j#02fIi!6fxrcxbj8uid*-)pxcSQfnEOK6uVbtvd&o6xd2iy+tf9ds*!LM~78mry6Qq1_E3icFK`>Os zg1)H2gV$;Qxk~VrcgWEe7UPT@ZH>{=)1Z3F$6fbL{dtY9oEmENHc8JJlA&S?MHjf6 zQ(q!4CkoocGjv58ralgyQTA%OO2o+9dD0aY34H@n7N6(%wjx$UJiy-655z>5GdM~u z5tcjKlOYV86E7C?Yc~`gvQR%+7suEK1~m!E5}?vYVR>z&^~Q!3C2rP4_5L)VZq}8s zpP|G)%K*C9f*E!$Msx4JYP_ODWT65cHy)4p|yP?FtTw!??E#<84}Y$0~O~&@Y?V+>fEp8;tt{obk#;|g(&&VuRlla)PI)) z@xIQ4^<{{1|5}YU*VDAC7+Z27@kqv4C7XXW46Kod92mdx2PpOLb7KJJ&1f^*vj0LH zZN)bNwAzMHX*6*0OpCtmX>K{x`E|~`iYUaW1lSrw+(wwt*DOM>AwvB0x4A*AFp6mj z#bZ3JuhS;+OMgw^-Rf}0M7jm(B&r%pkA30uo=pIezui(gUp_3D}HJF0{iJp zCd5R4SqMIHboj$my{Db1T{%zuK-Ed}XHT+Tu(w&0G=J?4Vs&ztaJHPvO&*Tt&H=&W zP~3F$w$sdUJiE9KWB|ONX4d8jAE>e~H+xqjiCx&od;u4h`3=3APd_;`)&?sfY*88& z(2q!0#wuklwAs6nV1O;K}AMDo;`Ls>Nq?=l^*5r8|jMFtvE-mVzj@GH6U}Hx<=E zL*qNRblm1Chwd zWXb0Fmu(I}IfuX>hvCd`bL|2zqtC&At*&b+;n*z_&?#1uGN-u!D9sr`(xeC=&6$7S z#J~O;1E=^+4h01N;>Q&Km-I#Ki)Gf<68ZExw>KqLsxlzmM&xZQK^CQZVnSU=d_9eL z(T>gKWv>4Wf#;z*lP%dm{MjozjlY1HkPdAoYkwnOe~%P(gku~fU3_wzdzAe_&!Iv( zXU}_pDGapY7*9i={&ZttLA*WY6+RFQqmJY9xaNB z%QM_oMnnUhJ#0ggdix6#cuf4?G{@RGr9K5A0YqG__hFQwZ&l|Sq`FF6JERYI8mnZvo+VT%s(gD3xQza9s}{!A>)dW>w|5BgY$;5)*PcEPCfr|!>*)-RtC z#dQ!ysXOZ?2`!4I8rT(tm;T93$u#Sl@GhYkNhY7dA<8{;A+EDVl?ksRP1?BsKp=I& zTj$sIeJq21^fvPxH5j5&3fmhz56N_lGgr9uFNHLs%x5vqJ45W9c;+6SHwD2Yh6fWO+7P%K|g*Z0SX4d zfldvs6>LgG^a=@mxI?Ri&I*s3lRVsxFb!n=3$ zar{o#uO^uLSDNdaDoA($mBvk|PIp@CrqXBorCwYXM{vcb51;jvtBeTP_7 zPj!g(=mUacthF^ON!)&Z>*E_41DzJ#6)!!WrCe;>3J!|P5G7f~AT#TT&?G%FFF?a% z{vCE9E)?U6(@0JHtpz|Y{YzVmaD>pxtTsQ~jqq;gnYu@+omXBfzd|c<$W;bhiw1LJ z(%Wy$uv0JG9e`6w#O@IDNyxhYB6m9DitUAOnp?;YmU1O=^xzN1m(kL% z3&)EJy2UIMD+xzuV_r$15{E@|%*kn|OEhN+K_AKz0NePb1rsdrvZs`(AV%a>kgns^ zI;=vAZUGvIA-O`ZCrRTpDg`Y%&bdGxb876`PALeUV)w7al-l*!h>zOk=gq++uBR48 zvVLFSxVv2fe>&A4@^pIL3do0kws92fQ72*Rm8G_e))f7%+w?ScsS<+jy}O`b3FVWh z-vQzvYzY_uymTgstEHju&pH^DZ>^3C^L@LmHxsY;pcJG55<9tSy6P?D&Tn497>#IW zXZA9c+5+K~JoeC_LCRHn|d{xO%;_?!@Rlcgypk|@5_;~axOHj-PF^}a4U#S z)S2N(4}%P;1LtPzKjxIb{~C>O0Yop&|33Wv{$fbOA+?}R9(rQne1n-A$4$aI0x^*Q zDUHv-eX=3Sj(F^9n>LE7Hc`xSkBju_$u^(aEkwUQG=t!>{soL^)&lcj7yJb zJ3eT^j7WFNV)36dYVK8% zG}8vh=8vzHZ8~JU-1jNK<}Q)P1nZF?bL1Zyh$)hG@2h6>!fZT!6xdz({WcfgkTOQ?74n9+ zpY3A8c}vV!q&YK$coKo*X|2%i;lrRXj0M^+hqKeB1O>VZma{FvAi@V)fD6b#J)Km{ z17H$elF-7J5<(f?>yz^n*t?jA6H?4IGxWEQN6nYCc9fQkxq0XbwtM^Q?bNj$vj1vz z^xPxIPjw&LPEP`%#ur4J$D0N~y)?aP50H|{P+Cs1ZB3GUWJjs(G z5LX*t0O;S380s=DEOAoOf6vJ>X|R6oZ42+WbNmasDz%FP7#iPoX^@ta2Xe^awMNp( z9HqH4@08Fo~L4a zqag>?LgJyg$5s@4cV>yon2|4*w9103HIF@G!=0Vj*K#kUOe{Zw_;H`oPaN(&rkb-QvV0u{s zBa~D9tN#;z%!W&r#>#T6LDOPZUmjP1eQ=KK#ZNA%`Zs|~dh*A0)OGPrumHsNfdJ;m zi0DKdb`1ca$m97(-KI6TgJG{JEYhD&{W-U|ACecab^sNPj_Uk;oA$}RGJ3L>@|>K5xU#(J z5Q|m2L9KhPoUG+#w`GX1(`AVJW5%No_fotTok^k}qc2{Z5%pZ_N)ZKVlx-!xb$;V1 z;aAG-xgx{*rc`Llz^w1Y@YbG(OsIY>hG4y-GtiT)UFDwpPq9F0 z0pE-rcVll+@N#?e7R|{yI5-G}K$BiKlYL%*EGfK`b{FZLa>A$Y{gTlBpIS$1nBo1% zp~-}+{OhPcUzOTsc5I`xLL{1&C&^#*x!=G7L9X+l+EP6<@_o|FfySkaH!lQ@fhb}M z;r(mtx~|pJ6ZQLc`3R&11*hE?!FO-pI$CEtJ3D_F>`fBHM}{nQm+K9zJ_Tf?`G2sn zr4E-vzj!QD^!nASBHqoBp@T5>gKE$_ok*b24eLuuivB3{p>r0pHBqAH4Add|=PLE| zXnl4}STb8HrU3TU=#`$;uZJ7*Q-B%2D0OjmUx1~(=zJ$|h73Q@D`>3;sI^hp(nXH0YSG2BW*Tblj)HiKNNt6cnx9ff1% zMg8YnIOPXkl(tWmtp{x0Uny$O=bzP6Q;QOOxXRs` zTL+Y40|xM!t?u(f2sK(Zv(1NF*jCAU71TR3-KWZ#%50l`lE>^hHi*ah6h^>uxUdJ1 zSp^Ld5In8(zOqU4&+5CR*}zs1!So!ATgY4qtqcB=@7wOUuPpb`v_m$d-Ja_e$6?Q> zDPlxy^-8ZOtE;L`_Y?8`xGqx_%-v7nx&`1lgG*RgOynT~U{_-|@=7tTc~ej+>TNkR z_HEU_Oe@~cn8m}!+WKK@-67i{Lqno*uI&l1Loa9fTW{&G8mmg(Vb{7?unVo(>}~(a zR}PDyocwCM?qF5BsOL!}6>sl>2IzEMlV}L}BMQS%wo7ad0_VC= z6EB#1Xos+z$~ny}51-zbbPcR*oni~aX_+D-=q&KrxZuILXS8?y4)J0`cV%V`wg_s@f#VC=Ht*~Z3>YR#{IcZh znw}}+?d^N{JG*K?xX>`yI}e_%PQX<%Cz+A9dq|DIFP%1X^@pH1rG z@??u;{tAr^dE;^~nT1Zb4y|*9J5Bd?H|B3vV!nGR*0W}`6hqbTrL`3wwsF;itsX-W zLK{ZbZ(z-FpVBzJLcoIYf}vWhwa&WYCC>r zWJ`)74+sqWT!|775W%yl^V+sAts(eXoFM&as#~_>C(@$$_1KQ9ci3SMTO8Bi{qbDp-BgS8P|dPoH`> zoZuqF2J z^C5*@4qKE^s)l|m=l3^vq!6V`J#{0+D8+8YiyUSiiEj8uCGxz ztavZ*Nw~^*d>rq6=5oOK#%tK?$|hw|KBJS3A-dEU2*R%*1eC?bj{Pe^|D6Zi)5TH_ z*7xk2uz0O>{I@>Dl0Wu0@m2qrVj=?TgZO|2l!q_uE2g+tz1WH-by|a;&RYYZ^ zSaM2mYi!|AuIH)jLU zI%5uzmZAcC-5RD@va`3-N#tMNT@CdK!J%1$5#R^g4yn|aIkjL9+fKI*qjLdDwufeR z**x780|aO2uGD5RZ+#ixU~G6%*~)r*SnqB(q;OSBk^~kFo-DS7ML?gQLvn_q($?m2 zzJ-&oS7Y~rC8w0cNR1KSqZOD$tZS_n_dN3mF%63)=VlNb7QOIZ&2wgr1WsJkaNz`G zU^jDZbb43w>Fu3p!t%GFeTC5GY}U&(6hr_+Y@pX0%2l12>NxVTg_Cc(cLGwna4^jA zOXlPXvvmcyx7e|eCM(6xA0hhUXJ3iQH+sS7Wk{j3Cg15aC11D zcF9omlHIzQ*%zG*ErVOdTrGS| zLZxPVe=EI@pO4HKo4;5_PEIc7N!ybzu}(YD_u+g~E}uJ-LG}rMJurYsi`BX`gJ-M> z^y78b2qWhE6}j!AXb^v;Ss>=Q#}Lu&I6K11<`4V2P($G(ijW;xSOuPZ506p?%*~}R zYT+{{PMqilAoy^c5t)YkOc``GUO#_3Xi!>|o_>-1O+X*7-X*?LIsdz?_UlY*Oiv7E zMLbQ9uO%*EbA^zDFz2I~1U+ib*PLb%%FYktB5I!j&id+;4z7b(5@w}4Y8Oj)%=Ain zf<%<6L}8f5Y(bHsY#v*K2x1m}hz(;cH3F@*F|l6cDY2mk>M z&AT$xsf0ZWSC>L&7>=^hiFp)(C|#hc&e>(S2%t zOL$Iwg!@7g@CZ(yOY)SS*^1J)w$9qa=q3J$lBSZ}-QBe_9qF@0ac?s5ws-F(_T3i& z?U9%FTwnDQZ4Yo(Ow4}m+gUchDBdA+-jIUe?cVNmr#qSa$QNKfhGz6@_y|$WUC#;} zHZm|+@e#(L-|T}fYBUjy)-lD(|r9@q&t%bBCJ$-62 z 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 +--- + +***Authors:*** Lior Lieberman (Google), Kobi Levi (independent) + +In the ever-evolving world of Kubernetes, networking plays a pivotal role. As more applications are deployed in Kubernetes clusters, effectively exposing these services to clients outside the cluster becomes a critical concern. If you've been working with Kubernetes, you're likely familiar with the Ingress API, which has been the go-to solution for managing external access to services. + +The Ingress API provides a way to route external traffic to your applications within the cluster, making it an indispensable tool for many Kubernetes users. However, Ingress has its limitations, and as applications become more complex and the demands on your Kubernetes clusters increase, these limitations can become bottlenecks. + +Some of the limitations are; + +- **Insufficient common denominator** - by attempting to establish a common denominator for various HTTP proxies, Ingress can only accommodate fundamental HTTP routing, forcing more features of contemporary proxies like traffic splitting, header matching and sticky sessions into provider-specific, non-transferable annotations. +- **Inadequate permission model** - Ingress spec configures both infrastructure and application configuration in one object. With Ingress, the cluster operator and application developer operate on the same Ingress object without being aware of each other’s roles. This creates an insufficient role-based access control and has high potential for setup errors. +- **Lack of protocol diversity** - Ingress primarily focuses on HTTP(S) routing and does not provide native support for other protocols, such as TCP, UDP and GRPc. This limitation makes it less suitable for handling non-HTTP workloads. + +To overcome this, the Gateway API, ingress’ successor, is designed to provide a more flexible, extensible, and powerful way to manage external traffic to your services. It's not just a replacement for Ingress; it's a leap forward in Kubernetes networking. + +## Introducing Gateway API +Gateway API, with its official General Availability (GA) planned for late October, provides a standard Kubernetes API for ingress traffic control. It offers extended functionality, improved customization, and greater flexibility. By focusing on modular and expressive API resources, Gateway API makes it possible to describe a wider array of routing configurations and models. + +The transition from Ingress API to Gateway API in Kubernetes is driven by advantages and advanced functionalities that the Gateway API offers, with its foundation built on four core principles: a role-oriented approach, portability, expressiveness and extensibility. + +### A Role-Oriented Approach + +The Gateway API employs a role-oriented approach that aligns with the conventional roles within organizations involved in configuring Kubernetes service networking. This approach enables infrastructure engineers, cluster operators, and application developers to collectively address different aspects of the Gateway API. + +For instance, infrastructure engineers play a pivotal role in deploying GatewayClasses, cluster-scoped resources that act as templates to explicitly define behavior for Gateways derived from them, laying the groundwork for robust service networking. + + + + + + +![The resources of the Gateway API](gateway-api-resources.png) + +### Portability +Gateway API is designed to be more portable across different implementations, clusters and environments. It helps reduce Ingress' reliance on non-portable, provider-specific annotations, making your configurations more consistent and easier to manage across multiple clusters. + +### Expressiveness +The Gateway API sets Kuberentes standard support of a wide range of features, such as header-based matching, traffic splitting, weight-based routing, request mirroring and more. With Ingress, these features need custom provider-specific annotations. + +### Extensibility +Gateway API allows for custom resources to be linked at various layers of the API. This makes granular customization possible at the appropriate places within the API structure. + +## Getting Started + +### Gateway API Quick Start + + + +### Migrating from Ingress to Gateway API using Ingress2Gateway +Migrating from Ingress to the Gateway API may seem intimidating, but luckily Kubernetes SIG-Network provides a tool to simplify the process. Ingress2Gateway assists in the migration by converting your existing Ingress resources into Gateway API resources. To get started with ingress2gateway, you need to first install the tool. + +``` +go install github.com/kubernetes-sigs/ingress2gateway@latest +``` +This will install ingress2gateway to $(go env GOPATH)/bin/ingress2gateway + + +To install it using a different way refer to . + +Once the tool is installed, you can use it to convert the ingress resources in your cluster to GatewayAPI resources. + +``` +ingress2gateway print +``` + +This above command will: + +1. Read your Kube config file to extract the cluster credentials and the current active namespace. +1. Search for ingresses and provider-specific resources in that namespace. +1. Convert them to Gateway-API resources (Currently only Gateways and HTTPRoutes). +For other options refer run the tool with `-h` or refer to https://github.com/kubernetes-sigs/ingress2gateway#options + +Review the converted Gateway API resources, validate them, and then apply them to your cluster. + +## Wrapping up +Achieving reliable, scalable and extensible networking has always been a challenging objective. +The Gateway API is designed to improve the current Kubernetes networking standards like ingress and/or implementation specific annotations and CRDs. +By focusing on modular and expressive API resources, and a role-oriented approach, the Gateway API makes it possible to describe a wider array of routing configurations and models while improving security and ensuring smooth collaboration across different teams (infrastructure and application teams). + +It is a Kubernetes standard API, consistent across different platforms and implementations and most importantly it is future proof. The Gateway API is considered the Ingress’ successor, it has a sub team under SIG-Network that actively work on it and manage the ecosystem and it is likely to receive more updates and community support. + +To ease the migration process, you should definitely check Ingress2gateway. This tool will help you convert your ingresses to Gateway API resources. It has recently added support for extending it with provider-specific logic, meaning it can also translate implementations specific CRDs or ingress annotations to the relevant Gateway API configurations. + + +### Try it out and get involved +There are many resources to check out to learn more. + + + From d691e2927d0f65d56d6a80f5e94919c35c963e25 Mon Sep 17 00:00:00 2001 From: Kobi Levi <56400138+levikobi@users.noreply.github.com> Date: Wed, 27 Sep 2023 14:12:20 +0300 Subject: [PATCH 02/82] Apply suggestions from code review Co-authored-by: Shane Utt --- .../2023-10-18-gateway-api-time-to-switch-i2gw/index.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 3b98d53401..8fa6a652c9 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -7,9 +7,11 @@ slug: ***Authors:*** Lior Lieberman (Google), Kobi Levi (independent) -In the ever-evolving world of Kubernetes, networking plays a pivotal role. As more applications are deployed in Kubernetes clusters, effectively exposing these services to clients outside the cluster becomes a critical concern. If you've been working with Kubernetes, you're likely familiar with the Ingress API, which has been the go-to solution for managing external access to services. +In the ever-evolving world of Kubernetes networking plays a pivotal role. As more applications are deployed in Kubernetes clusters, effective exposure of these services to clients outside the cluster becomes a critical concern. If you've been working with Kubernetes, you're likely familiar with the [Ingress API], which has been the go-to solution for managing external access to services. -The Ingress API provides a way to route external traffic to your applications within the cluster, making it an indispensable tool for many Kubernetes users. However, Ingress has its limitations, and as applications become more complex and the demands on your Kubernetes clusters increase, these limitations can become bottlenecks. +[Ingress API]:https://kubernetes.io/docs/concepts/services-networking/ingress/ + +The Ingress API provides a way to route external traffic to your applications within the cluster, making it an indispensable tool for many Kubernetes users. Ingress has its limitations however, and as applications become more complex and the demands on your Kubernetes clusters increase, these limitations can become bottlenecks. Some of the limitations are; @@ -85,7 +87,7 @@ By focusing on modular and expressive API resources, and a role-oriented approac It is a Kubernetes standard API, consistent across different platforms and implementations and most importantly it is future proof. The Gateway API is considered the Ingress’ successor, it has a sub team under SIG-Network that actively work on it and manage the ecosystem and it is likely to receive more updates and community support. -To ease the migration process, you should definitely check Ingress2gateway. This tool will help you convert your ingresses to Gateway API resources. It has recently added support for extending it with provider-specific logic, meaning it can also translate implementations specific CRDs or ingress annotations to the relevant Gateway API configurations. +Ingress2gateway helps to ease the migration process for you, converting your existing Ingress resources to Gateway API resources. To make migrations _even easier_ Ingress2gateway has recently added extensions to enable converting from provider-specific solutions, enabling it to translate implementations specific CRDs or Ingress annotations to the relevant Gateway API configurations. ### Try it out and get involved From 22ee44c96c2d58c6586ace3940af325400ab60f4 Mon Sep 17 00:00:00 2001 From: Kobi Levi Date: Wed, 27 Sep 2023 14:37:28 +0300 Subject: [PATCH 03/82] Convert gateway-api-resources from png to svg --- .../gateway-api-resources.png | Bin 363629 -> 0 bytes .../gateway-api-resources.svg | 701 ++++++++++++++++++ 2 files changed, 701 insertions(+) delete mode 100644 content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/gateway-api-resources.png create mode 100644 content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/gateway-api-resources.svg diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/gateway-api-resources.png b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/gateway-api-resources.png deleted file mode 100644 index 1a01ac5f6ce13c2b0f592910758767aa691de105..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 363629 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֌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 z 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 9464c86f7f27b481bdd883c566e3375f45613225 Mon Sep 17 00:00:00 2001 From: Kobi Levi <56400138+levikobi@users.noreply.github.com> Date: Thu, 28 Sep 2023 20:21:44 +0300 Subject: [PATCH 04/82] Apply suggestions from code review Co-authored-by: Nick Young --- .../2023-10-18-gateway-api-time-to-switch-i2gw/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 8fa6a652c9..6acf720d44 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -28,7 +28,7 @@ The transition from Ingress API to Gateway API in Kubernetes is driven by advant ### A Role-Oriented Approach -The Gateway API employs a role-oriented approach that aligns with the conventional roles within organizations involved in configuring Kubernetes service networking. This approach enables infrastructure engineers, cluster operators, and application developers to collectively address different aspects of the Gateway API. +Gateway API employs a role-oriented approach that aligns with the conventional roles within organizations involved in configuring Kubernetes service networking. This approach enables infrastructure engineers, cluster operators, and application developers to collectively address different aspects of the Gateway API. For instance, infrastructure engineers play a pivotal role in deploying GatewayClasses, cluster-scoped resources that act as templates to explicitly define behavior for Gateways derived from them, laying the groundwork for robust service networking. @@ -37,7 +37,7 @@ For instance, infrastructure engineers play a pivotal role in deploying GatewayC -![The resources of the Gateway API](gateway-api-resources.png) +![The resources of Gateway API](gateway-api-resources.png) ### Portability Gateway API is designed to be more portable across different implementations, clusters and environments. It helps reduce Ingress' reliance on non-portable, provider-specific annotations, making your configurations more consistent and easier to manage across multiple clusters. From 6249b680886de67997872a600b63b829e36f5157 Mon Sep 17 00:00:00 2001 From: Kobi Levi Date: Wed, 4 Oct 2023 11:23:43 +0300 Subject: [PATCH 05/82] Add installation guidance and additional resources --- .../index.md | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 6acf720d44..63729de807 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -60,10 +60,9 @@ Migrating from Ingress to the Gateway API may seem intimidating, but luckily Kub ``` go install github.com/kubernetes-sigs/ingress2gateway@latest ``` -This will install ingress2gateway to $(go env GOPATH)/bin/ingress2gateway +This will install ingress2gateway to $(go env GOPATH)/bin/ingress2gateway. - -To install it using a different way refer to . +Alternatively, you can build it from source using https://github.com/kubernetes-sigs/ingress2gateway#build-from-source. Once the tool is installed, you can use it to convert the ingress resources in your cluster to GatewayAPI resources. @@ -91,9 +90,7 @@ Ingress2gateway helps to ease the migration process for you, converting your exi ### Try it out and get involved -There are many resources to check out to learn more. - - - +There are many resources to check out to learn more: +- Ingress2Gateway readme - https://github.com/kubernetes-sigs/ingress2gateway#ingress-to-gateway +- Gateway API Getting Started - https://gateway-api.sigs.k8s.io/guides/ +- Gateway API Implementations - https://gateway-api.sigs.k8s.io/implementations/#gateways From 3e81d0fdd7e93c15c40516ebcd73ecb5285c2448 Mon Sep 17 00:00:00 2001 From: Kobi Levi Date: Wed, 4 Oct 2023 11:54:36 +0300 Subject: [PATCH 06/82] Add gateway api quick start instructions --- .../index.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 63729de807..d8d508c1d1 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -37,7 +37,7 @@ For instance, infrastructure engineers play a pivotal role in deploying GatewayC -![The resources of Gateway API](gateway-api-resources.png) +![The resources of Gateway API](gateway-api-resources.svg) ### Portability Gateway API is designed to be more portable across different implementations, clusters and environments. It helps reduce Ingress' reliance on non-portable, provider-specific annotations, making your configurations more consistent and easier to manage across multiple clusters. @@ -53,6 +53,16 @@ Gateway API allows for custom resources to be linked at various layers of the AP ### Gateway API Quick Start +The first thing you will need is a Kubernetes cluster. You can set up a new cluster using [KinD](https://kind.sigs.k8s.io/) with the following command: +```bash +kind create cluster --name introducing-i2gw +``` +When you create a service of type LoadBalancer in a Kubernetes cluster, typically, cloud providers (like AWS, GCP, Azure) automatically provision a cloud load balancer and allocate a public IP address for it. However, since KinD runs locally, there's no cloud provider available to automatically provision an external IP for such services. + +This is where MetalLB comes in. MetalLB provides a network load-balancer implementation for Kubernetes clusters that do not have external load-balancers available, like KinD. +You'll need to [install](https://metallb.universe.tf/installation/) it in order to continue with this guide. + +Now you should have a working environment to start experimenting with Gateway-API. There are many great guides you can follow at https://gateway-api.sigs.k8s.io/guides/. ### Migrating from Ingress to Gateway API using Ingress2Gateway Migrating from Ingress to the Gateway API may seem intimidating, but luckily Kubernetes SIG-Network provides a tool to simplify the process. Ingress2Gateway assists in the migration by converting your existing Ingress resources into Gateway API resources. To get started with ingress2gateway, you need to first install the tool. From 1170795afbad65eaa868f5aaff9c86a03984d8c5 Mon Sep 17 00:00:00 2001 From: Kobi Levi Date: Thu, 5 Oct 2023 08:25:43 +0300 Subject: [PATCH 07/82] Add explanation about Gateways And HTTPRoutes --- .../index.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index d8d508c1d1..322f8d18d8 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -32,10 +32,16 @@ Gateway API employs a role-oriented approach that aligns with the conventional r For instance, infrastructure engineers play a pivotal role in deploying GatewayClasses, cluster-scoped resources that act as templates to explicitly define behavior for Gateways derived from them, laying the groundwork for robust service networking. - - +Subsequently, cluster operators utilize these GatewayClasses to deploy gateways. +A Gateway in Kubernetes' Gateway-API defines how external traffic can be directed to Services within the cluster, essentially bridging non-Kubernetes sources to Kubernetes-aware destinations. +It represents a request for a load balancer configuration aligned with a GatewayClass’ specification. +The Gateway spec may not be exhaustive as some details can be supplied by the GatewayClass controller, ensuring portability. +Additionally, a Gateway can be linked to multiple Route references to channel specific traffic subsets to designated services. - +Lastly, application developers configure route resources (such as HTTPRoutes), to manage configuration (e.g. timeouts, request matching/filter) and Service composition (e.g. path routing to backends) +Route resources define protocol-specific rules for mapping requests from a Gateway to Kubernetes Services. +HTTPRoute is for multiplexing HTTP or terminated HTTPS connections. +It's intended for use in cases where you want to inspect the HTTP stream and use HTTP request data for either routing or modification, for example using HTTP Headers for routing, or modifying them in-flight. ![The resources of Gateway API](gateway-api-resources.svg) @@ -52,7 +58,6 @@ Gateway API allows for custom resources to be linked at various layers of the AP ### Gateway API Quick Start - The first thing you will need is a Kubernetes cluster. You can set up a new cluster using [KinD](https://kind.sigs.k8s.io/) with the following command: ```bash kind create cluster --name introducing-i2gw From c2c0c960de7417218a1f9677c1fdbf5a663d07ba Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Mon, 16 Oct 2023 14:33:54 +0100 Subject: [PATCH 08/82] Apply suggestions from code review Co-authored-by: Rob Scott --- .../index.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 322f8d18d8..06374ecdd6 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -7,7 +7,7 @@ slug: ***Authors:*** Lior Lieberman (Google), Kobi Levi (independent) -In the ever-evolving world of Kubernetes networking plays a pivotal role. As more applications are deployed in Kubernetes clusters, effective exposure of these services to clients outside the cluster becomes a critical concern. If you've been working with Kubernetes, you're likely familiar with the [Ingress API], which has been the go-to solution for managing external access to services. +In the ever-evolving world of Kubernetes, networking plays a pivotal role. As more applications are deployed in Kubernetes clusters, effective exposure of these services to clients outside the cluster becomes a critical concern. If you've been working with Kubernetes, you're likely familiar with the [Ingress API], which has been the go-to solution for managing external access to services. [Ingress API]:https://kubernetes.io/docs/concepts/services-networking/ingress/ @@ -15,14 +15,14 @@ The Ingress API provides a way to route external traffic to your applications wi Some of the limitations are; -- **Insufficient common denominator** - by attempting to establish a common denominator for various HTTP proxies, Ingress can only accommodate fundamental HTTP routing, forcing more features of contemporary proxies like traffic splitting, header matching and sticky sessions into provider-specific, non-transferable annotations. +- **Insufficient common denominator** - by attempting to establish a common denominator for various HTTP proxies, Ingress can only accommodate basic HTTP routing, forcing more features of contemporary proxies like traffic splitting and header matching into provider-specific, non-transferable annotations. - **Inadequate permission model** - Ingress spec configures both infrastructure and application configuration in one object. With Ingress, the cluster operator and application developer operate on the same Ingress object without being aware of each other’s roles. This creates an insufficient role-based access control and has high potential for setup errors. -- **Lack of protocol diversity** - Ingress primarily focuses on HTTP(S) routing and does not provide native support for other protocols, such as TCP, UDP and GRPc. This limitation makes it less suitable for handling non-HTTP workloads. +- **Lack of protocol diversity** - Ingress primarily focuses on HTTP(S) routing and does not provide native support for other protocols, such as TCP, UDP and gRPC. This limitation makes it less suitable for handling non-HTTP workloads. -To overcome this, the Gateway API, ingress’ successor, is designed to provide a more flexible, extensible, and powerful way to manage external traffic to your services. It's not just a replacement for Ingress; it's a leap forward in Kubernetes networking. +To overcome this, Gateway API is designed to provide a more flexible, extensible, and powerful way to manage external traffic to your services. ## Introducing Gateway API -Gateway API, with its official General Availability (GA) planned for late October, provides a standard Kubernetes API for ingress traffic control. It offers extended functionality, improved customization, and greater flexibility. By focusing on modular and expressive API resources, Gateway API makes it possible to describe a wider array of routing configurations and models. +Gateway API is just weeks away from a GA release. It provides a standard Kubernetes API for ingress traffic control. It offers extended functionality, improved customization, and greater flexibility. By focusing on modular and expressive API resources, Gateway API makes it possible to describe a wider array of routing configurations and models. The transition from Ingress API to Gateway API in Kubernetes is driven by advantages and advanced functionalities that the Gateway API offers, with its foundation built on four core principles: a role-oriented approach, portability, expressiveness and extensibility. From 191b53b7f2c558cf833b0bc957a03b50ae617398 Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Tue, 17 Oct 2023 11:22:30 +0100 Subject: [PATCH 09/82] Apply suggestions from code review Co-authored-by: Tim Bannister Co-authored-by: Kobi Levi <56400138+levikobi@users.noreply.github.com> --- .../index.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 06374ecdd6..fffc07076a 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -9,7 +9,7 @@ slug: In the ever-evolving world of Kubernetes, networking plays a pivotal role. As more applications are deployed in Kubernetes clusters, effective exposure of these services to clients outside the cluster becomes a critical concern. If you've been working with Kubernetes, you're likely familiar with the [Ingress API], which has been the go-to solution for managing external access to services. -[Ingress API]:https://kubernetes.io/docs/concepts/services-networking/ingress/ +[Ingress API]:/docs/concepts/services-networking/ingress/ The Ingress API provides a way to route external traffic to your applications within the cluster, making it an indispensable tool for many Kubernetes users. Ingress has its limitations however, and as applications become more complex and the demands on your Kubernetes clusters increase, these limitations can become bottlenecks. @@ -33,7 +33,7 @@ Gateway API employs a role-oriented approach that aligns with the conventional r For instance, infrastructure engineers play a pivotal role in deploying GatewayClasses, cluster-scoped resources that act as templates to explicitly define behavior for Gateways derived from them, laying the groundwork for robust service networking. Subsequently, cluster operators utilize these GatewayClasses to deploy gateways. -A Gateway in Kubernetes' Gateway-API defines how external traffic can be directed to Services within the cluster, essentially bridging non-Kubernetes sources to Kubernetes-aware destinations. +A Gateway in Kubernetes' Gateway API defines how external traffic can be directed to Services within the cluster, essentially bridging non-Kubernetes sources to Kubernetes-aware destinations. It represents a request for a load balancer configuration aligned with a GatewayClass’ specification. The Gateway spec may not be exhaustive as some details can be supplied by the GatewayClass controller, ensuring portability. Additionally, a Gateway can be linked to multiple Route references to channel specific traffic subsets to designated services. @@ -49,10 +49,10 @@ It's intended for use in cases where you want to inspect the HTTP stream and use Gateway API is designed to be more portable across different implementations, clusters and environments. It helps reduce Ingress' reliance on non-portable, provider-specific annotations, making your configurations more consistent and easier to manage across multiple clusters. ### Expressiveness -The Gateway API sets Kuberentes standard support of a wide range of features, such as header-based matching, traffic splitting, weight-based routing, request mirroring and more. With Ingress, these features need custom provider-specific annotations. +The Gateway API provides standard, Kubernetes-backed support for a wide range of features, such as header-based matching, traffic splitting, weight-based routing, request mirroring and more. With Ingress, these features need custom provider-specific annotations. ### Extensibility -Gateway API allows for custom resources to be linked at various layers of the API. This makes granular customization possible at the appropriate places within the API structure. +Gateway API is designed with extensibility as a core feature. Rather than enforcing a one-size-fits-all model, it offers the flexibility to link custom resources at multiple layers within the API's framework. This layered approach to customization ensures that users can tailor configurations to their specific needs without overwhelming the main structure. By doing so, the Gateway API facilitates more granular and context-sensitive adjustments, allowing for a fine-tuned balance between standardization and adaptability. This becomes particularly valuable in complex cloud-native environments where specific use cases require nuanced configurations. ## Getting Started @@ -62,12 +62,13 @@ The first thing you will need is a Kubernetes cluster. You can set up a new clus ```bash kind create cluster --name introducing-i2gw ``` -When you create a service of type LoadBalancer in a Kubernetes cluster, typically, cloud providers (like AWS, GCP, Azure) automatically provision a cloud load balancer and allocate a public IP address for it. However, since KinD runs locally, there's no cloud provider available to automatically provision an external IP for such services. +When you create a Service of `type: LoadBalancer` in a Kubernetes cluster, then typically cloud providers (like AWS, Azure or GCP) automatically provision a cloud load balancer and allocate a public IP address for it. However, since KinD runs locally, there's no cloud provider available to automatically provision an external IP address for such Services. -This is where MetalLB comes in. MetalLB provides a network load-balancer implementation for Kubernetes clusters that do not have external load-balancers available, like KinD. +This is where MetalLB can come in. MetalLB provides a network load-balancer implementation for Kubernetes clusters that do not have external load-balancers available; this could be KinD or it could be your bare-metal production cluster. You'll need to [install](https://metallb.universe.tf/installation/) it in order to continue with this guide. -Now you should have a working environment to start experimenting with Gateway-API. There are many great guides you can follow at https://gateway-api.sigs.k8s.io/guides/. +Now you should have a working environment to start experimenting with Gateway +API. There are many great guides you can follow starting from [Getting started with Gateway API](https://gateway-api.sigs.k8s.io/guides/#getting-started-with-gateway-api). ### Migrating from Ingress to Gateway API using Ingress2Gateway Migrating from Ingress to the Gateway API may seem intimidating, but luckily Kubernetes SIG-Network provides a tool to simplify the process. Ingress2Gateway assists in the migration by converting your existing Ingress resources into Gateway API resources. To get started with ingress2gateway, you need to first install the tool. @@ -75,7 +76,7 @@ Migrating from Ingress to the Gateway API may seem intimidating, but luckily Kub ``` go install github.com/kubernetes-sigs/ingress2gateway@latest ``` -This will install ingress2gateway to $(go env GOPATH)/bin/ingress2gateway. +Provided you have a Go development environment installed, that command installs `ingress2gateway` to `$(go env GOPATH)/bin/ingress2gateway`. Alternatively, you can build it from source using https://github.com/kubernetes-sigs/ingress2gateway#build-from-source. From 3ead98e2ffc4a7c4b19723c7e28cf46dfcafd1c2 Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Tue, 17 Oct 2023 13:52:51 +0000 Subject: [PATCH 10/82] restructure layout and implement feedback --- .../index.md | 56 +++++++++---------- 1 file changed, 27 insertions(+), 29 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index fffc07076a..71c3f3890f 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -1,12 +1,16 @@ --- layout: blog -title: "TBD" -date: 2023-10-18T10:00:00-08:00 -slug: +title: "Time to Upgrade; Migrating to Gateway API" +date: 2023-10-19T10:00:00-08:00 +slug: introducing-ingress2gateway --- ***Authors:*** Lior Lieberman (Google), Kobi Levi (independent) +Today we are releasing [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway), a tool that can help you migrate from Ingress to Gateway API. Gateway API is just weeks away from graduating to GA, if you haven't upgraded yet, now's the time to think about it! + +## Background + In the ever-evolving world of Kubernetes, networking plays a pivotal role. As more applications are deployed in Kubernetes clusters, effective exposure of these services to clients outside the cluster becomes a critical concern. If you've been working with Kubernetes, you're likely familiar with the [Ingress API], which has been the go-to solution for managing external access to services. [Ingress API]:/docs/concepts/services-networking/ingress/ @@ -21,7 +25,6 @@ Some of the limitations are; To overcome this, Gateway API is designed to provide a more flexible, extensible, and powerful way to manage external traffic to your services. -## Introducing Gateway API Gateway API is just weeks away from a GA release. It provides a standard Kubernetes API for ingress traffic control. It offers extended functionality, improved customization, and greater flexibility. By focusing on modular and expressive API resources, Gateway API makes it possible to describe a wider array of routing configurations and models. The transition from Ingress API to Gateway API in Kubernetes is driven by advantages and advanced functionalities that the Gateway API offers, with its foundation built on four core principles: a role-oriented approach, portability, expressiveness and extensibility. @@ -43,10 +46,12 @@ Route resources define protocol-specific rules for mapping requests from a Gatew HTTPRoute is for multiplexing HTTP or terminated HTTPS connections. It's intended for use in cases where you want to inspect the HTTP stream and use HTTP request data for either routing or modification, for example using HTTP Headers for routing, or modifying them in-flight. -![The resources of Gateway API](gateway-api-resources.svg) +{{< figure src="gateway-api-resources.svg" caption="Diagram showing the APIs that make up Gateway and how they relate to each other" >}} ### Portability -Gateway API is designed to be more portable across different implementations, clusters and environments. It helps reduce Ingress' reliance on non-portable, provider-specific annotations, making your configurations more consistent and easier to manage across multiple clusters. +With more than 20 [API implementations](https://gateway-api.sigs.k8s.io/implementations/#implementations), Gateway API is designed to be more portable across different implementations, clusters and environments. It helps reduce Ingress' reliance on non-portable, provider-specific annotations, making your configurations more consistent and easier to manage across multiple clusters. + + ### Expressiveness The Gateway API provides standard, Kubernetes-backed support for a wide range of features, such as header-based matching, traffic splitting, weight-based routing, request mirroring and more. With Ingress, these features need custom provider-specific annotations. @@ -54,24 +59,12 @@ The Gateway API provides standard, Kubernetes-backed support for a wide range of ### Extensibility Gateway API is designed with extensibility as a core feature. Rather than enforcing a one-size-fits-all model, it offers the flexibility to link custom resources at multiple layers within the API's framework. This layered approach to customization ensures that users can tailor configurations to their specific needs without overwhelming the main structure. By doing so, the Gateway API facilitates more granular and context-sensitive adjustments, allowing for a fine-tuned balance between standardization and adaptability. This becomes particularly valuable in complex cloud-native environments where specific use cases require nuanced configurations. -## Getting Started -### Gateway API Quick Start +## Upgrading to Gateway -The first thing you will need is a Kubernetes cluster. You can set up a new cluster using [KinD](https://kind.sigs.k8s.io/) with the following command: -```bash -kind create cluster --name introducing-i2gw -``` -When you create a Service of `type: LoadBalancer` in a Kubernetes cluster, then typically cloud providers (like AWS, Azure or GCP) automatically provision a cloud load balancer and allocate a public IP address for it. However, since KinD runs locally, there's no cloud provider available to automatically provision an external IP address for such Services. +1. [Install a Gateway controller](https://gateway-api.sigs.k8s.io/guides/#installing-a-gateway-controller) OR [install the Gateway API CRDs manually](https://gateway-api.sigs.k8s.io/guides/#installing-gateway-api) -This is where MetalLB can come in. MetalLB provides a network load-balancer implementation for Kubernetes clusters that do not have external load-balancers available; this could be KinD or it could be your bare-metal production cluster. -You'll need to [install](https://metallb.universe.tf/installation/) it in order to continue with this guide. - -Now you should have a working environment to start experimenting with Gateway -API. There are many great guides you can follow starting from [Getting started with Gateway API](https://gateway-api.sigs.k8s.io/guides/#getting-started-with-gateway-api). - -### Migrating from Ingress to Gateway API using Ingress2Gateway -Migrating from Ingress to the Gateway API may seem intimidating, but luckily Kubernetes SIG-Network provides a tool to simplify the process. Ingress2Gateway assists in the migration by converting your existing Ingress resources into Gateway API resources. To get started with ingress2gateway, you need to first install the tool. +2. install [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway) ``` go install github.com/kubernetes-sigs/ingress2gateway@latest @@ -80,7 +73,7 @@ Provided you have a Go development environment installed, that command installs Alternatively, you can build it from source using https://github.com/kubernetes-sigs/ingress2gateway#build-from-source. -Once the tool is installed, you can use it to convert the ingress resources in your cluster to GatewayAPI resources. +3. Once the tool is installed, you can use it to convert the ingress resources in your cluster to GatewayAPI resources. ``` ingress2gateway print @@ -93,20 +86,25 @@ This above command will: 1. Convert them to Gateway-API resources (Currently only Gateways and HTTPRoutes). For other options refer run the tool with `-h` or refer to https://github.com/kubernetes-sigs/ingress2gateway#options -Review the converted Gateway API resources, validate them, and then apply them to your cluster. +4. Review the converted Gateway API resources, validate them, and then apply them to your cluster. + +5. Update your DNS to point to the new gateway. + +Note: make sure you test the newly created gateway before shifting the shifting 100% of the traffic. + +6. Make sure no traffic goes through your ingress and delete it. ## Wrapping up Achieving reliable, scalable and extensible networking has always been a challenging objective. The Gateway API is designed to improve the current Kubernetes networking standards like ingress and/or implementation specific annotations and CRDs. -By focusing on modular and expressive API resources, and a role-oriented approach, the Gateway API makes it possible to describe a wider array of routing configurations and models while improving security and ensuring smooth collaboration across different teams (infrastructure and application teams). -It is a Kubernetes standard API, consistent across different platforms and implementations and most importantly it is future proof. The Gateway API is considered the Ingress’ successor, it has a sub team under SIG-Network that actively work on it and manage the ecosystem and it is likely to receive more updates and community support. +It is a Kubernetes standard API, consistent across different platforms and implementations and most importantly it is future proof. The Gateway API is considered the Ingress’ successor, it has a sub team under SIG Network that actively work on it and manage the ecosystem and it is likely to receive more updates and community support. Ingress2gateway helps to ease the migration process for you, converting your existing Ingress resources to Gateway API resources. To make migrations _even easier_ Ingress2gateway has recently added extensions to enable converting from provider-specific solutions, enabling it to translate implementations specific CRDs or Ingress annotations to the relevant Gateway API configurations. ### Try it out and get involved -There are many resources to check out to learn more: -- Ingress2Gateway readme - https://github.com/kubernetes-sigs/ingress2gateway#ingress-to-gateway -- Gateway API Getting Started - https://gateway-api.sigs.k8s.io/guides/ -- Gateway API Implementations - https://gateway-api.sigs.k8s.io/implementations/#gateways +There are many resources to check out and learn more: +- Get involved with the Kubernetes project on [GitHub](https://github.com/kubernetes-sigs/ingress2gateway) +- [Gateway API Getting Started](https://gateway-api.sigs.k8s.io/guides/) +- [Gateway API Implementations](https://gateway-api.sigs.k8s.io/implementations/#gateways) From e94cb00306286e88c8a5be4a93d384c3f0df26d5 Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Tue, 17 Oct 2023 14:01:20 +0000 Subject: [PATCH 11/82] apply feedback --- .../2023-10-18-gateway-api-time-to-switch-i2gw/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 71c3f3890f..46ca06941a 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -71,7 +71,7 @@ go install github.com/kubernetes-sigs/ingress2gateway@latest ``` Provided you have a Go development environment installed, that command installs `ingress2gateway` to `$(go env GOPATH)/bin/ingress2gateway`. -Alternatively, you can build it from source using https://github.com/kubernetes-sigs/ingress2gateway#build-from-source. +Alternatively, you can build it from source by following [Build from source](https://github.com/kubernetes-sigs/ingress2gateway/tree/95b4a0316bac8d28d72b871a210bbc9bd6191eb7#build-from-source) 3. Once the tool is installed, you can use it to convert the ingress resources in your cluster to GatewayAPI resources. @@ -100,7 +100,7 @@ The Gateway API is designed to improve the current Kubernetes networking standar It is a Kubernetes standard API, consistent across different platforms and implementations and most importantly it is future proof. The Gateway API is considered the Ingress’ successor, it has a sub team under SIG Network that actively work on it and manage the ecosystem and it is likely to receive more updates and community support. -Ingress2gateway helps to ease the migration process for you, converting your existing Ingress resources to Gateway API resources. To make migrations _even easier_ Ingress2gateway has recently added extensions to enable converting from provider-specific solutions, enabling it to translate implementations specific CRDs or Ingress annotations to the relevant Gateway API configurations. +Ingress2gateway tool helps to ease the migration process for you, converting an existing Ingress object to equivalent objects from Gateway. To make migrations even easier, Ingress2gateway has recently added extensions to enable converting from provider-specific solutions, enabling it to translate implementation-specific CRDs or Ingress annotations to the closest Gateway API equivalent. ### Try it out and get involved From 7b6b55b01d134ba9935eded30799dec2edbc6f48 Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Wed, 18 Oct 2023 16:51:31 +0100 Subject: [PATCH 12/82] Apply suggestions from code review Co-authored-by: Rob Scott --- .../index.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 46ca06941a..eea10372d5 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -17,7 +17,7 @@ In the ever-evolving world of Kubernetes, networking plays a pivotal role. As mo The Ingress API provides a way to route external traffic to your applications within the cluster, making it an indispensable tool for many Kubernetes users. Ingress has its limitations however, and as applications become more complex and the demands on your Kubernetes clusters increase, these limitations can become bottlenecks. -Some of the limitations are; +Some of the limitations are: - **Insufficient common denominator** - by attempting to establish a common denominator for various HTTP proxies, Ingress can only accommodate basic HTTP routing, forcing more features of contemporary proxies like traffic splitting and header matching into provider-specific, non-transferable annotations. - **Inadequate permission model** - Ingress spec configures both infrastructure and application configuration in one object. With Ingress, the cluster operator and application developer operate on the same Ingress object without being aware of each other’s roles. This creates an insufficient role-based access control and has high potential for setup errors. @@ -51,7 +51,7 @@ It's intended for use in cases where you want to inspect the HTTP stream and use ### Portability With more than 20 [API implementations](https://gateway-api.sigs.k8s.io/implementations/#implementations), Gateway API is designed to be more portable across different implementations, clusters and environments. It helps reduce Ingress' reliance on non-portable, provider-specific annotations, making your configurations more consistent and easier to manage across multiple clusters. - +Gateway API commits to supporting the 5 latest Kubernetes minor versions. That means that Gateway API currently supports Kubernetes 1.24+. ### Expressiveness The Gateway API provides standard, Kubernetes-backed support for a wide range of features, such as header-based matching, traffic splitting, weight-based routing, request mirroring and more. With Ingress, these features need custom provider-specific annotations. @@ -73,7 +73,7 @@ Provided you have a Go development environment installed, that command installs Alternatively, you can build it from source by following [Build from source](https://github.com/kubernetes-sigs/ingress2gateway/tree/95b4a0316bac8d28d72b871a210bbc9bd6191eb7#build-from-source) -3. Once the tool is installed, you can use it to convert the ingress resources in your cluster to GatewayAPI resources. +3. Once the tool is installed, you can use it to convert the ingress resources in your cluster to Gateway API resources. ``` ingress2gateway print @@ -83,16 +83,16 @@ This above command will: 1. Read your Kube config file to extract the cluster credentials and the current active namespace. 1. Search for ingresses and provider-specific resources in that namespace. -1. Convert them to Gateway-API resources (Currently only Gateways and HTTPRoutes). +1. Convert them to Gateway API resources (Currently only Gateways and HTTPRoutes). For other options refer run the tool with `-h` or refer to https://github.com/kubernetes-sigs/ingress2gateway#options 4. Review the converted Gateway API resources, validate them, and then apply them to your cluster. -5. Update your DNS to point to the new gateway. +5. Update your DNS to point to the new Gateway. Note: make sure you test the newly created gateway before shifting the shifting 100% of the traffic. -6. Make sure no traffic goes through your ingress and delete it. +6. Once you've confirmed that no more traffic is going through your Ingress configuration, you can safely delete it. ## Wrapping up Achieving reliable, scalable and extensible networking has always been a challenging objective. @@ -105,6 +105,6 @@ Ingress2gateway tool helps to ease the migration process for you, converting an ### Try it out and get involved There are many resources to check out and learn more: -- Get involved with the Kubernetes project on [GitHub](https://github.com/kubernetes-sigs/ingress2gateway) +- Get involved with the Ingress2Gateway project on [GitHub](https://github.com/kubernetes-sigs/ingress2gateway) - [Gateway API Getting Started](https://gateway-api.sigs.k8s.io/guides/) - [Gateway API Implementations](https://gateway-api.sigs.k8s.io/implementations/#gateways) From 082bcb5b5e758317ea0396f1e53de7e6cf5722ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marko=20Mudrini=C4=87?= Date: Thu, 19 Oct 2023 11:10:43 +0200 Subject: [PATCH 13/82] Mark 1.25 as End-of-Life (EOL) release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Marko Mudrinić --- data/releases/eol.yaml | 3 ++ data/releases/schedule.yaml | 63 ------------------------------------- 2 files changed, 3 insertions(+), 63 deletions(-) diff --git a/data/releases/eol.yaml b/data/releases/eol.yaml index 891717bd68..0b2f595650 100644 --- a/data/releases/eol.yaml +++ b/data/releases/eol.yaml @@ -1,4 +1,7 @@ branches: + - release: "1.25" + finalPatchRelease: "1.25.15" + endOfLifeDate: 2023-10-28 - release: "1.24" finalPatchRelease: "1.24.17" endOfLifeDate: 2023-07-28 diff --git a/data/releases/schedule.yaml b/data/releases/schedule.yaml index 55563d8400..ddfa8ba2e8 100644 --- a/data/releases/schedule.yaml +++ b/data/releases/schedule.yaml @@ -103,66 +103,3 @@ schedules: - release: 1.26.0 cherryPickDeadline: "" targetDate: 2022-12-09 -- release: 1.25 - releaseDate: 2022-08-23 - maintenanceModeStartDate: 2023-08-28 - endOfLifeDate: 2023-10-28 - next: - release: 1.25.15 - cherryPickDeadline: 2023-10-13 - targetDate: 2023-10-18 - previousPatches: - - release: 1.25.15 - cherryPickDeadline: 2023-10-13 - targetDate: 2023-10-18 - - release: 1.25.14 - cherryPickDeadline: 2023-09-08 - targetDate: 2023-09-13 - - release: 1.25.13 - cherryPickDeadline: 2023-08-04 - targetDate: 2023-08-23 - - release: 1.25.12 - cherryPickDeadline: 2023-07-14 - targetDate: 2023-07-19 - - release: 1.25.11 - cherryPickDeadline: 2023-06-09 - targetDate: 2023-06-14 - - release: 1.25.10 - cherryPickDeadline: 2023-05-12 - targetDate: 2023-05-17 - - release: 1.25.9 - cherryPickDeadline: 2023-04-07 - targetDate: 2023-04-12 - - release: 1.25.8 - cherryPickDeadline: 2023-03-10 - targetDate: 2023-03-15 - - release: 1.25.7 - cherryPickDeadline: 2023-02-10 - targetDate: 2023-02-15 - note: >- - [Some container images might be **unsigned** due to a temporary issue with the promotion process](https://groups.google.com/a/kubernetes.io/g/dev/c/MwSx761slM0/m/4ajkeUl0AQAJ) - - release: 1.25.6 - cherryPickDeadline: 2023-01-13 - targetDate: 2023-01-18 - - release: 1.25.5 - cherryPickDeadline: 2022-12-02 - targetDate: 2022-12-08 - - release: 1.25.4 - cherryPickDeadline: 2022-11-04 - targetDate: 2022-11-09 - - release: 1.25.3 - cherryPickDeadline: 2022-10-07 - targetDate: 2022-10-12 - - release: 1.25.2 - cherryPickDeadline: 2022-09-20 - targetDate: 2022-09-21 - note: >- - [Out-of-Band release to fix the regression introduced in 1.25.1](https://groups.google.com/a/kubernetes.io/g/dev/c/tA6LNOQTR4Q/m/zL73maPTAQAJ) - - release: 1.25.1 - cherryPickDeadline: 2022-09-09 - targetDate: 2022-09-14 - note: >- - [Regression](https://groups.google.com/a/kubernetes.io/g/dev/c/tA6LNOQTR4Q/m/zL73maPTAQAJ) - - release: 1.25.0 - cherryPickDeadline: "" - targetDate: 2022-08-23 From 8fa2e3f5fbf37e7caee0a110921856a9faec9164 Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Thu, 19 Oct 2023 13:51:04 +0000 Subject: [PATCH 14/82] applying feedback --- .../index.md | 153 +++++++++++++----- 1 file changed, 112 insertions(+), 41 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index eea10372d5..f055eae128 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -7,73 +7,133 @@ slug: introducing-ingress2gateway ***Authors:*** Lior Lieberman (Google), Kobi Levi (independent) -Today we are releasing [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway), a tool that can help you migrate from Ingress to Gateway API. Gateway API is just weeks away from graduating to GA, if you haven't upgraded yet, now's the time to think about it! +Today we are releasing [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway), a tool +that can help you migrate from Ingress to Gateway API. Gateway API is just weeks away from +graduating to GA, if you haven't upgraded yet, now's the time to think about it! ## Background -In the ever-evolving world of Kubernetes, networking plays a pivotal role. As more applications are deployed in Kubernetes clusters, effective exposure of these services to clients outside the cluster becomes a critical concern. If you've been working with Kubernetes, you're likely familiar with the [Ingress API], which has been the go-to solution for managing external access to services. +In the ever-evolving world of Kubernetes, networking plays a pivotal role. As more applications are +deployed in Kubernetes clusters, effective exposure of these services to clients outside the cluster +becomes a critical concern. If you've been working with Kubernetes, you're likely familiar with the +[Ingress API], which has been the go-to solution for managing external access to services. [Ingress API]:/docs/concepts/services-networking/ingress/ -The Ingress API provides a way to route external traffic to your applications within the cluster, making it an indispensable tool for many Kubernetes users. Ingress has its limitations however, and as applications become more complex and the demands on your Kubernetes clusters increase, these limitations can become bottlenecks. +The Ingress API provides a way to route external traffic to your applications within the cluster, +making it an indispensable tool for many Kubernetes users. Ingress has its limitations however, and +as applications become more complex and the demands on your Kubernetes clusters increase, these +limitations can become bottlenecks. Some of the limitations are: -- **Insufficient common denominator** - by attempting to establish a common denominator for various HTTP proxies, Ingress can only accommodate basic HTTP routing, forcing more features of contemporary proxies like traffic splitting and header matching into provider-specific, non-transferable annotations. -- **Inadequate permission model** - Ingress spec configures both infrastructure and application configuration in one object. With Ingress, the cluster operator and application developer operate on the same Ingress object without being aware of each other’s roles. This creates an insufficient role-based access control and has high potential for setup errors. -- **Lack of protocol diversity** - Ingress primarily focuses on HTTP(S) routing and does not provide native support for other protocols, such as TCP, UDP and gRPC. This limitation makes it less suitable for handling non-HTTP workloads. +- **Insufficient common denominator** - by attempting to establish a common denominator for various + HTTP proxies, Ingress can only accommodate basic HTTP routing, forcing more features of + contemporary proxies like traffic splitting and header matching into provider-specific, + non-transferable annotations. +- **Inadequate permission model** - Ingress spec configures both infrastructure and application + configuration in one object. With Ingress, the cluster operator and application developer operate + on the same Ingress object without being aware of each other’s roles. This creates an insufficient + role-based access control and has high potential for setup errors. +- **Lack of protocol diversity** - Ingress primarily focuses on HTTP(S) routing and does not provide + native support for other protocols, such as TCP, UDP and gRPC. This limitation makes it less + suitable for handling non-HTTP workloads. -To overcome this, Gateway API is designed to provide a more flexible, extensible, and powerful way to manage external traffic to your services. +## Gateway API -Gateway API is just weeks away from a GA release. It provides a standard Kubernetes API for ingress traffic control. It offers extended functionality, improved customization, and greater flexibility. By focusing on modular and expressive API resources, Gateway API makes it possible to describe a wider array of routing configurations and models. +To overcome this, Gateway API is designed to provide a more flexible, extensible, and powerful way +to manage external traffic to your services. -The transition from Ingress API to Gateway API in Kubernetes is driven by advantages and advanced functionalities that the Gateway API offers, with its foundation built on four core principles: a role-oriented approach, portability, expressiveness and extensibility. +Gateway API is just weeks away from a GA release. It provides a standard Kubernetes API for ingress +traffic control. It offers extended functionality, improved customization, and greater flexibility. +By focusing on modular and expressive API resources, Gateway API makes it possible to describe a +wider array of routing configurations and models. + +The transition from Ingress API to Gateway API in Kubernetes is driven by advantages and advanced +functionalities that the Gateway API offers, with its foundation built on four core principles: a +role-oriented approach, portability, expressiveness and extensibility. ### A Role-Oriented Approach -Gateway API employs a role-oriented approach that aligns with the conventional roles within organizations involved in configuring Kubernetes service networking. This approach enables infrastructure engineers, cluster operators, and application developers to collectively address different aspects of the Gateway API. +Gateway API employs a role-oriented approach that aligns with the conventional roles within +organizations involved in configuring Kubernetes service networking. This approach enables +infrastructure engineers, cluster operators, and application developers to collectively address +different aspects of the Gateway API. -For instance, infrastructure engineers play a pivotal role in deploying GatewayClasses, cluster-scoped resources that act as templates to explicitly define behavior for Gateways derived from them, laying the groundwork for robust service networking. +For instance, infrastructure engineers play a pivotal role in deploying GatewayClasses, +cluster-scoped resources that act as templates to explicitly define behavior for Gateways derived +from them, laying the groundwork for robust service networking. -Subsequently, cluster operators utilize these GatewayClasses to deploy gateways. -A Gateway in Kubernetes' Gateway API defines how external traffic can be directed to Services within the cluster, essentially bridging non-Kubernetes sources to Kubernetes-aware destinations. -It represents a request for a load balancer configuration aligned with a GatewayClass’ specification. -The Gateway spec may not be exhaustive as some details can be supplied by the GatewayClass controller, ensuring portability. -Additionally, a Gateway can be linked to multiple Route references to channel specific traffic subsets to designated services. +Subsequently, cluster operators utilize these GatewayClasses to deploy gateways. A Gateway in +Kubernetes' Gateway API defines how external traffic can be directed to Services within the cluster, +essentially bridging non-Kubernetes sources to Kubernetes-aware destinations. It represents a +request for a load balancer configuration aligned with a GatewayClass’ specification. The Gateway +spec may not be exhaustive as some details can be supplied by the GatewayClass controller, ensuring +portability. Additionally, a Gateway can be linked to multiple Route references to channel specific +traffic subsets to designated services. -Lastly, application developers configure route resources (such as HTTPRoutes), to manage configuration (e.g. timeouts, request matching/filter) and Service composition (e.g. path routing to backends) -Route resources define protocol-specific rules for mapping requests from a Gateway to Kubernetes Services. -HTTPRoute is for multiplexing HTTP or terminated HTTPS connections. -It's intended for use in cases where you want to inspect the HTTP stream and use HTTP request data for either routing or modification, for example using HTTP Headers for routing, or modifying them in-flight. +Lastly, application developers configure route resources (such as HTTPRoutes), to manage +configuration (e.g. timeouts, request matching/filter) and Service composition (e.g. path routing to +backends) Route resources define protocol-specific rules for mapping requests from a Gateway to +Kubernetes Services. HTTPRoute is for multiplexing HTTP or terminated HTTPS connections. It's +intended for use in cases where you want to inspect the HTTP stream and use HTTP request data for +either routing or modification, for example using HTTP Headers for routing, or modifying them +in-flight. -{{< figure src="gateway-api-resources.svg" caption="Diagram showing the APIs that make up Gateway and how they relate to each other" >}} +{{< figure src="gateway-api-resources.svg" caption="Diagram showing the APIs that make up Gateway +and how they relate to each other" >}} ### Portability -With more than 20 [API implementations](https://gateway-api.sigs.k8s.io/implementations/#implementations), Gateway API is designed to be more portable across different implementations, clusters and environments. It helps reduce Ingress' reliance on non-portable, provider-specific annotations, making your configurations more consistent and easier to manage across multiple clusters. +With more than 20 [API +implementations](https://gateway-api.sigs.k8s.io/implementations/#implementations), Gateway API is +designed to be more portable across different implementations, clusters and environments. It helps +reduce Ingress' reliance on non-portable, provider-specific annotations, making your configurations +more consistent and easier to manage across multiple clusters. -Gateway API commits to supporting the 5 latest Kubernetes minor versions. That means that Gateway API currently supports Kubernetes 1.24+. +Gateway API commits to supporting the 5 latest Kubernetes minor versions. That means that Gateway +API currently supports Kubernetes 1.24+. ### Expressiveness -The Gateway API provides standard, Kubernetes-backed support for a wide range of features, such as header-based matching, traffic splitting, weight-based routing, request mirroring and more. With Ingress, these features need custom provider-specific annotations. +The Gateway API provides standard, Kubernetes-backed support for a wide range of features, such as +header-based matching, traffic splitting, weight-based routing, request mirroring and more. With +Ingress, these features need custom provider-specific annotations. ### Extensibility -Gateway API is designed with extensibility as a core feature. Rather than enforcing a one-size-fits-all model, it offers the flexibility to link custom resources at multiple layers within the API's framework. This layered approach to customization ensures that users can tailor configurations to their specific needs without overwhelming the main structure. By doing so, the Gateway API facilitates more granular and context-sensitive adjustments, allowing for a fine-tuned balance between standardization and adaptability. This becomes particularly valuable in complex cloud-native environments where specific use cases require nuanced configurations. +Gateway API is designed with extensibility as a core feature. Rather than enforcing a +one-size-fits-all model, it offers the flexibility to link custom resources at multiple layers +within the API's framework. This layered approach to customization ensures that users can tailor +configurations to their specific needs without overwhelming the main structure. By doing so, the +Gateway API facilitates more granular and context-sensitive adjustments, allowing for a fine-tuned +balance between standardization and adaptability. This becomes particularly valuable in complex +cloud-native environments where specific use cases require nuanced configurations. ## Upgrading to Gateway -1. [Install a Gateway controller](https://gateway-api.sigs.k8s.io/guides/#installing-a-gateway-controller) OR [install the Gateway API CRDs manually](https://gateway-api.sigs.k8s.io/guides/#installing-gateway-api) +Migrating from Ingress to the Gateway API may seem intimidating, but luckily Kubernetes just +released a tool to simplify the process. +[ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway) assists in the migration by +converting your existing Ingress resources into Gateway API resources. Here is how you can get +started with Gateway API and using ingress2gateway: -2. install [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway) +1. [Install a Gateway + controller](https://gateway-api.sigs.k8s.io/guides/#installing-a-gateway-controller) OR [install + the Gateway API CRDs manually](https://gateway-api.sigs.k8s.io/guides/#installing-gateway-api) + +2. install [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway) If you have a Go +development environment locally, you can install `ingress2gateway` with: ``` -go install github.com/kubernetes-sigs/ingress2gateway@latest +go install github.com/kubernetes-sigs/ingress2gateway@v0.1.0 ``` -Provided you have a Go development environment installed, that command installs `ingress2gateway` to `$(go env GOPATH)/bin/ingress2gateway`. -Alternatively, you can build it from source by following [Build from source](https://github.com/kubernetes-sigs/ingress2gateway/tree/95b4a0316bac8d28d72b871a210bbc9bd6191eb7#build-from-source) +This installs `ingress2gateway` to `$(go env GOPATH)/bin/ingress2gateway`. -3. Once the tool is installed, you can use it to convert the ingress resources in your cluster to Gateway API resources. +Alternatively, follow the installation guide +[here](https://github.com/kubernetes-sigs/ingress2gateway#installation). + +3. Once the tool is installed, you can use it to convert the ingress resources in your cluster to + Gateway API resources. ``` ingress2gateway print @@ -83,28 +143,39 @@ This above command will: 1. Read your Kube config file to extract the cluster credentials and the current active namespace. 1. Search for ingresses and provider-specific resources in that namespace. -1. Convert them to Gateway API resources (Currently only Gateways and HTTPRoutes). -For other options refer run the tool with `-h` or refer to https://github.com/kubernetes-sigs/ingress2gateway#options +1. Convert them to Gateway API resources (Currently only Gateways and HTTPRoutes). For other options +refer run the tool with `-h` or refer to https://github.com/kubernetes-sigs/ingress2gateway#options 4. Review the converted Gateway API resources, validate them, and then apply them to your cluster. -5. Update your DNS to point to the new Gateway. +5. Send test requests to your Gateway to check that it is working. You could get your gateway + address using `k get gateway -n -o + jsonpath='{.status.addresses}{"\n"}'`. -Note: make sure you test the newly created gateway before shifting the shifting 100% of the traffic. +6. Update your DNS to point to the new Gateway. -6. Once you've confirmed that no more traffic is going through your Ingress configuration, you can safely delete it. +7. Once you've confirmed that no more traffic is going through your Ingress configuration, you can + safely delete it. ## Wrapping up -Achieving reliable, scalable and extensible networking has always been a challenging objective. -The Gateway API is designed to improve the current Kubernetes networking standards like ingress and/or implementation specific annotations and CRDs. +Achieving reliable, scalable and extensible networking has always been a challenging objective. The +Gateway API is designed to improve the current Kubernetes networking standards like ingress and/or +implementation specific annotations and CRDs. -It is a Kubernetes standard API, consistent across different platforms and implementations and most importantly it is future proof. The Gateway API is considered the Ingress’ successor, it has a sub team under SIG Network that actively work on it and manage the ecosystem and it is likely to receive more updates and community support. +It is a Kubernetes standard API, consistent across different platforms and implementations and most +importantly it is future proof. The Gateway API is considered the Ingress’ successor, it has a sub +team under SIG Network that actively work on it and manage the ecosystem and it is likely to receive +more updates and community support. -Ingress2gateway tool helps to ease the migration process for you, converting an existing Ingress object to equivalent objects from Gateway. To make migrations even easier, Ingress2gateway has recently added extensions to enable converting from provider-specific solutions, enabling it to translate implementation-specific CRDs or Ingress annotations to the closest Gateway API equivalent. +Ingress2gateway tool helps to ease the migration process for you, converting an existing Ingress +object to equivalent objects from Gateway. To make migrations even easier, Ingress2gateway has +recently added extensions to enable converting from provider-specific solutions, enabling it to +translate implementation-specific CRDs or Ingress annotations to the closest Gateway API equivalent. ### Try it out and get involved There are many resources to check out and learn more: -- Get involved with the Ingress2Gateway project on [GitHub](https://github.com/kubernetes-sigs/ingress2gateway) +- Get involved with the Ingress2Gateway project on + [GitHub](https://github.com/kubernetes-sigs/ingress2gateway) - [Gateway API Getting Started](https://gateway-api.sigs.k8s.io/guides/) - [Gateway API Implementations](https://gateway-api.sigs.k8s.io/implementations/#gateways) From 654d225dbc155888cf572b327ec39cc721592a13 Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Thu, 19 Oct 2023 14:43:47 +0000 Subject: [PATCH 15/82] update date to 10-24 --- .../_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index f055eae128..9e3ee5443c 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -1,7 +1,7 @@ --- layout: blog title: "Time to Upgrade; Migrating to Gateway API" -date: 2023-10-19T10:00:00-08:00 +date: 2023-10-24T10:00:00-08:00 slug: introducing-ingress2gateway --- From 3655e76adf0dc7466caea847f8ec26815e9eb82b Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Fri, 20 Oct 2023 09:52:16 +0000 Subject: [PATCH 16/82] implement more feedback --- .../index.md | 85 ++++++++++--------- 1 file changed, 46 insertions(+), 39 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 9e3ee5443c..9dbb0d9b95 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -8,15 +8,17 @@ slug: introducing-ingress2gateway ***Authors:*** Lior Lieberman (Google), Kobi Levi (independent) Today we are releasing [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway), a tool -that can help you migrate from Ingress to Gateway API. Gateway API is just weeks away from -graduating to GA, if you haven't upgraded yet, now's the time to think about it! +that can help you migrate from [Ingress](/docs/concepts/services-networking/ingress/) to [Gateway +API](https://gateway-api.sigs.k8s.io). Gateway API is just weeks away from graduating to GA, if you +haven't upgraded yet, now's the time to think about it! + ## Background In the ever-evolving world of Kubernetes, networking plays a pivotal role. As more applications are -deployed in Kubernetes clusters, effective exposure of these services to clients outside the cluster -becomes a critical concern. If you've been working with Kubernetes, you're likely familiar with the -[Ingress API], which has been the go-to solution for managing external access to services. +deployed in Kubernetes clusters, effective exposure of these services to clients becomes a critical +concern. If you've been working with Kubernetes, you're likely familiar with the [Ingress API], +which has been the go-to solution for managing external access to services. [Ingress API]:/docs/concepts/services-networking/ingress/ @@ -42,7 +44,7 @@ Some of the limitations are: ## Gateway API To overcome this, Gateway API is designed to provide a more flexible, extensible, and powerful way -to manage external traffic to your services. +to manage traffic to your services. Gateway API is just weeks away from a GA release. It provides a standard Kubernetes API for ingress traffic control. It offers extended functionality, improved customization, and greater flexibility. @@ -53,7 +55,7 @@ The transition from Ingress API to Gateway API in Kubernetes is driven by advant functionalities that the Gateway API offers, with its foundation built on four core principles: a role-oriented approach, portability, expressiveness and extensibility. -### A Role-Oriented Approach +### A role-oriented approach Gateway API employs a role-oriented approach that aligns with the conventional roles within organizations involved in configuring Kubernetes service networking. This approach enables @@ -102,10 +104,12 @@ Ingress, these features need custom provider-specific annotations. Gateway API is designed with extensibility as a core feature. Rather than enforcing a one-size-fits-all model, it offers the flexibility to link custom resources at multiple layers within the API's framework. This layered approach to customization ensures that users can tailor -configurations to their specific needs without overwhelming the main structure. By doing so, the -Gateway API facilitates more granular and context-sensitive adjustments, allowing for a fine-tuned -balance between standardization and adaptability. This becomes particularly valuable in complex -cloud-native environments where specific use cases require nuanced configurations. +configurations to their specific needs without overwhelming the main structure. By doing so, Gateway +API facilitates more granular and context-sensitive adjustments, allowing for a fine-tuned balance +between standardization and adaptability. This becomes particularly valuable in complex cloud-native +environments where specific use cases require nuanced configurations. A critical difference is that +Gateway API has a much broader base set of features and a standard pattern for extensions that can +be more expressive than annotations were on Ingress. ## Upgrading to Gateway @@ -118,54 +122,57 @@ started with Gateway API and using ingress2gateway: 1. [Install a Gateway controller](https://gateway-api.sigs.k8s.io/guides/#installing-a-gateway-controller) OR [install - the Gateway API CRDs manually](https://gateway-api.sigs.k8s.io/guides/#installing-gateway-api) + the Gateway API CRDs manually](https://gateway-api.sigs.k8s.io/guides/#installing-gateway-api) . -2. install [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway) If you have a Go -development environment locally, you can install `ingress2gateway` with: +2. Install [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway). + + If you have a Go development environment locally, you can install `ingress2gateway` with: -``` -go install github.com/kubernetes-sigs/ingress2gateway@v0.1.0 -``` + ``` + go install github.com/kubernetes-sigs/ingress2gateway@v0.1.0 + ``` -This installs `ingress2gateway` to `$(go env GOPATH)/bin/ingress2gateway`. + This installs `ingress2gateway` to `$(go env GOPATH)/bin/ingress2gateway`. -Alternatively, follow the installation guide -[here](https://github.com/kubernetes-sigs/ingress2gateway#installation). + Alternatively, follow the installation guide + [here](https://github.com/kubernetes-sigs/ingress2gateway#installation). -3. Once the tool is installed, you can use it to convert the ingress resources in your cluster to +1. Once the tool is installed, you can use it to convert the ingress resources in your cluster to Gateway API resources. -``` -ingress2gateway print -``` + ``` + ingress2gateway print + ``` -This above command will: + This above command will: -1. Read your Kube config file to extract the cluster credentials and the current active namespace. -1. Search for ingresses and provider-specific resources in that namespace. -1. Convert them to Gateway API resources (Currently only Gateways and HTTPRoutes). For other options -refer run the tool with `-h` or refer to https://github.com/kubernetes-sigs/ingress2gateway#options + 1. Load your current Kubernetes client config including the active context, namespace and + authentication details. + 2. Search for ingresses and provider-specific resources in that namespace. + 3. Convert them to Gateway API resources (Currently only Gateways and HTTPRoutes). For other + options you can run the tool with `-h`, or refer to + [https://github.com/kubernetes-sigs/ingress2gateway#options](https://github.com/kubernetes-sigs/ingress2gateway#options). -4. Review the converted Gateway API resources, validate them, and then apply them to your cluster. +2. Review the converted Gateway API resources, validate them, and then apply them to your cluster. -5. Send test requests to your Gateway to check that it is working. You could get your gateway - address using `k get gateway -n -o +3. Send test requests to your Gateway to check that it is working. You could get your gateway + address using `kubectl get gateway -n -o jsonpath='{.status.addresses}{"\n"}'`. -6. Update your DNS to point to the new Gateway. +4. Update your DNS to point to the new Gateway. -7. Once you've confirmed that no more traffic is going through your Ingress configuration, you can +5. Once you've confirmed that no more traffic is going through your Ingress configuration, you can safely delete it. ## Wrapping up Achieving reliable, scalable and extensible networking has always been a challenging objective. The -Gateway API is designed to improve the current Kubernetes networking standards like ingress and/or -implementation specific annotations and CRDs. +Gateway API is designed to improve the current Kubernetes networking standards like ingress and +reduce the need for implementation specific annotations and CRDs. It is a Kubernetes standard API, consistent across different platforms and implementations and most -importantly it is future proof. The Gateway API is considered the Ingress’ successor, it has a sub -team under SIG Network that actively work on it and manage the ecosystem and it is likely to receive -more updates and community support. +importantly it is future proof. The Gateway API is considered the successor to Ingress; Gateway API +is supported by a dedicated team under SIG Network that actively work on it and manage the +ecosystem. It is also likely to receive more updates and community support. Ingress2gateway tool helps to ease the migration process for you, converting an existing Ingress object to equivalent objects from Gateway. To make migrations even easier, Ingress2gateway has From 5a9d02a0791fb2460b0826d861029d0a5f41e572 Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Fri, 20 Oct 2023 10:59:23 +0000 Subject: [PATCH 17/82] add The Road Ahead --- .../index.md | 42 +++++++++++++------ 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 9dbb0d9b95..34a4cdb416 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -86,6 +86,7 @@ in-flight. and how they relate to each other" >}} ### Portability + With more than 20 [API implementations](https://gateway-api.sigs.k8s.io/implementations/#implementations), Gateway API is designed to be more portable across different implementations, clusters and environments. It helps @@ -96,11 +97,13 @@ Gateway API commits to supporting the 5 latest Kubernetes minor versions. That m API currently supports Kubernetes 1.24+. ### Expressiveness + The Gateway API provides standard, Kubernetes-backed support for a wide range of features, such as header-based matching, traffic splitting, weight-based routing, request mirroring and more. With Ingress, these features need custom provider-specific annotations. ### Extensibility + Gateway API is designed with extensibility as a core feature. Rather than enforcing a one-size-fits-all model, it offers the flexibility to link custom resources at multiple layers within the API's framework. This layered approach to customization ensures that users can tailor @@ -137,7 +140,7 @@ started with Gateway API and using ingress2gateway: Alternatively, follow the installation guide [here](https://github.com/kubernetes-sigs/ingress2gateway#installation). -1. Once the tool is installed, you can use it to convert the ingress resources in your cluster to +3. Once the tool is installed, you can use it to convert the ingress resources in your cluster to Gateway API resources. ``` @@ -153,36 +156,49 @@ started with Gateway API and using ingress2gateway: options you can run the tool with `-h`, or refer to [https://github.com/kubernetes-sigs/ingress2gateway#options](https://github.com/kubernetes-sigs/ingress2gateway#options). -2. Review the converted Gateway API resources, validate them, and then apply them to your cluster. +4. Review the converted Gateway API resources, validate them, and then apply them to your cluster. -3. Send test requests to your Gateway to check that it is working. You could get your gateway +5. Send test requests to your Gateway to check that it is working. You could get your gateway address using `kubectl get gateway -n -o jsonpath='{.status.addresses}{"\n"}'`. -4. Update your DNS to point to the new Gateway. +6. Update your DNS to point to the new Gateway. -5. Once you've confirmed that no more traffic is going through your Ingress configuration, you can +7. Once you've confirmed that no more traffic is going through your Ingress configuration, you can safely delete it. ## Wrapping up + Achieving reliable, scalable and extensible networking has always been a challenging objective. The Gateway API is designed to improve the current Kubernetes networking standards like ingress and reduce the need for implementation specific annotations and CRDs. It is a Kubernetes standard API, consistent across different platforms and implementations and most importantly it is future proof. The Gateway API is considered the successor to Ingress; Gateway API -is supported by a dedicated team under SIG Network that actively work on it and manage the -ecosystem. It is also likely to receive more updates and community support. +and Ingress2gateway are supported by a dedicated team under SIG Network that actively work on it and +manage the ecosystem. It is also likely to receive more updates and community support. -Ingress2gateway tool helps to ease the migration process for you, converting an existing Ingress -object to equivalent objects from Gateway. To make migrations even easier, Ingress2gateway has -recently added extensions to enable converting from provider-specific solutions, enabling it to -translate implementation-specific CRDs or Ingress annotations to the closest Gateway API equivalent. +### The Road Ahead +Ingress2gateway is just getting started. We're planning to onboard more providers, introduce support +for more types of Gateway API routes, and make sure everything syncs up smoothly with the ongoing +development of the Gateway API. + +Excitingly, the Gateway API is also making significant strides. While v1.0 is about to launching, +there's still a lot of work ahead. This release incorporates many new experimental features, with +additional functionalities currently in the early stages of planning and development. + +If you're interested in helping to contribute, we would love to have you! Please check out the +[community page](https://gateway-api.sigs.k8s.io/contributing/community/) which includes links to +the Slack channel and community meetings. We look forward to seeing you!! + +### Useful Links -### Try it out and get involved -There are many resources to check out and learn more: - Get involved with the Ingress2Gateway project on [GitHub](https://github.com/kubernetes-sigs/ingress2gateway) +- Open a new issue - + [Ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway/issues/new/choose), [Gateway + API](https://github.com/kubernetes-sigs/gateway-api/issues/new/choose). +- Join our [discussions](https://github.com/kubernetes-sigs/gateway-api/discussions). - [Gateway API Getting Started](https://gateway-api.sigs.k8s.io/guides/) - [Gateway API Implementations](https://gateway-api.sigs.k8s.io/implementations/#gateways) From 33e99e3566fcd803db223ce20974d68812188efe Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Fri, 20 Oct 2023 11:02:50 +0000 Subject: [PATCH 18/82] implement more feedback --- .../index.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 34a4cdb416..674091b289 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -46,10 +46,10 @@ Some of the limitations are: To overcome this, Gateway API is designed to provide a more flexible, extensible, and powerful way to manage traffic to your services. -Gateway API is just weeks away from a GA release. It provides a standard Kubernetes API for ingress -traffic control. It offers extended functionality, improved customization, and greater flexibility. -By focusing on modular and expressive API resources, Gateway API makes it possible to describe a -wider array of routing configurations and models. +Gateway API is just weeks away from a GA (General Availability) release. It provides a standard +Kubernetes API for ingress traffic control. It offers extended functionality, improved +customization, and greater flexibility. By focusing on modular and expressive API resources, Gateway +API makes it possible to describe a wider array of routing configurations and models. The transition from Ingress API to Gateway API in Kubernetes is driven by advantages and advanced functionalities that the Gateway API offers, with its foundation built on four core principles: a @@ -82,8 +82,7 @@ intended for use in cases where you want to inspect the HTTP stream and use HTTP either routing or modification, for example using HTTP Headers for routing, or modifying them in-flight. -{{< figure src="gateway-api-resources.svg" caption="Diagram showing the APIs that make up Gateway -and how they relate to each other" >}} +{{< figure src="gateway-api-resources.svg" alt="Diagram showing the APIs that make up Gateway and how they relate to each other. The APIs shown are GatewayClass, Gateway, and HTTPRoute; the Service API is also shown" caption="The APIs that make up Gateway" class="diagram-medium" >}} ### Portability From 0878452073f97880d6e7dbf5762fde142237b9de Mon Sep 17 00:00:00 2001 From: Edith Puclla Date: Sun, 22 Oct 2023 14:32:47 +0100 Subject: [PATCH 19/82] [es] Add concepts/storage/ephemeral-volumes.md --- .../concepts/storage/ephemeral-volumes.md | 189 ++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 content/es/docs/concepts/storage/ephemeral-volumes.md diff --git a/content/es/docs/concepts/storage/ephemeral-volumes.md b/content/es/docs/concepts/storage/ephemeral-volumes.md new file mode 100644 index 0000000000..86209df6c4 --- /dev/null +++ b/content/es/docs/concepts/storage/ephemeral-volumes.md @@ -0,0 +1,189 @@ +--- +reviewers: + - ramrodo + - krol3 + - electrocucaracha +title: Volúmenes efímeros +content_type: concept +weight: 30 +--- + + + +Este documento describe _volúmenes efímeros_ en Kubernetes. Se sugiere tener conocimiento previo sobre [volúmenes](/docs/concepts/storage/volumes/), en particular PersistentVolumeClaim y PersistentVolume. + + + +Algunas aplicaciones requieren almacenamiento adicional, pero no les preocupa si esos datos se almacenan de manera persistente entre reinicios. Por ejemplo, los servicios de caché a menudo tienen limitaciones de tamaño de memoria y pueden trasladar datos poco utilizados a un almacenamiento más lento que la memoria, con un impacto mínimo en el rendimiento general. + +Otras aplicaciones esperan que algunos datos de entrada de solo lectura estén presentes en archivos, como datos de configuración o claves secretas. + +_Volúmenes efímeros_ están diseñados para estos casos de uso. Debido a que los volúmenes siguen el ciclo de vida del Pod y se crean y eliminan junto con el Pod, los Pods pueden detenerse y reiniciarse sin estar limitados a la disponibilidad de algún volumen persistente. + +Los volúmenes efímeros se especifican _en línea_ en la especificación del Pod, lo que simplifica la implementación y gestión de aplicaciones. + +### Tipos de volúmenes efímeros + +Kubernetes admite varios tipos diferentes de volúmenes efímeros para diversos propósitos: + +- [emptyDir](/docs/concepts/storage/volumes/#emptydir): vacíos al inicio del Pod, con el almacenamiento proveniente localmente del directorio base de kubelet (generalmente el disco raíz) o la RAM. +- [configMap](/docs/concepts/storage/volumes/#configmap), + [downwardAPI](/docs/concepts/storage/volumes/#downwardapi), + [secret](/docs/concepts/storage/volumes/#secret): inyectar diferentes tipos de datos de Kubernetes en un Pod. + +- [CSI volúmenes efímeros](#csi-ephemeral-volumes): + Similar a los tipos de volumen anteriores, pero proporcionados por controladores especiales {{< glossary_tooltip text="CSI" term_id="csi" >}} que [soportan específicamente esta característica](https://kubernetes-csi.github.io/docs/ephemeral-local-volumes.html) +- [volúmenes efímeros genéricos](#generic-ephemeral-volumes), que pueden proporcionar todos los controladores de almacenamiento que también admiten volúmenes persistentes + +`emptyDir`, `configMap`, `downwardAPI`, `secret` se proporcionan como [almacenamiento efímero local](/docs/concepts/configuration/manage-resources-containers/#local-ephemeral-storage). +Ellos son administrados por kubelet en cada nodo. + +Los volúmenes efímeros CSI _deben_ ser proporcionados por controladores de almacenamiento CSI de terceros. + +Los volúmenes efímeros genéricos _pueden_ ser proporcionados por controladores de almacenamiento CSI de terceros, pero también por cualquier otro controlador de almacenamiento que admita la provisión dinámica. Algunos controladores CSI están escritos específicamente para volúmenes efímeros CSI y no admiten la provisión dinámica; por lo tanto, no se pueden utilizar para volúmenes efímeros genéricos. + +La ventaja de utilizar controladores de terceros es que pueden ofrecer funcionalidades que Kubernetes en sí mismo no admite, como el almacenamiento con características de rendimiento diferentes al disco gestionado por kubelet o la inyección de datos diversos. + +### Volúmenes efímeros de CSI + +{{< feature-state for_k8s_version="v1.25" state="stable" >}} + +{{< note >}} +Los volúmenes efímeros CSI solo son compatibles con un subconjunto de controladores CSI. +La [lista de controladores](https://kubernetes-csi.github.io/docs/drivers.html) CSI de Kubernetes muestra cuáles controladores admiten volúmenes efímeros. +{{< /note >}} +Conceptualmente, los volúmenes efímeros CSI son similares a `configMap`, +`downwardAPI` y `secret` tipos de volumen: el almacenamiento se gestiona localmente en cada nodo y se crea junto con otros recursos locales después de que un Pod ha sido programado en un nodo. Kubernetes ya no tiene ningún concepto de reprogramación de Pods en esta etapa. La creación de volúmenes debe ser poco propensa a fallos, +de lo contrario, el inicio del Pod queda atascado. En particular, [la programación de Pods con conciencia de la capacidad de almacenamiento](/docs/concepts/storage/storage-capacity/) _no_ está admitida para estos volúmenes. Actualmente, tampoco están cubiertos por los límites de uso de recursos de almacenamiento de un Pod, porque eso es algo que kubelet solo puede aplicar para el almacenamiento que administra él mismo. + +Aquí tienes un ejemplo de manifiesto para un Pod que utiliza almacenamiento efímero CSI: + +```yaml +kind: Pod +apiVersion: v1 +metadata: + name: my-csi-app +spec: + containers: + - name: my-frontend + image: busybox:1.28 + volumeMounts: + - mountPath: "/data" + name: my-csi-inline-vol + command: ["sleep", "1000000"] + volumes: + - name: my-csi-inline-vol + csi: + driver: inline.storage.kubernetes.io + volumeAttributes: + foo: bar +``` + +Las `volumeAttributes` determinan qué volumen es preparado por el controlador. Estos atributos son específicos de cada controlador y no están estandarizados. Consulta la documentación de cada controlador CSI para obtener instrucciones adicionales. + +### Restricciones del conductor CSI + +Los volúmenes efímeros CSI permiten a los usuarios proporcionar `volumeAttributes` directamente al controlador CSI como parte de la especificación del Pod. Un controlador CSI que permite `volumeAttributes` que normalmente están restringidos a administradores NO es adecuado para su uso en un volumen efímero en línea. Por ejemplo, los parámetros que normalmente se definen en la clase de almacenamiento no deben estar expuestos a los usuarios a través del uso de volúmenes efímeros en línea. + +Los administradores del clúster que necesiten restringir los controladores CSI que se pueden utilizar como volúmenes en línea dentro de una especificación de Pod pueden hacerlo mediante: + +- Eliminar `Ephemeral` de `volumeLifecycleModes` en la especificación de CSIDriver, lo que evita que los controladores CSI admitan volúmenes efímeros en línea. + +- Usando un [webhook de admisión](/docs/reference/access-authn-authz/extensible-admission-controllers/) + para restringir el uso de este controlador. + +### Volúmenes efímeros genéricos + +{{< feature-state for_k8s_version="v1.23" state="stable" >}} + +Los volúmenes efímeros genéricos son similares a los volúmenes `emptyDir` en el sentido de que proporcionan un directorio por Pod para datos temporales que generalmente está vacío después de la provisión. Pero también pueden tener características adicionales: + +- El almacenamiento puede ser local o conectado a la red. +- Los volúmenes pueden tener un tamaño fijo que los Pods no pueden exceder. +- Los volúmenes pueden tener algunos datos iniciales, dependiendo del controlador y los parámetros. +- Se admiten operaciones típicas en los volúmenes, siempre que el controlador las soporte, incluyendo + [snapshotting](/docs/concepts/storage/volume-snapshots/), + [clonación](/docs/concepts/storage/volume-pvc-datasource/), + [cambiar el tamaño](/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims), + y [seguimiento de la capacidad de almacenamiento](/docs/concepts/storage/storage-capacity/). + +Ejemplo: + +```yaml +kind: Pod +apiVersion: v1 +metadata: + name: my-app +spec: + containers: + - name: my-frontend + image: busybox:1.28 + volumeMounts: + - mountPath: "/scratch" + name: scratch-volume + command: ["sleep", "1000000"] + volumes: + - name: scratch-volume + ephemeral: + volumeClaimTemplate: + metadata: + labels: + type: my-frontend-volume + spec: + accessModes: ["ReadWriteOnce"] + storageClassName: "scratch-storage-class" + resources: + requests: + storage: 1Gi +``` + +### Ciclo de vida y reclamo de volumen persistente + +La idea clave de diseño es que los [parámetros para una solicitud de volumen](/docs/reference/generated/kubernetes-api/{{< param "version" >}}/#ephemeralvolumesource-v1-core) +se permiten dentro de una fuente de volumen del Pod. Se admiten etiquetas, anotaciones y +todo el conjunto de campos para una PersistentVolumeClaim. Cuando se crea un Pod de este tipo, el controlador de volúmenes efímeros crea entonces un objeto PersistentVolumeClaim real en el mismo espacio de nombres que el Pod y asegura que la PersistentVolumeClaim +se elimine cuando se elimina el Pod. + +Eso desencadena la vinculación y/o aprovisionamiento de volúmenes, ya sea de inmediato si el {{< glossary_tooltip text="StorageClass" term_id="storage-class" >}} utiliza la vinculación inmediata de volúmenes o cuando el Pod está programado provisionalmente en un nodo (modo de vinculación de volumen `WaitForFirstConsumer`). Este último se recomienda para volúmenes efímeros genéricos, ya que permite al planificador elegir libremente un nodo adecuado para el Pod. Con la vinculación inmediata, el planificador está obligado a seleccionar un nodo que tenga acceso al volumen una vez que esté disponible. + +En términos de [propiedad de recursos](/docs/concepts/architecture/garbage-collection/#owners-dependents), +un Pod que tiene almacenamiento efímero genérico es el propietario de la PersistentVolumeClaim(s) que proporciona ese almacenamiento efímero. Cuando se elimina el Pod, el recolector de basura de Kubernetes elimina la PVC, lo que suele desencadenar la eliminación del volumen, ya que la política de recuperación predeterminada de las clases de almacenamiento es eliminar los volúmenes. +Puedes crear almacenamiento local cuasi-efímero utilizando una StorageClass con una política de recuperación de `retain`: el almacenamiento sobrevive al Pod y, en este caso, debes asegurarte de que la limpieza del volumen se realice por separado. + +Mientras estas PVC existen, pueden usarse como cualquier otra PVC. En particular, pueden ser referenciadas como fuente de datos en la clonación o creación de instantáneas de volúmenes. El objeto PVC también contiene el estado actual del volumen. + +### Nomenclatura de PersistentVolumeClaim. + +La nomenclatura de las PVC creadas automáticamente es determinista: el nombre es una combinación del nombre del Pod y el nombre del volumen, con un guion medio (`-`) en el medio. En el ejemplo anterior, el nombre de la PVC será `my-app-scratch-volume`. Esta nomenclatura determinista facilita la interacción con la PVC, ya que no es necesario buscarla una vez que se conocen el nombre del Pod y el nombre del volumen. + +La nomenclatura determinista también introduce un posible conflicto entre diferentes Pods (un Pod "pod-a" con el volumen "scratch" y otro Pod con nombre "pod" y volumen "a-scratch" terminan teniendo el mismo nombre de PVC "pod-a-scratch") y entre Pods y PVCs creadas manualmente. + +Estos conflictos se detectan: una PVC solo se utiliza para un volumen efímero si se creó para el Pod. Esta comprobación se basa en la relación de propiedad. Una PVC existente no se sobrescribe ni se modifica. Pero esto no resuelve el conflicto, ya que sin la PVC adecuada, el Pod no puede iniciarse. + +{{< caution >}} +Ten cuidado al nombrar Pods y volúmenes dentro del mismo espacio de nombres para evitar que se produzcan estos conflictos. +{{< /caution >}} + +### Seguridad + +El uso de volúmenes efímeros genéricos permite a los usuarios crear PVC de forma indirecta si pueden crear Pods, incluso si no tienen permiso para crear PVC directamente. Los administradores del clúster deben ser conscientes de esto. Si esto no encaja en su modelo de seguridad, deberían utilizar un [webhook de admisión](/docs/reference/access-authn-authz/extensible-admission-controllers/) que rechace objetos como Pods que tienen un volumen efímero genérico. + +La cuota normal del [espacio de nombres para PVC](/docs/concepts/policy/resource-quotas/#storage-resource-quota) sigue aplicándose, por lo que incluso si a los usuarios se les permite utilizar este nuevo mecanismo, no pueden utilizarlo para eludir otras políticas. + +## {{% heading "whatsnext" %}} + +### Volúmenes efímeros gestionados por kubelet + +Ver [almacenamiento efímero local](/docs/concepts/configuration/manage-resources-containers/#local-ephemeral-storage). + +### Volúmenes efímeros de CSI + +- Para obtener más información sobre el diseño, consulte la + [Volúmenes efímeros de CSI en línea KEP](https://github.com/kubernetes/enhancements/blob/ad6021b3d61a49040a3f835e12c8bb5424db2bbb/keps/sig-storage/20190122-csi-inline-volumes.md). +- Para obtener más información sobre el desarrollo futuro de esta función, consulte la + [problema de seguimiento de mejoras #596](https://github.com/kubernetes/enhancements/issues/596). + +### Volúmenes efímeros genéricos + +- Para obtener más información sobre el diseño, consulte la + [Volúmenes en línea efímeros genéricos KEP](https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/1698-generic-ephemeral-volumes/README.md). From 263fdea975e263920cd9c7f5ac36fce6feded845 Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Tue, 24 Oct 2023 07:43:54 +0000 Subject: [PATCH 20/82] applying code reviews and push the date forward 1 day --- .../index.md | 36 ++++++++++--------- 1 file changed, 19 insertions(+), 17 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 674091b289..37aaa77b51 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -1,7 +1,7 @@ --- layout: blog -title: "Time to Upgrade; Migrating to Gateway API" -date: 2023-10-24T10:00:00-08:00 +title: "Introducing ingress2gateway, Simplifying Upgrade to Gateway API" +date: 2023-10-25T10:00:00-08:00 slug: introducing-ingress2gateway --- @@ -52,7 +52,7 @@ customization, and greater flexibility. By focusing on modular and expressive AP API makes it possible to describe a wider array of routing configurations and models. The transition from Ingress API to Gateway API in Kubernetes is driven by advantages and advanced -functionalities that the Gateway API offers, with its foundation built on four core principles: a +functionalities that Gateway API offers, with its foundation built on four core principles: a role-oriented approach, portability, expressiveness and extensibility. ### A role-oriented approach @@ -60,7 +60,7 @@ role-oriented approach, portability, expressiveness and extensibility. Gateway API employs a role-oriented approach that aligns with the conventional roles within organizations involved in configuring Kubernetes service networking. This approach enables infrastructure engineers, cluster operators, and application developers to collectively address -different aspects of the Gateway API. +different aspects of Gateway API. For instance, infrastructure engineers play a pivotal role in deploying GatewayClasses, cluster-scoped resources that act as templates to explicitly define behavior for Gateways derived @@ -82,7 +82,9 @@ intended for use in cases where you want to inspect the HTTP stream and use HTTP either routing or modification, for example using HTTP Headers for routing, or modifying them in-flight. -{{< figure src="gateway-api-resources.svg" alt="Diagram showing the APIs that make up Gateway and how they relate to each other. The APIs shown are GatewayClass, Gateway, and HTTPRoute; the Service API is also shown" caption="The APIs that make up Gateway" class="diagram-medium" >}} +{{< figure src="gateway-api-resources.svg" alt="Diagram showing the APIs that make up Gateway and +how they relate to each other. The APIs shown are GatewayClass, Gateway, and HTTPRoute; the Service +API is also shown" caption="The APIs that make up Gateway" class="diagram-medium" >}} ### Portability @@ -97,7 +99,7 @@ API currently supports Kubernetes 1.24+. ### Expressiveness -The Gateway API provides standard, Kubernetes-backed support for a wide range of features, such as +Gateway API provides standard, Kubernetes-backed support for a wide range of features, such as header-based matching, traffic splitting, weight-based routing, request mirroring and more. With Ingress, these features need custom provider-specific annotations. @@ -116,11 +118,10 @@ be more expressive than annotations were on Ingress. ## Upgrading to Gateway -Migrating from Ingress to the Gateway API may seem intimidating, but luckily Kubernetes just -released a tool to simplify the process. -[ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway) assists in the migration by -converting your existing Ingress resources into Gateway API resources. Here is how you can get -started with Gateway API and using ingress2gateway: +Migrating from Ingress to Gateway API may seem intimidating, but luckily Kubernetes just released a +tool to simplify the process. [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway) +assists in the migration by converting your existing Ingress resources into Gateway API resources. +Here is how you can get started with Gateway API and using ingress2gateway: 1. [Install a Gateway controller](https://gateway-api.sigs.k8s.io/guides/#installing-a-gateway-controller) OR [install @@ -173,17 +174,18 @@ Gateway API is designed to improve the current Kubernetes networking standards l reduce the need for implementation specific annotations and CRDs. It is a Kubernetes standard API, consistent across different platforms and implementations and most -importantly it is future proof. The Gateway API is considered the successor to Ingress; Gateway API -and Ingress2gateway are supported by a dedicated team under SIG Network that actively work on it and +importantly it is future proof. Gateway API is the next generation of the Ingress API, but has a +larger scope than that, expanding to tackle mesh and layer 4 routing as well. Gateway API and +ingress2gateway are supported by a dedicated team under SIG Network that actively work on it and manage the ecosystem. It is also likely to receive more updates and community support. ### The Road Ahead -Ingress2gateway is just getting started. We're planning to onboard more providers, introduce support +ingress2gateway is just getting started. We're planning to onboard more providers, introduce support for more types of Gateway API routes, and make sure everything syncs up smoothly with the ongoing -development of the Gateway API. +development of Gateway API. -Excitingly, the Gateway API is also making significant strides. While v1.0 is about to launching, +Excitingly, Gateway API is also making significant strides. While v1.0 is about to launching, there's still a lot of work ahead. This release incorporates many new experimental features, with additional functionalities currently in the early stages of planning and development. @@ -196,7 +198,7 @@ the Slack channel and community meetings. We look forward to seeing you!! - Get involved with the Ingress2Gateway project on [GitHub](https://github.com/kubernetes-sigs/ingress2gateway) - Open a new issue - - [Ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway/issues/new/choose), [Gateway + [ingress2gateway](https://github.com/kubernetes-sigs/ingress2gateway/issues/new/choose), [Gateway API](https://github.com/kubernetes-sigs/gateway-api/issues/new/choose). - Join our [discussions](https://github.com/kubernetes-sigs/gateway-api/discussions). - [Gateway API Getting Started](https://gateway-api.sigs.k8s.io/guides/) From 67f947332242cbc419257d72d039669b7abfd32a Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Tue, 24 Oct 2023 07:47:11 +0000 Subject: [PATCH 21/82] change comma to semi colon --- .../_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 37aaa77b51..4f64267590 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -1,6 +1,6 @@ --- layout: blog -title: "Introducing ingress2gateway, Simplifying Upgrade to Gateway API" +title: "Introducing ingress2gateway; Simplifying Upgrade to Gateway API" date: 2023-10-25T10:00:00-08:00 slug: introducing-ingress2gateway --- From 23a9bab1af7c100dc22c2c35f7e71eec61708cfe Mon Sep 17 00:00:00 2001 From: Edith Puclla <58795858+edithturn@users.noreply.github.com> Date: Tue, 24 Oct 2023 09:53:10 +0100 Subject: [PATCH 22/82] Update content/es/docs/concepts/storage/ephemeral-volumes.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Thank youu! Co-authored-by: Rodolfo Martínez Vega --- content/es/docs/concepts/storage/ephemeral-volumes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/es/docs/concepts/storage/ephemeral-volumes.md b/content/es/docs/concepts/storage/ephemeral-volumes.md index 86209df6c4..74ff6e4982 100644 --- a/content/es/docs/concepts/storage/ephemeral-volumes.md +++ b/content/es/docs/concepts/storage/ephemeral-volumes.md @@ -18,7 +18,7 @@ Algunas aplicaciones requieren almacenamiento adicional, pero no les preocupa si Otras aplicaciones esperan que algunos datos de entrada de solo lectura estén presentes en archivos, como datos de configuración o claves secretas. -_Volúmenes efímeros_ están diseñados para estos casos de uso. Debido a que los volúmenes siguen el ciclo de vida del Pod y se crean y eliminan junto con el Pod, los Pods pueden detenerse y reiniciarse sin estar limitados a la disponibilidad de algún volumen persistente. +Los _volúmenes efímeros_ están diseñados para estos casos de uso. Debido a que los volúmenes siguen el ciclo de vida del Pod y se crean y eliminan junto con el Pod, los Pods pueden detenerse y reiniciarse sin estar limitados a la disponibilidad de algún volumen persistente. Los volúmenes efímeros se especifican _en línea_ en la especificación del Pod, lo que simplifica la implementación y gestión de aplicaciones. From bf1f0db54de96f9fd61d7969a945a98891aa3ccd Mon Sep 17 00:00:00 2001 From: Edith Puclla <58795858+edithturn@users.noreply.github.com> Date: Tue, 24 Oct 2023 09:57:14 +0100 Subject: [PATCH 23/82] Update content/es/docs/concepts/storage/ephemeral-volumes.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Entiendo! Gracias Rodolfo! :) Co-authored-by: Rodolfo Martínez Vega --- content/es/docs/concepts/storage/ephemeral-volumes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/es/docs/concepts/storage/ephemeral-volumes.md b/content/es/docs/concepts/storage/ephemeral-volumes.md index 74ff6e4982..d963b5481b 100644 --- a/content/es/docs/concepts/storage/ephemeral-volumes.md +++ b/content/es/docs/concepts/storage/ephemeral-volumes.md @@ -52,8 +52,8 @@ La ventaja de utilizar controladores de terceros es que pueden ofrecer funcional Los volúmenes efímeros CSI solo son compatibles con un subconjunto de controladores CSI. La [lista de controladores](https://kubernetes-csi.github.io/docs/drivers.html) CSI de Kubernetes muestra cuáles controladores admiten volúmenes efímeros. {{< /note >}} -Conceptualmente, los volúmenes efímeros CSI son similares a `configMap`, -`downwardAPI` y `secret` tipos de volumen: el almacenamiento se gestiona localmente en cada nodo y se crea junto con otros recursos locales después de que un Pod ha sido programado en un nodo. Kubernetes ya no tiene ningún concepto de reprogramación de Pods en esta etapa. La creación de volúmenes debe ser poco propensa a fallos, +Conceptualmente, los volúmenes efímeros CSI son similares a los tipos de volumen `configMap`, +`downwardAPI` y `secret`: el almacenamiento se gestiona localmente en cada nodo y se crea junto con otros recursos locales después de que un Pod ha sido programado en un nodo. Kubernetes ya no tiene ningún concepto de reprogramación de Pods en esta etapa. La creación de volúmenes debe ser poco propensa a fallos, de lo contrario, el inicio del Pod queda atascado. En particular, [la programación de Pods con conciencia de la capacidad de almacenamiento](/docs/concepts/storage/storage-capacity/) _no_ está admitida para estos volúmenes. Actualmente, tampoco están cubiertos por los límites de uso de recursos de almacenamiento de un Pod, porque eso es algo que kubelet solo puede aplicar para el almacenamiento que administra él mismo. Aquí tienes un ejemplo de manifiesto para un Pod que utiliza almacenamiento efímero CSI: From dc971a766f7f96e7cb00f33370332213a3912bbb Mon Sep 17 00:00:00 2001 From: Edith Puclla <58795858+edithturn@users.noreply.github.com> Date: Tue, 24 Oct 2023 09:57:29 +0100 Subject: [PATCH 24/82] Update content/es/docs/concepts/storage/ephemeral-volumes.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Gracias! Co-authored-by: Rodolfo Martínez Vega --- content/es/docs/concepts/storage/ephemeral-volumes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/es/docs/concepts/storage/ephemeral-volumes.md b/content/es/docs/concepts/storage/ephemeral-volumes.md index d963b5481b..82765e1115 100644 --- a/content/es/docs/concepts/storage/ephemeral-volumes.md +++ b/content/es/docs/concepts/storage/ephemeral-volumes.md @@ -102,7 +102,7 @@ Los volúmenes efímeros genéricos son similares a los volúmenes `emptyDir` en - Los volúmenes pueden tener un tamaño fijo que los Pods no pueden exceder. - Los volúmenes pueden tener algunos datos iniciales, dependiendo del controlador y los parámetros. - Se admiten operaciones típicas en los volúmenes, siempre que el controlador las soporte, incluyendo - [snapshotting](/docs/concepts/storage/volume-snapshots/), + [instantáneas](/docs/concepts/storage/volume-snapshots/), [clonación](/docs/concepts/storage/volume-pvc-datasource/), [cambiar el tamaño](/docs/concepts/storage/persistent-volumes/#expanding-persistent-volumes-claims), y [seguimiento de la capacidad de almacenamiento](/docs/concepts/storage/storage-capacity/). From dcd13a82527a119af0b5d7b782dc7c5fb6116b01 Mon Sep 17 00:00:00 2001 From: Edith Puclla <58795858+edithturn@users.noreply.github.com> Date: Tue, 24 Oct 2023 09:58:12 +0100 Subject: [PATCH 25/82] Update content/es/docs/concepts/storage/ephemeral-volumes.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rodolfo Martínez Vega --- content/es/docs/concepts/storage/ephemeral-volumes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/es/docs/concepts/storage/ephemeral-volumes.md b/content/es/docs/concepts/storage/ephemeral-volumes.md index 82765e1115..51e4e55de5 100644 --- a/content/es/docs/concepts/storage/ephemeral-volumes.md +++ b/content/es/docs/concepts/storage/ephemeral-volumes.md @@ -178,8 +178,8 @@ Ver [almacenamiento efímero local](/docs/concepts/configuration/manage-resource ### Volúmenes efímeros de CSI -- Para obtener más información sobre el diseño, consulte la - [Volúmenes efímeros de CSI en línea KEP](https://github.com/kubernetes/enhancements/blob/ad6021b3d61a49040a3f835e12c8bb5424db2bbb/keps/sig-storage/20190122-csi-inline-volumes.md). +- Para obtener más información sobre el diseño, consulta el + [KEP de Volúmenes efímeros en línea de CSI](https://github.com/kubernetes/enhancements/blob/ad6021b3d61a49040a3f835e12c8bb5424db2bbb/keps/sig-storage/20190122-csi-inline-volumes.md). - Para obtener más información sobre el desarrollo futuro de esta función, consulte la [problema de seguimiento de mejoras #596](https://github.com/kubernetes/enhancements/issues/596). From b9e35d59f16dfd9890cff7187cba61cfa820a2be Mon Sep 17 00:00:00 2001 From: Edith Puclla <58795858+edithturn@users.noreply.github.com> Date: Tue, 24 Oct 2023 09:58:37 +0100 Subject: [PATCH 26/82] Update content/es/docs/concepts/storage/ephemeral-volumes.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Entiendo! Co-authored-by: Rodolfo Martínez Vega --- content/es/docs/concepts/storage/ephemeral-volumes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/es/docs/concepts/storage/ephemeral-volumes.md b/content/es/docs/concepts/storage/ephemeral-volumes.md index 51e4e55de5..955a46f187 100644 --- a/content/es/docs/concepts/storage/ephemeral-volumes.md +++ b/content/es/docs/concepts/storage/ephemeral-volumes.md @@ -185,5 +185,5 @@ Ver [almacenamiento efímero local](/docs/concepts/configuration/manage-resource ### Volúmenes efímeros genéricos -- Para obtener más información sobre el diseño, consulte la - [Volúmenes en línea efímeros genéricos KEP](https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/1698-generic-ephemeral-volumes/README.md). +- Para obtener más información sobre el diseño, consulta el + [KEP de Volúmenes efímeros genéricos en línea](https://github.com/kubernetes/enhancements/blob/master/keps/sig-storage/1698-generic-ephemeral-volumes/README.md). From e8bd4b1b0f6c48e7605806166b87944598261b1a Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Tue, 24 Oct 2023 09:58:14 +0000 Subject: [PATCH 27/82] test --- .../_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 4f64267590..2a64e8255b 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -181,7 +181,7 @@ manage the ecosystem. It is also likely to receive more updates and community su ### The Road Ahead -ingress2gateway is just getting started. We're planning to onboard more providers, introduce support +Ingress2gateway is just getting started. We're planning to onboard more providers, introduce support for more types of Gateway API routes, and make sure everything syncs up smoothly with the ongoing development of Gateway API. From d69cf3054f518b0edf85d3ea022d8ad296ee8de5 Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Tue, 24 Oct 2023 10:01:16 +0000 Subject: [PATCH 28/82] attempt to fix netlify --- .../2023-10-18-gateway-api-time-to-switch-i2gw/index.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md index 2a64e8255b..988041ea1d 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md @@ -82,9 +82,7 @@ intended for use in cases where you want to inspect the HTTP stream and use HTTP either routing or modification, for example using HTTP Headers for routing, or modifying them in-flight. -{{< figure src="gateway-api-resources.svg" alt="Diagram showing the APIs that make up Gateway and -how they relate to each other. The APIs shown are GatewayClass, Gateway, and HTTPRoute; the Service -API is also shown" caption="The APIs that make up Gateway" class="diagram-medium" >}} +{{< figure src="gateway-api-resources.svg" alt="Diagram showing the APIs that make up Gateway and how they relate to each other. The APIs shown are GatewayClass, Gateway, and HTTPRoute; the Service API is also shown" caption="The APIs that make up Gateway" class="diagram-medium" >}} ### Portability @@ -181,7 +179,7 @@ manage the ecosystem. It is also likely to receive more updates and community su ### The Road Ahead -Ingress2gateway is just getting started. We're planning to onboard more providers, introduce support +ingress2gateway is just getting started. We're planning to onboard more providers, introduce support for more types of Gateway API routes, and make sure everything syncs up smoothly with the ongoing development of Gateway API. From df6762709cc3fa6c7f093e56a78977a0cdda169e Mon Sep 17 00:00:00 2001 From: Shane Utt Date: Thu, 19 Oct 2023 14:18:28 -0400 Subject: [PATCH 29/82] docs: add gateway api ga blog post --- .../blog/_posts/2023-10-19-Gateway-API-GA.md | 195 ++++++++++++++++++ 1 file changed, 195 insertions(+) create mode 100644 content/en/blog/_posts/2023-10-19-Gateway-API-GA.md diff --git a/content/en/blog/_posts/2023-10-19-Gateway-API-GA.md b/content/en/blog/_posts/2023-10-19-Gateway-API-GA.md new file mode 100644 index 0000000000..a2f5ed56d9 --- /dev/null +++ b/content/en/blog/_posts/2023-10-19-Gateway-API-GA.md @@ -0,0 +1,195 @@ +--- +layout: blog +title: "Gateway API is now Generally Available (GA)" +date: 2023-10-19T10:00:00-08:00 +slug: gateway-api-ga +--- + +***Authors:*** Shane Utt (Kong), Nick Young (Isovalent), Rob Scott (Google) + +We (the community developing [Gateway API][gwapi]) are incredibly pleased and +proud to announce _general availability_ of Gateway API for use with Kubernetes +clusters `v1.24` and newer! + +## Important Highlights + +Gateway API brings a lot of new networking possibilities to the table in your +Kubernetes cluster. In this post we'll cover some of the most important +highlights. + +For a complete list of changes for this specific release, please see our +[v1.0.0 changelog entry][chlogv1]. + +For a complete list of every feature for every release, or to review some of +the releases leading up to `v1.0.0`, please see our [historical +changelog][clog]. + +### Version 1 APIs + +This marks the **first stable release** of Gateway API, where we are now +publishing the following APIs as `v1` (Version 1): + +- [GatewayClass][gwc] +- [Gateway][gw] +- [HTTPRoute][hr] + +Reaching version 1 with these APIs means we future iterations on them will be +handled in a backwards compatible manner. + +### CEL Migration + +Gateway API [CRDs][crds] now include [CEL][cel] validation. This streamlines +the development of validation for our resources, and reduces the overhead of +deploying Gateway API to a cluster as it eliminates the need for our historical +[admission webhook][admw]. + +> **Note**: For Kubernetes `v1.25` and newer we recommend against deploying the +> webhook, and if you had it running previously you can now uninstall it in +> favor of the validation now provided via CEL. + +### Kubernetes Support + +Gateway API generally [supports the last 5 stable Kubernetes versions][kvs]. As +such, this release is supported on Kubernetes clusters version `1.24` through +`1.29` at the time of release. + +> **Warning**: Related to our migration to [CEL][cel] as mentioned above, we +> don't recommend deploying on `v1.24` clusters if it can be avoided as these +> clusters will still require the admission webhook, and that webhook is +> considered deprecated and support for it will drop shortly after this GA +> release when Kubernetes `v1.30` becomes available. If it's unavoidable to +> deploy on `v1.24`, just note that you'll need to upgrade fairly soon in +> order to be considered supported. + +### Getting Started + +If you want to try Gateway API features out for yourself but don't know where +to get started you'll want to check out one of the 20+ implementations which +we list on our website: + +https://gateway-api.sigs.k8s.io/implementations/ + +Gateway API itself is just an API for downstream projects to implement, so take +some time to peruse the implementations list above and find one that seems to +fit your needs, or that you're most familiar with. + +> **Note**: with this release we now have basic support for downstream +> implementations to report the results of their Gateway API conformance test +> runs. This means that for some implementations on the above implementations +> page you may see a `Gateway API Conformance vX.X.X` badge present under their +> project header. This indicates that this implementation _is conformant_ for +> the version present in the badge, and is sending back reports of their +> conformance to the upstream project, including details on which specific +> features they support. Click on the badge to see a more detailed report of +> supported features, but note that the reporting system is considered +> experimental and the structure of these reports is subject to change. + +## Future Plans + +General availability is just the beginning of the much larger journey for +Gateway API, and there's plenty of new features and new ideas in flight for the +upcoming releases! + +If you opt-in to the [experimental channel][expch] for this release, you'll find +that there are several experimental features available which are being +considered for inclusion as stable in future releases: + +- [BackendTLSPolicy][gep1897] +- [HTTPRoute Timeouts][gep1742] +- [Gateway Infrastructure Labels][gep1762] +- [Websockets, HTTP/2 and More!][gep1911] +- [GWCTL, our new Gateway API CLI][gwctl] + +We intend to have a blog post following up on this one which will cover these +(and potentially more) experimental and upcoming features where the authors of +the features themselves can provide a greater level of detail. + +In future iterations we also intend to grow the maturity and work towards +[graduation][grad] of APIs other than `GatewayClass`, `Gateway`, and +`HTTPRoute`, which are not yet at version 1: + +- [GRPCRoute][grpc] +- [TCPRoute][tcp] +- [UDPRoute][udp] +- [TLSRoute][tls] +- [ReferenceGrant][refg] + +[ReferenceGrant][refg] is a slightly special case as we are considering what +to do with this resource next: we've come to understand this might be a +feature applicable to the greater Kubernetes community and we're trying to +navigate potentially moving it somewhere more general to maximize benefit. + +For those interested in service mesh, note that we continue to work on making +Gateway API resources available for use in service mesh contexts as part of the +[GAMMA project][gamma]. Please see our recent blog post ["Gateway API v0.8.0: +Introducing Service Mesh Support"][gammablog] for more details. + +What you've seen here is _not exhaustive_! Gateway API is a highly active +project, with dozens of people actively working on it. If you're hoping to see +one of the above routes graduated, or have ideas for features that we have yet +to account for, we _strongly encourage_ you to [join us in the community][com] +and help us build! + +## Kubecon North America: Chicago + +At [Kubecon North America (Chicago)][kna] and the adjacent +[Contributor Summit][csum] there are several talks about or related to Gateway +API that expand upon GA, discuss some of our new features, and even talk about +what happens next. If you're attending Kubecon and the Contributor Summit this +year, please do see us at these talks! + +*Contributor Summit*: + +- [Lessons learned building a GA API with CRDs][csum1] +- [Conformance Testing (from Gateway API)][csum2] +- [Gateway API: Beyond GA][csum3] + +*Kubecon Main Event*: + +**TODO** + +## Recognition & Appreciation + +Our project is more than just a project, it is a community of people working +together to solve common problems. Our community _is_ the project and we want to +give a huge shout out and thanks to them! + +Thank you so much to our [170+ contributors][contribs] who built this project +together with us, and made our GA release possible! + +A special thank you to our [community members which agreed to take on an +official role in the project][roles], explicitly providing some time for reviews +and sharing the load of maintaining the project! + +[gwapi]:https://gateway-api.sigs.k8s.io/ +[clogv1]:https://github.com/kubernetes-sigs/gateway-api/blob/main/CHANGELOG.md#v100 +[clog]:https://github.com/kubernetes-sigs/gateway-api/blob/main/CHANGELOG.md +[gwc]:https://gateway-api.sigs.k8s.io/api-types/gatewayclass/ +[gw]:https://gateway-api.sigs.k8s.io/api-types/gateway/ +[hr]:https://gateway-api.sigs.k8s.io/api-types/httproute/ +[crds]:https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/ +[kvs]:https://gateway-api.sigs.k8s.io/concepts/versioning/#supported-versions +[cel]:https://kubernetes.io/docs/reference/using-api/cel/ +[admw]:https://github.com/kubernetes-sigs/gateway-api/tree/main/config/webhook +[expch]:https://gateway-api.sigs.k8s.io/concepts/versioning/#release-channels +[gep1897]:https://gateway-api.sigs.k8s.io/geps/gep-1897/ +[gep1742]:https://gateway-api.sigs.k8s.io/geps/gep-1742/ +[gep1762]:https://gateway-api.sigs.k8s.io/geps/gep-1762/ +[gep1911]:https://gateway-api.sigs.k8s.io/geps/gep-1911/ +[gwctl]:https://github.com/kubernetes-sigs/gateway-api/tree/main/gwctl +[grad]:https://gateway-api.sigs.k8s.io/concepts/versioning/#graduation-criteria +[grpc]:https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.GRPCRoute +[tcp]:https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute +[udp]:https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute +[tls]:https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.TLSRoute +[com]:https://gateway-api.sigs.k8s.io/contributing/#how-to-get-involved +[refg]:https://gateway-api.sigs.k8s.io/api-types/referencegrant/ +[gamma]:https://gateway-api.sigs.k8s.io/concepts/gamma/ +[gammablog]:https://kubernetes.io/blog/2023/08/29/gateway-api-v0-8/ +[kna]:https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/ +[csum]:https://kcsna2023.sched.com/ +[csum1]:https://kcsna2023.sched.com/event/1Sp9u/lessons-learned-building-a-ga-api-with-crds +[csum2]:https://kcsna2023.sched.com/event/1Sp9l/conformance-profiles-building-a-generic-conformance-test-reporting-framework +[csum3]:https://kcsna2023.sched.com/event/1SpA9/gateway-api-beyond-ga +[contribs]:https://github.com/kubernetes-sigs/gateway-api/graphs/contributors +[roles]:https://github.com/kubernetes-sigs/gateway-api/blob/main/OWNERS_ALIASES \ No newline at end of file From d2ea8ddb995825f82ce9f320840eade25218c118 Mon Sep 17 00:00:00 2001 From: Shane Utt Date: Fri, 20 Oct 2023 07:54:56 -0400 Subject: [PATCH 30/82] docs: apply code review suggestions for gwapi GA blog post Co-authored-by: Tim Bannister --- .../blog/_posts/2023-10-19-Gateway-API-GA.md | 35 +++++++++---------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/content/en/blog/_posts/2023-10-19-Gateway-API-GA.md b/content/en/blog/_posts/2023-10-19-Gateway-API-GA.md index a2f5ed56d9..ba7f6c9843 100644 --- a/content/en/blog/_posts/2023-10-19-Gateway-API-GA.md +++ b/content/en/blog/_posts/2023-10-19-Gateway-API-GA.md @@ -9,11 +9,11 @@ slug: gateway-api-ga We (the community developing [Gateway API][gwapi]) are incredibly pleased and proud to announce _general availability_ of Gateway API for use with Kubernetes -clusters `v1.24` and newer! +clusters (versions 1.24 and newer)! ## Important Highlights -Gateway API brings a lot of new networking possibilities to the table in your +Kubernetes' Gateway API brings a lot of new networking possibilities to the table in your Kubernetes cluster. In this post we'll cover some of the most important highlights. @@ -21,13 +21,13 @@ For a complete list of changes for this specific release, please see our [v1.0.0 changelog entry][chlogv1]. For a complete list of every feature for every release, or to review some of -the releases leading up to `v1.0.0`, please see our [historical +the releases leading up to v1.0.0, please see our [historical changelog][clog]. ### Version 1 APIs This marks the **first stable release** of Gateway API, where we are now -publishing the following APIs as `v1` (Version 1): +publishing the following APIs as `v1` (version 1): - [GatewayClass][gwc] - [Gateway][gw] @@ -64,10 +64,9 @@ such, this release is supported on Kubernetes clusters version `1.24` through ### Getting Started If you want to try Gateway API features out for yourself but don't know where -to get started you'll want to check out one of the 20+ implementations which -we list on our website: - -https://gateway-api.sigs.k8s.io/implementations/ +to get started you'll want to check out one of the 20+ +[implementations](https://gateway-api.sigs.k8s.io/implementations/) which +we list on the Gateway API website. Gateway API itself is just an API for downstream projects to implement, so take some time to peruse the implementations list above and find one that seems to @@ -94,19 +93,19 @@ If you opt-in to the [experimental channel][expch] for this release, you'll find that there are several experimental features available which are being considered for inclusion as stable in future releases: -- [BackendTLSPolicy][gep1897] +- [Backend TLS policy][gep1897] - [HTTPRoute Timeouts][gep1742] - [Gateway Infrastructure Labels][gep1762] -- [Websockets, HTTP/2 and More!][gep1911] -- [GWCTL, our new Gateway API CLI][gwctl] +- Support for [Websockets, HTTP/2 and more!][gep1911] +- [`gwctl`][gwctl], our new Gateway API command line tool We intend to have a blog post following up on this one which will cover these (and potentially more) experimental and upcoming features where the authors of the features themselves can provide a greater level of detail. In future iterations we also intend to grow the maturity and work towards -[graduation][grad] of APIs other than `GatewayClass`, `Gateway`, and -`HTTPRoute`, which are not yet at version 1: +[graduation][grad] of APIs other than GatewayClass, Gateway, and +HTTPRoute. There are several APIs that are not yet at version 1: - [GRPCRoute][grpc] - [TCPRoute][tcp] @@ -115,14 +114,14 @@ In future iterations we also intend to grow the maturity and work towards - [ReferenceGrant][refg] [ReferenceGrant][refg] is a slightly special case as we are considering what -to do with this resource next: we've come to understand this might be a +to do with this: we've come to understand this might be a feature applicable to the greater Kubernetes community and we're trying to navigate potentially moving it somewhere more general to maximize benefit. For those interested in service mesh, note that we continue to work on making Gateway API resources available for use in service mesh contexts as part of the -[GAMMA project][gamma]. Please see our recent blog post ["Gateway API v0.8.0: -Introducing Service Mesh Support"][gammablog] for more details. +[GAMMA project][gamma]. Please see our recent blog post [Gateway API v0.8.0: +Introducing Service Mesh Support][gammablog] for more details. What you've seen here is _not exhaustive_! Gateway API is a highly active project, with dozens of people actively working on it. If you're hoping to see @@ -130,7 +129,7 @@ one of the above routes graduated, or have ideas for features that we have yet to account for, we _strongly encourage_ you to [join us in the community][com] and help us build! -## Kubecon North America: Chicago +## Gateway API events at KubeCon + CloudNativeCon At [Kubecon North America (Chicago)][kna] and the adjacent [Contributor Summit][csum] there are several talks about or related to Gateway @@ -157,7 +156,7 @@ give a huge shout out and thanks to them! Thank you so much to our [170+ contributors][contribs] who built this project together with us, and made our GA release possible! -A special thank you to our [community members which agreed to take on an +A special thank you to our [community members who agreed to take on an official role in the project][roles], explicitly providing some time for reviews and sharing the load of maintaining the project! From c46e22e235e3f96d1957398bb9fb263907d0ee16 Mon Sep 17 00:00:00 2001 From: Rob Scott Date: Tue, 24 Oct 2023 23:57:20 +0000 Subject: [PATCH 31/82] Significant refactoring of Gateway GA blog post --- .../blog/_posts/2023-10-19-Gateway-API-GA.md | 194 ------------------ .../gateway-api-logo.png | Bin 0 -> 29517 bytes .../_posts/2023-10-31-Gateway-API-GA/index.md | 153 ++++++++++++++ 3 files changed, 153 insertions(+), 194 deletions(-) delete mode 100644 content/en/blog/_posts/2023-10-19-Gateway-API-GA.md create mode 100644 content/en/blog/_posts/2023-10-31-Gateway-API-GA/gateway-api-logo.png create mode 100644 content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md diff --git a/content/en/blog/_posts/2023-10-19-Gateway-API-GA.md b/content/en/blog/_posts/2023-10-19-Gateway-API-GA.md deleted file mode 100644 index ba7f6c9843..0000000000 --- a/content/en/blog/_posts/2023-10-19-Gateway-API-GA.md +++ /dev/null @@ -1,194 +0,0 @@ ---- -layout: blog -title: "Gateway API is now Generally Available (GA)" -date: 2023-10-19T10:00:00-08:00 -slug: gateway-api-ga ---- - -***Authors:*** Shane Utt (Kong), Nick Young (Isovalent), Rob Scott (Google) - -We (the community developing [Gateway API][gwapi]) are incredibly pleased and -proud to announce _general availability_ of Gateway API for use with Kubernetes -clusters (versions 1.24 and newer)! - -## Important Highlights - -Kubernetes' Gateway API brings a lot of new networking possibilities to the table in your -Kubernetes cluster. In this post we'll cover some of the most important -highlights. - -For a complete list of changes for this specific release, please see our -[v1.0.0 changelog entry][chlogv1]. - -For a complete list of every feature for every release, or to review some of -the releases leading up to v1.0.0, please see our [historical -changelog][clog]. - -### Version 1 APIs - -This marks the **first stable release** of Gateway API, where we are now -publishing the following APIs as `v1` (version 1): - -- [GatewayClass][gwc] -- [Gateway][gw] -- [HTTPRoute][hr] - -Reaching version 1 with these APIs means we future iterations on them will be -handled in a backwards compatible manner. - -### CEL Migration - -Gateway API [CRDs][crds] now include [CEL][cel] validation. This streamlines -the development of validation for our resources, and reduces the overhead of -deploying Gateway API to a cluster as it eliminates the need for our historical -[admission webhook][admw]. - -> **Note**: For Kubernetes `v1.25` and newer we recommend against deploying the -> webhook, and if you had it running previously you can now uninstall it in -> favor of the validation now provided via CEL. - -### Kubernetes Support - -Gateway API generally [supports the last 5 stable Kubernetes versions][kvs]. As -such, this release is supported on Kubernetes clusters version `1.24` through -`1.29` at the time of release. - -> **Warning**: Related to our migration to [CEL][cel] as mentioned above, we -> don't recommend deploying on `v1.24` clusters if it can be avoided as these -> clusters will still require the admission webhook, and that webhook is -> considered deprecated and support for it will drop shortly after this GA -> release when Kubernetes `v1.30` becomes available. If it's unavoidable to -> deploy on `v1.24`, just note that you'll need to upgrade fairly soon in -> order to be considered supported. - -### Getting Started - -If you want to try Gateway API features out for yourself but don't know where -to get started you'll want to check out one of the 20+ -[implementations](https://gateway-api.sigs.k8s.io/implementations/) which -we list on the Gateway API website. - -Gateway API itself is just an API for downstream projects to implement, so take -some time to peruse the implementations list above and find one that seems to -fit your needs, or that you're most familiar with. - -> **Note**: with this release we now have basic support for downstream -> implementations to report the results of their Gateway API conformance test -> runs. This means that for some implementations on the above implementations -> page you may see a `Gateway API Conformance vX.X.X` badge present under their -> project header. This indicates that this implementation _is conformant_ for -> the version present in the badge, and is sending back reports of their -> conformance to the upstream project, including details on which specific -> features they support. Click on the badge to see a more detailed report of -> supported features, but note that the reporting system is considered -> experimental and the structure of these reports is subject to change. - -## Future Plans - -General availability is just the beginning of the much larger journey for -Gateway API, and there's plenty of new features and new ideas in flight for the -upcoming releases! - -If you opt-in to the [experimental channel][expch] for this release, you'll find -that there are several experimental features available which are being -considered for inclusion as stable in future releases: - -- [Backend TLS policy][gep1897] -- [HTTPRoute Timeouts][gep1742] -- [Gateway Infrastructure Labels][gep1762] -- Support for [Websockets, HTTP/2 and more!][gep1911] -- [`gwctl`][gwctl], our new Gateway API command line tool - -We intend to have a blog post following up on this one which will cover these -(and potentially more) experimental and upcoming features where the authors of -the features themselves can provide a greater level of detail. - -In future iterations we also intend to grow the maturity and work towards -[graduation][grad] of APIs other than GatewayClass, Gateway, and -HTTPRoute. There are several APIs that are not yet at version 1: - -- [GRPCRoute][grpc] -- [TCPRoute][tcp] -- [UDPRoute][udp] -- [TLSRoute][tls] -- [ReferenceGrant][refg] - -[ReferenceGrant][refg] is a slightly special case as we are considering what -to do with this: we've come to understand this might be a -feature applicable to the greater Kubernetes community and we're trying to -navigate potentially moving it somewhere more general to maximize benefit. - -For those interested in service mesh, note that we continue to work on making -Gateway API resources available for use in service mesh contexts as part of the -[GAMMA project][gamma]. Please see our recent blog post [Gateway API v0.8.0: -Introducing Service Mesh Support][gammablog] for more details. - -What you've seen here is _not exhaustive_! Gateway API is a highly active -project, with dozens of people actively working on it. If you're hoping to see -one of the above routes graduated, or have ideas for features that we have yet -to account for, we _strongly encourage_ you to [join us in the community][com] -and help us build! - -## Gateway API events at KubeCon + CloudNativeCon - -At [Kubecon North America (Chicago)][kna] and the adjacent -[Contributor Summit][csum] there are several talks about or related to Gateway -API that expand upon GA, discuss some of our new features, and even talk about -what happens next. If you're attending Kubecon and the Contributor Summit this -year, please do see us at these talks! - -*Contributor Summit*: - -- [Lessons learned building a GA API with CRDs][csum1] -- [Conformance Testing (from Gateway API)][csum2] -- [Gateway API: Beyond GA][csum3] - -*Kubecon Main Event*: - -**TODO** - -## Recognition & Appreciation - -Our project is more than just a project, it is a community of people working -together to solve common problems. Our community _is_ the project and we want to -give a huge shout out and thanks to them! - -Thank you so much to our [170+ contributors][contribs] who built this project -together with us, and made our GA release possible! - -A special thank you to our [community members who agreed to take on an -official role in the project][roles], explicitly providing some time for reviews -and sharing the load of maintaining the project! - -[gwapi]:https://gateway-api.sigs.k8s.io/ -[clogv1]:https://github.com/kubernetes-sigs/gateway-api/blob/main/CHANGELOG.md#v100 -[clog]:https://github.com/kubernetes-sigs/gateway-api/blob/main/CHANGELOG.md -[gwc]:https://gateway-api.sigs.k8s.io/api-types/gatewayclass/ -[gw]:https://gateway-api.sigs.k8s.io/api-types/gateway/ -[hr]:https://gateway-api.sigs.k8s.io/api-types/httproute/ -[crds]:https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/ -[kvs]:https://gateway-api.sigs.k8s.io/concepts/versioning/#supported-versions -[cel]:https://kubernetes.io/docs/reference/using-api/cel/ -[admw]:https://github.com/kubernetes-sigs/gateway-api/tree/main/config/webhook -[expch]:https://gateway-api.sigs.k8s.io/concepts/versioning/#release-channels -[gep1897]:https://gateway-api.sigs.k8s.io/geps/gep-1897/ -[gep1742]:https://gateway-api.sigs.k8s.io/geps/gep-1742/ -[gep1762]:https://gateway-api.sigs.k8s.io/geps/gep-1762/ -[gep1911]:https://gateway-api.sigs.k8s.io/geps/gep-1911/ -[gwctl]:https://github.com/kubernetes-sigs/gateway-api/tree/main/gwctl -[grad]:https://gateway-api.sigs.k8s.io/concepts/versioning/#graduation-criteria -[grpc]:https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.GRPCRoute -[tcp]:https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute -[udp]:https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute -[tls]:https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.TLSRoute -[com]:https://gateway-api.sigs.k8s.io/contributing/#how-to-get-involved -[refg]:https://gateway-api.sigs.k8s.io/api-types/referencegrant/ -[gamma]:https://gateway-api.sigs.k8s.io/concepts/gamma/ -[gammablog]:https://kubernetes.io/blog/2023/08/29/gateway-api-v0-8/ -[kna]:https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/ -[csum]:https://kcsna2023.sched.com/ -[csum1]:https://kcsna2023.sched.com/event/1Sp9u/lessons-learned-building-a-ga-api-with-crds -[csum2]:https://kcsna2023.sched.com/event/1Sp9l/conformance-profiles-building-a-generic-conformance-test-reporting-framework -[csum3]:https://kcsna2023.sched.com/event/1SpA9/gateway-api-beyond-ga -[contribs]:https://github.com/kubernetes-sigs/gateway-api/graphs/contributors -[roles]:https://github.com/kubernetes-sigs/gateway-api/blob/main/OWNERS_ALIASES \ No newline at end of file diff --git a/content/en/blog/_posts/2023-10-31-Gateway-API-GA/gateway-api-logo.png b/content/en/blog/_posts/2023-10-31-Gateway-API-GA/gateway-api-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..5a2215397f32714d350691440f2503dc386d3942 GIT binary patch literal 29517 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 Date: Wed, 25 Oct 2023 08:03:16 +0000 Subject: [PATCH 32/82] changing path, svg + removing caption --- .../gateway-api-resources.svg | 701 -------- .../gateway-api-resources.svg | 1539 +++++++++++++++++ .../index.md | 2 +- 3 files changed, 1540 insertions(+), 702 deletions(-) delete mode 100644 content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/gateway-api-resources.svg create mode 100644 content/en/blog/_posts/2023-10-25-introducing-ingress2gateway/gateway-api-resources.svg rename content/en/blog/_posts/{2023-10-18-gateway-api-time-to-switch-i2gw => 2023-10-25-introducing-ingress2gateway}/index.md (99%) diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/gateway-api-resources.svg b/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/gateway-api-resources.svg deleted file mode 100644 index aa97cb52ae..0000000000 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/gateway-api-resources.svg +++ /dev/null @@ -1,701 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/content/en/blog/_posts/2023-10-25-introducing-ingress2gateway/gateway-api-resources.svg b/content/en/blog/_posts/2023-10-25-introducing-ingress2gateway/gateway-api-resources.svg new file mode 100644 index 0000000000..3484bb01e6 --- /dev/null +++ b/content/en/blog/_posts/2023-10-25-introducing-ingress2gateway/gateway-api-resources.svg @@ -0,0 +1,1539 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A modern set of APIs for deployinglayer 4 and layer 7 routing in Kubernetes + Designed to be generic, expressive,extensible, and role-oriented + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md b/content/en/blog/_posts/2023-10-25-introducing-ingress2gateway/index.md similarity index 99% rename from content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md rename to content/en/blog/_posts/2023-10-25-introducing-ingress2gateway/index.md index 988041ea1d..4b8d4df6d6 100644 --- a/content/en/blog/_posts/2023-10-18-gateway-api-time-to-switch-i2gw/index.md +++ b/content/en/blog/_posts/2023-10-25-introducing-ingress2gateway/index.md @@ -82,7 +82,7 @@ intended for use in cases where you want to inspect the HTTP stream and use HTTP either routing or modification, for example using HTTP Headers for routing, or modifying them in-flight. -{{< figure src="gateway-api-resources.svg" alt="Diagram showing the APIs that make up Gateway and how they relate to each other. The APIs shown are GatewayClass, Gateway, and HTTPRoute; the Service API is also shown" caption="The APIs that make up Gateway" class="diagram-medium" >}} +{{< figure src="gateway-api-resources.svg" alt="Diagram showing the APIs that make up Gateway and how they relate to each other. The APIs shown are GatewayClass, Gateway, and HTTPRoute; the Service API is also shown" class="diagram-medium" >}} ### Portability From aeda654f99a0239a51ba436633fbfff3c4ec1274 Mon Sep 17 00:00:00 2001 From: yuehuan Date: Wed, 25 Oct 2023 16:04:33 +0800 Subject: [PATCH 33/82] Added translation of system logs --- .../concepts/cluster-administration/system-logs.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/content/zh-cn/docs/concepts/cluster-administration/system-logs.md b/content/zh-cn/docs/concepts/cluster-administration/system-logs.md index e815ac4785..cabb6aea40 100644 --- a/content/zh-cn/docs/concepts/cluster-administration/system-logs.md +++ b/content/zh-cn/docs/concepts/cluster-administration/system-logs.md @@ -28,6 +28,17 @@ scheduler decisions). +{{< warning >}} + +与此处描述的命令行标志不同,日志输出本身不属于 Kubernetes API 的稳定性保证范围: +单个日志条目及其格式可能会在不同版本之间发生变化! +{{< /warning >}} + ## Klog | 特性 | 描述 | CRD | 聚合 API | | ------- | ----------- | ---- | -------------- | -| 合法性检查 | 帮助用户避免错误,允许你独立于客户端版本演化 API。这些特性对于由很多无法同时更新的客户端的场合。| 可以。大多数验证可以使用 [OpenAPI v3.0 合法性检查](/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation) 来设定。其他合法性检查操作可以通过添加[合法性检查 Webhook](/zh-cn/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook-alpha-in-1-8-beta-in-1-9)来实现。 | 可以,可执行任何合法性检查。| +| 合法性检查 | 帮助用户避免错误,允许你独立于客户端版本演化 API。这些特性对于由很多无法同时更新的客户端的场合。| 可以。大多数验证可以使用 [OpenAPI v3.0 合法性检查](/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation) 来设定。[CRDValidationRatcheting](/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#validation-ratcheting) 特性门控允许在资源的失败部分未发生变化的情况下,忽略 OpenAPI 指定的失败验证。其他合法性检查操作可以通过添加[合法性检查 Webhook](/zh-cn/docs/reference/access-authn-authz/admission-controllers/#validatingadmissionwebhook-alpha-in-1-8-beta-in-1-9)来实现。 | 可以,可执行任何合法性检查。| | 默认值设置 | 同上 | 可以。可通过 [OpenAPI v3.0 合法性检查](/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#defaulting)的 `default` 关键词(自 1.17 正式发布)或[更改性(Mutating)Webhook](/zh-cn/docs/reference/access-authn-authz/admission-controllers/#mutatingadmissionwebhook)来实现(不过从 etcd 中读取老的对象时不会执行这些 Webhook)。 | 可以。 | | 多版本支持 | 允许通过两个 API 版本同时提供同一对象。可帮助简化类似字段更名这类 API 操作。如果你能控制客户端版本,这一特性将不再重要。 | [可以](/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning)。 | 可以。 | | 定制存储 | 支持使用具有不同性能模式的存储(例如,要使用时间序列数据库而不是键值存储),或者因安全性原因对存储进行隔离(例如对敏感信息执行加密)。 | 不可以。 | 可以。 | diff --git a/content/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md b/content/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md index 8118e24d32..e15175be0b 100644 --- a/content/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md +++ b/content/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins.md @@ -267,3 +267,12 @@ metadata: ``` ## {{% heading "whatsnext" %}} + + +- 进一步了解关于[集群网络](/zh-cn/docs/concepts/cluster-administration/networking/)的信息 +- 进一步了解关于[网络策略](/zh-cn/docs/concepts/services-networking/network-policies/)的信息 +- 进一步了解关于[排查 CNI 插件相关错误](/zh-cn/docs/tasks/administer-cluster/migrating-from-dockershim/troubleshooting-cni-plugin-related-errors/)的信息 \ No newline at end of file From f2b6891b6ef0fdca7704c8611bf9cd642d3c70b2 Mon Sep 17 00:00:00 2001 From: Lior Lieberman Date: Wed, 25 Oct 2023 08:11:31 +0000 Subject: [PATCH 36/82] change alt --- .../blog/_posts/2023-10-25-introducing-ingress2gateway/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2023-10-25-introducing-ingress2gateway/index.md b/content/en/blog/_posts/2023-10-25-introducing-ingress2gateway/index.md index 11c19f5def..3e726fd30e 100644 --- a/content/en/blog/_posts/2023-10-25-introducing-ingress2gateway/index.md +++ b/content/en/blog/_posts/2023-10-25-introducing-ingress2gateway/index.md @@ -82,7 +82,7 @@ intended for use in cases where you want to inspect the HTTP stream and use HTTP either routing or modification, for example using HTTP Headers for routing, or modifying them in-flight. -{{< figure src="gateway-api-resources.svg" alt="Diagram showing the APIs that make up Gateway and how they relate to each other. The APIs shown are GatewayClass, Gateway, and HTTPRoute; the Service API is also shown" class="diagram-medium" >}} +{{< figure src="gateway-api-resources.svg" alt="Diagram showing the key resources that make up Gateway API and how they relate to each other. The resources shown are GatewayClass, Gateway, and HTTPRoute; the Service API is also shown" class="diagram-medium" >}} ### Portability From 9bb73b23914565741df6c29c62081327b9fbc38f Mon Sep 17 00:00:00 2001 From: Edith Puclla <58795858+edithturn@users.noreply.github.com> Date: Wed, 25 Oct 2023 11:51:11 +0100 Subject: [PATCH 37/82] Update content/es/docs/concepts/storage/ephemeral-volumes.md Gracias Victor! Co-authored-by: Victor Morales --- content/es/docs/concepts/storage/ephemeral-volumes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/es/docs/concepts/storage/ephemeral-volumes.md b/content/es/docs/concepts/storage/ephemeral-volumes.md index 955a46f187..557ea016d0 100644 --- a/content/es/docs/concepts/storage/ephemeral-volumes.md +++ b/content/es/docs/concepts/storage/ephemeral-volumes.md @@ -180,7 +180,7 @@ Ver [almacenamiento efímero local](/docs/concepts/configuration/manage-resource - Para obtener más información sobre el diseño, consulta el [KEP de Volúmenes efímeros en línea de CSI](https://github.com/kubernetes/enhancements/blob/ad6021b3d61a49040a3f835e12c8bb5424db2bbb/keps/sig-storage/20190122-csi-inline-volumes.md). -- Para obtener más información sobre el desarrollo futuro de esta función, consulte la +- Para obtener más información sobre el desarrollo futuro de esta función, consulte el [problema de seguimiento de mejoras #596](https://github.com/kubernetes/enhancements/issues/596). ### Volúmenes efímeros genéricos From 7c2640fa399007a86efba05b677ed89af4a25ec5 Mon Sep 17 00:00:00 2001 From: Edith Puclla <58795858+edithturn@users.noreply.github.com> Date: Wed, 25 Oct 2023 11:51:40 +0100 Subject: [PATCH 38/82] Update content/es/docs/concepts/storage/ephemeral-volumes.md Agre with this! Co-authored-by: Victor Morales --- content/es/docs/concepts/storage/ephemeral-volumes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/es/docs/concepts/storage/ephemeral-volumes.md b/content/es/docs/concepts/storage/ephemeral-volumes.md index 557ea016d0..743d773ba8 100644 --- a/content/es/docs/concepts/storage/ephemeral-volumes.md +++ b/content/es/docs/concepts/storage/ephemeral-volumes.md @@ -79,7 +79,7 @@ spec: foo: bar ``` -Las `volumeAttributes` determinan qué volumen es preparado por el controlador. Estos atributos son específicos de cada controlador y no están estandarizados. Consulta la documentación de cada controlador CSI para obtener instrucciones adicionales. +Los `volumeAttributes` determinan qué volumen es preparado por el controlador. Estos atributos son específicos de cada controlador y no están estandarizados. Consulta la documentación de cada controlador CSI para obtener instrucciones adicionales. ### Restricciones del conductor CSI From efe4f73715459d2606a233968ad0b3b1df0f2caa Mon Sep 17 00:00:00 2001 From: Shane Utt Date: Wed, 25 Oct 2023 11:04:32 -0400 Subject: [PATCH 39/82] Update content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md b/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md index ff044b8306..dc109718c3 100644 --- a/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md +++ b/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md @@ -39,9 +39,9 @@ APIs for routing traffic both north-south and east-west: Historically, Gateway API has bundled a validating webhook as part of installing the API. Starting in v1.0, webhook installation is optional and only recommended for Kubernetes 1.24. Gateway API now includes -[CEL](https://kubernetes.io/docs/reference/using-api/cel/) validation rules as +[CEL](/docs/reference/using-api/cel/) validation rules as part of the -[CRDs](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/). +[CRDs](/docs/concepts/extend-kubernetes/api-extension/custom-resources/). This new form of validation is supported in Kubernetes 1.25+, and thus the validating webhook is no longer required in most installations. From 2614af607febcb8f249c18e65dd43880a1f28ff3 Mon Sep 17 00:00:00 2001 From: Shane Utt Date: Wed, 25 Oct 2023 11:04:46 -0400 Subject: [PATCH 40/82] Update content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md Co-authored-by: Tim Bannister --- content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md b/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md index dc109718c3..c4cc395c12 100644 --- a/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md +++ b/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md @@ -64,8 +64,8 @@ notes](https://github.com/kubernetes-sigs/gateway-api/releases/tag/v0.1.0). ## How we got here -The idea of Gateway API was initially [proposed 4 years ago at KubeCon San -Diego](https://youtu.be/Ne9UJL6irXY?si=wgtC9w8PMB5ZHil2) as the next generation +The idea of Gateway API was initially [proposed](https://youtu.be/Ne9UJL6irXY?si=wgtC9w8PMB5ZHil2) +4 years ago at KubeCon San Diego as the next generation of Ingress API. Since then, an incredible community has formed to develop what has likely become the most collaborative API in Kubernetes history. Over 170 people have contributed to this API so far, and that number continues to grow. From c9af91d9f3047848ff40500e6280c3f5306bceea Mon Sep 17 00:00:00 2001 From: Shane Utt Date: Wed, 25 Oct 2023 11:05:10 -0400 Subject: [PATCH 41/82] Apply suggestions from code review Co-authored-by: Tim Bannister --- content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md b/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md index c4cc395c12..5a124438d9 100644 --- a/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md +++ b/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md @@ -7,7 +7,7 @@ slug: gateway-api-ga ***Authors:*** Shane Utt (Kong), Nick Young (Isovalent), Rob Scott (Google) -We are pleased to announce the v1.0 release of [Gateway +On behalf of Kubernetes SIG Network, we are pleased to announce the v1.0 release of [Gateway API](https://gateway-api.sigs.k8s.io/)! This release marks a huge milestone for this project. Several key APIs are graduating to GA (generally available), while other significant features have been added to the Experimental channel. @@ -112,7 +112,7 @@ We've also been working towards moving a built-in Kubernetes API that can be used for more than just Gateway API. Within Gateway API, we've used this resource to safely enable cross-namespace references, and that concept is now being adopted by other SIGs. The new version -of this API will be owned by SIG-Auth and will likely include at least some +of this API will be owned by SIG Auth and will likely include at least some modifications as it migrates to a built-in Kubernetes API. ### Gateway API at KubeCon + CloudNativeCon @@ -142,7 +142,7 @@ you'd like to discuss or brainstorm any related topics. To get the latest updates on these sessions, join the `#sig-network-gateway-api` channel on [Kubernetes Slack](https://slack.kubernetes.io/). -## Get Involved +## Get involved We've only barely scratched the surface of what's in flight with Gateway API. There are lots of opportunities to get involved and help define the future of From a146735b435b4485a15b4068eb191265c533856f Mon Sep 17 00:00:00 2001 From: Able Lv <26692080+able8@users.noreply.github.com> Date: Wed, 25 Oct 2023 23:26:45 +0800 Subject: [PATCH 42/82] Fix a typo on 2023-10-23-pv-last-phase-transtition-time.md --- .../en/blog/_posts/2023-10-23-pv-last-phase-transtition-time.md | 1 - 1 file changed, 1 deletion(-) diff --git a/content/en/blog/_posts/2023-10-23-pv-last-phase-transtition-time.md b/content/en/blog/_posts/2023-10-23-pv-last-phase-transtition-time.md index 819e8f7635..7efeae7f3f 100644 --- a/content/en/blog/_posts/2023-10-23-pv-last-phase-transtition-time.md +++ b/content/en/blog/_posts/2023-10-23-pv-last-phase-transtition-time.md @@ -32,7 +32,6 @@ including manual cleanup based on the time a volume was last used or producing a Provided you've enabled the feature gate (see [How to use it](#how-to-use-it), the new `.status.lastPhaseTransitionTime` field of a PersistentVolume (PV) is updated every time that PV transitions from one phase to another. -`` Whether it's transitioning from `Pending` to `Bound`, `Bound` to `Released`, or any other phase transition, the `lastPhaseTransitionTime` will be recorded. For newly created PVs the phase will be set to `Pending` and the `lastPhaseTransitionTime` will be recorded as well. From 28dc6eb7635f8096d79ceadbc2d88332949044b8 Mon Sep 17 00:00:00 2001 From: Arhell Date: Thu, 26 Oct 2023 00:07:58 +0300 Subject: [PATCH 43/82] [de] add searchbar to index page --- content/de/_index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/content/de/_index.html b/content/de/_index.html index ab7427938f..ea84bd7f01 100644 --- a/content/de/_index.html +++ b/content/de/_index.html @@ -4,6 +4,7 @@ abstract: "Automatisierte Bereitstellung, Skalierung und Verwaltung von Containe cid: home --- +{{< site-searchbar >}} {{< blocks/section id="oceanNodes" >}} {{% blocks/feature image="flower" %}} From faf9f9dd9f93fc25706886f087d0d3a24489b56b Mon Sep 17 00:00:00 2001 From: Michael Date: Thu, 26 Oct 2023 07:55:53 +0800 Subject: [PATCH 44/82] [zh] Clean up /kubernetes-api/common-definitions/status.md --- .../common-definitions/status.md | 134 +++++++++--------- 1 file changed, 70 insertions(+), 64 deletions(-) diff --git a/content/zh-cn/docs/reference/kubernetes-api/common-definitions/status.md b/content/zh-cn/docs/reference/kubernetes-api/common-definitions/status.md index 3b1a2be574..99e9947c88 100644 --- a/content/zh-cn/docs/reference/kubernetes-api/common-definitions/status.md +++ b/content/zh-cn/docs/reference/kubernetes-api/common-definitions/status.md @@ -7,9 +7,7 @@ content_type: "api_reference" description: "状态(Status)是不返回其他对象的调用的返回值。" title: "Status" weight: 12 -auto_generated: true --- - - - - - `import "k8s.io/apimachinery/pkg/apis/meta/v1"` - - + 状态(Status)是不返回其他对象的调用的返回值。
@@ -49,13 +35,16 @@ guide. You can file document formatting bugs against the APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources --> - APIVersion 定义对象表示的版本化模式。 + apiVersion 定义对象表示的版本化模式。 服务器应将已识别的模式转换为最新的内部值,并可能拒绝无法识别的值。 更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - **code** (int32) - + + 此状态的建议 HTTP 返回代码,如果未设置,则为 0。 - **details** (StatusDetails) @@ -63,69 +52,75 @@ guide. You can file document formatting bugs against the + 与原因(Reason)相关的扩展数据。每个原因都可以定义自己的扩展细节。 此字段是可选的,并且不保证返回的数据符合任何模式,除非由原因类型定义。
- - *StatusDetails 是一组附加属性,可以由服务器设置以提供有关响应的附加信息。* - *状态对象的原因字段定义将设置哪些属性。* - *客户端必须忽略与每个属性的定义类型不匹配的字段,并且应该假定任何属性可能为空、无效或未定义。* + **StatusDetails 是一组附加属性,可以由服务器设置以提供有关响应的附加信息。 + 状态对象的原因字段定义将设置哪些属性。 + 客户端必须忽略与每个属性的定义类型不匹配的字段,并且应该假定任何属性可能为空、无效或未定义。** - **details.causes** ([]StatusCause) - Causes 数组包含与 StatusReason 故障相关的更多详细信息。 + + causes 数组包含与 StatusReason 故障相关的更多详细信息。 并非所有 StatusReasons 都可以提供详细的原因。 - - *StatusCause 提供有关 api.Status 失败的更多信息,包括遇到多个错误的情况。* + **StatusCause 提供有关 api.Status 失败的更多信息,包括遇到多个错误的情况。** - **details.causes.field** (string) - 导致此错误的资源字段,由其 JSON 序列化命名。 - 可能包括嵌套属性的点和后缀表示法。数组是从零开始索引的。 - 由于字段有多个错误,字段可能会在一系列原因中出现多次。可选。 - - + + 导致此错误的资源字段,由其 JSON 序列化命名。 + 可能包括嵌套属性的点和后缀表示法。数组是从零开始索引的。 + 由于字段有多个错误,字段可能会在一系列原因中出现多次。可选。 + 示例: - “name”:当前资源上的字段 “name” - “items[0].name”:“items” 中第一个数组条目上的字段 “name” - **details.causes.message** (string) - + + 对错误原因的可读描述。该字段可以按原样呈现给读者。 - **details.causes.reason** (string) - + + 错误原因的机器可读描述。如果此值为空,则没有可用信息。 - **details.group** (string) - + + 与状态 StatusReason 关联的资源的组属性。 - **details.kind** (string) @@ -135,13 +130,17 @@ guide. You can file document formatting bugs against the On some operations may differ from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds --> - 与状态 StatusReason 关联的资源的种类属性。 - 在某些操作上可能与请求的资源种类不同。 + + 与状态 StatusReason 关联的资源的类别属性。 + 在某些操作上可能与请求的资源类别不同。 更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - **details.name** (string) - + + 与状态 StatusReason 关联的资源的名称属性(当有一个可以描述的名称时)。 - **details.retryAfterSeconds** (int32) @@ -151,6 +150,7 @@ guide. You can file document formatting bugs against the Some errors may indicate the client must take an alternate action - for those errors this field may indicate how long to wait before taking the alternate action. --> + 如果指定,则应重试操作前的时间(以秒为单位)。 一些错误可能表明客户端必须采取替代操作——对于这些错误,此字段可能指示在采取替代操作之前等待多长时间。 @@ -160,33 +160,37 @@ guide. You can file document formatting bugs against the UID of the resource. (when there is a single resource which can be described). More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#uids --> - 资源的 UID(当有单个可以描述的资源时)。 - 更多信息: https://kubernetes.io/zh-cn/docs/concepts/overview/working-with-objects/names#uids + + 资源的 UID(当有单个可以描述的资源时)。更多信息: + https://kubernetes.io/zh-cn/docs/concepts/overview/working-with-objects/names#uids - **kind** (string) - Kind 是一个字符串值,表示此对象表示的 REST 资源。 + + kind 是一个字符串值,表示此对象表示的 REST 资源。 服务器可以从客户端提交请求的端点推断出这一点。 - 无法更新。驼峰式规则。 - 更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + 无法更新。驼峰式规则。更多信息: + https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - **message** (string) - + + 此操作状态的人类可读描述。 - **metadata** (}}">ListMeta) - - 标准列表元数据。 - 更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + + 标准的列表元数据。更多信息: + https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - **reason** (string) @@ -195,14 +199,16 @@ guide. You can file document formatting bugs against the If this value is empty there is no information available. A Reason clarifies an HTTP status code but does not override it. --> + 机器可读的说明,说明此操作为何处于“失败”状态。 如果此值为空,则没有可用信息。 - Reason 澄清了 HTTP 状态代码,但不会覆盖它。 + reason 澄清了 HTTP 状态代码,但不会覆盖它。 - **status** (string) - 操作状态。“Success”或“Failure” 之一。 - 更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status + + 操作状态。“Success”或“Failure” 之一。更多信息: + https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status From fba4f6cb2f92bcf3eb4d100b1a86ae29c193e5b5 Mon Sep 17 00:00:00 2001 From: Shubham Date: Thu, 26 Oct 2023 06:20:01 +0530 Subject: [PATCH 45/82] Removed outdated information for SA and Added the Note for Manually created Secret API objects. (#43451) * Removed outdated information for SA and Added the Note for Manually created Secret API objects. * Modified the Note. * Simplified the Note. --- .../service-accounts-admin.md | 24 ------------------- .../configure-service-account.md | 10 ++++++++ 2 files changed, 10 insertions(+), 24 deletions(-) diff --git a/content/en/docs/reference/access-authn-authz/service-accounts-admin.md b/content/en/docs/reference/access-authn-authz/service-accounts-admin.md index 4c2e2671d0..ca6f831da8 100644 --- a/content/en/docs/reference/access-authn-authz/service-accounts-admin.md +++ b/content/en/docs/reference/access-authn-authz/service-accounts-admin.md @@ -340,30 +340,6 @@ Then, delete the Secret you now know the name of: kubectl -n examplens delete secret/example-automated-thing-token-zyxwv ``` -The control plane spots that the ServiceAccount is missing its Secret, -and creates a replacement: - -```shell -kubectl -n examplens get serviceaccount/example-automated-thing -o yaml -``` - -```yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - annotations: - kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"example-automated-thing","namespace":"examplens"}} - creationTimestamp: "2019-07-21T07:07:07Z" - name: example-automated-thing - namespace: examplens - resourceVersion: "1026" - selfLink: /api/v1/namespaces/examplens/serviceaccounts/example-automated-thing - uid: f23fd170-66f2-4697-b049-e1e266b7f835 -secrets: - - name: example-automated-thing-token-4rdrh -``` - ## Clean up If you created a namespace `examplens` to experiment with, you can remove it: diff --git a/content/en/docs/tasks/configure-pod-container/configure-service-account.md b/content/en/docs/tasks/configure-pod-container/configure-service-account.md index 8bea409cf2..e5530ec2a7 100644 --- a/content/en/docs/tasks/configure-pod-container/configure-service-account.md +++ b/content/en/docs/tasks/configure-pod-container/configure-service-account.md @@ -262,6 +262,16 @@ Secret somewhere that your terminal / computer screen could be seen by an onlook When you delete a ServiceAccount that has an associated Secret, the Kubernetes control plane automatically cleans up the long-lived token from that Secret. +{{< note >}} +If you view the ServiceAccount using: + +` kubectl get serviceaccount build-robot -o yaml` + +You can't see the `build-robot-secret` Secret in the ServiceAccount API objects +[`.secrets`](/docs/reference/kubernetes-api/authentication-resources/service-account-v1/) field +because that field is only populated with auto-generated Secrets. +{{< /note >}} + ## Add ImagePullSecrets to a service account First, [create an imagePullSecret](/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod). From 1474625988a07171ecd5a6380a4a372df38c1bca Mon Sep 17 00:00:00 2001 From: xin gu <418294249@qq.com> Date: Wed, 25 Oct 2023 17:23:31 +0800 Subject: [PATCH 46/82] sync /docs/concepts/overview/* --- .../zh-cn/docs/concepts/overview/_index.md | 25 +++++++++++++++++++ .../docs/concepts/overview/components.md | 2 ++ .../working-with-objects/annotations.md | 4 ++- 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/content/zh-cn/docs/concepts/overview/_index.md b/content/zh-cn/docs/concepts/overview/_index.md index dee5a979b7..356defdfea 100644 --- a/content/zh-cn/docs/concepts/overview/_index.md +++ b/content/zh-cn/docs/concepts/overview/_index.md @@ -7,6 +7,9 @@ weight: 20 card: name: concepts weight: 10 + anchors: + - anchor: "#why-you-need-kubernetes-and-what-can-it-do" + title: 为什么选择 Kubernetes? no_list: true --- @@ -271,6 +277,25 @@ Kubernetes 为你提供: Kubernetes 允许你存储和管理敏感信息,例如密码、OAuth 令牌和 SSH 密钥。 你可以在不重建容器镜像的情况下部署和更新密钥和应用程序配置,也无需在堆栈配置中暴露密钥。 + +* **批处理执行** + 除了服务外,Kubernetes 还可以管理你的批处理和 CI(持续集成)工作负载,如有需要,可以替换失败的容器。 +* **水平扩缩** + 使用简单的命令、用户界面或根据 CPU 使用率自动对你的应用进行扩缩。 +* **IPv4/IPv6 双栈** + 为 Pod(容器组)和 Service(服务)分配 IPv4 和 IPv6 地址。 +* **为可扩展性设计** + 在不改变上游源代码的情况下为你的 Kubernetes 集群添加功能。 + diff --git a/content/zh-cn/docs/concepts/overview/components.md b/content/zh-cn/docs/concepts/overview/components.md index d9f3885014..059947e521 100644 --- a/content/zh-cn/docs/concepts/overview/components.md +++ b/content/zh-cn/docs/concepts/overview/components.md @@ -5,6 +5,7 @@ description: > Kubernetes 集群由控制平面的组件和一组称为节点的机器组成。 weight: 30 card: + title: 集群组件 name: concepts weight: 20 --- @@ -18,6 +19,7 @@ description: > plane and a set of machines called nodes. weight: 30 card: + title: Components of a cluster name: concepts weight: 20 --> diff --git a/content/zh-cn/docs/concepts/overview/working-with-objects/annotations.md b/content/zh-cn/docs/concepts/overview/working-with-objects/annotations.md index a2503b644b..1fb029b36d 100644 --- a/content/zh-cn/docs/concepts/overview/working-with-objects/annotations.md +++ b/content/zh-cn/docs/concepts/overview/working-with-objects/annotations.md @@ -29,7 +29,8 @@ objects. Labels can be used to select objects and to find collections of objects that satisfy certain conditions. In contrast, annotations are not used to identify and select objects. The metadata in an annotation can be small or large, structured or unstructured, and can -include characters not permitted by labels. +include characters not permitted by labels. It is possible to use labels as +well as annotations in the metadata of the same object. Annotations, like labels, are key/value maps: --> @@ -38,6 +39,7 @@ Annotations, like labels, are key/value maps: 你可以使用标签或注解将元数据附加到 Kubernetes 对象。 标签可以用来选择对象和查找满足某些条件的对象集合。 相反,注解不用于标识和选择对象。 注解中的元数据,可以很小,也可以很大,可以是结构化的,也可以是非结构化的,能够包含标签不允许的字符。 +可以在同一对象的元数据中同时使用标签和注解。 注解和标签一样,是键/值对: From 869669b6de817fd2dd1e3f88cf140f617362e165 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Tue, 24 Oct 2023 09:25:29 +0800 Subject: [PATCH 47/82] [zh] Sync /cluster-administration/flow-control.md --- .../cluster-administration/flow-control.md | 168 ++++++++++-------- 1 file changed, 95 insertions(+), 73 deletions(-) diff --git a/content/zh-cn/docs/concepts/cluster-administration/flow-control.md b/content/zh-cn/docs/concepts/cluster-administration/flow-control.md index fad42cc28d..e5d55f47e7 100644 --- a/content/zh-cn/docs/concepts/cluster-administration/flow-control.md +++ b/content/zh-cn/docs/concepts/cluster-administration/flow-control.md @@ -864,6 +864,11 @@ poorly-behaved workloads that may be harming system health. 监视这些指标有助于判断你的配置是否不当地限制了重要流量, 或者发现可能会损害系统健康的,行为不良的工作负载。 + +#### 成熟度水平 BETA + * `apiserver_flowcontrol_rejected_requests_total` 是一个计数器向量, 记录被拒绝的请求数量(自服务器启动以来累计值), - 由标签 `flow_chema`(表示与请求匹配的 FlowSchema)、`priority_level` - (表示分配给请该求的优先级)和 `reason` 来区分。 + 可按标签 `flow_chema`(表示与请求匹配的 FlowSchema)、`priority_level` + (表示分配给请该求的优先级)和 `reason` 分解。 `reason` 标签将是以下值之一: * `apiserver_flowcontrol_dispatched_requests_total` 是一个计数器向量, 记录开始执行的请求数量(自服务器启动以来的累积值), - 由 `flow_schema` 和 `priority_level` 来区分。 + 可按 `flow_schema` 和 `priority_level` 分解。 + +* `apiserver_flowcontrol_current_inqueue_requests` 是一个测量向量, + 记录排队中的(未执行)请求的瞬时数量,可按 `priority_level` 和 `flow_schema` 分解。 + +* `apiserver_flowcontrol_current_executing_requests` 是一个测量向量, + 记录执行中(不在队列中等待)请求的瞬时数量,可按 `priority_level` 和 `flow_schema` 分解。 + + +* `apiserver_flowcontrol_current_executing_seats` 是一个测量向量, + 记录了按 `priority_level` 和 `flow_schema` 细分的瞬时占用席位数量。 + +* `apiserver_flowcontrol_request_wait_duration_seconds` 是一个直方图向量, + 记录了按 `flow_schema`、`priority_level` 和 `execute` 标签细分的请求在队列中等待的时长。 + `execute` 标签表示请求是否已开始执行。 + + {{< note >}} + + 由于每个 FlowSchema 总会给请求分配 PriorityLevelConfiguration, + 因此你可以将一个优先级的所有 FlowSchema 的直方图相加,以得到分配给该优先级的请求的有效直方图。 + {{< /note >}} + + +#### 成熟度水平 ALPHA -* `apiserver_current_inqueue_requests` 是一个表向量, +* `apiserver_current_inqueue_requests` 是一个测量向量, 记录最近排队请求数量的高水位线, 由标签 `request_kind` 分组,标签的值为 `mutating` 或 `readOnly`。 这些高水位线表示在最近一秒钟内看到的最大数字。 - 它们补充说明了老的表向量 `apiserver_current_inflight_requests` + 它们补充说明了老的测量向量 `apiserver_current_inflight_requests` (该量保存了最后一个窗口中,正在处理的请求数量的高水位线)。 + +* `apiserver_current_inqueue_seats` 是一个测量向量, + 记录了排队请求中每个请求将占用的最大席位数的总和, + 按 `flow_schema` 和 `priority_level` 两个标签进行分组。 + * `apiserver_flowcontrol_read_vs_write_current_requests` 是一个直方图向量, - 在每个纳秒结束时记录请求数量的观察值,由标签 `phase`(取值为 `waiting` 及 `executing`) - 和 `request_kind`(取值为 `mutating` 及 `readOnly`)区分。 + 在每个纳秒结束时记录请求数量的观察值,可按标签 `phase`(取值为 `waiting` 及 `executing`) + 和 `request_kind`(取值为 `mutating` 及 `readOnly`)分解。 每个观察到的值是一个介于 0 和 1 之间的比值,计算方式为请求数除以该请求数的对应限制 (等待的队列长度限制和执行所用的并发限制)。 - -* `apiserver_flowcontrol_current_inqueue_requests` 是一个表向量, - 记录包含排队中的(未执行)请求的瞬时数量, - 由 `priority_level` 和 `flow_schema` 区分。 - - -* `apiserver_flowcontrol_current_executing_requests` 是一个表向量, - 记录包含执行中(不在队列中等待)请求的瞬时数量, - 由 `priority_level` 和 `flow_schema` 进一步区分。 - * `apiserver_flowcontrol_request_concurrency_in_use` 是一个规范向量, - 包含占用座位的瞬时数量,由 `priority_level` 和 `flow_schema` 进一步区分。 + 包含占用席位的瞬时数量,可按 `priority_level` 和 `flow_schema` 分解。 * `apiserver_flowcontrol_priority_level_request_utilization` 是一个直方图向量, 在每个纳秒结束时记录请求数量的观察值, - 由标签 `phase`(取值为 `waiting` 及 `executing`)和 `priority_level` 区分。 + 可按标签 `phase`(取值为 `waiting` 及 `executing`)和 `priority_level` 分解。 每个观察到的值是一个介于 0 和 1 之间的比值,计算方式为请求数除以该请求数的对应限制 (等待的队列长度限制和执行所用的并发限制)。 @@ -996,7 +1039,7 @@ poorly-behaved workloads that may be harming system health. phase). --> * `apiserver_flowcontrol_priority_level_seat_utilization` 是一个直方图向量, - 在每个纳秒结束时记录某个优先级并发度限制利用率的观察值,由标签 `priority_level` 区分。 + 在每个纳秒结束时记录某个优先级并发度限制利用率的观察值,可按标签 `priority_level` 分解。 此利用率是一个分数:(占用的席位数)/(并发限制)。 此指标考虑了除 WATCH 之外的所有请求的所有执行阶段(包括写入结束时的正常延迟和额外延迟, 以覆盖相应的通知操作);对于 WATCH 请求,只考虑传递预先存在对象通知的初始阶段。 @@ -1011,7 +1054,7 @@ poorly-behaved workloads that may be harming system health. Note that this produces different statistics than an unbiased survey would. --> * `apiserver_flowcontrol_request_queue_length_after_enqueue` 是一个直方图向量, - 记录请求队列的长度,由 `priority_level` 和 `flow_schema` 进一步区分。 + 记录请求队列的长度,可按 `priority_level` 和 `flow_schema` 分解。 每个排队中的请求都会为其直方图贡献一个样本,并在添加请求后立即上报队列的长度。 请注意,这样产生的统计数据与无偏调查不同。 @@ -1042,26 +1085,17 @@ poorly-behaved workloads that may be harming system health. 此字段始终等于 `apiserver_flowcontrol_current_limit_seats` (它过去不作为一个独立的指标存在)。 - -* `apiserver_flowcontrol_nominal_limit_seats` 是一个表向量,包含每个优先级的额定并发度限制, - 指标值根据 API 服务器的总并发度限制和各优先级所配置的额定并发度份额计算得出。 - -* `apiserver_flowcontrol_lower_limit_seats` 是一个表向量,包含每个优先级的动态并发度限制的下限。 +* `apiserver_flowcontrol_lower_limit_seats` 是一个测量向量,包含每个优先级的动态并发度限制的下限。 -* `apiserver_flowcontrol_upper_limit_seats` 是一个表向量,包含每个优先级的动态并发度限制的上限。 +* `apiserver_flowcontrol_upper_limit_seats` 是一个测量向量,包含每个优先级的动态并发度限制的上限。 -* `apiserver_flowcontrol_demand_seats_high_watermark` 是一个表向量, +* `apiserver_flowcontrol_demand_seats_high_watermark` 是一个测量向量, 为每个优先级包含了上一个并发度借用调整期间所观察到的最大席位需求。 -* `apiserver_flowcontrol_demand_seats_average` 是一个表向量, +* `apiserver_flowcontrol_demand_seats_average` 是一个测量向量, 为每个优先级包含了上一个并发度借用调整期间所观察到的时间加权平均席位需求。 -* `apiserver_flowcontrol_demand_seats_stdev` 是一个表向量, +* `apiserver_flowcontrol_demand_seats_stdev` 是一个测量向量, 为每个优先级包含了上一个并发度借用调整期间所观察到的席位需求的时间加权总标准偏差。 -* `apiserver_flowcontrol_demand_seats_smoothed` 是一个表向量, +* `apiserver_flowcontrol_demand_seats_smoothed` 是一个测量向量, 为每个优先级包含了上一个并发度调整期间确定的平滑包络席位需求。 -* `apiserver_flowcontrol_target_seats` 是一个表向量, +* `apiserver_flowcontrol_target_seats` 是一个测量向量, 包含每个优先级触发借用分配问题的并发度目标值。 -* `apiserver_flowcontrol_seat_fair_frac` 是一个表向量, +* `apiserver_flowcontrol_seat_fair_frac` 是一个测量向量, 包含了上一个借用调整期间确定的公平分配比例。 -* `apiserver_flowcontrol_current_limit_seats` 是一个表向量, +* `apiserver_flowcontrol_current_limit_seats` 是一个测量向量, 包含每个优先级的上一次调整期间得出的动态并发限制。 - -* `apiserver_flowcontrol_request_wait_duration_seconds` 是一个直方图向量, - 记录请求排队的时间, - 由标签 `flow_schema`、`priority_level` 和 `execute` 进一步区分。 - 标签 `execute` 表示请求是否开始执行。 - - {{< note >}} - - 由于每个 FlowSchema 总会给请求分配 PriorityLevelConfiguration, - 因此你可以为一个优先级添加所有 FlowSchema 的直方图,以获取分配给该优先级的请求的有效直方图。 - {{< /note >}} - * `apiserver_flowcontrol_request_execution_seconds` 是一个直方图向量, 记录请求实际执行需要花费的时间, - 由标签 `flow_schema` 和 `priority_level` 进一步区分。 + 可按标签 `flow_schema` 和 `priority_level` 分解。 * `apiserver_flowcontrol_watch_count_samples` 是一个直方图向量, 记录给定写的相关活动 WATCH 请求数量, - 由标签 `flow_schema` 和 `priority_level` 进一步区分。 + 可按标签 `flow_schema` 和 `priority_level` 分解。 * `apiserver_flowcontrol_work_estimated_seats` 是一个直方图向量, 记录与估计席位(最初阶段和最后阶段的最多人数)相关联的请求数量, - 由标签 `flow_schema` 和 `priority_level` 进一步区分。 + 可按标签 `flow_schema` 和 `priority_level` 分解。 +* `apiserver_flowcontrol_epoch_advance_total` 是一个计数器向量, + 记录了将优先级进度计向后跳跃以避免数值溢出的尝试次数, + 按 `priority_level` 和 `success` 两个标签进行分组。 diff --git a/content/zh-cn/docs/concepts/containers/_index.md b/content/zh-cn/docs/concepts/containers/_index.md index 6d7dfebb19..e069716e1c 100644 --- a/content/zh-cn/docs/concepts/containers/_index.md +++ b/content/zh-cn/docs/concepts/containers/_index.md @@ -3,7 +3,22 @@ title: "容器" weight: 40 description: 打包应用及其运行依赖环境的技术。 content_type: concept +card: + name: concepts + weight: 50 --- + -* 阅读 {{< glossary_tooltip text="CNCF" term_id="cncf" >}} [Operator 白皮书](https://github.com/cncf/tag-app-delivery/blob/eece8f7307f2970f46f100f51932db106db46968/operator-wg/whitepaper/Operator-WhitePaper_v1-0.md)。 +* 阅读 {{< glossary_tooltip text="CNCF" term_id="cncf" >}} [Operator 白皮书](https://github.com/cncf/tag-app-delivery/blob/163962c4b1cd70d085107fc579e3e04c2e14d59c/operator-wg/whitepaper/Operator-WhitePaper_v1-0.md)。 * 详细了解[定制资源](/zh-cn/docs/concepts/extend-kubernetes/api-extension/custom-resources/) * 在 [OperatorHub.io](https://operatorhub.io/) 上找到现成的、适合你的 Operator * [发布](https://operatorhub.io/)你的 Operator,让别人也可以使用 From b6f29ff66cd3288184759528a63f7e1a5f802dca Mon Sep 17 00:00:00 2001 From: Faeka Ansari Date: Thu, 26 Oct 2023 19:17:41 +0530 Subject: [PATCH 49/82] Update old blog article about SIG Usability to mention dissolution (#42390) * Update 2021-07-15-SIG-Usability-Spotlight.md * Update content/en/blog/_posts/2021-07-15-SIG-Usability-Spotlight.md Co-authored-by: Nitish Kumar * Update content/en/blog/_posts/2021-07-15-SIG-Usability-Spotlight.md Co-authored-by: Nitish Kumar * Update content/en/blog/_posts/2021-07-15-SIG-Usability-Spotlight.md Co-authored-by: Dipesh Rawat * Update content/en/blog/_posts/2021-07-15-SIG-Usability-Spotlight.md Co-authored-by: Tim Bannister * Update content/en/blog/_posts/2021-07-15-SIG-Usability-Spotlight.md Co-authored-by: Tim Bannister * Update content/en/blog/_posts/2021-07-15-SIG-Usability-Spotlight.md Co-authored-by: Tim Bannister --------- Co-authored-by: Nitish Kumar Co-authored-by: Dipesh Rawat Co-authored-by: Tim Bannister --- .../_posts/2021-07-15-SIG-Usability-Spotlight.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2021-07-15-SIG-Usability-Spotlight.md b/content/en/blog/_posts/2021-07-15-SIG-Usability-Spotlight.md index 43488fc11f..722d26372d 100644 --- a/content/en/blog/_posts/2021-07-15-SIG-Usability-Spotlight.md +++ b/content/en/blog/_posts/2021-07-15-SIG-Usability-Spotlight.md @@ -5,7 +5,18 @@ date: 2021-07-15 slug: sig-usability-spotlight-2021 --- -**Author:** Kunal Kushwaha, Civo +**Author:** Kunal Kushwaha (Civo) + +{{< note >}} +SIG Usability, which is featured in this Spotlight blog, has been deprecated and is no longer active. +As a result, the links and information provided in this blog post may no longer be valid or relevant. +Should there be renewed interest and increased participation in the future, the SIG may be revived. +However, as of August 2023 the SIG is inactive per the Kubernetes community policy. +The Kubernetes project encourages you to explore other +[SIGs](https://github.com/kubernetes/community/blob/master/sig-list.md#special-interest-groups) +and resources available on the Kubernetes website to stay up-to-date with the latest developments +and enhancements in Kubernetes. +{{< /note >}} ## Introduction From a291b166ff561e685fc202747edf01278f48512c Mon Sep 17 00:00:00 2001 From: Yeongjun Choi Date: Thu, 26 Oct 2023 23:16:16 +0900 Subject: [PATCH 50/82] [ko] Fix Outdated Link on cilium-network-policy.md --- .../network-policy-provider/cilium-network-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/ko/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md b/content/ko/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md index a112f71f25..38c2ac1bb6 100644 --- a/content/ko/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md +++ b/content/ko/docs/tasks/administer-cluster/network-policy-provider/cilium-network-policy.md @@ -10,7 +10,7 @@ weight: 20 이 페이지는 어떻게 네트워크 폴리시(NetworkPolicy)로 실리움(Cilium)를 사용하는지 살펴본다. -실리움의 배경에 대해서는 [실리움 소개](https://docs.cilium.io/en/stable/intro)를 읽어보자. +실리움의 배경에 대해서는 [실리움 소개](https://docs.cilium.io/en/stable/overview/intro)를 읽어보자. ## {{% heading "prerequisites" %}} From 6398026d50084a317ae975aac4cba9eaa64792d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Frederico=20Mu=C3=B1oz?= Date: Fri, 13 Oct 2023 11:51:42 +0100 Subject: [PATCH 51/82] Add SIG Archicture Production Readiness spotlight Co-authored-by: Anuj Tiwari Co-authored-by: Nate W --- ...g-architecture-prod-readiness-spotlight.md | 139 ++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 content/en/blog/_posts/2023-11-02-sig-architecture-prod-readiness-spotlight.md diff --git a/content/en/blog/_posts/2023-11-02-sig-architecture-prod-readiness-spotlight.md b/content/en/blog/_posts/2023-11-02-sig-architecture-prod-readiness-spotlight.md new file mode 100644 index 0000000000..a571b55df6 --- /dev/null +++ b/content/en/blog/_posts/2023-11-02-sig-architecture-prod-readiness-spotlight.md @@ -0,0 +1,139 @@ +--- +layout: blog +title: "Spotlight on SIG Architecture: Production Readiness" +slug: sig-architecture-production-readiness-spotlight-2023 +date: 2023-11-02 +canonicalUrl: https://www.k8s.dev/blog/2023/24/05/sig-architecture-prod-readiness-spotlight-2023/ +--- + +**Author**: "Frederico Muñoz (SAS Institute)" + +_This is the second interview of a SIG Architecture Spotlight series that will cover the different +subprojects. In this blog, we will cover the [SIG Architecture: Production Readiness +subproject](https://github.com/kubernetes/community/blob/master/sig-architecture/README.md#production-readiness-1)_. + +In this SIG Architecture spotlight, we talked with [Wojciech Tyczynski](https://github.com/wojtek-t) +(Google), lead of the Production Readiness subproject. + +## About SIG Architecture and the Production Readiness subproject + +**Frederico (FSM)**: Hello Wojciech, could you tell us a bit about yourself, your role and how you +got involved in Kubernetes? + +**Wojciech Tyczynski (WT)**: I started contributing to Kubernetes in January 2015. At that time, +Google (where I was and still am working) decided to start a Kubernetes team in the Warsaw office +(in addition to already existing teams in California and Seattle). I was lucky enough to be one of +the seeding engineers for that team. + +After two months of onboarding and helping with different tasks across the project towards 1.0 +launch, I took ownership of the scalability area and I was leading Kubernetes to support clusters +with 5000 nodes. I’m still involved in [SIG Scalability](https://github.com/kubernetes/community/blob/master/sig-scalability/README.md) +as its Technical Lead. That was the start of a journey since scalability is such a cross-cutting topic, +and I started contributing to many other areas including, over time, to SIG Architecture. + +**FSM**: In SIG Architecture, why specifically the Production Readiness subproject? Was it something +you had in mind from the start, or was it an unexpected consequence of your initial involvement in +scalability? + +**WT**: After reaching that milestone of [Kubernetes supporting 5000-node clusters](https://kubernetes.io/blog/2017/03/scalability-updates-in-kubernetes-1-6/), +one of the goals was to ensure that Kubernetes would not degrade its scalability properties over time. While +non-scalable implementation is always fixable, designing non-scalable APIs or contracts is +problematic. I was looking for a way to ensure that people are thinking about +scalability when they create new features and capabilities without introducing too much overhead. + +This is when I joined forces with [John Belamaric](https://github.com/johnbelamaric) and +[David Eads](https://github.com/deads2k) and created a Production Readiness subproject within SIG +Architecture. While setting the bar for scalability was only one of a few motivations for it, it +ended up fitting quite well. At the same time, I was already involved in the overall reliability of +the system internally, so other goals of Production Readiness were also close to my heart. + +**FSM**: To anyone new to how SIG Architecture works, how would you describe the main goals and +areas of intervention of the Production Readiness subproject? + +**WT**: The goal of the Production Readiness subproject is to ensure that any feature that is added +to Kubernetes can be reliably used in production clusters. This primarily means that those features +are observable, scalable, supportable, can always be safely enabled and in case of production issues +also disabled. + +## Production readiness and the Kubernetes project + +**FSM**: Architectural consistency being one of the goals of the SIG, is this made more challenging +by the [distributed and open nature of Kubernetes](https://www.cncf.io/reports/kubernetes-project-journey-report/)? +Do you feel this impacts the approach that Production Readiness has to take? + +**WT**: The distributed nature of Kubernetes certainly impacts Production Readiness, because it +makes thinking about aspects like enablement/disablement or scalability more challenging. To be more +precise, when enabling or disabling features that span multiple components you need to think about +version skew between them and design for it. For scalability, changes in one component may actually +result in problems for a completely different one, so it requires a good understanding of the whole +system, not just individual components. But it’s also what makes this project so interesting. + +**FSM**: Those running Kubernetes in production will have their own perspective on things, how do +you capture this feedback? + +**WT**: Fortunately, we aren’t talking about _"them"_ here, we’re talking about _"us"_: all of us are +working for companies that are managing large fleets of Kubernetes clusters and we’re involved in +that too, so we suffer from those problems ourselves. + +So while we’re trying to get feedback (our annual PRR survey is very important for us), it rarely +reveals completely new problems - it rather shows the scale of them. And we try to react to it - +changes like "Beta APIs off by default" happen in reaction to the data that we observe. + +**FSM**: On the topic of reaction, that made me think of how the [Kubernetes Enhancement Proposal (KEP)](https://github.com/kubernetes/enhancements/blob/master/keps/NNNN-kep-template/README.md) +template has a Production Readiness Review (PRR) section, which is tied to the graduation +process. Was this something born out of identified insufficiencies? How would you describe the +results? + +**WT**: As mentioned above, the overall goal of the Production Readiness subproject is to ensure +that every newly added feature can be reliably used in production. It’s not possible to enforce that +by a central team - we need to make it everyone's problem. + +To achieve it, we wanted to ensure that everyone designing their new feature is thinking about safe +enablement, scalability, observability, supportability, etc. from the very beginning. Which means +not when the implementation starts, but rather during the design. Given that KEPs are effectively +Kubernetes design docs, making it part of the KEP template was the way to achieve the goal. + +**FSM**: So, in a way making sure that feature owners have thought about the implications of their +proposal. + +**WT**: Exactly. We already observed that just by forcing feature owners to think through the PRR +aspects (via forcing them to fill in the PRR questionnaire) many of the original issues are going +away. Sure - as PRR approvers we’re still catching gaps, but even the initial versions of KEPs are +better now than they used to be a couple of years ago in what concerns thinking about +productionisation aspects, which is exactly what we wanted to achieve - spreading the culture of +thinking about reliability in its widest possible meaning. + +**FSM**: We've been talking about the PRR process, could you describe it for our readers? + +**WT**: The [PRR process](https://github.com/kubernetes/community/blob/master/sig-architecture/production-readiness.md) +is fairly simple - we just want to ensure that you think through the productionisation aspects of +your feature early enough. If you do your job, it’s just a matter of answering some questions in the +KEP template and getting approval from a PRR approver (in addition to regular SIG approval). If you +didn’t think about those aspects earlier, it may require spending more time and potentially revising +some decisions, but that’s exactly what we need to make the Kubernetes project reliable. + +## Helping with Production Readiness + +**FSM**: Production Readiness seems to be one area where a good deal of prior exposure is required +in order to be an effective contributor. Are there also ways for someone newer to the project to +contribute? + +**WT**: PRR approvers have to have a deep understanding of the whole Kubernetes project to catch +potential issues. Kubernetes is such a large project now with so many nuances that people who are +new to the project can simply miss the context, no matter how senior they are. + +That said, there are many ways that you may implicitly help. Increasing the reliability of +particular areas of the project by improving its observability and debuggability, increasing test +coverage, and building new kinds of tests (upgrade, downgrade, chaos, etc.) will help us a lot. Note +that the PRR subproject is focused on keeping the bar at the design level, but we should also care +equally about the implementation. For that, we’re relying on individual SIGs and code approvers, so +having people there who are aware of productionisation aspects, and who deeply care about it, will +help the project a lot. + +**FSM**: Thank you! Any final comments you would like to share with our readers? + +**WT**: I would like to highlight and thank all contributors for their cooperation. While the PRR +adds some additional work for them, we see that people care about it, and what’s even more +encouraging is that with every release the quality of the answers improves, and questions "do I +really need a metric reflecting if my feature works" or "is downgrade really that important" don’t +really appear anymore. From 1072b8f058a34161c0a04bfcc22de5f95cd82eb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Frederico=20Mu=C3=B1oz?= Date: Thu, 26 Oct 2023 17:23:23 +0100 Subject: [PATCH 52/82] Update content/en/blog/_posts/2023-11-02-sig-architecture-prod-readiness-spotlight.md Co-authored-by: Tim Bannister --- .../2023-11-02-sig-architecture-prod-readiness-spotlight.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2023-11-02-sig-architecture-prod-readiness-spotlight.md b/content/en/blog/_posts/2023-11-02-sig-architecture-prod-readiness-spotlight.md index a571b55df6..f80e0ea7a6 100644 --- a/content/en/blog/_posts/2023-11-02-sig-architecture-prod-readiness-spotlight.md +++ b/content/en/blog/_posts/2023-11-02-sig-architecture-prod-readiness-spotlight.md @@ -6,7 +6,7 @@ date: 2023-11-02 canonicalUrl: https://www.k8s.dev/blog/2023/24/05/sig-architecture-prod-readiness-spotlight-2023/ --- -**Author**: "Frederico Muñoz (SAS Institute)" +**Author**: Frederico Muñoz (SAS Institute) _This is the second interview of a SIG Architecture Spotlight series that will cover the different subprojects. In this blog, we will cover the [SIG Architecture: Production Readiness From 36bd81ed6a8c27a64a50835b264612c70c2ac6b5 Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 27 Oct 2023 08:05:11 +0800 Subject: [PATCH 53/82] [zh] Clean up common-parameters.md --- .../common-parameters/common-parameters.md | 141 ++++++++---------- 1 file changed, 66 insertions(+), 75 deletions(-) diff --git a/content/zh-cn/docs/reference/kubernetes-api/common-parameters/common-parameters.md b/content/zh-cn/docs/reference/kubernetes-api/common-parameters/common-parameters.md index de2f32d9ae..88bf47d391 100644 --- a/content/zh-cn/docs/reference/kubernetes-api/common-parameters/common-parameters.md +++ b/content/zh-cn/docs/reference/kubernetes-api/common-parameters/common-parameters.md @@ -7,231 +7,222 @@ content_type: "api_reference" description: "" title: "常用参数" weight: 11 -auto_generated: true --- - ## allowWatchBookmarks {#allowWatchBookmarks} + allowWatchBookmarks 字段请求类型为 BOOKMARK 的监视事件。 没有实现书签的服务器可能会忽略这个标志,并根据服务器的判断发送书签。 客户端不应该假设书签会在任何特定的时间间隔返回,也不应该假设服务器会在会话期间发送任何书签事件。 如果当前请求不是 watch 请求,则忽略该字段。 +
## continue {#continue} + 当需要从服务器检索更多结果时,应该设置 continue 选项。由于这个值是服务器定义的, 客户端只能使用先前查询结果中具有相同查询参数的 continue 值(continue 值除外), 服务器可能拒绝它识别不到的 continue 值。 如果指定的 continue 值不再有效,无论是由于过期(通常是 5 到 15 分钟) 还是服务器上的配置更改,服务器将响应 "410 ResourceExpired" 错误和一个 continue 令牌。 - 如果客户端需要一个一致的列表,它必须在没有 continue 字段的情况下重新发起 list 请求。 否则,客户端可能会发送另一个带有 410 错误令牌的 list 请求,服务器将响应从下一个键开始的列表, -但列表数据来自最新的快照,这与之前 -的列表结果不一致。第一个列表请求之后的对象创建,修改,或删除的对象将被包含在响应中, -只要他们的键是在“下一个键”之后。 +但列表数据来自最新的快照,这与之前的列表结果不一致。 +第一个列表请求之后被创建、修改或删除的对象将被包含在响应中,只要它们的键是在“下一个键”之后。 + 当 watch 字段为 true 时,不支持此字段。客户端可以从服务器返回的最后一个 resourceVersion 值开始监视,就不会错过任何修改。 +
## dryRun {#dryRun} + 表示不应该持久化所请求的修改。无效或无法识别的 dryRun 指令将导致错误响应, 并且服务器不再对请求进行进一步处理。有效值为: + - All: 将处理所有的演练阶段 +
## fieldManager {#fieldManager} + fieldManager 是与进行这些更改的参与者或实体相关联的名称。 长度小于或128个字符且仅包含可打印字符,如 https://golang.org/pkg/unicode/#IsPrint 所定义。 +
## fieldSelector {#fieldSelector} + 限制所返回对象的字段的选择器。默认为返回所有字段。 +
## fieldValidation {#fieldValidation} fieldValidation 指示服务器如何处理请求(POST/PUT/PATCH)中包含未知或重复字段的对象。 - 有效值为: + - Ignore:这将忽略从对象中默默删除的所有未知字段,并将忽略除解码器遇到的最后一个重复字段之外的所有字段。 这是在 v1.23 之前的默认行为。 - - Warn:这将针对从对象中删除的各个未知字段以及所遇到的各个重复字段,分别通过标准警告响应头发出警告。 如果没有其他错误,请求仍然会成功,并且只会保留所有重复字段中的最后一个。 这是 v1.23+ 版本中的默认设置。 - - Strict:如果从对象中删除任何未知字段,或者存在任何重复字段,将使请求失败并返回 BadRequest 错误。 +从服务器返回的错误将包含所有遇到的未知和重复的字段。 +
## force {#force} + Force 将“强制”应用请求。这意味着用户将重新获得他人拥有的冲突领域。 对于非应用补丁请求,Force 标志必须不设置。 +
## gracePeriodSeconds {#gracePeriodSeconds} + 删除对象前的持续时间(秒数)。值必须为非负整数。取值为 0 表示立即删除。 如果该值为 nil,将使用指定类型的默认宽限期。如果没有指定,默认为每个对象的设置值。 0 表示立即删除。 +
## labelSelector {#labelSelector} + 通过标签限制返回对象列表的选择器。默认为返回所有对象。 +
## limit {#limit} + -limit 是一个列表调用返回的最大响应数。如果有更多的条目,服务器会将列表元数据上的 +limit 是一个列表调用返回的最大响应数。如果有更多的条目,服务器会将列表元数据上的 'continue' 字段设置为一个值,该值可以用于相同的初始查询来检索下一组结果。 - 设置 limit 可能会在所有请求的对象被过滤掉的情况下返回少于请求的条目数量(下限为零), 并且客户端应该只根据 continue 字段是否存在来确定是否有更多的结果可用。 服务器可能选择不支持 limit 参数,并将返回所有可用的结果。 如果指定了 limit 并且 continue 字段为空,客户端可能会认为没有更多的结果可用。 如果 watch 为 true,则不支持此字段。 + -服务器保证在使用 continue 时返回的对象将与不带 limit 的列表调用相同,—— -也就是说,在发出第一个请求后所创建、修改或删除的对象将不包含在任何后续的继续请求中。 - +服务器保证在使用 continue 时返回的对象将与不带 limit 的列表调用相同, +也就是说,在发出第一个请求后所创建、修改或删除的对象将不包含在任何后续的继续请求中。 这有时被称为一致性快照,确保使用 limit 的客户端在分块接收非常大的结果的客户端能够看到所有可能的对象。 如果对象在分块列表期间被更新,则返回计算第一个列表结果时存在的对象版本。 +
## namespace {#namespace} + - 对象名称和身份验证范围,例如用于团队和项目。 +
## pretty {#pretty} + - -如果设置为 'true' ,那么输出是规范的打印。 +如果设置为 'true',那么输出是规范的打印。
## propagationPolicy {#propagationPolicy} + 该字段决定是否以及如何执行垃圾收集。可以设置此字段或 OrphanDependents,但不能同时设置。 默认策略由 metadata.finalizers 和特定资源的默认策略设置决定。可接受的值是: + - 'Orphan':孤立依赖项; - 'Background':允许垃圾回收器后台删除依赖; - 'Foreground':一个级联策略,前台删除所有依赖项。 +
## resourceVersion {#resourceVersion} + resourceVersion 对请求所针对的资源版本设置约束。 -详情请参见 https://kubernetes.io/zh-cn/docs/reference/using-api/api-concepts/#resource-versions。 +详情请参见 https://kubernetes.io/zh-cn/docs/reference/using-api/api-concepts/#resource-versions + +默认不设置。 -默认不设置
## resourceVersionMatch {#resourceVersionMatch} + resourceVersionMatch 字段决定如何将 resourceVersion 应用于列表调用。 强烈建议对设置了 resourceVersion 的列表调用设置 resourceVersion 匹配, -具体请参见 https://kubernetes.io/zh-cn/docs/reference/using-api/api-concepts/#resource-versions。 +具体请参见 https://kubernetes.io/zh-cn/docs/reference/using-api/api-concepts/#resource-versions -默认不设置 +默认不设置。
## sendInitialEvents {#sendInitialEvents} `sendInitialEvents=true` 可以和 `watch=true` 一起设置。 在这种情况下,监视通知流将从合成事件开始,以生成集合中对象的当前状态。 @@ -240,9 +231,7 @@ ResourceVersion(RV),并标有 `"k8s.io/initial-events-end": "true"` 注解 之后,监视通知流将照常进行,发送与所监视的对象的变更(在 RV 之后)对应的监视事件。 当设置了 sendInitialEvents 选项时,我们还需要设置 resourceVersionMatch 选项。watch 请求的语义如下: + - `resourceVersionMatch` = NotOlderThan - 被解释为"数据至少与提供的 `resourceVersion` 一样新", - 最迟当状态同步到与 ListOptions 提供的版本一样新的 `resourceVersion` 时, - 发送 bookmark 事件。如果 `resourceVersion` 未设置,这将被解释为"一致读取", - 最迟当状态同步到开始处理请求的那一刻时,发送 bookmark 事件。 + 被解释为"数据至少与提供的 `resourceVersion` 一样新", + 最迟当状态同步到与 ListOptions 提供的版本一样新的 `resourceVersion` 时, + 发送 bookmark 事件。如果 `resourceVersion` 未设置,这将被解释为"一致读取", + 最迟当状态同步到开始处理请求的那一刻时,发送 bookmark 事件。 - `resourceVersionMatch` 设置为任何其他值或返回 unsetInvalid 错误。 list/watch 调用的超时秒数。这选项限制调用的持续时间,无论是否有活动。 +
## watch {#watch} + 监视对所述资源的更改,并将其这类变更以添加、更新和删除通知流的形式返回。指定 resourceVersion。 From f2c1520a04df4e8d55e091256a53c4040076c1d6 Mon Sep 17 00:00:00 2001 From: "guiyong.ou" Date: Fri, 27 Oct 2023 09:53:29 +0800 Subject: [PATCH 54/82] [zh] fix typo in `content/zh-cn/docs/tasks/tools/install-kubectl-windows.md` Signed-off-by: guiyong.ou --- content/zh-cn/docs/tasks/tools/install-kubectl-windows.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/docs/tasks/tools/install-kubectl-windows.md b/content/zh-cn/docs/tasks/tools/install-kubectl-windows.md index 649f186450..09c22d605a 100644 --- a/content/zh-cn/docs/tasks/tools/install-kubectl-windows.md +++ b/content/zh-cn/docs/tasks/tools/install-kubectl-windows.md @@ -80,7 +80,7 @@ The following methods exist for installing kubectl on Windows: 下载 `kubectl` 校验和文件: ```powershell - curl.exe -LO "https://dl.k8s.io/v{{< skew currentPatchVersion >}}/bin/windows/amd64/kubectl-convert.exe.sha256" + curl.exe -LO "https://dl.k8s.io/v{{< skew currentPatchVersion >}}/bin/windows/amd64/kubectl.exe.sha256" ``` 本示例中,将创建一个只包含单个容器的 Pod。在此 Pod 配置文件中设置了一个命令与两个参数: -{{< codenew file="pods/commands.yaml" >}} +{{% code_sample file="pods/commands.yaml" %}} 1. 在集群中运行 Hello World 应用程序: - {{< codenew file="service/load-balancer-example.yaml" >}} + {{% code_sample file="service/load-balancer-example.yaml" %}} ```shell kubectl apply -f https://k8s.io/examples/service/load-balancer-example.yaml From 54a769467f9018ffed04e871dee0a1f1c8f0c4c1 Mon Sep 17 00:00:00 2001 From: yuehuan Date: Fri, 27 Oct 2023 12:16:21 +0800 Subject: [PATCH 56/82] [zh]Sync service-accounts-admin.md,ingress-minikube.md,configure-service-account.md --- .../service-accounts-admin.md | 27 ------------------- .../ingress-minikube.md | 4 +++ .../configure-service-account.md | 18 +++++++++++++ .../pull-image-private-registry.md | 24 ++++++++++++----- 4 files changed, 40 insertions(+), 33 deletions(-) diff --git a/content/zh-cn/docs/reference/access-authn-authz/service-accounts-admin.md b/content/zh-cn/docs/reference/access-authn-authz/service-accounts-admin.md index f51877dbf6..fc98545a57 100644 --- a/content/zh-cn/docs/reference/access-authn-authz/service-accounts-admin.md +++ b/content/zh-cn/docs/reference/access-authn-authz/service-accounts-admin.md @@ -568,33 +568,6 @@ Then, delete the Secret you now know the name of: kubectl -n examplens delete secret/example-automated-thing-token-zyxwv ``` - -控制平面发现 ServiceAccount 缺少其 Secret,并创建一个替代项: - -```shell -kubectl -n examplens get serviceaccount/example-automated-thing -o yaml -``` - -```yaml -apiVersion: v1 -kind: ServiceAccount -metadata: - annotations: - kubectl.kubernetes.io/last-applied-configuration: | - {"apiVersion":"v1","kind":"ServiceAccount","metadata":{"annotations":{},"name":"example-automated-thing","namespace":"examplens"}} - creationTimestamp: "2019-07-21T07:07:07Z" - name: example-automated-thing - namespace: examplens - resourceVersion: "1026" - selfLink: /api/v1/namespaces/examplens/serviceaccounts/example-automated-thing - uid: f23fd170-66f2-4697-b049-e1e266b7f835 -secrets: - - name: example-automated-thing-token-4rdrh -``` - diff --git a/content/zh-cn/docs/tasks/configure-pod-container/configure-service-account.md b/content/zh-cn/docs/tasks/configure-pod-container/configure-service-account.md index 8684ae565f..41c4f2d01a 100644 --- a/content/zh-cn/docs/tasks/configure-pod-container/configure-service-account.md +++ b/content/zh-cn/docs/tasks/configure-pod-container/configure-service-account.md @@ -420,6 +420,24 @@ control plane automatically cleans up the long-lived token from that Secret. 当你删除一个与某 Secret 相关联的 ServiceAccount 时,Kubernetes 的控制面会自动清理该 Secret 中长期有效的令牌。 +{{< note >}} + +如果你使用以下命令查看 ServiceAccount: + +` kubectl get serviceaccount build-robot -o yaml` + +在 ServiceAccount API 对象中看不到 `build-robot-secret` Secret, +[`.secrets`](/zh-cn/docs/reference/kubernetes-api/authentication-resources/service-account-v1/) 字段, +因为该字段只会填充自动生成的 Secret。 +{{< /note >}} @@ -99,7 +100,9 @@ The output contains a section similar to this: {{< note >}} 如果使用 Docker 凭据仓库,则不会看到 `auth` 条目,看到的将是以仓库名称作为值的 `credsStore` 条目。 在这种情况下,你可以直接创建一个 Secret。 @@ -353,9 +356,20 @@ kubectl get pod private-reg {{< note >}} -如果 Pod 以状态 `ImagePullBackOff` 启动失败,查看 Pod 事件: +要为 Pod(或 Deployment,或其他有 Pod 模板的对象)使用镜像拉取 Secret, +你需要确保合适的 Secret 确实存在于正确的名字空间中。 +要使用的是你定义 Pod 时所用的名字空间。 +{{< /note >}} + + +此外,如果 Pod 启动失败,状态为 `ImagePullBackOff`,查看 Pod 事件: ```shell kubectl describe pod private-reg @@ -383,8 +397,6 @@ Events: ... FailedToRetrieveImagePullSecret ... Unable to retrieve some image pull secrets (); attempting to pull the image may not succeed. ``` -{{< /note >}} - ## {{% heading "whatsnext" %}} + + + + +除了承担 [PR 管理者](/zh-cn/docs/contribute/participate/pr-wranglers)的职责外, +SIG Docs 正式的批准人(Approver)、评审人(Reviewer)和成员(Member) +按周轮流[归类仓库的 Issue](/zh-cn/docs/contribute/review/for-approvers.md/#triage-and-categorize-issues)。 + + + + +## 职责 {#duties} + +在为期一周的轮值期内,Issue 管理者每天负责: + +- 对收到的 Issue 进行日常分类和标记。有关 SIG Docs 如何使用元数据的指导说明, + 参阅[归类 Issue](https://github.com/kubernetes/website/blob/main/content/en/docs/contribute/review/for-approvers.md/#triage-and-categorize-issues)。 +- 密切关注 kubernetes/website 代码仓库中陈旧和过期的 Issue。 +- 维护 [Issues 看板](https://github.com/orgs/kubernetes/projects/72/views/1)。 + + +### 要求 {#requirements} + +- 必须是 Kubernetes 组织的活跃成员。 +- 至少为 Kubernetes 做了 15 + 个[非小微](https://www.kubernetes.dev/docs/guide/pull-requests/#trivial-edits)的贡献 + (其中某些应是直接针对 kubernetes/website 的贡献)。 +- 已经以非正式身份履行该职责。 + + +### 对管理者有帮助的 [Prow 命令](https://prow.k8s.io/command-help) + + +``` +# 重新打开 Issue +/reopen + +# 将不切合 k/website 的 Issue 转移到其他代码仓库 +/transfer[-issue] + +# 更改陈旧 Issue 的状态 +/remove-lifecycle rotten + +# 更改过期 Issue 的状态 +/remove-lifecycle stale + +# 为 Issue 指派 SIG +/sig + +# 添加具体领域 +/area + +# 对新手友好的 Issue +/good-first-issue + +# 需要帮助的 Issue +/help wanted + +# 将 Issue 标记为某种支持 +/kind support + +# 接受某个 Issue 的归类 +/triage accepted + +# 关闭还未处理且未修复的 Issue +/close not-planned +``` + + +### 何时关闭 Issue {#when-to-close-issues} + +一个开源项目想要成功,良好的 Issue 管理非常关键。 +但解决 Issue 也很重要,这样才能维护代码仓库,并与贡献者和用户进行清晰明确的交流。 + + +关闭 Issue 的时机包括: + +- 类似的 Issue 被多次报告。你首先需要将其标记为 /triage duplicate; + 将其链接到主要 Issue 然后关闭它。还建议将用户引导至最初的 Issue。 +- 通过所提供的信息很难理解和解决作者提出的 Issue。 + 但要鼓励用户提供更多细节,或者在以后可以重现 Issue 时重新打开此 Issue 。 +- 相同的功能在其他地方已实现。管理者可以关闭此 Issue 并将用户引导至适当的位置。 +- 报告的 Issue 当前未被计划或不符合项目的目标。 +- 如果 Issue 看起来是垃圾信息并且明显不相关。 +- 如果 Issue 与外部限制或依赖项有关并且超出了本项目的控制范围。 + + +要关闭 Issue,可以在 Issue 中留下一条 `/close` 的评论。 From ed24830f9b6e760bdd809ff8db96775b7da32645 Mon Sep 17 00:00:00 2001 From: Shane Utt Date: Fri, 27 Oct 2023 10:04:27 -0400 Subject: [PATCH 58/82] chore: fix bold for authors Co-authored-by: Tim Bannister --- content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md b/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md index 5a124438d9..a6b703c8e4 100644 --- a/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md +++ b/content/en/blog/_posts/2023-10-31-Gateway-API-GA/index.md @@ -5,7 +5,7 @@ date: 2023-10-31T10:00:00-08:00 slug: gateway-api-ga --- -***Authors:*** Shane Utt (Kong), Nick Young (Isovalent), Rob Scott (Google) +**Authors:** Shane Utt (Kong), Nick Young (Isovalent), Rob Scott (Google) On behalf of Kubernetes SIG Network, we are pleased to announce the v1.0 release of [Gateway API](https://gateway-api.sigs.k8s.io/)! This release marks a huge milestone for From f18aa9029519cd0148d25ca12280be4f36343d29 Mon Sep 17 00:00:00 2001 From: Tim Bannister Date: Fri, 27 Oct 2023 15:31:40 +0100 Subject: [PATCH 59/82] Fix canonical URL for article --- .../2023-11-02-sig-architecture-prod-readiness-spotlight.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/en/blog/_posts/2023-11-02-sig-architecture-prod-readiness-spotlight.md b/content/en/blog/_posts/2023-11-02-sig-architecture-prod-readiness-spotlight.md index f80e0ea7a6..94515e46b2 100644 --- a/content/en/blog/_posts/2023-11-02-sig-architecture-prod-readiness-spotlight.md +++ b/content/en/blog/_posts/2023-11-02-sig-architecture-prod-readiness-spotlight.md @@ -3,7 +3,7 @@ layout: blog title: "Spotlight on SIG Architecture: Production Readiness" slug: sig-architecture-production-readiness-spotlight-2023 date: 2023-11-02 -canonicalUrl: https://www.k8s.dev/blog/2023/24/05/sig-architecture-prod-readiness-spotlight-2023/ +canonicalUrl: https://www.k8s.dev/blog/2023/11/02/sig-architecture-production-readiness-spotlight-2023/ --- **Author**: Frederico Muñoz (SAS Institute) From 0bcd213f9ac8b3fee61ec0804ff217d20f452d8c Mon Sep 17 00:00:00 2001 From: "guiyong.ou" Date: Thu, 26 Oct 2023 17:34:47 +0800 Subject: [PATCH 60/82] fix: delete deprecated command `kubeadm reset update-cluster-status` in docs. Signed-off-by: guiyong.ou --- .../generated/kubeadm_certs_renew_controller-manager.conf.md | 2 +- .../setup-tools/kubeadm/generated/kubeadm_kubeconfig_user.md | 2 +- .../reference/setup-tools/kubeadm/generated/kubeadm_reset.md | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/content/zh-cn/docs/reference/setup-tools/kubeadm/generated/kubeadm_certs_renew_controller-manager.conf.md b/content/zh-cn/docs/reference/setup-tools/kubeadm/generated/kubeadm_certs_renew_controller-manager.conf.md index 813926fcaa..26f97dd813 100644 --- a/content/zh-cn/docs/reference/setup-tools/kubeadm/generated/kubeadm_certs_renew_controller-manager.conf.md +++ b/content/zh-cn/docs/reference/setup-tools/kubeadm/generated/kubeadm_certs_renew_controller-manager.conf.md @@ -30,7 +30,7 @@ After renewal, in order to make changes effective, is is required to restart con 续订后,为了使更改生效,需要重新启动控制平面组件,并最终重新分发更新的证书,以防文件在其他地方使用。 ``` -kubeadm alpha renew controller-manager.conf [flags] +kubeadm certs renew controller-manager.conf [flags] ``` -下面是一个示例,用于获取 `$ENDPOINT` 所提供的键空间的快照到文件 `snapshotdb`: +下面是一个示例,用于获取 `$ENDPOINT` 所提供的键空间的快照到文件 `snapshot.db`: ```shell -ETCDCTL_API=3 etcdctl --endpoints $ENDPOINT snapshot save snapshotdb +ETCDCTL_API=3 etcdctl --endpoints $ENDPOINT snapshot save snapshot.db ``` -恢复时也可以指定操作选项,例如: +恢复时使用 `etcdctl` 选项的另一个示例: ```shell -ETCDCTL_API=3 etcdctl snapshot restore --data-dir snapshotdb +ETCDCTL_API=3 etcdctl snapshot restore --data-dir snapshot.db ``` -另一个例子是先导出环境变量: +其中 `` 是将在恢复过程中创建的目录。 + +另一个例子是先导出 `ETCDCTL_API` 环境变量: ```shell export ETCDCTL_API=3 -etcdctl snapshot restore --data-dir snapshotdb +etcdctl snapshot restore --data-dir snapshot.db ``` +你还可以将碎片整理工具作为 Kubernetes CronJob 运行,以确保定期进行碎片整理。 +有关详细信息,请参阅 +[`etcd-defrag-cronjob.yaml`](https://github.com/ahrtr/etcd-defrag/blob/main/doc/etcd-defrag-cronjob.yaml)。 From 5f3b2c023aeb0f94299fbe620c07da7d956f3156 Mon Sep 17 00:00:00 2001 From: dancer1325 Date: Sun, 29 Oct 2023 12:31:38 +0100 Subject: [PATCH 62/82] fix(en.examples.pods.security.seccomp): update hashicorp/http-echo version --- content/en/examples/pods/security/seccomp/ga/audit-pod.yaml | 2 +- content/en/examples/pods/security/seccomp/ga/default-pod.yaml | 2 +- content/en/examples/pods/security/seccomp/ga/fine-pod.yaml | 2 +- content/en/examples/pods/security/seccomp/ga/violation-pod.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/en/examples/pods/security/seccomp/ga/audit-pod.yaml b/content/en/examples/pods/security/seccomp/ga/audit-pod.yaml index 409d4b923c..34aacd7d95 100644 --- a/content/en/examples/pods/security/seccomp/ga/audit-pod.yaml +++ b/content/en/examples/pods/security/seccomp/ga/audit-pod.yaml @@ -11,7 +11,7 @@ spec: localhostProfile: profiles/audit.json containers: - name: test-container - image: hashicorp/http-echo:0.2.3 + image: hashicorp/http-echo:1.0 args: - "-text=just made some syscalls!" securityContext: diff --git a/content/en/examples/pods/security/seccomp/ga/default-pod.yaml b/content/en/examples/pods/security/seccomp/ga/default-pod.yaml index b884ec5924..153031fc9d 100644 --- a/content/en/examples/pods/security/seccomp/ga/default-pod.yaml +++ b/content/en/examples/pods/security/seccomp/ga/default-pod.yaml @@ -10,7 +10,7 @@ spec: type: RuntimeDefault containers: - name: test-container - image: hashicorp/http-echo:0.2.3 + image: hashicorp/http-echo:1.0 args: - "-text=just made some more syscalls!" securityContext: diff --git a/content/en/examples/pods/security/seccomp/ga/fine-pod.yaml b/content/en/examples/pods/security/seccomp/ga/fine-pod.yaml index 692b828151..dd7622fe15 100644 --- a/content/en/examples/pods/security/seccomp/ga/fine-pod.yaml +++ b/content/en/examples/pods/security/seccomp/ga/fine-pod.yaml @@ -11,7 +11,7 @@ spec: localhostProfile: profiles/fine-grained.json containers: - name: test-container - image: hashicorp/http-echo:0.2.3 + image: hashicorp/http-echo:1.0 args: - "-text=just made some syscalls!" securityContext: diff --git a/content/en/examples/pods/security/seccomp/ga/violation-pod.yaml b/content/en/examples/pods/security/seccomp/ga/violation-pod.yaml index 70deadf4b2..c4844df37c 100644 --- a/content/en/examples/pods/security/seccomp/ga/violation-pod.yaml +++ b/content/en/examples/pods/security/seccomp/ga/violation-pod.yaml @@ -11,7 +11,7 @@ spec: localhostProfile: profiles/violation.json containers: - name: test-container - image: hashicorp/http-echo:0.2.3 + image: hashicorp/http-echo:1.0 args: - "-text=just made some syscalls!" securityContext: From 52857c56e81bfc46c4e318981fdeacfd22171308 Mon Sep 17 00:00:00 2001 From: James Hunt <10615884+thetwopct@users.noreply.github.com> Date: Sun, 29 Oct 2023 15:57:36 +0700 Subject: [PATCH 63/82] Update Bing Search to use Bing APIs not Cognitive Services Signed-off-by: James Hunt <10615884+thetwopct@users.noreply.github.com> --- assets/scss/_custom.scss | 10 +++++++ layouts/_default/search.html | 2 +- static/js/search.js | 52 ++++++++++++++++++++++++------------ 3 files changed, 46 insertions(+), 18 deletions(-) diff --git a/assets/scss/_custom.scss b/assets/scss/_custom.scss index 1b172d3c95..134e022505 100644 --- a/assets/scss/_custom.scss +++ b/assets/scss/_custom.scss @@ -997,6 +997,16 @@ div.alert > em.javascript-required { #bing-results-container { padding: 1em; } +.bing-result { + margin-bottom: 1em; +} +.bing-result-url { + font-size: 14px; +} +.bing-result-snippet { + color: #666666; + font-size: 14px; +} #bing-pagination-container { padding: 1em; margin-bottom: 1em; diff --git a/layouts/_default/search.html b/layouts/_default/search.html index e8aa22ba29..d145486875 100644 --- a/layouts/_default/search.html +++ b/layouts/_default/search.html @@ -24,7 +24,7 @@
-

{{ .Title }}

+

{{ .Title }}

{{ if .Site.Params.gcs_engine_id }} -
- -
-



+
+ +

全球社区

+

+ + 我们在全球有超过 150 个聚会,而且数量仍在增长,你可以去找到本地的 Kubernetes 人员。如果附近没有,你可以负起责来,建一个你自己的聚会。 +

+ + + 寻找聚会 +
+
+ +

最新新闻

+
From 7c6d4723fd07de9ffc08e10452d60e858403afcc Mon Sep 17 00:00:00 2001 From: Able Lv <26692080+able8@users.noreply.github.com> Date: Mon, 30 Oct 2023 21:59:18 +0800 Subject: [PATCH 68/82] Correct initialDelaySeconds on example code snippet of tcp-liveness-readiness.yaml --- content/zh-cn/examples/pods/probe/tcp-liveness-readiness.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/zh-cn/examples/pods/probe/tcp-liveness-readiness.yaml b/content/zh-cn/examples/pods/probe/tcp-liveness-readiness.yaml index ef8a2f9500..2668986e70 100644 --- a/content/zh-cn/examples/pods/probe/tcp-liveness-readiness.yaml +++ b/content/zh-cn/examples/pods/probe/tcp-liveness-readiness.yaml @@ -13,7 +13,7 @@ spec: readinessProbe: tcpSocket: port: 8080 - initialDelaySeconds: 5 + initialDelaySeconds: 15 periodSeconds: 10 livenessProbe: tcpSocket: From fc92afd81994883c5d06c15e8e9d28e8e318f506 Mon Sep 17 00:00:00 2001 From: Cici Huang Date: Mon, 30 Oct 2023 16:38:15 +0000 Subject: [PATCH 69/82] Remove the escape. --- .../validating-admission-policy.md | 27 ------------------- 1 file changed, 27 deletions(-) diff --git a/content/en/docs/reference/access-authn-authz/validating-admission-policy.md b/content/en/docs/reference/access-authn-authz/validating-admission-policy.md index 269300c0d5..a18d4489b9 100644 --- a/content/en/docs/reference/access-authn-authz/validating-admission-policy.md +++ b/content/en/docs/reference/access-authn-authz/validating-admission-policy.md @@ -291,33 +291,6 @@ variables as well as some other useful variables: The `apiVersion`, `kind`, `metadata.name` and `metadata.generateName` are always accessible from the root of the object. No other metadata properties are accessible. -Only property names of the form `[a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. -Accessible property names are escaped according to the following rules when accessed in the -expression: - -| escape sequence | property name equivalent | -| ----------------------- | -----------------------| -| `__underscores__` | `__` | -| `__dot__` | `.` | -|`__dash__` | `-` | -| `__slash__` | `/` | -| `__{keyword}__` | [CEL RESERVED keyword](https://github.com/google/cel-spec/blob/v0.6.0/doc/langdef.md#syntax) | - -{{< note >}} -A **CEL reserved** keyword only needs to be escaped if the token is an exact match -for the reserved keyword. -For example, `int` in the word “sprint” would not be escaped. -{{< /note >}} - -Examples on escaping: - -|property name | rule with escaped property name | -| ----------------|-----------------------------------| -| namespace | `object.__namespace__ > 0` | -| x-prop | `object.x__dash__prop > 0` | -| redact__d | `object.redact__underscores__d > 0` | -| string | `object.startsWith('kube')` | - Equality on arrays with list type of 'set' or 'map' ignores element order, i.e. [1, 2] == [2, 1]. Concatenation on arrays with x-kubernetes-list-type use the semantics of the list type: From 7df7e9dd7efab8abf7cdd732a9537e40bcecf2db Mon Sep 17 00:00:00 2001 From: dancer1325 Date: Mon, 30 Oct 2023 18:17:20 +0100 Subject: [PATCH 70/82] fix(content.en.docs.tutorials.security.SecCommp): switch to newer kindes/node version --- content/en/docs/tutorials/security/seccomp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/tutorials/security/seccomp.md b/content/en/docs/tutorials/security/seccomp.md index 2d77cf52d9..393a4f56f4 100644 --- a/content/en/docs/tutorials/security/seccomp.md +++ b/content/en/docs/tutorials/security/seccomp.md @@ -482,7 +482,7 @@ kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane - image: kindest/node:v1.23.0@sha256:49824ab1727c04e56a21a5d8372a402fcd32ea51ac96a2706a12af38934f81ac + image: kindest/node:v1.28.0 kubeadmConfigPatches: - | kind: JoinConfiguration @@ -490,7 +490,7 @@ nodes: kubeletExtraArgs: seccomp-default: "true" - role: worker - image: kindest/node:v1.23.0@sha256:49824ab1727c04e56a21a5d8372a402fcd32ea51ac96a2706a12af38934f81ac + image: kindest/node:v1.28.0 kubeadmConfigPatches: - | kind: JoinConfiguration From 8eabbd5df06e3ea472622343046c17f6e369d55d Mon Sep 17 00:00:00 2001 From: Arhell Date: Tue, 31 Oct 2023 02:52:07 +0200 Subject: [PATCH 71/82] [id] add searchbar to index page --- content/id/_index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/content/id/_index.html b/content/id/_index.html index 29c6646e6a..170788cdcb 100644 --- a/content/id/_index.html +++ b/content/id/_index.html @@ -4,6 +4,7 @@ abstract: "Otomatisasi Kontainer deployment, scaling, dan management" cid: home --- +{{< site-searchbar >}} {{< blocks/section id="oceanNodes" >}} {{% blocks/feature image="flower" %}} From 1d7e34fcf266e0d79ddcca59d9706c7f8be947d0 Mon Sep 17 00:00:00 2001 From: dancer13 Date: Tue, 31 Oct 2023 09:48:12 +0100 Subject: [PATCH 72/82] refactor(content.en.docs.tutorials.security.SecComp): add sha to kindes/node image --- content/en/docs/tutorials/security/seccomp.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/en/docs/tutorials/security/seccomp.md b/content/en/docs/tutorials/security/seccomp.md index 393a4f56f4..08e6b73d30 100644 --- a/content/en/docs/tutorials/security/seccomp.md +++ b/content/en/docs/tutorials/security/seccomp.md @@ -482,7 +482,7 @@ kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane - image: kindest/node:v1.28.0 + image: kindest/node:v1.28.0@sha256:9f3ff58f19dcf1a0611d11e8ac989fdb30a28f40f236f59f0bea31fb956ccf5c kubeadmConfigPatches: - | kind: JoinConfiguration @@ -490,7 +490,7 @@ nodes: kubeletExtraArgs: seccomp-default: "true" - role: worker - image: kindest/node:v1.28.0 + image: kindest/node:v1.28.0@sha256:9f3ff58f19dcf1a0611d11e8ac989fdb30a28f40f236f59f0bea31fb956ccf5c kubeadmConfigPatches: - | kind: JoinConfiguration From 4df18d98705092b2cb9870653ac9af0045cc6b99 Mon Sep 17 00:00:00 2001 From: xin gu <418294249@qq.com> Date: Tue, 31 Oct 2023 19:32:46 +0800 Subject: [PATCH 73/82] sync kubelet-config.v1 kubelet-credentialprovider.v1alpha1 kubelet-credentialprovider.v1beta1 --- .../reference/config-api/kubelet-config.v1.md | 15 +++++++-------- .../kubelet-credentialprovider.v1alpha1.md | 12 ++++++------ .../kubelet-credentialprovider.v1beta1.md | 12 ++++++------ 3 files changed, 19 insertions(+), 20 deletions(-) diff --git a/content/zh-cn/docs/reference/config-api/kubelet-config.v1.md b/content/zh-cn/docs/reference/config-api/kubelet-config.v1.md index 1c62813dea..3ed8345a75 100644 --- a/content/zh-cn/docs/reference/config-api/kubelet-config.v1.md +++ b/content/zh-cn/docs/reference/config-api/kubelet-config.v1.md @@ -110,16 +110,15 @@ and URL path.

matchImages 中的每个条目都是一个模式字符串,其中可以包含端口号和路径。 -域名部分可以包含通配符,但端口或路径部分不可以。 -*.k8s.iok8s.*.io 等子域名以及 -k8s.* 这类顶级域名都支持通配符。

-

对于 app*.k8s.io 这类部分子域名的匹配也是支持的。 -每个通配符只能用来匹配一个子域名段,所以 *.io 不会匹配 *.k8s.io

+域名部分可以包含通配符,但端口或路径部分不可以。'*.k8s.io' 或 'k8s.*.io' 等子域名以及 +'k8s.*' 这类顶级域名都支持通配符。

+

对于 'app.k8s.io' 这类部分子域名的匹配也是支持的。 +每个通配符只能用来匹配一个子域名段,所以 *.io 不会匹配 *.k8s.io。

diff --git a/content/zh-cn/docs/reference/config-api/kubelet-credentialprovider.v1alpha1.md b/content/zh-cn/docs/reference/config-api/kubelet-credentialprovider.v1alpha1.md index ae25ddbf08..419dd58f9b 100644 --- a/content/zh-cn/docs/reference/config-api/kubelet-credentialprovider.v1alpha1.md +++ b/content/zh-cn/docs/reference/config-api/kubelet-credentialprovider.v1alpha1.md @@ -127,16 +127,16 @@ this field to null if no valid credentials can be returned for the requested ima

映射中每个键值都是一个正则表达式,可以选择包含端口和路径。 域名部分可以包含通配符,但在端口或路径中不能使用通配符。 - 支持通配符作为子域,如 *.k8s.iok8s.*.io,以及顶级域,如 k8s.*。 - 还支持匹配部分子域,如 app*.k8s.io。每个通配符只能匹配一个子域段, - 因此 *.io 不匹配 *.k8s.io。 + 支持通配符作为子域,如 '*.k8s.io' 或 'k8s.*.io',以及顶级域,如 'k8s.*'。 + 还支持匹配部分子域,如 'app*.k8s.io'。每个通配符只能匹配一个子域段, + 因此 *.io 不匹配 *.k8s.io。

映射中每个键值都是一个正则表达式,可以选择包含端口和路径。 域名部分可以包含通配符,但在端口或路径中不能使用通配符。 - 支持通配符作为子域,如 *.k8s.iok8s.*.io,以及顶级域,如 k8s.*。 - 还支持匹配部分子域,如 app*.k8s.io。每个通配符只能匹配一个子域段, - 因此 *.io 不匹配 *.k8s.io。 + 支持通配符作为子域,如 '*.k8s.io' 或 'k8s.*.io',以及顶级域,如 'k8s.*'。 + 还支持匹配部分子域,如 'app*.k8s.io'。每个通配符只能匹配一个子域段, + 因此 *.io 不匹配 *.k8s.io。

@@ -717,7 +717,7 @@ have the exact font used in the original SVG. 5. **Reviewing and testing**: After making the necessary translations and converting text to curves, save and review the updated SVG image to ensure the text is properly displayed and aligned. Check -[Preview your changes locally](https://kubernetes.io/docs/contribute/new-content/open-a-pr/#preview-locally). +[Preview your changes locally](/docs/contribute/new-content/open-a-pr/#preview-locally). --> 5. **检查和测试**:完成必要的翻译并将文本转换为曲线后,保存并检查更新后的 SVG 图片,确保文本正确显示和对齐。 参考[在本地预览你的变更](/zh-cn/docs/contribute/new-content/open-a-pr/#preview-locally)。 @@ -755,9 +755,9 @@ The `main` branch holds content for the current release `{{< latest-version >}}` The release team creates a `{{< release-branch >}}` branch before the next release: v{{< skew nextMinorVersion >}}. --> -目标版本 | 分支 ------|----- -最新版本 | [`main`](https://github.com/kubernetes/website/tree/main) +目标版本 | 分支 +----------|----- +最新版本 | [`main`](https://github.com/kubernetes/website/tree/main) 上一个版本 | [`release-{{< skew prevMinorVersion >}}`](https://github.com/kubernetes/website/tree/release-{{< skew prevMinorVersion >}}) 下一个版本 | [`dev-{{< skew nextMinorVersion >}}`](https://github.com/kubernetes/website/tree/dev-{{< skew nextMinorVersion >}}) @@ -980,7 +980,7 @@ permissions are required. For more information about working from forks or directly from the repository, see ["fork and clone the repo"](#fork-and-clone-the-repo). --> -有关基于派生或直接从仓库开展工作的更多信息,请参见 ["派生和克隆"](#fork-and-clone-the-repo)。 +有关基于派生或直接从仓库开展工作的更多信息,请参见["派生和克隆"](#fork-and-clone-the-repo)。 +适当时在 Markdown 文档中手动换行。由于 git 工具和 GitHub +网站是逐行生成文件差异的,手动换行可以帮助审阅者轻松找到 PR 中所做的更改并提供反馈。 +它还可以帮助下游本地化团队,使其按行跟踪上游更改。例如,换行可以发生在句子或标点符号的末尾。 +一个例外是 Markdown 链接或短代码应位于一行中。 + -* 容器运行时 (Docker) +* 与 CRI 兼容的容器运行时,例如 Docker、Containerd 和 CRI-O * Kubelet * 测试会在节点上遗留一些 Docker 镜像,包括节点一致性测试本身的镜像和功能测试相关的镜像。 -* 测试会在节点上遗留一些死的容器。这些容器是在功能测试的过程中创建的。 \ No newline at end of file +* 测试会在节点上遗留一些死的容器。这些容器是在功能测试的过程中创建的。 diff --git a/content/zh-cn/docs/tasks/debug/debug-cluster/_index.md b/content/zh-cn/docs/tasks/debug/debug-cluster/_index.md index 5a779f612e..e7b510ca83 100644 --- a/content/zh-cn/docs/tasks/debug/debug-cluster/_index.md +++ b/content/zh-cn/docs/tasks/debug/debug-cluster/_index.md @@ -25,6 +25,13 @@ You may also visit the [troubleshooting overview document](/docs/tasks/debug/) f 对于应用的调试,请参阅[应用故障排查指南](/zh-cn/docs/tasks/debug/debug-application/)。 你也可以访问[故障排查](/zh-cn/docs/tasks/debug/)来获取更多的信息。 + +有关 {{}} 的故障排查, +请参阅 [kubectl 故障排查](/zh-cn/docs/tasks/debug/debug-cluster/troubleshoot-kubectl/)。 + ## 安全 {#security} * [在集群级别应用 Pod 安全标准](/zh-cn/docs/tutorials/security/cluster-level-pss/) * [在名字空间级别应用 Pod 安全标准](/zh-cn/docs/tutorials/security/ns-level-pss/) * [AppArmor](/zh-cn/docs/tutorials/security/apparmor/) -* [seccomp](/zh-cn/docs/tutorials/security/seccomp/) +* [Seccomp](/zh-cn/docs/tutorials/security/seccomp/) ## {{% heading "whatsnext" %}} diff --git a/content/zh-cn/docs/tutorials/services/pods-and-endpoint-termination-flow.md b/content/zh-cn/docs/tutorials/services/pods-and-endpoint-termination-flow.md index 231013e9c4..42bc10fce3 100644 --- a/content/zh-cn/docs/tutorials/services/pods-and-endpoint-termination-flow.md +++ b/content/zh-cn/docs/tutorials/services/pods-and-endpoint-termination-flow.md @@ -61,9 +61,9 @@ Let's say you have a Deployment containing of a single `nginx` replica 假设你有包含单个 nginx 副本(仅用于演示目的)的一个 Deployment 和一个 Service: -{{% code file="service/pod-with-graceful-termination.yaml" %}} +{{% code_sample file="service/pod-with-graceful-termination.yaml" %}} -{{% code file="service/explore-graceful-termination-nginx.yaml" %}} +{{% code_sample file="service/explore-graceful-termination-nginx.yaml" %}}