From b05744478a15ce123073e2a0237841b320ee1e47 Mon Sep 17 00:00:00 2001 From: Lantao Liu Date: Fri, 23 Mar 2018 20:08:52 +0000 Subject: [PATCH] Update documents. Signed-off-by: Lantao Liu --- README.md | 22 +++++++------ docs/cri.png | Bin 24767 -> 82110 bytes docs/installation.md | 74 ++++++++++++++++++++----------------------- docs/registry.md | 3 +- docs/testing.md | 1 - 5 files changed, 50 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index abca641f4..25b6e5867 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,12 @@ transitioning from a standalone binary that talks to containerd to a plugin within containerd. This github branch is for the `cri` plugin. See [standalone-cri-containerd branch](https://github.com/containerd/cri/tree/standalone-cri-containerd) -for information about the standalone version of cri-containerd.* +for information about the standalone version of `cri-containerd`.* + +*Note: You need to [drain your node](https://kubernetes.io/docs/tasks/administer-cluster/safely-drain-node/) before upgrading from standalone `cri-containerd` to containerd with `cri` plugin.* [![Build Status](https://api.travis-ci.org/containerd/cri.svg?style=flat-square)](https://travis-ci.org/containerd/cri) -[![Go Report Card](https://goreportcard.com/badge/github.com/containerd/cri?style=flat-square)](https://goreportcard.com/report/github.com/containerd/cri) +[![Go Report Card](https://goreportcard.com/badge/github.com/containerd/cri)](https://goreportcard.com/report/github.com/containerd/cri) `cri` is a [containerd](https://containerd.io/) plugin implementation of Kubernetes [container runtime interface (CRI)](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/apis/cri/runtime/v1alpha2/api.proto). @@ -20,20 +22,22 @@ With it, you could run Kubernetes using containerd as the container runtime. ## Current Status `cri` is a native plugin of containerd 1.1 and above. It is built into containerd and enabled by default. -`cri` is in beta: +`cri` is in GA: * It is feature complete. -* It (the beta version) works with Kubernetes >= 1.9. +* It (the GA version) works with Kubernetes 1.10 and above. * It has passed all [CRI validation tests](https://github.com/kubernetes/community/blob/master/contributors/devel/cri-validation.md). * It has passed all [node e2e tests](https://github.com/kubernetes/community/blob/master/contributors/devel/e2e-node-tests.md). * It has passed all [e2e tests](https://github.com/kubernetes/community/blob/master/contributors/devel/e2e-tests.md). See [test dashboard](https://k8s-testgrid.appspot.com/sig-node-containerd) ## Support Metrics -| CRI-Containerd Version | CRI Plugin Version | Kubernetes Version | -|:----------------------:|:------------------:|:------------------:| -| v1.0.0-alpha.x | | 1.7, 1.8 | -| v1.0.0-beta.x | | 1.9 | -| End-Of-Life | HEAD | 1.10+ | +| CRI-Containerd Version | Containerd Version | Kubernetes Version | CRI Version | +|:----------------------:|:------------------:|:------------------:|:-----------:| +| v1.0.0-alpha.x | | 1.7, 1.8 | v1alpha1 | +| v1.0.0-beta.x | | 1.9 | v1alpha1 | +| End-Of-Life | v1.1 | 1.10+ | v1alpha2 | +| | HEAD | 1.10+ | v1alpha2 | + ## Production Quality Cluster on GCE For a production quality cluster on GCE brought up with `kube-up.sh` refer [here](docs/kube-up.md). ## Installing with Ansible and Kubeadm diff --git a/docs/cri.png b/docs/cri.png index 2935bd117b5b858962a882a225dc74a445ba7e1a..0373b3bc09df37837b87794e6dd157c81f9c86a5 100644 GIT binary patch literal 82110 zcmeEu1y`2qy0sz*f+$KUEvQI~(rwTZ(hZ7qNq4*`qO_9IN{4hvBT5L;A)O-K-QV@# zTKk+azRf=C2kbS5ON8fr>b_!LbIzMLveKfs*d*AePMyLP7kemo>J--SsZ*y1vChJG z&X8_MojP^?rqP23vf>XOP{~?Z=o^{pojN7(>i}&=X${qtkUH z{S*tO@5K_Q`tU6XPhq~{qo>I|VRVK(>W|ZEr&LXQo2YyD&JYsnX)^Z8ItHV+buU$H zRRmis9$5eW@!q;6hIfSgltMxu^<$#+vqD9;mC5kOTcblleq6UbO~0RZ>bz_p*_#Fy z9v(8GtCdIc!$YTD&%1Ri{hpgTJffe~h<$nH)MZ@mP=>K*4+OAIE!JFmV||)x{eH#w z9~zgQQTtss^m*bDB&8RfrNenOg`P{p9G@8f6gS4H8}w03(wIWRM8tOkgD)JUGJ2b` z{K9@2q)z2*y=}_;t2LZrt!JHI~%-$Ge^tsdB%gAr752XGh02zCJ=k5I^TC> zzNd*1k=VPg!78kq$yy}BFDB9LJnV5Yl5rkI-61SxB(etUk_9s|+YA8iNWo#sDeSLK`uw`7_^QrfH zrm)r<`E+6Wb$hrwgFmKnU%7Hjtxa4ewEVc>==oBtfj($S{EqI|SEjL3YiFpv&AxS9 zQT?&}UYAOWj4UDN%cJ}oUmc%NxSVFNdi~XU$MSgk?- zWxv~t|B;Y&w1;0c4ZFtxcTS3=NcpP=VY+RUwXfs zdnsMBFyo1~a`Elmd+5_IS#Q>$f+d)h4*^fA_hjj&I@| z4+NBE#Og+jxqtbZ%7}bVXsCSFL`fr?t7J*BLY>jIRVe!{lt=E9$J&5so?ZrMf9>}o-2Dv{&uCI-+@t^^lN@?!^HQOZs>x|^%RlvO6+f3 zV_X9dralM+HARIoIIE)Rzt;D~nAz7zrX2j__$Vw$m-E$(;nFC!hv|~CDU-#ORetg( z8r#WD+!s8YSrwAqJ9EbQCca+)?^XC`M&q}3VaN013QK!-GiDBV>py7Fa?dhvts({y|CFQdznZz z^BV6hwe{Otv2$`h3RD9@YQOA%-L^vG4z!^ve#@MQ>FDorpEbnC_~ULWHxH5RgM+r) zY!_mDk`uTM1=L<=2{pCT+i>=K#0s%|{MjzOj?o`@`q5Qg9gzs8->)!q9;@65d-W!F zM}<}CmEw~PmAft-%DK{+#CxytEqPkLnTZy2iyu{7{TWoY1DwExI`QMY%(92>a)B6m}E zI^G$T6c84u^^5nP>Bl52^@+ij^vcK+N|H;uH|f(TshF4kK0R)ht=pyhPWPGga7E|t z2IJqxr;SYucZ@@gy}QlRH!?cA$-5G|^1H(`mgEGp4KE#F;795wldvwj<3H}N#*yyU75aFoP}F44c&)&~a-#s$r(&4$&z zHC)4=s~xgeT=9M0M2Sa!R|{4O7Lb3?iPc$>Y@2NVqe0(X-z9%T-=KLoNT^3*BJrE)dW}%>!JQeF91{)`9D!w%kL&}UYmE=i?$_3K3(w0f zbxat~Mvj-ZZzM-0s}~Gd6vQm3DPQTH zpmew!lXIYSZ$-!dAz~u=c!r!;!0p zXmz>A1WH9mOvh43JxD~>MOL`&h0et2`e^BBCEipJ_qF;5=RQ37knzAGZ(Ws4i7CUv zbMB=hzO>iluTQ_y*HFAt_xAl7Mbq~B+$9t0Md3(cY#P!8Ap!MRor{Xlf-m96rG`>HfR5#>b>=#~Fd^7dtBk@!zhqx;dDv`b1M)Qe| z!OS;jZk~G=`A+=%x$nI1_GmGsv^Yzgebz!g(s3rMJ&Ix9*k>CuQtb?Qq#V-{>qg}j z^e!TgVe&4ok7n(nj9!xYqlF3d=RMY1&s|GQO8EI$wCI+MB9+yQ`txnF*V$+IT`1kI zRw?6ArQ(%0Vm0@^TM@WRpMTT(HUq1PMUkAH#O9L^uWrjb7{B`Br+Sy?A;(AR#|8nS zEv3-{mJtr#=x-l|vP~M-1kOv!NzSlzWbrMPHM}*Vm*k*nF|& z$n1iE_uUlRtoA`+>$2ZF%>x{i@8fu?Y*F7mYcPgz9uO^RJX8%SnQlef^X%{}_QfaW zB%UQ^W^`GXY+$h!rWYRn7$wOUZmR0TLda;Q{=2~RYhHHk;5g2W%^P|*;=--Nw70v* zey(a`Dkpw2RG-PSTB9GQA4@0Aa8+7jRAgypaV@y{RO+kR@BZ;Zi=R^3_LZg@ePJ6R z8yy=llVg)oq>nf=`8I~?GEr|R zdPTpMp11IA!Eqo?fmR{zpn0LVpS+Y;!pB_tz<8u`WZAwlj6Xw5Q7COu;cV6M z-6Z8^tT8XS-R|J~(Yv&*yD|KBEpr-8j)805ET1(E%cre!$KI_aJ#gnaa!hSb`ZSg| zH<@g=wfQ?>g1o8BaTXc-%Vzb%u=RrS3V!-GWo)HpF3-i4~i9AEX%zQ%yhjY)xRIN{)BD#V6IV~=CeHmtoSR(}$8x^TX zJh~QU%uk+KJk?`%FnbP1pE||ozyn{J>DfG?axgPBx8`x+r#?P{2fjwW%|cCee29$+ zKedXKEY$-GD?KW9W;W*A)B@O4R8)Lc&-8iZ9*X?+arhTMwV{p8a~>8JdwY9k`@75* zRt7Ar+}zwOx9_mrxx)lUFj+gA+dOe#GPkDrbCSQ$^H9%P*UIR*jgf^p6>{DuPc3Y1 z_^GLp3;pZAKliEUVDvv%GPnNgvETt&ke{%yGT&zT*SX=Ne8_isWQ`p3OjRBlndzBZ z!!-o%+~K^???Z0$^Z3H)&Kb@8z;yA{^bAq$zPx3V?mzae?8Hk*LD0|cwYk8 zd@TQZ_X60W-E(NL9ArihWfb6VG>hd z&kEgr9HZgG3V2_#;t4J}(;6!fFklz4km$~{*QwxpF5G>Sdp+zMMR3H^kn3mB2{U_j zznYuIKQ{H~h_Z3}xyid0CqgRy{=IefT+QA5Ikhbc?jJw$N4gD%%N>0m&o zg-7+DzR>YPCpkBq85Hh+?mr*+=VZ^&JUO+n{;!iBAG?Z&SN{D>GxI+>7~P`$?Ei76 ze{SH{H7bW-%t+0DbTHPi1MWY0D!hgVLd!QVvX%X#gYn8&NdDtH{rkNKd3%gXQ5f1? z`%eq-_rX*S6YT%wI3cQwr@ut;wawrE`;-6aQ$oviCjaC(4zezmNb8{lAdl|Aqtv`PE%%^1AEO?X3DgA{;=Rdb+>8!fL-b z7{O_wwP~<2UR%q@=SnN&AtZi|&8(j-lG7sgz-XYz%x0$JMydT0g=U$ZzjO?baPUnj z3FGp!58`_PHTo?0%&?pY2X!zog8SG|b`I`%y{AzqfJz{$gdu^5#U@kW=tj2d{7IFIqx2B4DqD|cG+RXw%@~FKeDJfS z>SW&fmh*0YBDVg_(z<}_?l%-B#T8QX&ris=`e(4%7-1xMWn1ANb`mPT^#nB)>&$Ha zdF)jLpQBai<7AKK%DqL>D6=9}o7pb9NDebKJyINGs*3-N-l5=`R@!&Bl@C8qVAqhS zEsf9fU~5EBnr9}_urpa|QZW{vO7;vOYj%%myc4lCYL_5_+gg9ns)>o!>Q@8ykXWc$ zhYiia-c}$%dHeCDY%m~XE?pGdf3CDL-zg*b>2_NHId2{JR5bp8d6}8lWGo(4&MI7p z!D9O4sT1Xd?=X`TK3+PPM`(US+ZuC(fCZtL+Lbqjw?N|&4( z$E`u@R<5-lcXbQ9l`?V$@sZ0Is-V$%tZh#O)^GgOrc5J|R+a3waND1ttPfK+S1oFg zK|@!%FSM+GV|iZU#NjOUB8s52XF0EV(TWpKcO2;D-(cx zW97%))?c?H*^Dlq!Mxz7X+OkX`~#kM6(0uh)@H4f7s%;SDzi;+4TnLTYmrgX?4%DD z9b_D~c6{k9r#}gMBU;qne7?-sMWKu52y$SSJ*`cqc`~gKLJViK?hvP~eJe_Fbp}Vl z|2P^MrAB>ODjSmD@2+>sSVzS;FP2<$37%N?sK&;@8qU1^p8Vul-j*dNv8~y@YHz4? z$?xuEcx<6|>__kK+&Fvw3Ld4)@;#1M1cT+vH8@hdiUrCF^>gZwi0np=xaR-25D zbsd>dj|1u7o?QrqbDo@s&AeixM}x)7+=_q#sR%-`Xlbj>eFkyldY#gr3VYQ0mLiot zsZBaQEW2bF0ilh%R!Yi#QlXQ*jy8kSPPspd$!alNo>?zSX8ADMs*z5(!+GdB4F0J5 zL=m^2+~4HAp;#@x5dY$W&)pWTgrKra3v_I0co(D0Z!Vlz=+G-KseFF^B-;IOXQhRA z=@|}3zhT1Xo!?Ojj%&YPAFqm#KNjC=15F>BydGxRYf zeR6c|Uf%v$bx7#G{gpDWlhb^V%e-VVY`VYD#MQRm5n-F+(J_cvw8)6HT`c(^kNTz` zaVvTf_XQa%!ksHQl1HCZ&8ULns_QA;qouZ3-4FNYPt{X6o03`oVBI1A@h94K=+K~< z_)G)}3P39eHM1Q>Vb)!QJ4u>?8Wj7?A{{1De#YUB@b`|+Hdv#RY$)-RUZdW|7m zyVD7}V>MoV_smOYlBe4fL=Q0w;Elq0RbB~2TFuf5?ueJKHZt^ud6V0zM7ykhZ|ZF_ zMuVpKpGY!{o6mo0+Sh6y?f%SE=6BxogZA*D+9{Ry_sQN{-Gw#?I=F;O{m=44m3pO};wHpo`6eg%;X^>m5nWj4V)*~-* z9qq482p;Xo*ySv_AMIHVTGn^}K#~99x){By3yeC)U(*D<-dUS6P)`|^!X7n5$5LRS za*(g^O*;9+Jj6(~AamOu>vJUKG>=v+n`!&-AZF|9x#Q@5f}>$sOSm$f5U7v!_d?>5 zew#kWC=A7)j!Ws}#GI8I?N-+IN1egcPnid#Fz7V*$=1!BhE($f}qe!Ra+<7JU5yd6n-U9j-dfbmn6iG3R!a|SoT)5bbrSiF^2B$TO-mVHZDPrO>xN6h zc1vzsvL%AX~&xK^c$!E0GX-@3I zv-d`0oflPS+J0n}Es_ZC^|j7^*pe1MzLm;LSNNT5qTP09`ho#eaG6)`=(9nf)4)r> z^$|Y#eNPgKDVo;>kdwx_tcw4L;pNnCiN5N7xE7}iN<)+LYtu4CWleT~a&P&i2`!*3 zWE1v})FJ1~d4>X1E4uc(87VgH$x>0%9Z8azP&(REA1B;c>Z<;kIAWIOqi#HxUFEhv zcG2B%l=_uSyb}Q0Sxv^1OR2&ol>)=ZE}MM@D^O=@BUp8*70+yszPPBw^-O-Un&`Oo z#^5AY>uxO$C8!sh_q9rK^j+^!GhuoXeN=XNqR!tpAy9zFx#)MKNgYx&d8$OD#p16Z zqsJKi49&k?I;8SvAGemVuio`%F7n~YCqGL2S;@tX9NrZxl>V}_%KfOSi40W!%+hZ*44uf!&&R*L zQSHuC&DUpI5i{aRcirrx-QAcYhSo54xtL*+(33OC#n%7RO~`O#xz60 z3>5_}mv0fKhVA9A7c=|}0P*_9@;mEyzDqR5%C0(eLV(!YO@@&Uf}3~sf844{t(mZJ zom02`ek1%DDh8W@55d(aHDWP$gOs$8ju4cdyIk)bFKhZ@ct##+uCbTBruohE+4M70 zo}4#a9dWbHBKL*Y`QgO-8YdEympJ&%S@q^|f{5bP1|oISOWtHwV(YWr3|cNLwcAsI zM^}+L6uQ7;zeskpCU_JqC4cAnXtl#a;m>r_wFL`zUS_y)!=6mlP}@IYbAXkY^XtJy z{t!hTz`w2OHskQXfe4sTD>7Bp)1+g@E2pc?Fn&}BVw5~-dcdFb`ZqU85Gte^8Wm+x z$qgCve$F{kAYCR-z;gKuW<3lmq!$IYb&<8kjz!FfAUkQytacTPO|`@h8!f zl)n*;!~8kECb`0SD}bPZwL$@dNCpYP+h|6{UzD{RZ{Upb!5tFPN5TtqVuccS_VIzp za3$9`10Ce+2 zeV;-;ZZ(yEH!fs zFdk01AJWhN)4_km10%N(c#|2?p$^tTa1n|48%@E4dR5)CDP6fhjeta zh4m8vl$Fw~KM_h`OUGMHC&Tl!e-!qG;w$1+nLNu@wos%_^tsQbQ;H#T?IjX-Bt_LY zEaiAddsRoIYg4VQR2>B`sty(`Xrz=?=%tpE6|xd7yNZxEjl(N&;+wvW29V-S+~Il( zVRCr-U`ZI0dfjPEGCY73hKXrOY{&0KHl~`?qWrCtDwjb^w5jcG%-b4HlgwNZ+bH6p zJ71zcmObOqkb#`oKwm02;XQf?4PpO?=DsV2B-`+`odjmaEUuNbx8A z!AW}O%7I`|-A>M2ZB|k@BUILQwPiCObWklL+IRXAKC5dsFHX!pauft` z9YV5j4%x^*iW8`46o(vpCq-Kb^UOnlzv-F9e|iIq&?85O_8bdc&=B&Q-PRK*g^vyo z!iyvyXX2OB`7|X4V^BdUIz@bs_}@ne)ZIwp2#8d^^|lABHq&h||FWb<>(rCm`z^Ul z@#b#ysEa0u`2Wu(v#Ti&m%XpB8OjzpM&{k-XW5*=#;^$6njOgc0CPLry0XX02?>n4 zj4!55ket(uG{}5|)~q|F>%!A|;hID-y!KgnEl8ojqY4VFE_YlTFX)u^1*E257G4t~ z@5#ASetEtV56V8txFV~zbc^nX5USQVC%kUHW5;3LQy##{9U+`c?=B=CY@$$ys z#29wn8bZh!>#7$%u8nkGq9R>vxs>SO_Cr>?**Q)+`#2h%&RyUO8K18KiKuYZ%=-fQ zQ|P26lU3WbEKjFm>;X6bS(&axp-H-w!`1Mrhr5~zeh|@DvLgk4BEr9GD(|16?%!l= zjvSixREz&x8qvC-YY)Z|=F2LRsi>Fw0`Gjz6(~;#H`TX`5Pj9CGa05Pr~g!JI#i>) zG&u}mmh-vwJzZmS>s+3kwv7wVgc)J^zY)v)JORiGJ;0CPu{9n9AYplQuvNc4)5&nY z3JPN`@NB?Jnh%xMZm&#Ce4YqsGFyYD$<5KL^J38Y;&C_$nPKtm{0d%Ki#y`uwb|QT z&~1yq*A7!tKbPVs3i;z*9qwzuYiv54G2^rioMEitPuLdcD|PtXCSdnDvHC5 zJ~QsFfi#)xdOIuZtT5eSao=g0?#@v5GCKw?r_l;;1f^#VS=N*HjX}Ge`wX{iJg4x_ zFW-wHm*l}FRgWzBi;DuOccT3{`fovp!$-z-q&dI@H38MQ(Ji?i5Y%g!q`sMCSA;DL zK$ZOrH79=|gY3tj^pV9uqbsoLdMsKCKg&xPaobyHhfb!(CBHx}x179bN?uZctjL@b z3GPWNqJ~n4(f{`P64JCH*o@@-{b{^x&R!r>(XF?pI?j$9J~U*``O+Yd)U ze19&YfC3JPm3V(1W`jYy0W-;=$~GnJVS;|b_PG0mu&7-O3EC$u>bK)GzryG6oDWhx z*I{KGJ3-T|up5C6gkh6w&w!xu=Ux0v6Q{XwOeUZ!Nl+CN3aF5YXcf^it;!|>|qE0#b6Nu1$A^af>3TgCmo zk)y1<<~$zL#TQ9w--or1nb=)bbp!gRBW!xTc*d-{JN| z-%2abT;}x8Z0%1m8OawJ9ppPd1}LXPQ%iEv^Y=ZWsS$WoCyED;!-(L!w^SwA5kfkt z4ui?lK>p1JG*0NwmOF~Mz`h={^)ONg67;La79H-+)e|afTtaw2m-TkhK4##tG);jl zY|1Y)`%{4YarUA3_>CMa+V@#*jkq5nl#a`U!ABG}+5nao5qg$glSu&j2a=@&(d+59J>LbuB&KYik2=)R$=-cnp7nX(-7uG$aozI2dRPBpx~IJ6fKf`!xF-&C1N~6q2Ex=Mg`+RoXg3{@ z%vSe;{?$Jn4Ii~$#*85?Zvw%(xyN|G`0A#E{CQ<@N}T^gRzpz}LGn&*Z`02p%z@?j z8(O74bI2Y)7}z;M1B+DOLiEI@4o?bxr*DvyA?j0qwcd-UimhQ@m}Ej?c0pQ7Uv|zA z*v&7WA}CkYq8nhhK@_+{?AvZ9fQlSXv^e)e$MaY3TrV@JS}l-eQY&ak?;^8mxRwiZ zf&$kn#9g>zvE%A@THP<67=%6Sz?j?h>4hUnXj-}RTUF6xl~luF%&U)0Nw2BHE+xiJ zE%BhS_@}lzKgc0LOcL_4$Rtcx)vx;}ou|-T_cr~xt$#n8s(?Z5qwQRe?Xb6t^eunP_KF}8<{KXecN-{`p_e|iVO1h0m z(o^ExcwXU>5+#TRwlJ|cw-uQUaE*GL$rB{!wPRG*n4ALj=SsMSm3Yy<^T?hS(q9#8 zxQ+C7MvuYsPc3J&P+iqOWEt?D)n_jHWmoRf^XjEv4o{Z*=kb6>h=>_T4}b_L9sMCf zY8C=mdT+5z6tJ{af|zy>E~Nlpl$>#YfluTSnllOctArwP(O4XBTD!70{^ zXy~(IREp{1o%j8(uu|_a=IF444Ah>5wO)80KOuT0=o0PxyVBB*i7Ti zNY*36E2u-t#|z;c0aacwDw5u{C~|lp(K^v6qa%)BSyfIl?t5~pj=ZG%MZzW<3Q3Yc zWQA_opw{ip(j9sL3(YSLu3vo)tY5xh8ok<%v7whhSpRGsjF{hfm{Bz#ThaN=#S`DS z9^}b3Bbf!fk)8#%eA`Vg)8jdETZGEXievEkS462oCi>ha<}!zg$=Z85H_!#3>mVZ$ zAN;M_`x|h(=9`4R(7)QDtTh^)Uw*fey56;Dnn1ogcAzt82>V6y`qEsYk_|?qo4(_) zJn8@$o-ueEp&axTjpdRefra3=?_ZDo1%0!Lej>z6(~6{>I25*ouwBt6$D^^)#+ z@O_rh0T3;qqRn)s$Ygn%_0uZ$Kk7E?s0>w4cL*wyxfZjkXi0Ao9-GoC*W}5IjJxLe zO-Q$oe~I3sY7m3eJ*CqC$Fjh<%972j(232wgOP;Yh{B(Qp+sYe_%S9HUaBRk)|a?;+)F#$ zRf|iI=*N2sZK=cMD8XO>zmiUYqg@xprh6$8T)Ybf@=A6*p~)7n?fJX5y`ERU!xys; zJUm!(4^%fVxuFFLgK>R$vXhv$ancNV5#aA$;5~Fh6_vgVP{~lb?YU>Dap3$J$G}x8 zcZEx8>Rs{+ad$aeAB4KwyCZO*(cv#XgA=A3zE%rx)&O~>dy@XL3-6pHlWkireE z+3!|t8FX1|o`5)P8qNr>2t*VoM3F^m+)+IMr6ESseDJCmEIkP8Y9$yHcb7>VZGn=j zvY?b)I&qZdklJ+X>GZgNn;mR8Cn<}hR0E(oqb0fM1x1nB=hELjhIG*uh#2Oe`4atj!yQ~#=eJ@}`-?TO*0V1-LnZNIH^|N9(}0)} z%GK~S+Kl8Ug3sXkuztGwEB&Z-9tcEB7;W@AIoId=?#i9h{$nM8N<4x#Q6Jb^sY1zP zW5~g-ze}BL#XFN2Jf5DB)mZr`ySxP~K*pjvvt4O@{x8$4wqQu5kG}4u+QCKzQ8^qH zUI>!Bz!~4;CYpxwS;<55t)? zsijm?j;VD^93X1=J4Ox=HI)zahR2$=`7!px+9qz}C*_C(73?cdZ%sfTD!vLY2$fhNbHy(Z%DI|J)Xh3M0s z?IVR=Y7EQ{&77I9l{cjnFf%+R#9v%Sc$;zXd-#EkBBkcDyk69j>yoo&zfnppP*I9c zVrc))&HMObV`IqNgBTJJWrW_w;sq|pYnTj}5K0%jiT|2Vygr5iz({C=1hMZ0-QB!i zqKFI+mkWhRW`fq7+;$RWMeOs)l z_H2WXY7xAWrC%5K*IEOC$G(mDUT}q}yv$m-Cj26}ET5V;%zY}>+MgB`^wACE=aAT8 zjvw^k|BI24kf3tyi%p(8Y_@R2M@&dwxoK|lsIT~F?9@T&2FYzdM!&qsi0Mds;C;ce z;hOh181#tg#Ddk*U#|g7`39((p`4g*PB!u|4dI{5?3YX>2J$8)_ui)uXuwQB=xJ|M zn)>1b&#jD*d>C_B%XW%_+#B`j-P~tQgP+!%t?7X=G86X?j0Y9u|br zaZNdBDrUpzW-gn5=k<(Z#AR*L%_6qO4)Iwjt)%a>b`q4FIeQ)p6}8$(0kmQK6Kurc zurjB8#3R=|l^2#i5)I;%YD2!MYVHw1Io&2h>JfSvGnGTW4W-GsXJ~FJs^AENX#MgQV!<>&*X$F>{`Ku)AAF@eZ0nL|keSEAU<|5s zkjUOx|L{OnQg6V0t87G1Z?GwB=WpHS76xi%qTb-Bt_q&V`m6Xg4>l&nNINAOA)Q)u zFpv<^i1;-mFW=JU&Y!y1!p?(2op?vnnkLM24HEN@Hlg!;m`(H zrD7LH3h*vL$Bx)YG2OG#Z9YdEt)n(`2Tu@b3RL(J{LXe98`HpHDc}3`_bg5rMmUH6 zCF*H~)vlDz4unEj>vttw6@+Xz%CO7T$_~~o#4R$arhg?3<-7D!YSwPEdD#LHvW7IS zDk+z4v7=`1bBa>B+8j$DS(;^Xq**I}WBWU(+4K>xLf%4Z0vF8rbeE`d$k6D%aR4Rk z0J4-Wq%Gm5*izgUIF?K$((|afB*F9^+=hA{iNwX5K0mixXOQgvc`Vr{fGE zoeN|xuyB5w9y2{=H*g;!9b{z=>^8!e4{enT9>Jp5<5>J2**F!p@ zCHTxjYnJ^`e_^kjM<^MAo$DF<%9XPs>ASQp`Hy%=;TmlGU68~RGbwQa1Wy@8(=mkwI z5z%p<4*I(Li!bp<&y9d!O%Am5uzovh2}cP$BZNm?Bq4_+^-ZjO`k1 z4A!8<>-DEaqS-~i!$T$~{0L z^aJ+OZP)gW%&QJI)n_E4?sF3z;JE*KiV9 zu5~thK6rKh4WL)W550gK^Mm?<2@D@fT-}+9tA{KhzR15W`y-aWtZ@?nnBMx*h@jKP ztfFqHAtXRirn?@k{7mwr8ZcLa73MJtygcdZtq9lc^XBO)KPXKHm7E(&G+O$r=7|0`~^{e5=EqrfSy6^_2dH2bo}&S ziM6?-6rb2p-~}?S+xEBqb-AFFYWUeiir|3}!oc)h0%`hc@ravqCMbxG6uF0X_~mJW z&IUJSi2=3QewZf{rU|NSlS-Ov?8rx&$FZC#{e+htfKi=#lAR9cw6Q3 zexlMbzYti7Z%oC5muIBHMZl3Q7aE03%6rfGHV%9kvR(tL4L)D*W2U-8pHc(Md z5%HRh$-tO4&c$jF0CAxeGv*E1*JzZk>yJ5Nx;DECUXWs@xV&&u z6qY=DG(lTh7D)?WzbG#=IrcO~CDo*wT;uWYnX386G7&+fq!|cSKj?ipjXDx0q~9?U@j{F}XG^}y|40eEJB1dD_e)zFm)`g%m>2PL?X zX=uzHff9)M`jc9r55SJwQPRfXWPh8EreHq9FA8clwX3*l)DpYfTGYrh`I@A)ltzU# zl6#=LFxb~0TimIF!mEK#AT)@vRZ1KQPK&W_;ePAMSlb1(^^EZh1B#Fs+?kelokLQE zN=YZ6yEHf34^}$Isbv2=cY{amD;UXyR&XA<9lhC}?;Ef>!#b%DQ1gQNl9;uew*8Q; zss*CWWS6f>m_l^@Z8k+&c>6nzj&@Tu=&#);gsGiWZ31nrj+8@R8l{7XWgdF4ZP7pN_IgJlw;l53L zTItL@v#FMt{InFveocc;))cy|4(IoIl_^`?bT8#iJKYt&6dbc`*wR#rc9K=rKDLM) z>FF#!gNGskHa6|CG$w-*3KEzX@#JZ2aSl(tGt9RO{7Zt1zl}jJ!)*&qPtX1ZJphtHHU|P(Rr!VvW|^uoFguG5u%HJKvgJS<(Rf@Q6bKprI5Pi>-zB?ZDs>YPHX)hxp5$Jq6!C123asJ~R6rl^HUE4zfS zS8nHQ;_=Y4K9Bo|S!l?sS2UUD9x|s8-Y;H1?%`n%bUMl|)=#kz6SS~B3}9xJ&{fjiN19+t+|(s=5)f1YK0ez5Tq8Ex*M5PKt{6n<<2VhK^=(N~GU zcOTUfkVJhO%G5SUnw0RG8((!5E)ljH`%5R?;hRW*C9MAU?*c$x-gg{EwcDJ-C3}7< zZ0>d(J-|6JBAmiI%Hq>R+0{UY5Ec(wNpg7DD9=_MZe)*>`@tTJzerPAD#f$n+A4_v z?lWq8b9ECy&9v=3lR_O7Cxo4fC{ZnFoM}!{lSSxu-3tPTQR(+5I$kgj5OC&N)#em1%O*<@cR-l z?qZzJh@1f5turLLqbq@XQ-5-QUK0(?eQ#id`at}XZT(`q-jQT}{o%3xR!ei+yo;Q5 zB?dF^LP{AKbH#ec_)K{$$1N04MWQLvF;BsZ)%O`hgD(iIAq_!&`CC0%1-?RR11Nz* zcqo1E&)`~^c!@9Fu=RYCMs^Mj(lP)j1#q&mE7|xaD(dk&K*p7oIW!SYFXE$0 zNtTKb+|34>KtG^IOGYu79psn8#W2rhhJf!@Vx_O77vpzpTwK!Alt=I1;p)Axh`YML zv8$AOQ4+y+ZKE)|k`gC)$AtUyN(~)r?BGWHbaqOo+KVL!WD+0FG&4Zb(9JC#IyL`K zYiXi=4iY9{)*FQcO2GdU?>igsOq(itqa8zYVTE*!;2O?Jbr7`jmk)q?jvR^+gbg>Q z0}5Z#tR&^dl2~Rs)}m@OH z4#YRt=OKUNn>%b-!O*q^Q^Q!ffPcXgux+vZm^1G>qFshoUk94qTYi)Nbj@|H`CY@V z&vcZ?ySjBBbtK^8_=DsqE^}&z*?S^@Hw#PjLsJrC4oI`TV7p4lEZDbz*x&+DS<x8B zk|F03jmV&AOe3^Po-nd~1|WaPC+3DYumc zC39ng@|cwJk=N<3PZ*z|&1&L_OCQ>wWO1i!K~39!$M&P(=Rqc6Qy17c@CNZdC~4Yu zza!87*VZ#*$zWpLzHy7sj=VcK%rqf^BKNBR?Av8sbv|V@6=i)t>@QaAdY3=_O?0e&APZacxN{a2NNCr zQnpP{t+7YCk0|)>@Gh*>Q&J*(i8SrM>|ilI)&Yh7HA3{O$1VCuSroA&nS9*p z_R$e71hH@wt$`JV2%IWEmV`E`bE47G(whOQ;3Le;v7bka?iA9p^g>OJtMi9w*ff(+ z!!aWsX~m&f^=Jv)FHuj;jM9sdvNPv~ef3}zQ}9;LhiOiv$P$!PBb%fwz?075qrE>) zoC^~M@%(Fa3+&B~=_@D_WOvOa5llJ}6dT6(h2oJ|+X~lWe%%U-7zMwtZ3f4+hxWGP zy6#HfntMaod|nf?+#ZGzPt@5qd+Eqj*o~L5FyCJ+NRGZ zRbmh^s^G~89@uOO4}%!2oy0pc!kN|~=``}bh67x&n{*=`>yKw%1+ih&f!YZI3_E>Q zsUc;`7CGXCH;?>;>_f@@a+Z`}!NKO(nd_rI+Ad1z&ye+*n)I7A?*c)%w$|r-br5^D zOr)01F-iigP`%$1o+%_z5f*xVv46|QuuvrB9eD;)PUAmdF{*v08m6#uVbm(PO}aW{ zKeEs?{K{$t$0ZuUA>#;4aB_sbyOWFGREN!FB5q%!aGL($0Q_)Xbu);z;r7Y{mu_L9 z5C;bAN{)5i30cIl04Q>AU6K~bhIj`Ix!$p$2N%Ad4XVL~dhW1tL8KK&L;-)hgu z%##2r{n~6^J>9xHz*qgR5(5`VIT+;{#QxrFvJ5F(4}aofcod_g<1mSh0dXDsqKpwu zTAz$O2@3RFRInzC;%2rYZ=yL@N%4kTDQRypr>W`y8elc^&;cU-!!A^NQP zXmXUf56q6Vb9K-Zh`>s4aHlL}@wzLl^f=H|{!?-8TEbC!K7BAdC~3QHAR|Zqv9cd# zK6h+yB#02&@$p2qSeFCCjnVU9i0&qez((dt6igMjIr&XhkK}c@q>>6ir~3xQDH6jP zDTqZpTlv77!c>T`3K@st>W?2@M2xM9q&L+%@Z?7I0b#e^=cWq^PVSO89g`O?ja~cx zslB*U*fCO(!b%(woVoj|OAce$W?2FnoDseFOYGB> zy+z>7W*>LAN$T?RrNDioNQfOQrgvB^cBlF*EdU$Nzo;S+d~@cq$~_d=uy29`E@B}R zjSGBS-Ex6JXq-j?vo=4aZ9j?oDkf}@kcu{K#sK@Q)SfE7_F81|&Zm~fyi%fVr^fv3 zi~uGzF2Uce`_%d}ySINo+PVI8g)_9FaqFh*<9x6>)Y7Fyf8QH8R2upA!0kMA;VT zcd;1ea<)}ZE$qSL4SF*<1Ha!dtKFFt1LmYVwLKCET*m}ymyb}XB@@Q8rhX8n<#IxM z(JdOY-o>FyAQLrPcE)3-2UG{t%#zi~Qk?KhMYF3ijPv{|G7M7n8>mv+SgH=&g zWqHN7a@))KR|YpMXO7Kc`}yGqXC^4xZ{BI0+=;RGk-jpmpsNOVd^@-koqE<{{~WK#MFxz ze~>PK)p_q-e~{2)0KEj0dYv<&gklysoqSDtX1=T8!Q)%3+dwgAnSnCbOQTsay3i0gHI8HchOE>L7_3~VA}h5l56reg^(kIuZq4zaCy zxj$es(Vins7Q!w;Dn2m7;7ZK)%mEvM@X~O_1avYV06tv$t+AR59CRU_8Oqs)9f|Aa zjFhLJHiU-H2t(v)BFx9tuqy;^K3J})5;cCV~owBc-<_K*EMC^ITs2$2vo&|${<b4bTNJl4YRx4&w|3!;>cR6Bn zC3Sm#XFzu>+Ni`5?v;+YYJYVer)%*3U*=?X*dpx#lOT&aXlS@W!rZ9u!L$a1H`@CNu)klhh173*?d8#Cev`9a4h=M@FNLtR-_TLK5M-c$jCpI9hn zIGY&GUPn;C4b+t`IK(u1l6#I(9~2L^{P}f6-&`7)?}Z1uqUGPCHg()iSG1wEd~c*+J}x?AmW1e5>^&sA=UH>@`HT$mxAZKuop*+oMslxlOqy=E2B* zxQyxd<$rCTpoIG^%z&Y`tTI502mX;{&E)?K1Inq=sV3O{j(6)0KojaR9o)n+N$le% z(zadbO>M->`>^izITxDSI|nJ_`BQGhxek^^I!Fmm)&dhHIrTB1l>G!=l*0c< z*;_zWxwT!xfPjQ3Dar=vE*3^&hy9k-tj&EH^v#9%{dBtuY0X4<~8SBd}P7j<|%j zLq=K9#zsR^AiVTB+rl=J!FN&!zzPJ^HK8c(CRAx;GXA5H5@hg&<4>6-!9A5nX`utY zlkRFFj$fTre5(18T9W*QKD<@B#WIh}O_@Aw=gD6nrXS|#NwsdkzlSPcVkwxu#3Leu zpTmNauS{th{2*LZd;G8+)GGYa+y2{8coG7mZs5Hb0w51#MECr$I+mS^atDVK%Q)0p?BZ=nZXyp=62VI+u$2g5K^U=B zq+jLVT1cWjj}MkRF5b};GV<6}8qkK!8470VzMv)3aT?aGJ2YTQn?NV=8^bRCfRB7`Z{ebcl88DB5 zR)<6cnf5=BmqB`OfreS_^+PHD73gu2Ki7yP(jd+QxO|yVPCx5}?HTnWR5X6W#_!v}pI|Vs8n3tGRE35(NvIzry<=%;11;)nCgL zx-58rVeb}b2#=6y6Vlcoe1MddJYfDN5NMniuzYHaHUkBGc#xqnRK#QK0NTS7MTC0B z*R5l8L41XPVx;3SQ0h*j=VR69tqmq%0OENo6K245-O1+22qepA+@8iq*99Rhd2LS1 zAf-k*Olss8{)(c9lHh%;HSxj@i&fSRx<%VA593+(m%VbO8j?O$Zf1bg_W6Jd4tRk~JSFFzz35Pum!~l{o3ykV4y@ z_P$bGA=7A>BQ`+883AFS6O%167@Rn-Ve_XaqUi-IMcL-?Cx)lB(`P zfJB7jRW!(_$TRRApR%!tB zVKf>=F`fZS#16QP;Xs-=Y7(jn8e~8!Ryc%^PS4aqa_EP_85-0|B}N}KdXTXPpIcJN zGL56w^L(R4&T!{}To7IfxO3S@l{>$g5~HmJ`+^qAH#c%$ zj?-W0)*DH5@5cZCMV<2v8iiwU{@0y`N`1#|h^V{SY_VWjwCvBw5 zcduFlJ9KP^kT;ku;P0vDh8iMy&iIerHJGf#+-iB$7D2&^V8S$n86~v^OufJxE6q0N z4%Z$?b44gg1(@QfSB0+tN7gcfw2%b_HRa=1pwL+i6|>JMfBWJ)E4sS1=hpxElOdT# zI41}ap#}$|THjY@Hm$#;MU_nX<7MIn&Mkzbki3`M>9aBQ&iBlP%S<0mjr|ozXd)g4 z3j+2>fSvaiCHVvWhQ-*Qdj_b-RQ8$}1Plc1pxYVjRJuzhK&|W;UTjnnSoStJN4A(A z7`3}DmhzgrKU)ms-B=<;s_BFE?@;{0SwTs{f9!<6l6-xfeg z>?KCV)q5axCbw+GBb$UnPqQf#SdSe@`H47X{gp39V!b-<9+FF?P`H97q+rF=fF^~( zXOtQ8Rpw%2i+g80v(|ghsvouq8(i9htVrdBNT`usb*!WzxaeHhX}~5&8nq_4gP3zS ze(?>ZhKeIyh}ZhK=-Tblvr~C%xN^Kh8>_S-p%nWLbC0pd5v0|}hy@r>$EZsy-a0hx z=&He|kbiazaeTF}k)tnbdb^-RU`3`Gz$TN$FY6O;`liF61z1d-rrKQ@m#(Xkx4O0uiS5Yo{@f$ce9QBu$xb^?c4EMZt9nB#ic( zW1R{9j)KXM-shIp9-*8=QzqdFB@Sd9V$x*AEsh|f-;d>vn1g{R)P~qRO`7rs;bczV zLx6KcFvsuxVW(*adgI0+=Msx_MOmb^NA%&eEEtz}?EENz%bb86sb!wM_tPjU7~)Z1 zz{&Wu5P|Ck6s6x`M&ncRpO9UvyS9(7sd#heyuRW6#fz?`8x)pex&eKGQu?=Y$wR|4`~)%J*N{m% zUV!2oSWX(QF=D>*ep3?&v$W@!LDj_z;x zez3SUHDU_SiO=w6^F!h>+MhraH(RQ0Yg8y1eX59Wdut)(;*;6l?(f4hjhHGel7bni zeT_>R3f#J2jFR%6HUs#JDLO^unlM4X4ZQST?HP01d_42`<6Ir)6i8WrG%Cl~Yk=x( z_iaw3U8GU5Vv7@9T~K=OANPhdB=>gzZ*%Xn>tW(6E}wx-(%LIN(=agSP0_%;W|Oh% z0Np17qE)GA{Tb5>6NgE{ry^1mX*{;EwWFhSr#9!3th{n2h#I<~7G;U>qS{z&jiegR>jg1ETax_3Qzd|;jSsmx z#Snm$D4pm|F?#;GLSrKQQXJxkq_|Py&uh_5?o;<3r& zQK&LewxQI;(H`4i1|n7vtGA|JnV6Eo?(XhxU}?!09v)tGr{gTU*LT71<}|JlLl(S( zA1ZYiWz$JU-p&rgjl+$V=83e z_VvJs2M-O5j23Fog~~Oul3kJ>t=zom!Z4&q(D?XPT*STV;6MH$H*JhA&p`EDy2-!q zV)`LCD8J~|4P7ipS=!?;R$NM^kQZ$7SdP~{I`AcM>|GF%Uc;+Ca}N#0{s2})p^k#|Y?KTpHj1ri6sT1?q8EPvm zVZEAA%O5XbUoXJ`fCKuI?NK<5zq5hj-6mAo)BA8)NCm~-f4aXmiA zXwu^P1xsk(@2Xg!6F$!oLdWU$Eil~a_pIzXWB&H)q`G!Oe7xTL{4DX`w`PRTHGQ2` z3)@cjCPShmFHbQ@E?p*|7J%1|^<)eNvwD@FqHl$CU`(;DqxVYZpM6>CID!N}`n+C% z3x`@rROgi)M5UR&6zejEpdW4CNU-9XRz4*004gjV+f6w#Pb*;AHMjH>+qY^KMEip-a;cv{A*qKPcG#JOXw>6nQ+$T z&Ev&LoGnT5e}kV)5AX>Jpxmi==NR;^s>&efT&PnRqia8g=`<9l`R29IXlax`ksCer z3{B;f_u~ojsnnVD;G^TQfB%Dy5}!VB6C{>^4dEU?>u5v)f6Tb2w+l|7^2HE!O4oQF z;>50c&*dx=VuLdSIxstI#>hTJnY5u|aK+!l@m&+kTI@;Fg7`VP+G{eZ-;jR!Rw(^d zpKH(WO*+38S)oAt6I5G{<>0fVe~dekW=dfT_1=&gu@I!ST%xQl~kn&c?wiBNg zSN|9f&sj-i^44AWkdHcB{jaycxPTH!sx$?71LEUz2w+LyUw%G{K|020~~L z2>Dao24CG#8=0!9joo<*Oq8VEwGrMiI~aNMELIfbDzL3W6YOo236jl6&gOi&^XFd2 z&1pZw_mf6qXuSMOV!Z}pG5zIZu4#$w+4IB~;1S?M4iGF zxVY?4JEc`s2^Z7+hC!1cV!^RyL>m<=--?P^20$n!{mNY_vUTWp(||5Kg!$Y}*oNXA zLZ2ZX&4lF)s1&@bhSv`(9b2Od-#bp?$⁣eXY1r`Y;oSKlR>s*(RC7sa>MT7^I9= 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 literal 24767 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 +# Install Containerd with Release Tarball +This document provides the steps to install `containerd` and its dependencies with the release tarball, and bring up a Kubernetes cluster using kubeadm. These steps have been verified on Ubuntu 16.04. For other OS distributions, the steps may differ. Please feel free to file issues or PRs if you encounter any problems on other OS distributions. *Note: You need to run the following steps on each node you are planning to use in your Kubernetes cluster.* ## Release Tarball -For each release, we'll publish a release tarball. The release tarball contains all required binaries and files for `cri-containerd`. +For each `containerd` release, we'll publish a release tarball specifically for Kubernetes named `cri-containerd-${VERSION}.${OS}-${ARCH}.tar.gz`. The release tarball contains all required binaries and files for using `containerd` with Kubernetes. ### Content - As shown below, the release tarball contains: 1) `containerd`, `containerd-shim`, `containerd-stress`, `containerd-release`, `ctr`: binaries for containerd. 2) `runc`: runc binary. -3) `crictl`: command line tools for CRI container runtime. -4) `containerd.service`: Systemd unit for containerd. -5) `/opt/cri-containerd/cluster/`: scripts for `kube-up.sh`. +3) `crictl`, `crictl.yaml`: command line tools for CRI container runtime and its config file. +4) `critest`: binary to run [CRI validation test](https://github.com/kubernetes-incubator/cri-tools/blob/master/docs/validation.md). +5) `containerd.service`: Systemd unit for containerd. +6) `/opt/containerd/cluster/`: scripts for `kube-up.sh`. ```console -$ tar -tf cri-containerd-1.0.0-beta.0.linux-amd64.tar.gz +$ tar -tf cri-containerd-1.1.0-rc.0.linux-amd64.tar.gz ./ -./opt/ -./opt/cri-containerd/ -./opt/cri-containerd/cluster/ -./opt/cri-containerd/cluster/gce/ -./opt/cri-containerd/cluster/gce/cloud-init/ -./opt/cri-containerd/cluster/gce/cloud-init/node.yaml -./opt/cri-containerd/cluster/gce/cloud-init/master.yaml -./opt/cri-containerd/cluster/gce/configure.sh -./opt/cri-containerd/cluster/health-monitor.sh -./opt/cri-containerd/cluster/env -./usr/ -./usr/local/ -./usr/local/sbin/ +./opt +./opt/containerd +./opt/containerd/cluster +./opt/containerd/cluster/gce +./opt/containerd/cluster/gce/cloud-init +./opt/containerd/cluster/gce/cloud-init/node.yaml +./opt/containerd/cluster/gce/cloud-init/master.yaml +./opt/containerd/cluster/gce/configure.sh +./opt/containerd/cluster/gce/env +./opt/containerd/cluster/version +./opt/containerd/cluster/health-monitor.sh +./usr +./usr/local +./usr/local/sbin ./usr/local/sbin/runc -./usr/local/bin/ +./usr/local/bin ./usr/local/bin/crictl ./usr/local/bin/containerd ./usr/local/bin/containerd-stress @@ -39,9 +41,9 @@ $ tar -tf cri-containerd-1.0.0-beta.0.linux-amd64.tar.gz ./usr/local/bin/containerd-release ./usr/local/bin/containerd-shim ./usr/local/bin/ctr -./etc/ -./etc/systemd/ -./etc/systemd/system/ +./etc +./etc/systemd +./etc/systemd/system ./etc/systemd/system/containerd.service ./etc/crictl.yaml ``` @@ -50,8 +52,7 @@ Information about the binaries in the release tarball: | Binary Name | Support | OS | Architecture | |:------------------------------:|:------------------:|:-----:|:------------:| -| containerd | seccomp, apparmor, | linux | amd64 | -| | overlay, btrfs | | | +| containerd | seccomp, apparmor,
overlay, btrfs | linux | amd64 | | containerd-shim | overlay, btrfs | linux | amd64 | | runc | seccomp, apparmor | linux | amd64 | @@ -60,9 +61,7 @@ If you have other requirements for the binaries, e.g. selinux support, another a ### Download -The release tarball could be downloaded from either of the following sources: -1. Release on github (see [here](https://github.com/containerd/cri/releases)); -2. Release GCS bucket https://storage.googleapis.com/cri-containerd-release/. +The release tarball could be downloaded from the release GCS bucket https://storage.googleapis.com/cri-containerd-release/. ## Step 0: Install Dependent Libraries Install required libraries for seccomp and libapparmor. @@ -74,31 +73,28 @@ sudo apt-get install libapparmor Note that: 1) If you are using Ubuntu <=Trusty or Debian <=jessie, a backported version of `libseccomp2` is needed. (See the [trusty-backports](https://packages.ubuntu.com/trusty-backports/libseccomp2) and [jessie-backports](https://packages.debian.org/jessie-backports/libseccomp2)). 2) If your OS distro doesn't support AppArmor, please skip installing `libapparmor`, and AppArmor will be disabled. -## Step 1: Download CRI-Containerd Release Tarball -Download release tarball for the cri-containerd version you want to install from sources listed [above](#download). +## Step 1: Download Release Tarball +Download release tarball for the `containerd` version you want to install from the GCS bucket. ```bash wget https://storage.googleapis.com/cri-containerd-release/cri-containerd-${VERSION}.linux-amd64.tar.gz ``` -Validate checksum of the release tarball (note that checksum is added since v1.0.0-beta.0): +Validate checksum of the release tarball: ```bash sha256sum cri-containerd-${VERSION}.linux-amd64.tar.gz curl https://storage.googleapis.com/cri-containerd-release/cri-containerd-${VERSION}.linux-amd64.tar.gz.sha256 # Compare to make sure the 2 checksums are the same. ``` -## Step 2: Install CRI-Containerd +## Step 2: Install Containerd If you are using systemd, just simply unpack the tarball to the root directory: - ```bash sudo tar -C / -xzf cri-containerd-${VERSION}.linux-amd64.tar.gz -sudo mkdir -p /opt/cni/bin/ -sudo mkdir -p /etc/cni/net.d sudo systemctl start containerd ``` If you are not using systemd, please unpack all binaries into a directory in your `PATH`, and start `containerd` as monitored long running services with the service manager you are using e.g. `supervisord`, `upstart` etc. ## Step 3: Install Kubeadm, Kubelet and Kubectl Follow [the instructions](https://kubernetes.io/docs/setup/independent/install-kubeadm/) to install kubeadm, kubelet and kubectl. -## Step 4: Create Systemd Drop-In for CRI-Containerd -Create the systemd drop-in file `/etc/systemd/system/kubelet.service.d/0-cri-containerd.conf`: +## Step 4: Create Systemd Drop-In for Containerd +Create the systemd drop-in file `/etc/systemd/system/kubelet.service.d/0-containerd.conf`: ``` [Service] Environment="KUBELET_EXTRA_ARGS=--container-runtime=remote --runtime-request-timeout=15m --container-runtime-endpoint=/run/containerd/containerd.sock" diff --git a/docs/registry.md b/docs/registry.md index 18b27ae1f..d3dba4917 100644 --- a/docs/registry.md +++ b/docs/registry.md @@ -16,6 +16,7 @@ To configure image registries create/modify the `/etc/containerd/config.toml` as The default configuration can be generated by `containerd config default > /etc/containerd/config.toml`. -The endpoint is a list that can contain multiple image registry URLs split by commas. +The endpoint is a list that can contain multiple image registry URLs split by commas. When pulling an image +from a registry, containerd will try these endpoint URLs one by one, and use the first working one. After modify the config file, you need restart the `containerd` service. diff --git a/docs/testing.md b/docs/testing.md index a9e6ebcb9..b571e02bf 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -55,4 +55,3 @@ make test-e2e-node make test-e2e-node FOCUS=REGEXP_TO_FOCUS SKIP=REGEXP_TO_SKIP ``` [More information](https://github.com/kubernetes/community/blob/master/contributors/devel/e2e-node-tests.md) about Kubernetes node e2e test. -