cephcluster.yaml 493 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.11.3
  6. helm.sh/resource-policy: keep
  7. meta.helm.sh/release-name: c3
  8. meta.helm.sh/release-namespace: c3
  9. creationTimestamp: "2023-09-08T15:16:44Z"
  10. generation: 1
  11. labels:
  12. app.kubernetes.io/managed-by: Helm
  13. name: cephclusters.ceph.rook.io
  14. resourceVersion: "381811"
  15. uid: d83f144a-87b6-4c65-96f4-e4308d211e0c
  16. spec:
  17. conversion:
  18. strategy: None
  19. group: ceph.rook.io
  20. names:
  21. kind: CephCluster
  22. listKind: CephClusterList
  23. plural: cephclusters
  24. singular: cephcluster
  25. scope: Namespaced
  26. versions:
  27. - additionalPrinterColumns:
  28. - description: Directory used on the K8s nodes
  29. jsonPath: .spec.dataDirHostPath
  30. name: DataDirHostPath
  31. type: string
  32. - description: Number of MONs
  33. jsonPath: .spec.mon.count
  34. name: MonCount
  35. type: string
  36. - jsonPath: .metadata.creationTimestamp
  37. name: Age
  38. type: date
  39. - jsonPath: .status.phase
  40. name: Phase
  41. type: string
  42. - description: Message
  43. jsonPath: .status.message
  44. name: Message
  45. type: string
  46. - description: Ceph Health
  47. jsonPath: .status.ceph.health
  48. name: Health
  49. type: string
  50. - jsonPath: .spec.external.enable
  51. name: External
  52. type: boolean
  53. - description: Ceph FSID
  54. jsonPath: .status.ceph.fsid
  55. name: FSID
  56. type: string
  57. name: v1
  58. schema:
  59. openAPIV3Schema:
  60. description: CephCluster is a Ceph storage cluster
  61. properties:
  62. apiVersion:
  63. description: 'APIVersion defines the versioned schema of this representation
  64. of an object. Servers should convert recognized schemas to the latest
  65. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  66. type: string
  67. kind:
  68. description: 'Kind is a string value representing the REST resource this
  69. object represents. Servers may infer this from the endpoint the client
  70. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  71. type: string
  72. metadata:
  73. type: object
  74. spec:
  75. description: ClusterSpec represents the specification of Ceph Cluster
  76. properties:
  77. annotations:
  78. additionalProperties:
  79. additionalProperties:
  80. type: string
  81. description: Annotations are annotations
  82. type: object
  83. description: The annotations-related configuration to add/set on each
  84. Pod related object.
  85. nullable: true
  86. type: object
  87. x-kubernetes-preserve-unknown-fields: true
  88. cephVersion:
  89. description: The version information that instructs Rook to orchestrate
  90. a particular version of Ceph.
  91. nullable: true
  92. properties:
  93. allowUnsupported:
  94. description: Whether to allow unsupported versions (do not set
  95. to true in production)
  96. type: boolean
  97. image:
  98. description: Image is the container image used to launch the ceph
  99. daemons, such as quay.io/ceph/ceph:<tag> The full list of images
  100. can be found at https://quay.io/repository/ceph/ceph?tab=tags
  101. type: string
  102. imagePullPolicy:
  103. description: ImagePullPolicy describes a policy for if/when to
  104. pull a container image One of Always, Never, IfNotPresent.
  105. enum:
  106. - IfNotPresent
  107. - Always
  108. - Never
  109. - ""
  110. type: string
  111. type: object
  112. cleanupPolicy:
  113. description: Indicates user intent when deleting a cluster; blocks
  114. orchestration and should not be set if cluster deletion is not imminent.
  115. nullable: true
  116. properties:
  117. allowUninstallWithVolumes:
  118. description: AllowUninstallWithVolumes defines whether we can
  119. proceed with the uninstall if they are RBD images still present
  120. type: boolean
  121. confirmation:
  122. description: Confirmation represents the cleanup confirmation
  123. nullable: true
  124. pattern: ^$|^yes-really-destroy-data$
  125. type: string
  126. sanitizeDisks:
  127. description: SanitizeDisks represents way we sanitize disks
  128. nullable: true
  129. properties:
  130. dataSource:
  131. description: DataSource is the data source to use to sanitize
  132. the disk with
  133. enum:
  134. - zero
  135. - random
  136. type: string
  137. iteration:
  138. description: Iteration is the number of pass to apply the
  139. sanitizing
  140. format: int32
  141. type: integer
  142. method:
  143. description: Method is the method we use to sanitize disks
  144. enum:
  145. - complete
  146. - quick
  147. type: string
  148. type: object
  149. type: object
  150. continueUpgradeAfterChecksEvenIfNotHealthy:
  151. description: ContinueUpgradeAfterChecksEvenIfNotHealthy defines if
  152. an upgrade should continue even if PGs are not clean
  153. type: boolean
  154. crashCollector:
  155. description: A spec for the crash controller
  156. nullable: true
  157. properties:
  158. daysToRetain:
  159. description: DaysToRetain represents the number of days to retain
  160. crash until they get pruned
  161. type: integer
  162. disable:
  163. description: Disable determines whether we should enable the crash
  164. collector
  165. type: boolean
  166. type: object
  167. dashboard:
  168. description: Dashboard settings
  169. nullable: true
  170. properties:
  171. enabled:
  172. description: Enabled determines whether to enable the dashboard
  173. type: boolean
  174. port:
  175. description: Port is the dashboard webserver port
  176. maximum: 65535
  177. minimum: 0
  178. type: integer
  179. ssl:
  180. description: SSL determines whether SSL should be used
  181. type: boolean
  182. urlPrefix:
  183. description: URLPrefix is a prefix for all URLs to use the dashboard
  184. with a reverse proxy
  185. type: string
  186. type: object
  187. dataDirHostPath:
  188. description: The path on the host where config and data can be persisted
  189. pattern: ^/(\S+)
  190. type: string
  191. disruptionManagement:
  192. description: A spec for configuring disruption management.
  193. nullable: true
  194. properties:
  195. machineDisruptionBudgetNamespace:
  196. description: Deprecated. Namespace to look for MDBs by the machineDisruptionBudgetController
  197. type: string
  198. manageMachineDisruptionBudgets:
  199. description: Deprecated. This enables management of machinedisruptionbudgets.
  200. type: boolean
  201. managePodBudgets:
  202. description: This enables management of poddisruptionbudgets
  203. type: boolean
  204. osdMaintenanceTimeout:
  205. description: OSDMaintenanceTimeout sets how many additional minutes
  206. the DOWN/OUT interval is for drained failure domains it only
  207. works if managePodBudgets is true. the default is 30 minutes
  208. format: int64
  209. type: integer
  210. pgHealthCheckTimeout:
  211. description: PGHealthCheckTimeout is the time (in minutes) that
  212. the operator will wait for the placement groups to become healthy
  213. (active+clean) after a drain was completed and OSDs came back
  214. up. Rook will continue with the next drain if the timeout exceeds.
  215. It only works if managePodBudgets is true. No values or 0 means
  216. that the operator will wait until the placement groups are healthy
  217. before unblocking the next drain.
  218. format: int64
  219. type: integer
  220. type: object
  221. external:
  222. description: Whether the Ceph Cluster is running external to this
  223. Kubernetes cluster mon, mgr, osd, mds, and discover daemons will
  224. not be created for external clusters.
  225. nullable: true
  226. properties:
  227. enable:
  228. description: Enable determines whether external mode is enabled
  229. or not
  230. type: boolean
  231. type: object
  232. x-kubernetes-preserve-unknown-fields: true
  233. healthCheck:
  234. description: Internal daemon healthchecks and liveness probe
  235. nullable: true
  236. properties:
  237. daemonHealth:
  238. description: DaemonHealth is the health check for a given daemon
  239. nullable: true
  240. properties:
  241. mon:
  242. description: Monitor represents the health check settings
  243. for the Ceph monitor
  244. nullable: true
  245. properties:
  246. disabled:
  247. type: boolean
  248. interval:
  249. description: Interval is the internal in second or minute
  250. for the health check to run like 60s for 60 seconds
  251. type: string
  252. timeout:
  253. type: string
  254. type: object
  255. osd:
  256. description: ObjectStorageDaemon represents the health check
  257. settings for the Ceph OSDs
  258. nullable: true
  259. properties:
  260. disabled:
  261. type: boolean
  262. interval:
  263. description: Interval is the internal in second or minute
  264. for the health check to run like 60s for 60 seconds
  265. type: string
  266. timeout:
  267. type: string
  268. type: object
  269. status:
  270. description: Status represents the health check settings for
  271. the Ceph health
  272. nullable: true
  273. properties:
  274. disabled:
  275. type: boolean
  276. interval:
  277. description: Interval is the internal in second or minute
  278. for the health check to run like 60s for 60 seconds
  279. type: string
  280. timeout:
  281. type: string
  282. type: object
  283. type: object
  284. livenessProbe:
  285. additionalProperties:
  286. description: ProbeSpec is a wrapper around Probe so it can be
  287. enabled or disabled for a Ceph daemon
  288. properties:
  289. disabled:
  290. description: Disabled determines whether probe is disable
  291. or not
  292. type: boolean
  293. probe:
  294. description: Probe describes a health check to be performed
  295. against a container to determine whether it is alive or
  296. ready to receive traffic.
  297. properties:
  298. exec:
  299. description: Exec specifies the action to take.
  300. properties:
  301. command:
  302. description: Command is the command line to execute
  303. inside the container, the working directory for
  304. the command is root ('/') in the container's
  305. filesystem. The command is simply exec'd, it is
  306. not run inside a shell, so traditional shell instructions
  307. ('|', etc) won't work. To use a shell, you need
  308. to explicitly call out to that shell. Exit status
  309. of 0 is treated as live/healthy and non-zero is
  310. unhealthy.
  311. items:
  312. type: string
  313. type: array
  314. type: object
  315. failureThreshold:
  316. description: Minimum consecutive failures for the probe
  317. to be considered failed after having succeeded. Defaults
  318. to 3. Minimum value is 1.
  319. format: int32
  320. type: integer
  321. grpc:
  322. description: GRPC specifies an action involving a GRPC
  323. port.
  324. properties:
  325. port:
  326. description: Port number of the gRPC service. Number
  327. must be in the range 1 to 65535.
  328. format: int32
  329. type: integer
  330. service:
  331. description: "Service is the name of the service
  332. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  333. \n If this is not specified, the default behavior
  334. is defined by gRPC."
  335. type: string
  336. required:
  337. - port
  338. type: object
  339. httpGet:
  340. description: HTTPGet specifies the http request to perform.
  341. properties:
  342. host:
  343. description: Host name to connect to, defaults to
  344. the pod IP. You probably want to set "Host" in
  345. httpHeaders instead.
  346. type: string
  347. httpHeaders:
  348. description: Custom headers to set in the request.
  349. HTTP allows repeated headers.
  350. items:
  351. description: HTTPHeader describes a custom header
  352. to be used in HTTP probes
  353. properties:
  354. name:
  355. description: The header field name. This will
  356. be canonicalized upon output, so case-variant
  357. names will be understood as the same header.
  358. type: string
  359. value:
  360. description: The header field value
  361. type: string
  362. required:
  363. - name
  364. - value
  365. type: object
  366. type: array
  367. path:
  368. description: Path to access on the HTTP server.
  369. type: string
  370. port:
  371. anyOf:
  372. - type: integer
  373. - type: string
  374. description: Name or number of the port to access
  375. on the container. Number must be in the range
  376. 1 to 65535. Name must be an IANA_SVC_NAME.
  377. x-kubernetes-int-or-string: true
  378. scheme:
  379. description: Scheme to use for connecting to the
  380. host. Defaults to HTTP.
  381. type: string
  382. required:
  383. - port
  384. type: object
  385. initialDelaySeconds:
  386. description: 'Number of seconds after the container
  387. has started before liveness probes are initiated.
  388. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  389. format: int32
  390. type: integer
  391. periodSeconds:
  392. description: How often (in seconds) to perform the probe.
  393. Default to 10 seconds. Minimum value is 1.
  394. format: int32
  395. type: integer
  396. successThreshold:
  397. description: Minimum consecutive successes for the probe
  398. to be considered successful after having failed. Defaults
  399. to 1. Must be 1 for liveness and startup. Minimum
  400. value is 1.
  401. format: int32
  402. type: integer
  403. tcpSocket:
  404. description: TCPSocket specifies an action involving
  405. a TCP port.
  406. properties:
  407. host:
  408. description: 'Optional: Host name to connect to,
  409. defaults to the pod IP.'
  410. type: string
  411. port:
  412. anyOf:
  413. - type: integer
  414. - type: string
  415. description: Number or name of the port to access
  416. on the container. Number must be in the range
  417. 1 to 65535. Name must be an IANA_SVC_NAME.
  418. x-kubernetes-int-or-string: true
  419. required:
  420. - port
  421. type: object
  422. terminationGracePeriodSeconds:
  423. description: Optional duration in seconds the pod needs
  424. to terminate gracefully upon probe failure. The grace
  425. period is the duration in seconds after the processes
  426. running in the pod are sent a termination signal and
  427. the time when the processes are forcibly halted with
  428. a kill signal. Set this value longer than the expected
  429. cleanup time for your process. If this value is nil,
  430. the pod's terminationGracePeriodSeconds will be used.
  431. Otherwise, this value overrides the value provided
  432. by the pod spec. Value must be non-negative integer.
  433. The value zero indicates stop immediately via the
  434. kill signal (no opportunity to shut down). This is
  435. a beta field and requires enabling ProbeTerminationGracePeriod
  436. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  437. is used if unset.
  438. format: int64
  439. type: integer
  440. timeoutSeconds:
  441. description: 'Number of seconds after which the probe
  442. times out. Defaults to 1 second. Minimum value is
  443. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  444. format: int32
  445. type: integer
  446. type: object
  447. type: object
  448. description: LivenessProbe allows changing the livenessProbe configuration
  449. for a given daemon
  450. type: object
  451. startupProbe:
  452. additionalProperties:
  453. description: ProbeSpec is a wrapper around Probe so it can be
  454. enabled or disabled for a Ceph daemon
  455. properties:
  456. disabled:
  457. description: Disabled determines whether probe is disable
  458. or not
  459. type: boolean
  460. probe:
  461. description: Probe describes a health check to be performed
  462. against a container to determine whether it is alive or
  463. ready to receive traffic.
  464. properties:
  465. exec:
  466. description: Exec specifies the action to take.
  467. properties:
  468. command:
  469. description: Command is the command line to execute
  470. inside the container, the working directory for
  471. the command is root ('/') in the container's
  472. filesystem. The command is simply exec'd, it is
  473. not run inside a shell, so traditional shell instructions
  474. ('|', etc) won't work. To use a shell, you need
  475. to explicitly call out to that shell. Exit status
  476. of 0 is treated as live/healthy and non-zero is
  477. unhealthy.
  478. items:
  479. type: string
  480. type: array
  481. type: object
  482. failureThreshold:
  483. description: Minimum consecutive failures for the probe
  484. to be considered failed after having succeeded. Defaults
  485. to 3. Minimum value is 1.
  486. format: int32
  487. type: integer
  488. grpc:
  489. description: GRPC specifies an action involving a GRPC
  490. port.
  491. properties:
  492. port:
  493. description: Port number of the gRPC service. Number
  494. must be in the range 1 to 65535.
  495. format: int32
  496. type: integer
  497. service:
  498. description: "Service is the name of the service
  499. to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
  500. \n If this is not specified, the default behavior
  501. is defined by gRPC."
  502. type: string
  503. required:
  504. - port
  505. type: object
  506. httpGet:
  507. description: HTTPGet specifies the http request to perform.
  508. properties:
  509. host:
  510. description: Host name to connect to, defaults to
  511. the pod IP. You probably want to set "Host" in
  512. httpHeaders instead.
  513. type: string
  514. httpHeaders:
  515. description: Custom headers to set in the request.
  516. HTTP allows repeated headers.
  517. items:
  518. description: HTTPHeader describes a custom header
  519. to be used in HTTP probes
  520. properties:
  521. name:
  522. description: The header field name. This will
  523. be canonicalized upon output, so case-variant
  524. names will be understood as the same header.
  525. type: string
  526. value:
  527. description: The header field value
  528. type: string
  529. required:
  530. - name
  531. - value
  532. type: object
  533. type: array
  534. path:
  535. description: Path to access on the HTTP server.
  536. type: string
  537. port:
  538. anyOf:
  539. - type: integer
  540. - type: string
  541. description: Name or number of the port to access
  542. on the container. Number must be in the range
  543. 1 to 65535. Name must be an IANA_SVC_NAME.
  544. x-kubernetes-int-or-string: true
  545. scheme:
  546. description: Scheme to use for connecting to the
  547. host. Defaults to HTTP.
  548. type: string
  549. required:
  550. - port
  551. type: object
  552. initialDelaySeconds:
  553. description: 'Number of seconds after the container
  554. has started before liveness probes are initiated.
  555. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  556. format: int32
  557. type: integer
  558. periodSeconds:
  559. description: How often (in seconds) to perform the probe.
  560. Default to 10 seconds. Minimum value is 1.
  561. format: int32
  562. type: integer
  563. successThreshold:
  564. description: Minimum consecutive successes for the probe
  565. to be considered successful after having failed. Defaults
  566. to 1. Must be 1 for liveness and startup. Minimum
  567. value is 1.
  568. format: int32
  569. type: integer
  570. tcpSocket:
  571. description: TCPSocket specifies an action involving
  572. a TCP port.
  573. properties:
  574. host:
  575. description: 'Optional: Host name to connect to,
  576. defaults to the pod IP.'
  577. type: string
  578. port:
  579. anyOf:
  580. - type: integer
  581. - type: string
  582. description: Number or name of the port to access
  583. on the container. Number must be in the range
  584. 1 to 65535. Name must be an IANA_SVC_NAME.
  585. x-kubernetes-int-or-string: true
  586. required:
  587. - port
  588. type: object
  589. terminationGracePeriodSeconds:
  590. description: Optional duration in seconds the pod needs
  591. to terminate gracefully upon probe failure. The grace
  592. period is the duration in seconds after the processes
  593. running in the pod are sent a termination signal and
  594. the time when the processes are forcibly halted with
  595. a kill signal. Set this value longer than the expected
  596. cleanup time for your process. If this value is nil,
  597. the pod's terminationGracePeriodSeconds will be used.
  598. Otherwise, this value overrides the value provided
  599. by the pod spec. Value must be non-negative integer.
  600. The value zero indicates stop immediately via the
  601. kill signal (no opportunity to shut down). This is
  602. a beta field and requires enabling ProbeTerminationGracePeriod
  603. feature gate. Minimum value is 1. spec.terminationGracePeriodSeconds
  604. is used if unset.
  605. format: int64
  606. type: integer
  607. timeoutSeconds:
  608. description: 'Number of seconds after which the probe
  609. times out. Defaults to 1 second. Minimum value is
  610. 1. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes'
  611. format: int32
  612. type: integer
  613. type: object
  614. type: object
  615. description: StartupProbe allows changing the startupProbe configuration
  616. for a given daemon
  617. type: object
  618. type: object
  619. labels:
  620. additionalProperties:
  621. additionalProperties:
  622. type: string
  623. description: Labels are label for a given daemons
  624. type: object
  625. description: The labels-related configuration to add/set on each Pod
  626. related object.
  627. nullable: true
  628. type: object
  629. x-kubernetes-preserve-unknown-fields: true
  630. logCollector:
  631. description: Logging represents loggings settings
  632. nullable: true
  633. properties:
  634. enabled:
  635. description: Enabled represents whether the log collector is enabled
  636. type: boolean
  637. maxLogSize:
  638. anyOf:
  639. - type: integer
  640. - type: string
  641. description: MaxLogSize is the maximum size of the log per ceph
  642. daemons. Must be at least 1M.
  643. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  644. x-kubernetes-int-or-string: true
  645. periodicity:
  646. description: Periodicity is the periodicity of the log rotation.
  647. pattern: ^$|^(hourly|daily|weekly|monthly|1h|24h|1d)$
  648. type: string
  649. type: object
  650. mgr:
  651. description: A spec for mgr related options
  652. nullable: true
  653. properties:
  654. allowMultiplePerNode:
  655. description: AllowMultiplePerNode allows to run multiple managers
  656. on the same node (not recommended)
  657. type: boolean
  658. count:
  659. description: Count is the number of manager to run
  660. maximum: 2
  661. minimum: 0
  662. type: integer
  663. modules:
  664. description: Modules is the list of ceph manager modules to enable/disable
  665. items:
  666. description: Module represents mgr modules that the user wants
  667. to enable or disable
  668. properties:
  669. enabled:
  670. description: Enabled determines whether a module should
  671. be enabled or not
  672. type: boolean
  673. name:
  674. description: Name is the name of the ceph manager module
  675. type: string
  676. type: object
  677. nullable: true
  678. type: array
  679. type: object
  680. mon:
  681. description: A spec for mon related options
  682. nullable: true
  683. properties:
  684. allowMultiplePerNode:
  685. description: AllowMultiplePerNode determines if we can run multiple
  686. monitors on the same node (not recommended)
  687. type: boolean
  688. count:
  689. description: Count is the number of Ceph monitors
  690. maximum: 9
  691. minimum: 0
  692. type: integer
  693. failureDomainLabel:
  694. type: string
  695. stretchCluster:
  696. description: StretchCluster is the stretch cluster specification
  697. properties:
  698. failureDomainLabel:
  699. description: 'FailureDomainLabel the failure domain name (e,g:
  700. zone)'
  701. type: string
  702. subFailureDomain:
  703. description: SubFailureDomain is the failure domain within
  704. a zone
  705. type: string
  706. zones:
  707. description: Zones is the list of zones
  708. items:
  709. description: MonZoneSpec represents the specification of
  710. a zone in a Ceph Cluster
  711. properties:
  712. arbiter:
  713. description: Arbiter determines if the zone contains
  714. the arbiter used for stretch cluster mode
  715. type: boolean
  716. name:
  717. description: Name is the name of the zone
  718. type: string
  719. volumeClaimTemplate:
  720. description: VolumeClaimTemplate is the PVC template
  721. properties:
  722. apiVersion:
  723. description: 'APIVersion defines the versioned schema
  724. of this representation of an object. Servers should
  725. convert recognized schemas to the latest internal
  726. value, and may reject unrecognized values. More
  727. info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  728. type: string
  729. kind:
  730. description: 'Kind is a string value representing
  731. the REST resource this object represents. Servers
  732. may infer this from the endpoint the client submits
  733. requests to. Cannot be updated. In CamelCase.
  734. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  735. type: string
  736. metadata:
  737. description: 'Standard object''s metadata. More
  738. info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
  739. properties:
  740. annotations:
  741. additionalProperties:
  742. type: string
  743. type: object
  744. finalizers:
  745. items:
  746. type: string
  747. type: array
  748. labels:
  749. additionalProperties:
  750. type: string
  751. type: object
  752. name:
  753. type: string
  754. namespace:
  755. type: string
  756. type: object
  757. spec:
  758. description: 'spec defines the desired characteristics
  759. of a volume requested by a pod author. More info:
  760. https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  761. properties:
  762. accessModes:
  763. description: 'accessModes contains the desired
  764. access modes the volume should have. More
  765. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  766. items:
  767. type: string
  768. type: array
  769. dataSource:
  770. description: 'dataSource field can be used to
  771. specify either: * An existing VolumeSnapshot
  772. object (snapshot.storage.k8s.io/VolumeSnapshot)
  773. * An existing PVC (PersistentVolumeClaim)
  774. If the provisioner or an external controller
  775. can support the specified data source, it
  776. will create a new volume based on the contents
  777. of the specified data source. When the AnyVolumeDataSource
  778. feature gate is enabled, dataSource contents
  779. will be copied to dataSourceRef, and dataSourceRef
  780. contents will be copied to dataSource when
  781. dataSourceRef.namespace is not specified.
  782. If the namespace is specified, then dataSourceRef
  783. will not be copied to dataSource.'
  784. properties:
  785. apiGroup:
  786. description: APIGroup is the group for the
  787. resource being referenced. If APIGroup
  788. is not specified, the specified Kind must
  789. be in the core API group. For any other
  790. third-party types, APIGroup is required.
  791. type: string
  792. kind:
  793. description: Kind is the type of resource
  794. being referenced
  795. type: string
  796. name:
  797. description: Name is the name of resource
  798. being referenced
  799. type: string
  800. required:
  801. - kind
  802. - name
  803. type: object
  804. x-kubernetes-map-type: atomic
  805. dataSourceRef:
  806. description: 'dataSourceRef specifies the object
  807. from which to populate the volume with data,
  808. if a non-empty volume is desired. This may
  809. be any object from a non-empty API group (non
  810. core object) or a PersistentVolumeClaim object.
  811. When this field is specified, volume binding
  812. will only succeed if the type of the specified
  813. object matches some installed volume populator
  814. or dynamic provisioner. This field will replace
  815. the functionality of the dataSource field
  816. and as such if both fields are non-empty,
  817. they must have the same value. For backwards
  818. compatibility, when namespace isn''t specified
  819. in dataSourceRef, both fields (dataSource
  820. and dataSourceRef) will be set to the same
  821. value automatically if one of them is empty
  822. and the other is non-empty. When namespace
  823. is specified in dataSourceRef, dataSource
  824. isn''t set to the same value and must be empty.
  825. There are three important differences between
  826. dataSource and dataSourceRef: * While dataSource
  827. only allows two specific types of objects,
  828. dataSourceRef allows any non-core object,
  829. as well as PersistentVolumeClaim objects.
  830. * While dataSource ignores disallowed values
  831. (dropping them), dataSourceRef preserves all
  832. values, and generates an error if a disallowed
  833. value is specified. * While dataSource only
  834. allows local objects, dataSourceRef allows
  835. objects in any namespaces. (Beta) Using this
  836. field requires the AnyVolumeDataSource feature
  837. gate to be enabled. (Alpha) Using the namespace
  838. field of dataSourceRef requires the CrossNamespaceVolumeDataSource
  839. feature gate to be enabled.'
  840. properties:
  841. apiGroup:
  842. description: APIGroup is the group for the
  843. resource being referenced. If APIGroup
  844. is not specified, the specified Kind must
  845. be in the core API group. For any other
  846. third-party types, APIGroup is required.
  847. type: string
  848. kind:
  849. description: Kind is the type of resource
  850. being referenced
  851. type: string
  852. name:
  853. description: Name is the name of resource
  854. being referenced
  855. type: string
  856. namespace:
  857. description: Namespace is the namespace
  858. of resource being referenced Note that
  859. when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant
  860. object is required in the referent namespace
  861. to allow that namespace's owner to accept
  862. the reference. See the ReferenceGrant
  863. documentation for details. (Alpha) This
  864. field requires the CrossNamespaceVolumeDataSource
  865. feature gate to be enabled.
  866. type: string
  867. required:
  868. - kind
  869. - name
  870. type: object
  871. resources:
  872. description: 'resources represents the minimum
  873. resources the volume should have. If RecoverVolumeExpansionFailure
  874. feature is enabled users are allowed to specify
  875. resource requirements that are lower than
  876. previous value but must still be higher than
  877. capacity recorded in the status field of the
  878. claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  879. properties:
  880. claims:
  881. description: "Claims lists the names of
  882. resources, defined in spec.resourceClaims,
  883. that are used by this container. \n This
  884. is an alpha field and requires enabling
  885. the DynamicResourceAllocation feature
  886. gate. \n This field is immutable. It can
  887. only be set for containers."
  888. items:
  889. description: ResourceClaim references
  890. one entry in PodSpec.ResourceClaims.
  891. properties:
  892. name:
  893. description: Name must match the name
  894. of one entry in pod.spec.resourceClaims
  895. of the Pod where this field is used.
  896. It makes that resource available
  897. inside a container.
  898. type: string
  899. required:
  900. - name
  901. type: object
  902. type: array
  903. x-kubernetes-list-map-keys:
  904. - name
  905. x-kubernetes-list-type: map
  906. limits:
  907. additionalProperties:
  908. anyOf:
  909. - type: integer
  910. - type: string
  911. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  912. x-kubernetes-int-or-string: true
  913. description: 'Limits describes the maximum
  914. amount of compute resources allowed. More
  915. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  916. type: object
  917. requests:
  918. additionalProperties:
  919. anyOf:
  920. - type: integer
  921. - type: string
  922. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  923. x-kubernetes-int-or-string: true
  924. description: 'Requests describes the minimum
  925. amount of compute resources required.
  926. If Requests is omitted for a container,
  927. it defaults to Limits if that is explicitly
  928. specified, otherwise to an implementation-defined
  929. value. Requests cannot exceed Limits.
  930. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  931. type: object
  932. type: object
  933. selector:
  934. description: selector is a label query over
  935. volumes to consider for binding.
  936. properties:
  937. matchExpressions:
  938. description: matchExpressions is a list
  939. of label selector requirements. The requirements
  940. are ANDed.
  941. items:
  942. description: A label selector requirement
  943. is a selector that contains values,
  944. a key, and an operator that relates
  945. the key and values.
  946. properties:
  947. key:
  948. description: key is the label key
  949. that the selector applies to.
  950. type: string
  951. operator:
  952. description: operator represents a
  953. key's relationship to a set of values.
  954. Valid operators are In, NotIn, Exists
  955. and DoesNotExist.
  956. type: string
  957. values:
  958. description: values is an array of
  959. string values. If the operator is
  960. In or NotIn, the values array must
  961. be non-empty. If the operator is
  962. Exists or DoesNotExist, the values
  963. array must be empty. This array
  964. is replaced during a strategic merge
  965. patch.
  966. items:
  967. type: string
  968. type: array
  969. required:
  970. - key
  971. - operator
  972. type: object
  973. type: array
  974. matchLabels:
  975. additionalProperties:
  976. type: string
  977. description: matchLabels is a map of {key,value}
  978. pairs. A single {key,value} in the matchLabels
  979. map is equivalent to an element of matchExpressions,
  980. whose key field is "key", the operator
  981. is "In", and the values array contains
  982. only "value". The requirements are ANDed.
  983. type: object
  984. type: object
  985. x-kubernetes-map-type: atomic
  986. storageClassName:
  987. description: 'storageClassName is the name of
  988. the StorageClass required by the claim. More
  989. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  990. type: string
  991. volumeMode:
  992. description: volumeMode defines what type of
  993. volume is required by the claim. Value of
  994. Filesystem is implied when not included in
  995. claim spec.
  996. type: string
  997. volumeName:
  998. description: volumeName is the binding reference
  999. to the PersistentVolume backing this claim.
  1000. type: string
  1001. type: object
  1002. status:
  1003. description: 'status represents the current information/status
  1004. of a persistent volume claim. Read-only. More
  1005. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  1006. properties:
  1007. accessModes:
  1008. description: 'accessModes contains the actual
  1009. access modes the volume backing the PVC has.
  1010. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  1011. items:
  1012. type: string
  1013. type: array
  1014. allocatedResourceStatuses:
  1015. additionalProperties:
  1016. description: When a controller receives persistentvolume
  1017. claim update with ClaimResourceStatus for
  1018. a resource that it does not recognizes,
  1019. then it should ignore that update and let
  1020. other controllers handle it.
  1021. type: string
  1022. description: "allocatedResourceStatuses stores
  1023. status of resource being resized for the given
  1024. PVC. Key names follow standard Kubernetes
  1025. label syntax. Valid values are either: * Un-prefixed
  1026. keys: - storage - the capacity of the volume.
  1027. * Custom resources must use implementation-defined
  1028. prefixed names such as \"example.com/my-custom-resource\"
  1029. Apart from above values - keys that are unprefixed
  1030. or have kubernetes.io prefix are considered
  1031. reserved and hence may not be used. \n ClaimResourceStatus
  1032. can be in any of following states: - ControllerResizeInProgress:
  1033. State set when resize controller starts resizing
  1034. the volume in control-plane. - ControllerResizeFailed:
  1035. State set when resize has failed in resize
  1036. controller with a terminal error. - NodeResizePending:
  1037. State set when resize controller has finished
  1038. resizing the volume but further resizing of
  1039. volume is needed on the node. - NodeResizeInProgress:
  1040. State set when kubelet starts resizing the
  1041. volume. - NodeResizeFailed: State set when
  1042. resizing has failed in kubelet with a terminal
  1043. error. Transient errors don't set NodeResizeFailed.
  1044. For example: if expanding a PVC for more capacity
  1045. - this field can be one of the following states:
  1046. - pvc.status.allocatedResourceStatus['storage']
  1047. = \"ControllerResizeInProgress\" - pvc.status.allocatedResourceStatus['storage']
  1048. = \"ControllerResizeFailed\" - pvc.status.allocatedResourceStatus['storage']
  1049. = \"NodeResizePending\" - pvc.status.allocatedResourceStatus['storage']
  1050. = \"NodeResizeInProgress\" - pvc.status.allocatedResourceStatus['storage']
  1051. = \"NodeResizeFailed\" When this field is
  1052. not set, it means that no resize operation
  1053. is in progress for the given PVC. \n A controller
  1054. that receives PVC update with previously unknown
  1055. resourceName or ClaimResourceStatus should
  1056. ignore the update for the purpose it was designed.
  1057. For example - a controller that only is responsible
  1058. for resizing capacity of the volume, should
  1059. ignore PVC updates that change other valid
  1060. resources associated with PVC. \n This is
  1061. an alpha field and requires enabling RecoverVolumeExpansionFailure
  1062. feature."
  1063. type: object
  1064. x-kubernetes-map-type: granular
  1065. allocatedResources:
  1066. additionalProperties:
  1067. anyOf:
  1068. - type: integer
  1069. - type: string
  1070. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1071. x-kubernetes-int-or-string: true
  1072. description: "allocatedResources tracks the
  1073. resources allocated to a PVC including its
  1074. capacity. Key names follow standard Kubernetes
  1075. label syntax. Valid values are either: * Un-prefixed
  1076. keys: - storage - the capacity of the volume.
  1077. * Custom resources must use implementation-defined
  1078. prefixed names such as \"example.com/my-custom-resource\"
  1079. Apart from above values - keys that are unprefixed
  1080. or have kubernetes.io prefix are considered
  1081. reserved and hence may not be used. \n Capacity
  1082. reported here may be larger than the actual
  1083. capacity when a volume expansion operation
  1084. is requested. For storage quota, the larger
  1085. value from allocatedResources and PVC.spec.resources
  1086. is used. If allocatedResources is not set,
  1087. PVC.spec.resources alone is used for quota
  1088. calculation. If a volume expansion capacity
  1089. request is lowered, allocatedResources is
  1090. only lowered if there are no expansion operations
  1091. in progress and if the actual volume capacity
  1092. is equal or lower than the requested capacity.
  1093. \n A controller that receives PVC update with
  1094. previously unknown resourceName should ignore
  1095. the update for the purpose it was designed.
  1096. For example - a controller that only is responsible
  1097. for resizing capacity of the volume, should
  1098. ignore PVC updates that change other valid
  1099. resources associated with PVC. \n This is
  1100. an alpha field and requires enabling RecoverVolumeExpansionFailure
  1101. feature."
  1102. type: object
  1103. capacity:
  1104. additionalProperties:
  1105. anyOf:
  1106. - type: integer
  1107. - type: string
  1108. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1109. x-kubernetes-int-or-string: true
  1110. description: capacity represents the actual
  1111. resources of the underlying volume.
  1112. type: object
  1113. conditions:
  1114. description: conditions is the current Condition
  1115. of persistent volume claim. If underlying
  1116. persistent volume is being resized then the
  1117. Condition will be set to 'ResizeStarted'.
  1118. items:
  1119. description: PersistentVolumeClaimCondition
  1120. contains details about state of pvc
  1121. properties:
  1122. lastProbeTime:
  1123. description: lastProbeTime is the time
  1124. we probed the condition.
  1125. format: date-time
  1126. type: string
  1127. lastTransitionTime:
  1128. description: lastTransitionTime is the
  1129. time the condition transitioned from
  1130. one status to another.
  1131. format: date-time
  1132. type: string
  1133. message:
  1134. description: message is the human-readable
  1135. message indicating details about last
  1136. transition.
  1137. type: string
  1138. reason:
  1139. description: reason is a unique, this
  1140. should be a short, machine understandable
  1141. string that gives the reason for condition's
  1142. last transition. If it reports "ResizeStarted"
  1143. that means the underlying persistent
  1144. volume is being resized.
  1145. type: string
  1146. status:
  1147. type: string
  1148. type:
  1149. description: PersistentVolumeClaimConditionType
  1150. is a valid value of PersistentVolumeClaimCondition.Type
  1151. type: string
  1152. required:
  1153. - status
  1154. - type
  1155. type: object
  1156. type: array
  1157. phase:
  1158. description: phase represents the current phase
  1159. of PersistentVolumeClaim.
  1160. type: string
  1161. type: object
  1162. type: object
  1163. x-kubernetes-preserve-unknown-fields: true
  1164. type: object
  1165. nullable: true
  1166. type: array
  1167. type: object
  1168. volumeClaimTemplate:
  1169. description: VolumeClaimTemplate is the PVC definition
  1170. properties:
  1171. apiVersion:
  1172. description: 'APIVersion defines the versioned schema of this
  1173. representation of an object. Servers should convert recognized
  1174. schemas to the latest internal value, and may reject unrecognized
  1175. values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1176. type: string
  1177. kind:
  1178. description: 'Kind is a string value representing the REST
  1179. resource this object represents. Servers may infer this
  1180. from the endpoint the client submits requests to. Cannot
  1181. be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1182. type: string
  1183. metadata:
  1184. description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
  1185. properties:
  1186. annotations:
  1187. additionalProperties:
  1188. type: string
  1189. type: object
  1190. finalizers:
  1191. items:
  1192. type: string
  1193. type: array
  1194. labels:
  1195. additionalProperties:
  1196. type: string
  1197. type: object
  1198. name:
  1199. type: string
  1200. namespace:
  1201. type: string
  1202. type: object
  1203. spec:
  1204. description: 'spec defines the desired characteristics of
  1205. a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  1206. properties:
  1207. accessModes:
  1208. description: 'accessModes contains the desired access
  1209. modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  1210. items:
  1211. type: string
  1212. type: array
  1213. dataSource:
  1214. description: 'dataSource field can be used to specify
  1215. either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  1216. * An existing PVC (PersistentVolumeClaim) If the provisioner
  1217. or an external controller can support the specified
  1218. data source, it will create a new volume based on the
  1219. contents of the specified data source. When the AnyVolumeDataSource
  1220. feature gate is enabled, dataSource contents will be
  1221. copied to dataSourceRef, and dataSourceRef contents
  1222. will be copied to dataSource when dataSourceRef.namespace
  1223. is not specified. If the namespace is specified, then
  1224. dataSourceRef will not be copied to dataSource.'
  1225. properties:
  1226. apiGroup:
  1227. description: APIGroup is the group for the resource
  1228. being referenced. If APIGroup is not specified,
  1229. the specified Kind must be in the core API group.
  1230. For any other third-party types, APIGroup is required.
  1231. type: string
  1232. kind:
  1233. description: Kind is the type of resource being referenced
  1234. type: string
  1235. name:
  1236. description: Name is the name of resource being referenced
  1237. type: string
  1238. required:
  1239. - kind
  1240. - name
  1241. type: object
  1242. x-kubernetes-map-type: atomic
  1243. dataSourceRef:
  1244. description: 'dataSourceRef specifies the object from
  1245. which to populate the volume with data, if a non-empty
  1246. volume is desired. This may be any object from a non-empty
  1247. API group (non core object) or a PersistentVolumeClaim
  1248. object. When this field is specified, volume binding
  1249. will only succeed if the type of the specified object
  1250. matches some installed volume populator or dynamic provisioner.
  1251. This field will replace the functionality of the dataSource
  1252. field and as such if both fields are non-empty, they
  1253. must have the same value. For backwards compatibility,
  1254. when namespace isn''t specified in dataSourceRef, both
  1255. fields (dataSource and dataSourceRef) will be set to
  1256. the same value automatically if one of them is empty
  1257. and the other is non-empty. When namespace is specified
  1258. in dataSourceRef, dataSource isn''t set to the same
  1259. value and must be empty. There are three important differences
  1260. between dataSource and dataSourceRef: * While dataSource
  1261. only allows two specific types of objects, dataSourceRef
  1262. allows any non-core object, as well as PersistentVolumeClaim
  1263. objects. * While dataSource ignores disallowed values
  1264. (dropping them), dataSourceRef preserves all values,
  1265. and generates an error if a disallowed value is specified.
  1266. * While dataSource only allows local objects, dataSourceRef
  1267. allows objects in any namespaces. (Beta) Using this
  1268. field requires the AnyVolumeDataSource feature gate
  1269. to be enabled. (Alpha) Using the namespace field of
  1270. dataSourceRef requires the CrossNamespaceVolumeDataSource
  1271. feature gate to be enabled.'
  1272. properties:
  1273. apiGroup:
  1274. description: APIGroup is the group for the resource
  1275. being referenced. If APIGroup is not specified,
  1276. the specified Kind must be in the core API group.
  1277. For any other third-party types, APIGroup is required.
  1278. type: string
  1279. kind:
  1280. description: Kind is the type of resource being referenced
  1281. type: string
  1282. name:
  1283. description: Name is the name of resource being referenced
  1284. type: string
  1285. namespace:
  1286. description: Namespace is the namespace of resource
  1287. being referenced Note that when a namespace is specified,
  1288. a gateway.networking.k8s.io/ReferenceGrant object
  1289. is required in the referent namespace to allow that
  1290. namespace's owner to accept the reference. See the
  1291. ReferenceGrant documentation for details. (Alpha)
  1292. This field requires the CrossNamespaceVolumeDataSource
  1293. feature gate to be enabled.
  1294. type: string
  1295. required:
  1296. - kind
  1297. - name
  1298. type: object
  1299. resources:
  1300. description: 'resources represents the minimum resources
  1301. the volume should have. If RecoverVolumeExpansionFailure
  1302. feature is enabled users are allowed to specify resource
  1303. requirements that are lower than previous value but
  1304. must still be higher than capacity recorded in the status
  1305. field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  1306. properties:
  1307. claims:
  1308. description: "Claims lists the names of resources,
  1309. defined in spec.resourceClaims, that are used by
  1310. this container. \n This is an alpha field and requires
  1311. enabling the DynamicResourceAllocation feature gate.
  1312. \n This field is immutable. It can only be set for
  1313. containers."
  1314. items:
  1315. description: ResourceClaim references one entry
  1316. in PodSpec.ResourceClaims.
  1317. properties:
  1318. name:
  1319. description: Name must match the name of one
  1320. entry in pod.spec.resourceClaims of the Pod
  1321. where this field is used. It makes that resource
  1322. available inside a container.
  1323. type: string
  1324. required:
  1325. - name
  1326. type: object
  1327. type: array
  1328. x-kubernetes-list-map-keys:
  1329. - name
  1330. x-kubernetes-list-type: map
  1331. limits:
  1332. additionalProperties:
  1333. anyOf:
  1334. - type: integer
  1335. - type: string
  1336. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1337. x-kubernetes-int-or-string: true
  1338. description: 'Limits describes the maximum amount
  1339. of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1340. type: object
  1341. requests:
  1342. additionalProperties:
  1343. anyOf:
  1344. - type: integer
  1345. - type: string
  1346. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1347. x-kubernetes-int-or-string: true
  1348. description: 'Requests describes the minimum amount
  1349. of compute resources required. If Requests is omitted
  1350. for a container, it defaults to Limits if that is
  1351. explicitly specified, otherwise to an implementation-defined
  1352. value. Requests cannot exceed Limits. More info:
  1353. https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1354. type: object
  1355. type: object
  1356. selector:
  1357. description: selector is a label query over volumes to
  1358. consider for binding.
  1359. properties:
  1360. matchExpressions:
  1361. description: matchExpressions is a list of label selector
  1362. requirements. The requirements are ANDed.
  1363. items:
  1364. description: A label selector requirement is a selector
  1365. that contains values, a key, and an operator that
  1366. relates the key and values.
  1367. properties:
  1368. key:
  1369. description: key is the label key that the selector
  1370. applies to.
  1371. type: string
  1372. operator:
  1373. description: operator represents a key's relationship
  1374. to a set of values. Valid operators are In,
  1375. NotIn, Exists and DoesNotExist.
  1376. type: string
  1377. values:
  1378. description: values is an array of string values.
  1379. If the operator is In or NotIn, the values
  1380. array must be non-empty. If the operator is
  1381. Exists or DoesNotExist, the values array must
  1382. be empty. This array is replaced during a
  1383. strategic merge patch.
  1384. items:
  1385. type: string
  1386. type: array
  1387. required:
  1388. - key
  1389. - operator
  1390. type: object
  1391. type: array
  1392. matchLabels:
  1393. additionalProperties:
  1394. type: string
  1395. description: matchLabels is a map of {key,value} pairs.
  1396. A single {key,value} in the matchLabels map is equivalent
  1397. to an element of matchExpressions, whose key field
  1398. is "key", the operator is "In", and the values array
  1399. contains only "value". The requirements are ANDed.
  1400. type: object
  1401. type: object
  1402. x-kubernetes-map-type: atomic
  1403. storageClassName:
  1404. description: 'storageClassName is the name of the StorageClass
  1405. required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  1406. type: string
  1407. volumeMode:
  1408. description: volumeMode defines what type of volume is
  1409. required by the claim. Value of Filesystem is implied
  1410. when not included in claim spec.
  1411. type: string
  1412. volumeName:
  1413. description: volumeName is the binding reference to the
  1414. PersistentVolume backing this claim.
  1415. type: string
  1416. type: object
  1417. status:
  1418. description: 'status represents the current information/status
  1419. of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  1420. properties:
  1421. accessModes:
  1422. description: 'accessModes contains the actual access modes
  1423. the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  1424. items:
  1425. type: string
  1426. type: array
  1427. allocatedResourceStatuses:
  1428. additionalProperties:
  1429. description: When a controller receives persistentvolume
  1430. claim update with ClaimResourceStatus for a resource
  1431. that it does not recognizes, then it should ignore
  1432. that update and let other controllers handle it.
  1433. type: string
  1434. description: "allocatedResourceStatuses stores status
  1435. of resource being resized for the given PVC. Key names
  1436. follow standard Kubernetes label syntax. Valid values
  1437. are either: * Un-prefixed keys: - storage - the capacity
  1438. of the volume. * Custom resources must use implementation-defined
  1439. prefixed names such as \"example.com/my-custom-resource\"
  1440. Apart from above values - keys that are unprefixed or
  1441. have kubernetes.io prefix are considered reserved and
  1442. hence may not be used. \n ClaimResourceStatus can be
  1443. in any of following states: - ControllerResizeInProgress:
  1444. State set when resize controller starts resizing the
  1445. volume in control-plane. - ControllerResizeFailed: State
  1446. set when resize has failed in resize controller with
  1447. a terminal error. - NodeResizePending: State set when
  1448. resize controller has finished resizing the volume but
  1449. further resizing of volume is needed on the node. -
  1450. NodeResizeInProgress: State set when kubelet starts
  1451. resizing the volume. - NodeResizeFailed: State set when
  1452. resizing has failed in kubelet with a terminal error.
  1453. Transient errors don't set NodeResizeFailed. For example:
  1454. if expanding a PVC for more capacity - this field can
  1455. be one of the following states: - pvc.status.allocatedResourceStatus['storage']
  1456. = \"ControllerResizeInProgress\" - pvc.status.allocatedResourceStatus['storage']
  1457. = \"ControllerResizeFailed\" - pvc.status.allocatedResourceStatus['storage']
  1458. = \"NodeResizePending\" - pvc.status.allocatedResourceStatus['storage']
  1459. = \"NodeResizeInProgress\" - pvc.status.allocatedResourceStatus['storage']
  1460. = \"NodeResizeFailed\" When this field is not set, it
  1461. means that no resize operation is in progress for the
  1462. given PVC. \n A controller that receives PVC update
  1463. with previously unknown resourceName or ClaimResourceStatus
  1464. should ignore the update for the purpose it was designed.
  1465. For example - a controller that only is responsible
  1466. for resizing capacity of the volume, should ignore PVC
  1467. updates that change other valid resources associated
  1468. with PVC. \n This is an alpha field and requires enabling
  1469. RecoverVolumeExpansionFailure feature."
  1470. type: object
  1471. x-kubernetes-map-type: granular
  1472. allocatedResources:
  1473. additionalProperties:
  1474. anyOf:
  1475. - type: integer
  1476. - type: string
  1477. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1478. x-kubernetes-int-or-string: true
  1479. description: "allocatedResources tracks the resources
  1480. allocated to a PVC including its capacity. Key names
  1481. follow standard Kubernetes label syntax. Valid values
  1482. are either: * Un-prefixed keys: - storage - the capacity
  1483. of the volume. * Custom resources must use implementation-defined
  1484. prefixed names such as \"example.com/my-custom-resource\"
  1485. Apart from above values - keys that are unprefixed or
  1486. have kubernetes.io prefix are considered reserved and
  1487. hence may not be used. \n Capacity reported here may
  1488. be larger than the actual capacity when a volume expansion
  1489. operation is requested. For storage quota, the larger
  1490. value from allocatedResources and PVC.spec.resources
  1491. is used. If allocatedResources is not set, PVC.spec.resources
  1492. alone is used for quota calculation. If a volume expansion
  1493. capacity request is lowered, allocatedResources is only
  1494. lowered if there are no expansion operations in progress
  1495. and if the actual volume capacity is equal or lower
  1496. than the requested capacity. \n A controller that receives
  1497. PVC update with previously unknown resourceName should
  1498. ignore the update for the purpose it was designed. For
  1499. example - a controller that only is responsible for
  1500. resizing capacity of the volume, should ignore PVC updates
  1501. that change other valid resources associated with PVC.
  1502. \n This is an alpha field and requires enabling RecoverVolumeExpansionFailure
  1503. feature."
  1504. type: object
  1505. capacity:
  1506. additionalProperties:
  1507. anyOf:
  1508. - type: integer
  1509. - type: string
  1510. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1511. x-kubernetes-int-or-string: true
  1512. description: capacity represents the actual resources
  1513. of the underlying volume.
  1514. type: object
  1515. conditions:
  1516. description: conditions is the current Condition of persistent
  1517. volume claim. If underlying persistent volume is being
  1518. resized then the Condition will be set to 'ResizeStarted'.
  1519. items:
  1520. description: PersistentVolumeClaimCondition contains
  1521. details about state of pvc
  1522. properties:
  1523. lastProbeTime:
  1524. description: lastProbeTime is the time we probed
  1525. the condition.
  1526. format: date-time
  1527. type: string
  1528. lastTransitionTime:
  1529. description: lastTransitionTime is the time the
  1530. condition transitioned from one status to another.
  1531. format: date-time
  1532. type: string
  1533. message:
  1534. description: message is the human-readable message
  1535. indicating details about last transition.
  1536. type: string
  1537. reason:
  1538. description: reason is a unique, this should be
  1539. a short, machine understandable string that gives
  1540. the reason for condition's last transition. If
  1541. it reports "ResizeStarted" that means the underlying
  1542. persistent volume is being resized.
  1543. type: string
  1544. status:
  1545. type: string
  1546. type:
  1547. description: PersistentVolumeClaimConditionType
  1548. is a valid value of PersistentVolumeClaimCondition.Type
  1549. type: string
  1550. required:
  1551. - status
  1552. - type
  1553. type: object
  1554. type: array
  1555. phase:
  1556. description: phase represents the current phase of PersistentVolumeClaim.
  1557. type: string
  1558. type: object
  1559. type: object
  1560. x-kubernetes-preserve-unknown-fields: true
  1561. zones:
  1562. description: Zones are specified when we want to provide zonal
  1563. awareness to mons
  1564. items:
  1565. description: MonZoneSpec represents the specification of a zone
  1566. in a Ceph Cluster
  1567. properties:
  1568. arbiter:
  1569. description: Arbiter determines if the zone contains the
  1570. arbiter used for stretch cluster mode
  1571. type: boolean
  1572. name:
  1573. description: Name is the name of the zone
  1574. type: string
  1575. volumeClaimTemplate:
  1576. description: VolumeClaimTemplate is the PVC template
  1577. properties:
  1578. apiVersion:
  1579. description: 'APIVersion defines the versioned schema
  1580. of this representation of an object. Servers should
  1581. convert recognized schemas to the latest internal
  1582. value, and may reject unrecognized values. More info:
  1583. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  1584. type: string
  1585. kind:
  1586. description: 'Kind is a string value representing the
  1587. REST resource this object represents. Servers may
  1588. infer this from the endpoint the client submits requests
  1589. to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  1590. type: string
  1591. metadata:
  1592. description: 'Standard object''s metadata. More info:
  1593. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
  1594. properties:
  1595. annotations:
  1596. additionalProperties:
  1597. type: string
  1598. type: object
  1599. finalizers:
  1600. items:
  1601. type: string
  1602. type: array
  1603. labels:
  1604. additionalProperties:
  1605. type: string
  1606. type: object
  1607. name:
  1608. type: string
  1609. namespace:
  1610. type: string
  1611. type: object
  1612. spec:
  1613. description: 'spec defines the desired characteristics
  1614. of a volume requested by a pod author. More info:
  1615. https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  1616. properties:
  1617. accessModes:
  1618. description: 'accessModes contains the desired access
  1619. modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  1620. items:
  1621. type: string
  1622. type: array
  1623. dataSource:
  1624. description: 'dataSource field can be used to specify
  1625. either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  1626. * An existing PVC (PersistentVolumeClaim) If the
  1627. provisioner or an external controller can support
  1628. the specified data source, it will create a new
  1629. volume based on the contents of the specified
  1630. data source. When the AnyVolumeDataSource feature
  1631. gate is enabled, dataSource contents will be copied
  1632. to dataSourceRef, and dataSourceRef contents will
  1633. be copied to dataSource when dataSourceRef.namespace
  1634. is not specified. If the namespace is specified,
  1635. then dataSourceRef will not be copied to dataSource.'
  1636. properties:
  1637. apiGroup:
  1638. description: APIGroup is the group for the resource
  1639. being referenced. If APIGroup is not specified,
  1640. the specified Kind must be in the core API
  1641. group. For any other third-party types, APIGroup
  1642. is required.
  1643. type: string
  1644. kind:
  1645. description: Kind is the type of resource being
  1646. referenced
  1647. type: string
  1648. name:
  1649. description: Name is the name of resource being
  1650. referenced
  1651. type: string
  1652. required:
  1653. - kind
  1654. - name
  1655. type: object
  1656. x-kubernetes-map-type: atomic
  1657. dataSourceRef:
  1658. description: 'dataSourceRef specifies the object
  1659. from which to populate the volume with data, if
  1660. a non-empty volume is desired. This may be any
  1661. object from a non-empty API group (non core object)
  1662. or a PersistentVolumeClaim object. When this field
  1663. is specified, volume binding will only succeed
  1664. if the type of the specified object matches some
  1665. installed volume populator or dynamic provisioner.
  1666. This field will replace the functionality of the
  1667. dataSource field and as such if both fields are
  1668. non-empty, they must have the same value. For
  1669. backwards compatibility, when namespace isn''t
  1670. specified in dataSourceRef, both fields (dataSource
  1671. and dataSourceRef) will be set to the same value
  1672. automatically if one of them is empty and the
  1673. other is non-empty. When namespace is specified
  1674. in dataSourceRef, dataSource isn''t set to the
  1675. same value and must be empty. There are three
  1676. important differences between dataSource and dataSourceRef:
  1677. * While dataSource only allows two specific types
  1678. of objects, dataSourceRef allows any non-core
  1679. object, as well as PersistentVolumeClaim objects.
  1680. * While dataSource ignores disallowed values (dropping
  1681. them), dataSourceRef preserves all values, and
  1682. generates an error if a disallowed value is specified.
  1683. * While dataSource only allows local objects,
  1684. dataSourceRef allows objects in any namespaces.
  1685. (Beta) Using this field requires the AnyVolumeDataSource
  1686. feature gate to be enabled. (Alpha) Using the
  1687. namespace field of dataSourceRef requires the
  1688. CrossNamespaceVolumeDataSource feature gate to
  1689. be enabled.'
  1690. properties:
  1691. apiGroup:
  1692. description: APIGroup is the group for the resource
  1693. being referenced. If APIGroup is not specified,
  1694. the specified Kind must be in the core API
  1695. group. For any other third-party types, APIGroup
  1696. is required.
  1697. type: string
  1698. kind:
  1699. description: Kind is the type of resource being
  1700. referenced
  1701. type: string
  1702. name:
  1703. description: Name is the name of resource being
  1704. referenced
  1705. type: string
  1706. namespace:
  1707. description: Namespace is the namespace of resource
  1708. being referenced Note that when a namespace
  1709. is specified, a gateway.networking.k8s.io/ReferenceGrant
  1710. object is required in the referent namespace
  1711. to allow that namespace's owner to accept
  1712. the reference. See the ReferenceGrant documentation
  1713. for details. (Alpha) This field requires the
  1714. CrossNamespaceVolumeDataSource feature gate
  1715. to be enabled.
  1716. type: string
  1717. required:
  1718. - kind
  1719. - name
  1720. type: object
  1721. resources:
  1722. description: 'resources represents the minimum resources
  1723. the volume should have. If RecoverVolumeExpansionFailure
  1724. feature is enabled users are allowed to specify
  1725. resource requirements that are lower than previous
  1726. value but must still be higher than capacity recorded
  1727. in the status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  1728. properties:
  1729. claims:
  1730. description: "Claims lists the names of resources,
  1731. defined in spec.resourceClaims, that are used
  1732. by this container. \n This is an alpha field
  1733. and requires enabling the DynamicResourceAllocation
  1734. feature gate. \n This field is immutable.
  1735. It can only be set for containers."
  1736. items:
  1737. description: ResourceClaim references one
  1738. entry in PodSpec.ResourceClaims.
  1739. properties:
  1740. name:
  1741. description: Name must match the name
  1742. of one entry in pod.spec.resourceClaims
  1743. of the Pod where this field is used.
  1744. It makes that resource available inside
  1745. a container.
  1746. type: string
  1747. required:
  1748. - name
  1749. type: object
  1750. type: array
  1751. x-kubernetes-list-map-keys:
  1752. - name
  1753. x-kubernetes-list-type: map
  1754. limits:
  1755. additionalProperties:
  1756. anyOf:
  1757. - type: integer
  1758. - type: string
  1759. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1760. x-kubernetes-int-or-string: true
  1761. description: 'Limits describes the maximum amount
  1762. of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1763. type: object
  1764. requests:
  1765. additionalProperties:
  1766. anyOf:
  1767. - type: integer
  1768. - type: string
  1769. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1770. x-kubernetes-int-or-string: true
  1771. description: 'Requests describes the minimum
  1772. amount of compute resources required. If Requests
  1773. is omitted for a container, it defaults to
  1774. Limits if that is explicitly specified, otherwise
  1775. to an implementation-defined value. Requests
  1776. cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  1777. type: object
  1778. type: object
  1779. selector:
  1780. description: selector is a label query over volumes
  1781. to consider for binding.
  1782. properties:
  1783. matchExpressions:
  1784. description: matchExpressions is a list of label
  1785. selector requirements. The requirements are
  1786. ANDed.
  1787. items:
  1788. description: A label selector requirement
  1789. is a selector that contains values, a key,
  1790. and an operator that relates the key and
  1791. values.
  1792. properties:
  1793. key:
  1794. description: key is the label key that
  1795. the selector applies to.
  1796. type: string
  1797. operator:
  1798. description: operator represents a key's
  1799. relationship to a set of values. Valid
  1800. operators are In, NotIn, Exists and
  1801. DoesNotExist.
  1802. type: string
  1803. values:
  1804. description: values is an array of string
  1805. values. If the operator is In or NotIn,
  1806. the values array must be non-empty.
  1807. If the operator is Exists or DoesNotExist,
  1808. the values array must be empty. This
  1809. array is replaced during a strategic
  1810. merge patch.
  1811. items:
  1812. type: string
  1813. type: array
  1814. required:
  1815. - key
  1816. - operator
  1817. type: object
  1818. type: array
  1819. matchLabels:
  1820. additionalProperties:
  1821. type: string
  1822. description: matchLabels is a map of {key,value}
  1823. pairs. A single {key,value} in the matchLabels
  1824. map is equivalent to an element of matchExpressions,
  1825. whose key field is "key", the operator is
  1826. "In", and the values array contains only "value".
  1827. The requirements are ANDed.
  1828. type: object
  1829. type: object
  1830. x-kubernetes-map-type: atomic
  1831. storageClassName:
  1832. description: 'storageClassName is the name of the
  1833. StorageClass required by the claim. More info:
  1834. https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  1835. type: string
  1836. volumeMode:
  1837. description: volumeMode defines what type of volume
  1838. is required by the claim. Value of Filesystem
  1839. is implied when not included in claim spec.
  1840. type: string
  1841. volumeName:
  1842. description: volumeName is the binding reference
  1843. to the PersistentVolume backing this claim.
  1844. type: string
  1845. type: object
  1846. status:
  1847. description: 'status represents the current information/status
  1848. of a persistent volume claim. Read-only. More info:
  1849. https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  1850. properties:
  1851. accessModes:
  1852. description: 'accessModes contains the actual access
  1853. modes the volume backing the PVC has. More info:
  1854. https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  1855. items:
  1856. type: string
  1857. type: array
  1858. allocatedResourceStatuses:
  1859. additionalProperties:
  1860. description: When a controller receives persistentvolume
  1861. claim update with ClaimResourceStatus for a
  1862. resource that it does not recognizes, then it
  1863. should ignore that update and let other controllers
  1864. handle it.
  1865. type: string
  1866. description: "allocatedResourceStatuses stores status
  1867. of resource being resized for the given PVC. Key
  1868. names follow standard Kubernetes label syntax.
  1869. Valid values are either: * Un-prefixed keys: -
  1870. storage - the capacity of the volume. * Custom
  1871. resources must use implementation-defined prefixed
  1872. names such as \"example.com/my-custom-resource\"
  1873. Apart from above values - keys that are unprefixed
  1874. or have kubernetes.io prefix are considered reserved
  1875. and hence may not be used. \n ClaimResourceStatus
  1876. can be in any of following states: - ControllerResizeInProgress:
  1877. State set when resize controller starts resizing
  1878. the volume in control-plane. - ControllerResizeFailed:
  1879. State set when resize has failed in resize controller
  1880. with a terminal error. - NodeResizePending: State
  1881. set when resize controller has finished resizing
  1882. the volume but further resizing of volume is needed
  1883. on the node. - NodeResizeInProgress: State set
  1884. when kubelet starts resizing the volume. - NodeResizeFailed:
  1885. State set when resizing has failed in kubelet
  1886. with a terminal error. Transient errors don't
  1887. set NodeResizeFailed. For example: if expanding
  1888. a PVC for more capacity - this field can be one
  1889. of the following states: - pvc.status.allocatedResourceStatus['storage']
  1890. = \"ControllerResizeInProgress\" - pvc.status.allocatedResourceStatus['storage']
  1891. = \"ControllerResizeFailed\" - pvc.status.allocatedResourceStatus['storage']
  1892. = \"NodeResizePending\" - pvc.status.allocatedResourceStatus['storage']
  1893. = \"NodeResizeInProgress\" - pvc.status.allocatedResourceStatus['storage']
  1894. = \"NodeResizeFailed\" When this field is not
  1895. set, it means that no resize operation is in progress
  1896. for the given PVC. \n A controller that receives
  1897. PVC update with previously unknown resourceName
  1898. or ClaimResourceStatus should ignore the update
  1899. for the purpose it was designed. For example -
  1900. a controller that only is responsible for resizing
  1901. capacity of the volume, should ignore PVC updates
  1902. that change other valid resources associated with
  1903. PVC. \n This is an alpha field and requires enabling
  1904. RecoverVolumeExpansionFailure feature."
  1905. type: object
  1906. x-kubernetes-map-type: granular
  1907. allocatedResources:
  1908. additionalProperties:
  1909. anyOf:
  1910. - type: integer
  1911. - type: string
  1912. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1913. x-kubernetes-int-or-string: true
  1914. description: "allocatedResources tracks the resources
  1915. allocated to a PVC including its capacity. Key
  1916. names follow standard Kubernetes label syntax.
  1917. Valid values are either: * Un-prefixed keys: -
  1918. storage - the capacity of the volume. * Custom
  1919. resources must use implementation-defined prefixed
  1920. names such as \"example.com/my-custom-resource\"
  1921. Apart from above values - keys that are unprefixed
  1922. or have kubernetes.io prefix are considered reserved
  1923. and hence may not be used. \n Capacity reported
  1924. here may be larger than the actual capacity when
  1925. a volume expansion operation is requested. For
  1926. storage quota, the larger value from allocatedResources
  1927. and PVC.spec.resources is used. If allocatedResources
  1928. is not set, PVC.spec.resources alone is used for
  1929. quota calculation. If a volume expansion capacity
  1930. request is lowered, allocatedResources is only
  1931. lowered if there are no expansion operations in
  1932. progress and if the actual volume capacity is
  1933. equal or lower than the requested capacity. \n
  1934. A controller that receives PVC update with previously
  1935. unknown resourceName should ignore the update
  1936. for the purpose it was designed. For example -
  1937. a controller that only is responsible for resizing
  1938. capacity of the volume, should ignore PVC updates
  1939. that change other valid resources associated with
  1940. PVC. \n This is an alpha field and requires enabling
  1941. RecoverVolumeExpansionFailure feature."
  1942. type: object
  1943. capacity:
  1944. additionalProperties:
  1945. anyOf:
  1946. - type: integer
  1947. - type: string
  1948. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  1949. x-kubernetes-int-or-string: true
  1950. description: capacity represents the actual resources
  1951. of the underlying volume.
  1952. type: object
  1953. conditions:
  1954. description: conditions is the current Condition
  1955. of persistent volume claim. If underlying persistent
  1956. volume is being resized then the Condition will
  1957. be set to 'ResizeStarted'.
  1958. items:
  1959. description: PersistentVolumeClaimCondition contains
  1960. details about state of pvc
  1961. properties:
  1962. lastProbeTime:
  1963. description: lastProbeTime is the time we
  1964. probed the condition.
  1965. format: date-time
  1966. type: string
  1967. lastTransitionTime:
  1968. description: lastTransitionTime is the time
  1969. the condition transitioned from one status
  1970. to another.
  1971. format: date-time
  1972. type: string
  1973. message:
  1974. description: message is the human-readable
  1975. message indicating details about last transition.
  1976. type: string
  1977. reason:
  1978. description: reason is a unique, this should
  1979. be a short, machine understandable string
  1980. that gives the reason for condition's last
  1981. transition. If it reports "ResizeStarted"
  1982. that means the underlying persistent volume
  1983. is being resized.
  1984. type: string
  1985. status:
  1986. type: string
  1987. type:
  1988. description: PersistentVolumeClaimConditionType
  1989. is a valid value of PersistentVolumeClaimCondition.Type
  1990. type: string
  1991. required:
  1992. - status
  1993. - type
  1994. type: object
  1995. type: array
  1996. phase:
  1997. description: phase represents the current phase
  1998. of PersistentVolumeClaim.
  1999. type: string
  2000. type: object
  2001. type: object
  2002. x-kubernetes-preserve-unknown-fields: true
  2003. type: object
  2004. type: array
  2005. type: object
  2006. monitoring:
  2007. description: Prometheus based Monitoring settings
  2008. nullable: true
  2009. properties:
  2010. enabled:
  2011. description: Enabled determines whether to create the prometheus
  2012. rules for the ceph cluster. If true, the prometheus types must
  2013. exist or the creation will fail. Default is false.
  2014. type: boolean
  2015. externalMgrEndpoints:
  2016. description: ExternalMgrEndpoints points to an existing Ceph prometheus
  2017. exporter endpoint
  2018. items:
  2019. description: EndpointAddress is a tuple that describes single
  2020. IP address.
  2021. properties:
  2022. hostname:
  2023. description: The Hostname of this endpoint
  2024. type: string
  2025. ip:
  2026. description: The IP of this endpoint. May not be loopback
  2027. (127.0.0.0/8 or ::1), link-local (169.254.0.0/16 or fe80::/10),
  2028. or link-local multicast (224.0.0.0/24 or ff02::/16).
  2029. type: string
  2030. nodeName:
  2031. description: 'Optional: Node hosting this endpoint. This
  2032. can be used to determine endpoints local to a node.'
  2033. type: string
  2034. targetRef:
  2035. description: Reference to object providing the endpoint.
  2036. properties:
  2037. apiVersion:
  2038. description: API version of the referent.
  2039. type: string
  2040. fieldPath:
  2041. description: 'If referring to a piece of an object instead
  2042. of an entire object, this string should contain a
  2043. valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
  2044. For example, if the object reference is to a container
  2045. within a pod, this would take on a value like: "spec.containers{name}"
  2046. (where "name" refers to the name of the container
  2047. that triggered the event) or if no container name
  2048. is specified "spec.containers[2]" (container with
  2049. index 2 in this pod). This syntax is chosen only to
  2050. have some well-defined way of referencing a part of
  2051. an object. TODO: this design is not final and this
  2052. field is subject to change in the future.'
  2053. type: string
  2054. kind:
  2055. description: 'Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  2056. type: string
  2057. name:
  2058. description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names'
  2059. type: string
  2060. namespace:
  2061. description: 'Namespace of the referent. More info:
  2062. https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/'
  2063. type: string
  2064. resourceVersion:
  2065. description: 'Specific resourceVersion to which this
  2066. reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency'
  2067. type: string
  2068. uid:
  2069. description: 'UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids'
  2070. type: string
  2071. type: object
  2072. x-kubernetes-map-type: atomic
  2073. required:
  2074. - ip
  2075. type: object
  2076. x-kubernetes-map-type: atomic
  2077. nullable: true
  2078. type: array
  2079. externalMgrPrometheusPort:
  2080. description: ExternalMgrPrometheusPort Prometheus exporter port
  2081. maximum: 65535
  2082. minimum: 0
  2083. type: integer
  2084. interval:
  2085. description: Interval determines prometheus scrape interval
  2086. type: string
  2087. metricsDisabled:
  2088. description: Whether to disable the metrics reported by Ceph.
  2089. If false, the prometheus mgr module and Ceph exporter are enabled.
  2090. If true, the prometheus mgr module and Ceph exporter are both
  2091. disabled. Default is false.
  2092. type: boolean
  2093. port:
  2094. description: Port is the prometheus server port
  2095. maximum: 65535
  2096. minimum: 0
  2097. type: integer
  2098. type: object
  2099. network:
  2100. description: Network related configuration
  2101. nullable: true
  2102. properties:
  2103. connections:
  2104. description: Settings for network connections such as compression
  2105. and encryption across the wire.
  2106. nullable: true
  2107. properties:
  2108. compression:
  2109. description: Compression settings for the network connections.
  2110. nullable: true
  2111. properties:
  2112. enabled:
  2113. description: Whether to compress the data in transit across
  2114. the wire. The default is not set. Requires Ceph Quincy
  2115. (v17) or newer.
  2116. type: boolean
  2117. type: object
  2118. encryption:
  2119. description: Encryption settings for the network connections.
  2120. nullable: true
  2121. properties:
  2122. enabled:
  2123. description: Whether to encrypt the data in transit across
  2124. the wire to prevent eavesdropping the data on the network.
  2125. The default is not set. Even if encryption is not enabled,
  2126. clients still establish a strong initial authentication
  2127. for the connection and data integrity is still validated
  2128. with a crc check. When encryption is enabled, all communication
  2129. between clients and Ceph daemons, or between Ceph daemons
  2130. will be encrypted.
  2131. type: boolean
  2132. type: object
  2133. requireMsgr2:
  2134. description: Whether to require msgr2 (port 3300) even if
  2135. compression or encryption are not enabled. If true, the
  2136. msgr1 port (6789) will be disabled. Requires a kernel that
  2137. supports msgr2 (kernel 5.11 or CentOS 8.4 or newer).
  2138. type: boolean
  2139. type: object
  2140. dualStack:
  2141. description: DualStack determines whether Ceph daemons should
  2142. listen on both IPv4 and IPv6
  2143. type: boolean
  2144. hostNetwork:
  2145. description: HostNetwork to enable host network
  2146. type: boolean
  2147. ipFamily:
  2148. description: IPFamily is the single stack IPv6 or IPv4 protocol
  2149. enum:
  2150. - IPv4
  2151. - IPv6
  2152. nullable: true
  2153. type: string
  2154. multiClusterService:
  2155. description: Enable multiClusterService to export the Services
  2156. between peer clusters
  2157. properties:
  2158. clusterID:
  2159. description: 'ClusterID uniquely identifies a cluster. It
  2160. is used as a prefix to nslookup exported services. For example:
  2161. <clusterid>.<svc>.<ns>.svc.clusterset.local'
  2162. type: string
  2163. enabled:
  2164. description: Enable multiClusterService to export the mon
  2165. and OSD services to peer cluster. Ensure that peer clusters
  2166. are connected using an MCS API compatible application, like
  2167. Globalnet Submariner.
  2168. type: boolean
  2169. type: object
  2170. provider:
  2171. description: Provider is what provides network connectivity to
  2172. the cluster e.g. "host" or "multus"
  2173. nullable: true
  2174. type: string
  2175. selectors:
  2176. additionalProperties:
  2177. type: string
  2178. description: Selectors string values describe what networks will
  2179. be used to connect the cluster. Meanwhile the keys describe
  2180. each network respective responsibilities or any metadata storage
  2181. provider decide.
  2182. nullable: true
  2183. type: object
  2184. type: object
  2185. x-kubernetes-preserve-unknown-fields: true
  2186. placement:
  2187. additionalProperties:
  2188. description: Placement is the placement for an object
  2189. properties:
  2190. nodeAffinity:
  2191. description: NodeAffinity is a group of node affinity scheduling
  2192. rules
  2193. properties:
  2194. preferredDuringSchedulingIgnoredDuringExecution:
  2195. description: The scheduler will prefer to schedule pods
  2196. to nodes that satisfy the affinity expressions specified
  2197. by this field, but it may choose a node that violates
  2198. one or more of the expressions. The node that is most
  2199. preferred is the one with the greatest sum of weights,
  2200. i.e. for each node that meets all of the scheduling requirements
  2201. (resource request, requiredDuringScheduling affinity expressions,
  2202. etc.), compute a sum by iterating through the elements
  2203. of this field and adding "weight" to the sum if the node
  2204. matches the corresponding matchExpressions; the node(s)
  2205. with the highest sum are the most preferred.
  2206. items:
  2207. description: An empty preferred scheduling term matches
  2208. all objects with implicit weight 0 (i.e. it's a no-op).
  2209. A null preferred scheduling term matches no objects
  2210. (i.e. is also a no-op).
  2211. properties:
  2212. preference:
  2213. description: A node selector term, associated with
  2214. the corresponding weight.
  2215. properties:
  2216. matchExpressions:
  2217. description: A list of node selector requirements
  2218. by node's labels.
  2219. items:
  2220. description: A node selector requirement is
  2221. a selector that contains values, a key, and
  2222. an operator that relates the key and values.
  2223. properties:
  2224. key:
  2225. description: The label key that the selector
  2226. applies to.
  2227. type: string
  2228. operator:
  2229. description: Represents a key's relationship
  2230. to a set of values. Valid operators are
  2231. In, NotIn, Exists, DoesNotExist. Gt, and
  2232. Lt.
  2233. type: string
  2234. values:
  2235. description: An array of string values.
  2236. If the operator is In or NotIn, the values
  2237. array must be non-empty. If the operator
  2238. is Exists or DoesNotExist, the values
  2239. array must be empty. If the operator is
  2240. Gt or Lt, the values array must have a
  2241. single element, which will be interpreted
  2242. as an integer. This array is replaced
  2243. during a strategic merge patch.
  2244. items:
  2245. type: string
  2246. type: array
  2247. required:
  2248. - key
  2249. - operator
  2250. type: object
  2251. type: array
  2252. matchFields:
  2253. description: A list of node selector requirements
  2254. by node's fields.
  2255. items:
  2256. description: A node selector requirement is
  2257. a selector that contains values, a key, and
  2258. an operator that relates the key and values.
  2259. properties:
  2260. key:
  2261. description: The label key that the selector
  2262. applies to.
  2263. type: string
  2264. operator:
  2265. description: Represents a key's relationship
  2266. to a set of values. Valid operators are
  2267. In, NotIn, Exists, DoesNotExist. Gt, and
  2268. Lt.
  2269. type: string
  2270. values:
  2271. description: An array of string values.
  2272. If the operator is In or NotIn, the values
  2273. array must be non-empty. If the operator
  2274. is Exists or DoesNotExist, the values
  2275. array must be empty. If the operator is
  2276. Gt or Lt, the values array must have a
  2277. single element, which will be interpreted
  2278. as an integer. This array is replaced
  2279. during a strategic merge patch.
  2280. items:
  2281. type: string
  2282. type: array
  2283. required:
  2284. - key
  2285. - operator
  2286. type: object
  2287. type: array
  2288. type: object
  2289. x-kubernetes-map-type: atomic
  2290. weight:
  2291. description: Weight associated with matching the corresponding
  2292. nodeSelectorTerm, in the range 1-100.
  2293. format: int32
  2294. type: integer
  2295. required:
  2296. - preference
  2297. - weight
  2298. type: object
  2299. type: array
  2300. requiredDuringSchedulingIgnoredDuringExecution:
  2301. description: If the affinity requirements specified by this
  2302. field are not met at scheduling time, the pod will not
  2303. be scheduled onto the node. If the affinity requirements
  2304. specified by this field cease to be met at some point
  2305. during pod execution (e.g. due to an update), the system
  2306. may or may not try to eventually evict the pod from its
  2307. node.
  2308. properties:
  2309. nodeSelectorTerms:
  2310. description: Required. A list of node selector terms.
  2311. The terms are ORed.
  2312. items:
  2313. description: A null or empty node selector term matches
  2314. no objects. The requirements of them are ANDed.
  2315. The TopologySelectorTerm type implements a subset
  2316. of the NodeSelectorTerm.
  2317. properties:
  2318. matchExpressions:
  2319. description: A list of node selector requirements
  2320. by node's labels.
  2321. items:
  2322. description: A node selector requirement is
  2323. a selector that contains values, a key, and
  2324. an operator that relates the key and values.
  2325. properties:
  2326. key:
  2327. description: The label key that the selector
  2328. applies to.
  2329. type: string
  2330. operator:
  2331. description: Represents a key's relationship
  2332. to a set of values. Valid operators are
  2333. In, NotIn, Exists, DoesNotExist. Gt, and
  2334. Lt.
  2335. type: string
  2336. values:
  2337. description: An array of string values.
  2338. If the operator is In or NotIn, the values
  2339. array must be non-empty. If the operator
  2340. is Exists or DoesNotExist, the values
  2341. array must be empty. If the operator is
  2342. Gt or Lt, the values array must have a
  2343. single element, which will be interpreted
  2344. as an integer. This array is replaced
  2345. during a strategic merge patch.
  2346. items:
  2347. type: string
  2348. type: array
  2349. required:
  2350. - key
  2351. - operator
  2352. type: object
  2353. type: array
  2354. matchFields:
  2355. description: A list of node selector requirements
  2356. by node's fields.
  2357. items:
  2358. description: A node selector requirement is
  2359. a selector that contains values, a key, and
  2360. an operator that relates the key and values.
  2361. properties:
  2362. key:
  2363. description: The label key that the selector
  2364. applies to.
  2365. type: string
  2366. operator:
  2367. description: Represents a key's relationship
  2368. to a set of values. Valid operators are
  2369. In, NotIn, Exists, DoesNotExist. Gt, and
  2370. Lt.
  2371. type: string
  2372. values:
  2373. description: An array of string values.
  2374. If the operator is In or NotIn, the values
  2375. array must be non-empty. If the operator
  2376. is Exists or DoesNotExist, the values
  2377. array must be empty. If the operator is
  2378. Gt or Lt, the values array must have a
  2379. single element, which will be interpreted
  2380. as an integer. This array is replaced
  2381. during a strategic merge patch.
  2382. items:
  2383. type: string
  2384. type: array
  2385. required:
  2386. - key
  2387. - operator
  2388. type: object
  2389. type: array
  2390. type: object
  2391. x-kubernetes-map-type: atomic
  2392. type: array
  2393. required:
  2394. - nodeSelectorTerms
  2395. type: object
  2396. x-kubernetes-map-type: atomic
  2397. type: object
  2398. podAffinity:
  2399. description: PodAffinity is a group of inter pod affinity scheduling
  2400. rules
  2401. properties:
  2402. preferredDuringSchedulingIgnoredDuringExecution:
  2403. description: The scheduler will prefer to schedule pods
  2404. to nodes that satisfy the affinity expressions specified
  2405. by this field, but it may choose a node that violates
  2406. one or more of the expressions. The node that is most
  2407. preferred is the one with the greatest sum of weights,
  2408. i.e. for each node that meets all of the scheduling requirements
  2409. (resource request, requiredDuringScheduling affinity expressions,
  2410. etc.), compute a sum by iterating through the elements
  2411. of this field and adding "weight" to the sum if the node
  2412. has pods which matches the corresponding podAffinityTerm;
  2413. the node(s) with the highest sum are the most preferred.
  2414. items:
  2415. description: The weights of all of the matched WeightedPodAffinityTerm
  2416. fields are added per-node to find the most preferred
  2417. node(s)
  2418. properties:
  2419. podAffinityTerm:
  2420. description: Required. A pod affinity term, associated
  2421. with the corresponding weight.
  2422. properties:
  2423. labelSelector:
  2424. description: A label query over a set of resources,
  2425. in this case pods.
  2426. properties:
  2427. matchExpressions:
  2428. description: matchExpressions is a list of
  2429. label selector requirements. The requirements
  2430. are ANDed.
  2431. items:
  2432. description: A label selector requirement
  2433. is a selector that contains values, a
  2434. key, and an operator that relates the
  2435. key and values.
  2436. properties:
  2437. key:
  2438. description: key is the label key that
  2439. the selector applies to.
  2440. type: string
  2441. operator:
  2442. description: operator represents a key's
  2443. relationship to a set of values. Valid
  2444. operators are In, NotIn, Exists and
  2445. DoesNotExist.
  2446. type: string
  2447. values:
  2448. description: values is an array of string
  2449. values. If the operator is In or NotIn,
  2450. the values array must be non-empty.
  2451. If the operator is Exists or DoesNotExist,
  2452. the values array must be empty. This
  2453. array is replaced during a strategic
  2454. merge patch.
  2455. items:
  2456. type: string
  2457. type: array
  2458. required:
  2459. - key
  2460. - operator
  2461. type: object
  2462. type: array
  2463. matchLabels:
  2464. additionalProperties:
  2465. type: string
  2466. description: matchLabels is a map of {key,value}
  2467. pairs. A single {key,value} in the matchLabels
  2468. map is equivalent to an element of matchExpressions,
  2469. whose key field is "key", the operator is
  2470. "In", and the values array contains only
  2471. "value". The requirements are ANDed.
  2472. type: object
  2473. type: object
  2474. x-kubernetes-map-type: atomic
  2475. namespaceSelector:
  2476. description: A label query over the set of namespaces
  2477. that the term applies to. The term is applied
  2478. to the union of the namespaces selected by this
  2479. field and the ones listed in the namespaces
  2480. field. null selector and null or empty namespaces
  2481. list means "this pod's namespace". An empty
  2482. selector ({}) matches all namespaces.
  2483. properties:
  2484. matchExpressions:
  2485. description: matchExpressions is a list of
  2486. label selector requirements. The requirements
  2487. are ANDed.
  2488. items:
  2489. description: A label selector requirement
  2490. is a selector that contains values, a
  2491. key, and an operator that relates the
  2492. key and values.
  2493. properties:
  2494. key:
  2495. description: key is the label key that
  2496. the selector applies to.
  2497. type: string
  2498. operator:
  2499. description: operator represents a key's
  2500. relationship to a set of values. Valid
  2501. operators are In, NotIn, Exists and
  2502. DoesNotExist.
  2503. type: string
  2504. values:
  2505. description: values is an array of string
  2506. values. If the operator is In or NotIn,
  2507. the values array must be non-empty.
  2508. If the operator is Exists or DoesNotExist,
  2509. the values array must be empty. This
  2510. array is replaced during a strategic
  2511. merge patch.
  2512. items:
  2513. type: string
  2514. type: array
  2515. required:
  2516. - key
  2517. - operator
  2518. type: object
  2519. type: array
  2520. matchLabels:
  2521. additionalProperties:
  2522. type: string
  2523. description: matchLabels is a map of {key,value}
  2524. pairs. A single {key,value} in the matchLabels
  2525. map is equivalent to an element of matchExpressions,
  2526. whose key field is "key", the operator is
  2527. "In", and the values array contains only
  2528. "value". The requirements are ANDed.
  2529. type: object
  2530. type: object
  2531. x-kubernetes-map-type: atomic
  2532. namespaces:
  2533. description: namespaces specifies a static list
  2534. of namespace names that the term applies to.
  2535. The term is applied to the union of the namespaces
  2536. listed in this field and the ones selected by
  2537. namespaceSelector. null or empty namespaces
  2538. list and null namespaceSelector means "this
  2539. pod's namespace".
  2540. items:
  2541. type: string
  2542. type: array
  2543. topologyKey:
  2544. description: This pod should be co-located (affinity)
  2545. or not co-located (anti-affinity) with the pods
  2546. matching the labelSelector in the specified
  2547. namespaces, where co-located is defined as running
  2548. on a node whose value of the label with key
  2549. topologyKey matches that of any node on which
  2550. any of the selected pods is running. Empty topologyKey
  2551. is not allowed.
  2552. type: string
  2553. required:
  2554. - topologyKey
  2555. type: object
  2556. weight:
  2557. description: weight associated with matching the corresponding
  2558. podAffinityTerm, in the range 1-100.
  2559. format: int32
  2560. type: integer
  2561. required:
  2562. - podAffinityTerm
  2563. - weight
  2564. type: object
  2565. type: array
  2566. requiredDuringSchedulingIgnoredDuringExecution:
  2567. description: If the affinity requirements specified by this
  2568. field are not met at scheduling time, the pod will not
  2569. be scheduled onto the node. If the affinity requirements
  2570. specified by this field cease to be met at some point
  2571. during pod execution (e.g. due to a pod label update),
  2572. the system may or may not try to eventually evict the
  2573. pod from its node. When there are multiple elements, the
  2574. lists of nodes corresponding to each podAffinityTerm are
  2575. intersected, i.e. all terms must be satisfied.
  2576. items:
  2577. description: Defines a set of pods (namely those matching
  2578. the labelSelector relative to the given namespace(s))
  2579. that this pod should be co-located (affinity) or not
  2580. co-located (anti-affinity) with, where co-located is
  2581. defined as running on a node whose value of the label
  2582. with key <topologyKey> matches that of any node on which
  2583. a pod of the set of pods is running
  2584. properties:
  2585. labelSelector:
  2586. description: A label query over a set of resources,
  2587. in this case pods.
  2588. properties:
  2589. matchExpressions:
  2590. description: matchExpressions is a list of label
  2591. selector requirements. The requirements are
  2592. ANDed.
  2593. items:
  2594. description: A label selector requirement is
  2595. a selector that contains values, a key, and
  2596. an operator that relates the key and values.
  2597. properties:
  2598. key:
  2599. description: key is the label key that the
  2600. selector applies to.
  2601. type: string
  2602. operator:
  2603. description: operator represents a key's
  2604. relationship to a set of values. Valid
  2605. operators are In, NotIn, Exists and DoesNotExist.
  2606. type: string
  2607. values:
  2608. description: values is an array of string
  2609. values. If the operator is In or NotIn,
  2610. the values array must be non-empty. If
  2611. the operator is Exists or DoesNotExist,
  2612. the values array must be empty. This array
  2613. is replaced during a strategic merge patch.
  2614. items:
  2615. type: string
  2616. type: array
  2617. required:
  2618. - key
  2619. - operator
  2620. type: object
  2621. type: array
  2622. matchLabels:
  2623. additionalProperties:
  2624. type: string
  2625. description: matchLabels is a map of {key,value}
  2626. pairs. A single {key,value} in the matchLabels
  2627. map is equivalent to an element of matchExpressions,
  2628. whose key field is "key", the operator is "In",
  2629. and the values array contains only "value".
  2630. The requirements are ANDed.
  2631. type: object
  2632. type: object
  2633. x-kubernetes-map-type: atomic
  2634. namespaceSelector:
  2635. description: A label query over the set of namespaces
  2636. that the term applies to. The term is applied to
  2637. the union of the namespaces selected by this field
  2638. and the ones listed in the namespaces field. null
  2639. selector and null or empty namespaces list means
  2640. "this pod's namespace". An empty selector ({}) matches
  2641. all namespaces.
  2642. properties:
  2643. matchExpressions:
  2644. description: matchExpressions is a list of label
  2645. selector requirements. The requirements are
  2646. ANDed.
  2647. items:
  2648. description: A label selector requirement is
  2649. a selector that contains values, a key, and
  2650. an operator that relates the key and values.
  2651. properties:
  2652. key:
  2653. description: key is the label key that the
  2654. selector applies to.
  2655. type: string
  2656. operator:
  2657. description: operator represents a key's
  2658. relationship to a set of values. Valid
  2659. operators are In, NotIn, Exists and DoesNotExist.
  2660. type: string
  2661. values:
  2662. description: values is an array of string
  2663. values. If the operator is In or NotIn,
  2664. the values array must be non-empty. If
  2665. the operator is Exists or DoesNotExist,
  2666. the values array must be empty. This array
  2667. is replaced during a strategic merge patch.
  2668. items:
  2669. type: string
  2670. type: array
  2671. required:
  2672. - key
  2673. - operator
  2674. type: object
  2675. type: array
  2676. matchLabels:
  2677. additionalProperties:
  2678. type: string
  2679. description: matchLabels is a map of {key,value}
  2680. pairs. A single {key,value} in the matchLabels
  2681. map is equivalent to an element of matchExpressions,
  2682. whose key field is "key", the operator is "In",
  2683. and the values array contains only "value".
  2684. The requirements are ANDed.
  2685. type: object
  2686. type: object
  2687. x-kubernetes-map-type: atomic
  2688. namespaces:
  2689. description: namespaces specifies a static list of
  2690. namespace names that the term applies to. The term
  2691. is applied to the union of the namespaces listed
  2692. in this field and the ones selected by namespaceSelector.
  2693. null or empty namespaces list and null namespaceSelector
  2694. means "this pod's namespace".
  2695. items:
  2696. type: string
  2697. type: array
  2698. topologyKey:
  2699. description: This pod should be co-located (affinity)
  2700. or not co-located (anti-affinity) with the pods
  2701. matching the labelSelector in the specified namespaces,
  2702. where co-located is defined as running on a node
  2703. whose value of the label with key topologyKey matches
  2704. that of any node on which any of the selected pods
  2705. is running. Empty topologyKey is not allowed.
  2706. type: string
  2707. required:
  2708. - topologyKey
  2709. type: object
  2710. type: array
  2711. type: object
  2712. podAntiAffinity:
  2713. description: PodAntiAffinity is a group of inter pod anti affinity
  2714. scheduling rules
  2715. properties:
  2716. preferredDuringSchedulingIgnoredDuringExecution:
  2717. description: The scheduler will prefer to schedule pods
  2718. to nodes that satisfy the anti-affinity expressions specified
  2719. by this field, but it may choose a node that violates
  2720. one or more of the expressions. The node that is most
  2721. preferred is the one with the greatest sum of weights,
  2722. i.e. for each node that meets all of the scheduling requirements
  2723. (resource request, requiredDuringScheduling anti-affinity
  2724. expressions, etc.), compute a sum by iterating through
  2725. the elements of this field and adding "weight" to the
  2726. sum if the node has pods which matches the corresponding
  2727. podAffinityTerm; the node(s) with the highest sum are
  2728. the most preferred.
  2729. items:
  2730. description: The weights of all of the matched WeightedPodAffinityTerm
  2731. fields are added per-node to find the most preferred
  2732. node(s)
  2733. properties:
  2734. podAffinityTerm:
  2735. description: Required. A pod affinity term, associated
  2736. with the corresponding weight.
  2737. properties:
  2738. labelSelector:
  2739. description: A label query over a set of resources,
  2740. in this case pods.
  2741. properties:
  2742. matchExpressions:
  2743. description: matchExpressions is a list of
  2744. label selector requirements. The requirements
  2745. are ANDed.
  2746. items:
  2747. description: A label selector requirement
  2748. is a selector that contains values, a
  2749. key, and an operator that relates the
  2750. key and values.
  2751. properties:
  2752. key:
  2753. description: key is the label key that
  2754. the selector applies to.
  2755. type: string
  2756. operator:
  2757. description: operator represents a key's
  2758. relationship to a set of values. Valid
  2759. operators are In, NotIn, Exists and
  2760. DoesNotExist.
  2761. type: string
  2762. values:
  2763. description: values is an array of string
  2764. values. If the operator is In or NotIn,
  2765. the values array must be non-empty.
  2766. If the operator is Exists or DoesNotExist,
  2767. the values array must be empty. This
  2768. array is replaced during a strategic
  2769. merge patch.
  2770. items:
  2771. type: string
  2772. type: array
  2773. required:
  2774. - key
  2775. - operator
  2776. type: object
  2777. type: array
  2778. matchLabels:
  2779. additionalProperties:
  2780. type: string
  2781. description: matchLabels is a map of {key,value}
  2782. pairs. A single {key,value} in the matchLabels
  2783. map is equivalent to an element of matchExpressions,
  2784. whose key field is "key", the operator is
  2785. "In", and the values array contains only
  2786. "value". The requirements are ANDed.
  2787. type: object
  2788. type: object
  2789. x-kubernetes-map-type: atomic
  2790. namespaceSelector:
  2791. description: A label query over the set of namespaces
  2792. that the term applies to. The term is applied
  2793. to the union of the namespaces selected by this
  2794. field and the ones listed in the namespaces
  2795. field. null selector and null or empty namespaces
  2796. list means "this pod's namespace". An empty
  2797. selector ({}) matches all namespaces.
  2798. properties:
  2799. matchExpressions:
  2800. description: matchExpressions is a list of
  2801. label selector requirements. The requirements
  2802. are ANDed.
  2803. items:
  2804. description: A label selector requirement
  2805. is a selector that contains values, a
  2806. key, and an operator that relates the
  2807. key and values.
  2808. properties:
  2809. key:
  2810. description: key is the label key that
  2811. the selector applies to.
  2812. type: string
  2813. operator:
  2814. description: operator represents a key's
  2815. relationship to a set of values. Valid
  2816. operators are In, NotIn, Exists and
  2817. DoesNotExist.
  2818. type: string
  2819. values:
  2820. description: values is an array of string
  2821. values. If the operator is In or NotIn,
  2822. the values array must be non-empty.
  2823. If the operator is Exists or DoesNotExist,
  2824. the values array must be empty. This
  2825. array is replaced during a strategic
  2826. merge patch.
  2827. items:
  2828. type: string
  2829. type: array
  2830. required:
  2831. - key
  2832. - operator
  2833. type: object
  2834. type: array
  2835. matchLabels:
  2836. additionalProperties:
  2837. type: string
  2838. description: matchLabels is a map of {key,value}
  2839. pairs. A single {key,value} in the matchLabels
  2840. map is equivalent to an element of matchExpressions,
  2841. whose key field is "key", the operator is
  2842. "In", and the values array contains only
  2843. "value". The requirements are ANDed.
  2844. type: object
  2845. type: object
  2846. x-kubernetes-map-type: atomic
  2847. namespaces:
  2848. description: namespaces specifies a static list
  2849. of namespace names that the term applies to.
  2850. The term is applied to the union of the namespaces
  2851. listed in this field and the ones selected by
  2852. namespaceSelector. null or empty namespaces
  2853. list and null namespaceSelector means "this
  2854. pod's namespace".
  2855. items:
  2856. type: string
  2857. type: array
  2858. topologyKey:
  2859. description: This pod should be co-located (affinity)
  2860. or not co-located (anti-affinity) with the pods
  2861. matching the labelSelector in the specified
  2862. namespaces, where co-located is defined as running
  2863. on a node whose value of the label with key
  2864. topologyKey matches that of any node on which
  2865. any of the selected pods is running. Empty topologyKey
  2866. is not allowed.
  2867. type: string
  2868. required:
  2869. - topologyKey
  2870. type: object
  2871. weight:
  2872. description: weight associated with matching the corresponding
  2873. podAffinityTerm, in the range 1-100.
  2874. format: int32
  2875. type: integer
  2876. required:
  2877. - podAffinityTerm
  2878. - weight
  2879. type: object
  2880. type: array
  2881. requiredDuringSchedulingIgnoredDuringExecution:
  2882. description: If the anti-affinity requirements specified
  2883. by this field are not met at scheduling time, the pod
  2884. will not be scheduled onto the node. If the anti-affinity
  2885. requirements specified by this field cease to be met at
  2886. some point during pod execution (e.g. due to a pod label
  2887. update), the system may or may not try to eventually evict
  2888. the pod from its node. When there are multiple elements,
  2889. the lists of nodes corresponding to each podAffinityTerm
  2890. are intersected, i.e. all terms must be satisfied.
  2891. items:
  2892. description: Defines a set of pods (namely those matching
  2893. the labelSelector relative to the given namespace(s))
  2894. that this pod should be co-located (affinity) or not
  2895. co-located (anti-affinity) with, where co-located is
  2896. defined as running on a node whose value of the label
  2897. with key <topologyKey> matches that of any node on which
  2898. a pod of the set of pods is running
  2899. properties:
  2900. labelSelector:
  2901. description: A label query over a set of resources,
  2902. in this case pods.
  2903. properties:
  2904. matchExpressions:
  2905. description: matchExpressions is a list of label
  2906. selector requirements. The requirements are
  2907. ANDed.
  2908. items:
  2909. description: A label selector requirement is
  2910. a selector that contains values, a key, and
  2911. an operator that relates the key and values.
  2912. properties:
  2913. key:
  2914. description: key is the label key that the
  2915. selector applies to.
  2916. type: string
  2917. operator:
  2918. description: operator represents a key's
  2919. relationship to a set of values. Valid
  2920. operators are In, NotIn, Exists and DoesNotExist.
  2921. type: string
  2922. values:
  2923. description: values is an array of string
  2924. values. If the operator is In or NotIn,
  2925. the values array must be non-empty. If
  2926. the operator is Exists or DoesNotExist,
  2927. the values array must be empty. This array
  2928. is replaced during a strategic merge patch.
  2929. items:
  2930. type: string
  2931. type: array
  2932. required:
  2933. - key
  2934. - operator
  2935. type: object
  2936. type: array
  2937. matchLabels:
  2938. additionalProperties:
  2939. type: string
  2940. description: matchLabels is a map of {key,value}
  2941. pairs. A single {key,value} in the matchLabels
  2942. map is equivalent to an element of matchExpressions,
  2943. whose key field is "key", the operator is "In",
  2944. and the values array contains only "value".
  2945. The requirements are ANDed.
  2946. type: object
  2947. type: object
  2948. x-kubernetes-map-type: atomic
  2949. namespaceSelector:
  2950. description: A label query over the set of namespaces
  2951. that the term applies to. The term is applied to
  2952. the union of the namespaces selected by this field
  2953. and the ones listed in the namespaces field. null
  2954. selector and null or empty namespaces list means
  2955. "this pod's namespace". An empty selector ({}) matches
  2956. all namespaces.
  2957. properties:
  2958. matchExpressions:
  2959. description: matchExpressions is a list of label
  2960. selector requirements. The requirements are
  2961. ANDed.
  2962. items:
  2963. description: A label selector requirement is
  2964. a selector that contains values, a key, and
  2965. an operator that relates the key and values.
  2966. properties:
  2967. key:
  2968. description: key is the label key that the
  2969. selector applies to.
  2970. type: string
  2971. operator:
  2972. description: operator represents a key's
  2973. relationship to a set of values. Valid
  2974. operators are In, NotIn, Exists and DoesNotExist.
  2975. type: string
  2976. values:
  2977. description: values is an array of string
  2978. values. If the operator is In or NotIn,
  2979. the values array must be non-empty. If
  2980. the operator is Exists or DoesNotExist,
  2981. the values array must be empty. This array
  2982. is replaced during a strategic merge patch.
  2983. items:
  2984. type: string
  2985. type: array
  2986. required:
  2987. - key
  2988. - operator
  2989. type: object
  2990. type: array
  2991. matchLabels:
  2992. additionalProperties:
  2993. type: string
  2994. description: matchLabels is a map of {key,value}
  2995. pairs. A single {key,value} in the matchLabels
  2996. map is equivalent to an element of matchExpressions,
  2997. whose key field is "key", the operator is "In",
  2998. and the values array contains only "value".
  2999. The requirements are ANDed.
  3000. type: object
  3001. type: object
  3002. x-kubernetes-map-type: atomic
  3003. namespaces:
  3004. description: namespaces specifies a static list of
  3005. namespace names that the term applies to. The term
  3006. is applied to the union of the namespaces listed
  3007. in this field and the ones selected by namespaceSelector.
  3008. null or empty namespaces list and null namespaceSelector
  3009. means "this pod's namespace".
  3010. items:
  3011. type: string
  3012. type: array
  3013. topologyKey:
  3014. description: This pod should be co-located (affinity)
  3015. or not co-located (anti-affinity) with the pods
  3016. matching the labelSelector in the specified namespaces,
  3017. where co-located is defined as running on a node
  3018. whose value of the label with key topologyKey matches
  3019. that of any node on which any of the selected pods
  3020. is running. Empty topologyKey is not allowed.
  3021. type: string
  3022. required:
  3023. - topologyKey
  3024. type: object
  3025. type: array
  3026. type: object
  3027. tolerations:
  3028. description: The pod this Toleration is attached to tolerates
  3029. any taint that matches the triple <key,value,effect> using
  3030. the matching operator <operator>
  3031. items:
  3032. description: The pod this Toleration is attached to tolerates
  3033. any taint that matches the triple <key,value,effect> using
  3034. the matching operator <operator>.
  3035. properties:
  3036. effect:
  3037. description: Effect indicates the taint effect to match.
  3038. Empty means match all taint effects. When specified,
  3039. allowed values are NoSchedule, PreferNoSchedule and
  3040. NoExecute.
  3041. type: string
  3042. key:
  3043. description: Key is the taint key that the toleration
  3044. applies to. Empty means match all taint keys. If the
  3045. key is empty, operator must be Exists; this combination
  3046. means to match all values and all keys.
  3047. type: string
  3048. operator:
  3049. description: Operator represents a key's relationship
  3050. to the value. Valid operators are Exists and Equal.
  3051. Defaults to Equal. Exists is equivalent to wildcard
  3052. for value, so that a pod can tolerate all taints of
  3053. a particular category.
  3054. type: string
  3055. tolerationSeconds:
  3056. description: TolerationSeconds represents the period of
  3057. time the toleration (which must be of effect NoExecute,
  3058. otherwise this field is ignored) tolerates the taint.
  3059. By default, it is not set, which means tolerate the
  3060. taint forever (do not evict). Zero and negative values
  3061. will be treated as 0 (evict immediately) by the system.
  3062. format: int64
  3063. type: integer
  3064. value:
  3065. description: Value is the taint value the toleration matches
  3066. to. If the operator is Exists, the value should be empty,
  3067. otherwise just a regular string.
  3068. type: string
  3069. type: object
  3070. type: array
  3071. topologySpreadConstraints:
  3072. description: TopologySpreadConstraint specifies how to spread
  3073. matching pods among the given topology
  3074. items:
  3075. description: TopologySpreadConstraint specifies how to spread
  3076. matching pods among the given topology.
  3077. properties:
  3078. labelSelector:
  3079. description: LabelSelector is used to find matching pods.
  3080. Pods that match this label selector are counted to determine
  3081. the number of pods in their corresponding topology domain.
  3082. properties:
  3083. matchExpressions:
  3084. description: matchExpressions is a list of label selector
  3085. requirements. The requirements are ANDed.
  3086. items:
  3087. description: A label selector requirement is a selector
  3088. that contains values, a key, and an operator that
  3089. relates the key and values.
  3090. properties:
  3091. key:
  3092. description: key is the label key that the selector
  3093. applies to.
  3094. type: string
  3095. operator:
  3096. description: operator represents a key's relationship
  3097. to a set of values. Valid operators are In,
  3098. NotIn, Exists and DoesNotExist.
  3099. type: string
  3100. values:
  3101. description: values is an array of string values.
  3102. If the operator is In or NotIn, the values
  3103. array must be non-empty. If the operator is
  3104. Exists or DoesNotExist, the values array must
  3105. be empty. This array is replaced during a
  3106. strategic merge patch.
  3107. items:
  3108. type: string
  3109. type: array
  3110. required:
  3111. - key
  3112. - operator
  3113. type: object
  3114. type: array
  3115. matchLabels:
  3116. additionalProperties:
  3117. type: string
  3118. description: matchLabels is a map of {key,value} pairs.
  3119. A single {key,value} in the matchLabels map is equivalent
  3120. to an element of matchExpressions, whose key field
  3121. is "key", the operator is "In", and the values array
  3122. contains only "value". The requirements are ANDed.
  3123. type: object
  3124. type: object
  3125. x-kubernetes-map-type: atomic
  3126. matchLabelKeys:
  3127. description: "MatchLabelKeys is a set of pod label keys
  3128. to select the pods over which spreading will be calculated.
  3129. The keys are used to lookup values from the incoming
  3130. pod labels, those key-value labels are ANDed with labelSelector
  3131. to select the group of existing pods over which spreading
  3132. will be calculated for the incoming pod. The same key
  3133. is forbidden to exist in both MatchLabelKeys and LabelSelector.
  3134. MatchLabelKeys cannot be set when LabelSelector isn't
  3135. set. Keys that don't exist in the incoming pod labels
  3136. will be ignored. A null or empty list means only match
  3137. against labelSelector. \n This is a beta field and requires
  3138. the MatchLabelKeysInPodTopologySpread feature gate to
  3139. be enabled (enabled by default)."
  3140. items:
  3141. type: string
  3142. type: array
  3143. x-kubernetes-list-type: atomic
  3144. maxSkew:
  3145. description: 'MaxSkew describes the degree to which pods
  3146. may be unevenly distributed. When `whenUnsatisfiable=DoNotSchedule`,
  3147. it is the maximum permitted difference between the number
  3148. of matching pods in the target topology and the global
  3149. minimum. The global minimum is the minimum number of
  3150. matching pods in an eligible domain or zero if the number
  3151. of eligible domains is less than MinDomains. For example,
  3152. in a 3-zone cluster, MaxSkew is set to 1, and pods with
  3153. the same labelSelector spread as 2/2/1: In this case,
  3154. the global minimum is 1. | zone1 | zone2 | zone3 | | P
  3155. P | P P | P | - if MaxSkew is 1, incoming pod
  3156. can only be scheduled to zone3 to become 2/2/2; scheduling
  3157. it onto zone1(zone2) would make the ActualSkew(3-1)
  3158. on zone1(zone2) violate MaxSkew(1). - if MaxSkew is
  3159. 2, incoming pod can be scheduled onto any zone. When
  3160. `whenUnsatisfiable=ScheduleAnyway`, it is used to give
  3161. higher precedence to topologies that satisfy it. It''s
  3162. a required field. Default value is 1 and 0 is not allowed.'
  3163. format: int32
  3164. type: integer
  3165. minDomains:
  3166. description: "MinDomains indicates a minimum number of
  3167. eligible domains. When the number of eligible domains
  3168. with matching topology keys is less than minDomains,
  3169. Pod Topology Spread treats \"global minimum\" as 0,
  3170. and then the calculation of Skew is performed. And when
  3171. the number of eligible domains with matching topology
  3172. keys equals or greater than minDomains, this value has
  3173. no effect on scheduling. As a result, when the number
  3174. of eligible domains is less than minDomains, scheduler
  3175. won't schedule more than maxSkew Pods to those domains.
  3176. If value is nil, the constraint behaves as if MinDomains
  3177. is equal to 1. Valid values are integers greater than
  3178. 0. When value is not nil, WhenUnsatisfiable must be
  3179. DoNotSchedule. \n For example, in a 3-zone cluster,
  3180. MaxSkew is set to 2, MinDomains is set to 5 and pods
  3181. with the same labelSelector spread as 2/2/2: | zone1
  3182. | zone2 | zone3 | | P P | P P | P P | The number
  3183. of domains is less than 5(MinDomains), so \"global minimum\"
  3184. is treated as 0. In this situation, new pod with the
  3185. same labelSelector cannot be scheduled, because computed
  3186. skew will be 3(3 - 0) if new Pod is scheduled to any
  3187. of the three zones, it will violate MaxSkew. \n This
  3188. is a beta field and requires the MinDomainsInPodTopologySpread
  3189. feature gate to be enabled (enabled by default)."
  3190. format: int32
  3191. type: integer
  3192. nodeAffinityPolicy:
  3193. description: "NodeAffinityPolicy indicates how we will
  3194. treat Pod's nodeAffinity/nodeSelector when calculating
  3195. pod topology spread skew. Options are: - Honor: only
  3196. nodes matching nodeAffinity/nodeSelector are included
  3197. in the calculations. - Ignore: nodeAffinity/nodeSelector
  3198. are ignored. All nodes are included in the calculations.
  3199. \n If this value is nil, the behavior is equivalent
  3200. to the Honor policy. This is a beta-level feature default
  3201. enabled by the NodeInclusionPolicyInPodTopologySpread
  3202. feature flag."
  3203. type: string
  3204. nodeTaintsPolicy:
  3205. description: "NodeTaintsPolicy indicates how we will treat
  3206. node taints when calculating pod topology spread skew.
  3207. Options are: - Honor: nodes without taints, along with
  3208. tainted nodes for which the incoming pod has a toleration,
  3209. are included. - Ignore: node taints are ignored. All
  3210. nodes are included. \n If this value is nil, the behavior
  3211. is equivalent to the Ignore policy. This is a beta-level
  3212. feature default enabled by the NodeInclusionPolicyInPodTopologySpread
  3213. feature flag."
  3214. type: string
  3215. topologyKey:
  3216. description: TopologyKey is the key of node labels. Nodes
  3217. that have a label with this key and identical values
  3218. are considered to be in the same topology. We consider
  3219. each <key, value> as a "bucket", and try to put balanced
  3220. number of pods into each bucket. We define a domain
  3221. as a particular instance of a topology. Also, we define
  3222. an eligible domain as a domain whose nodes meet the
  3223. requirements of nodeAffinityPolicy and nodeTaintsPolicy.
  3224. e.g. If TopologyKey is "kubernetes.io/hostname", each
  3225. Node is a domain of that topology. And, if TopologyKey
  3226. is "topology.kubernetes.io/zone", each zone is a domain
  3227. of that topology. It's a required field.
  3228. type: string
  3229. whenUnsatisfiable:
  3230. description: 'WhenUnsatisfiable indicates how to deal
  3231. with a pod if it doesn''t satisfy the spread constraint.
  3232. - DoNotSchedule (default) tells the scheduler not to
  3233. schedule it. - ScheduleAnyway tells the scheduler to
  3234. schedule the pod in any location, but giving higher
  3235. precedence to topologies that would help reduce the
  3236. skew. A constraint is considered "Unsatisfiable" for
  3237. an incoming pod if and only if every possible node assignment
  3238. for that pod would violate "MaxSkew" on some topology.
  3239. For example, in a 3-zone cluster, MaxSkew is set to
  3240. 1, and pods with the same labelSelector spread as 3/1/1:
  3241. | zone1 | zone2 | zone3 | | P P P | P | P |
  3242. If WhenUnsatisfiable is set to DoNotSchedule, incoming
  3243. pod can only be scheduled to zone2(zone3) to become
  3244. 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
  3245. MaxSkew(1). In other words, the cluster can still be
  3246. imbalanced, but scheduler won''t make it *more* imbalanced.
  3247. It''s a required field.'
  3248. type: string
  3249. required:
  3250. - maxSkew
  3251. - topologyKey
  3252. - whenUnsatisfiable
  3253. type: object
  3254. type: array
  3255. type: object
  3256. description: The placement-related configuration to pass to kubernetes
  3257. (affinity, node selector, tolerations).
  3258. nullable: true
  3259. type: object
  3260. x-kubernetes-preserve-unknown-fields: true
  3261. priorityClassNames:
  3262. additionalProperties:
  3263. type: string
  3264. description: PriorityClassNames sets priority classes on components
  3265. nullable: true
  3266. type: object
  3267. x-kubernetes-preserve-unknown-fields: true
  3268. removeOSDsIfOutAndSafeToRemove:
  3269. description: Remove the OSD that is out and safe to remove only if
  3270. this option is true
  3271. type: boolean
  3272. resources:
  3273. additionalProperties:
  3274. description: ResourceRequirements describes the compute resource
  3275. requirements.
  3276. properties:
  3277. claims:
  3278. description: "Claims lists the names of resources, defined in
  3279. spec.resourceClaims, that are used by this container. \n This
  3280. is an alpha field and requires enabling the DynamicResourceAllocation
  3281. feature gate. \n This field is immutable. It can only be set
  3282. for containers."
  3283. items:
  3284. description: ResourceClaim references one entry in PodSpec.ResourceClaims.
  3285. properties:
  3286. name:
  3287. description: Name must match the name of one entry in
  3288. pod.spec.resourceClaims of the Pod where this field
  3289. is used. It makes that resource available inside a container.
  3290. type: string
  3291. required:
  3292. - name
  3293. type: object
  3294. type: array
  3295. x-kubernetes-list-map-keys:
  3296. - name
  3297. x-kubernetes-list-type: map
  3298. limits:
  3299. additionalProperties:
  3300. anyOf:
  3301. - type: integer
  3302. - type: string
  3303. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3304. x-kubernetes-int-or-string: true
  3305. description: 'Limits describes the maximum amount of compute
  3306. resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3307. type: object
  3308. requests:
  3309. additionalProperties:
  3310. anyOf:
  3311. - type: integer
  3312. - type: string
  3313. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3314. x-kubernetes-int-or-string: true
  3315. description: 'Requests describes the minimum amount of compute
  3316. resources required. If Requests is omitted for a container,
  3317. it defaults to Limits if that is explicitly specified, otherwise
  3318. to an implementation-defined value. Requests cannot exceed
  3319. Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3320. type: object
  3321. type: object
  3322. description: Resources set resource requests and limits
  3323. nullable: true
  3324. type: object
  3325. x-kubernetes-preserve-unknown-fields: true
  3326. security:
  3327. description: Security represents security settings
  3328. nullable: true
  3329. properties:
  3330. keyRotation:
  3331. description: KeyRotation defines options for Key Rotation.
  3332. nullable: true
  3333. properties:
  3334. enabled:
  3335. default: false
  3336. description: Enabled represents whether the key rotation is
  3337. enabled.
  3338. type: boolean
  3339. schedule:
  3340. description: Schedule represents the cron schedule for key
  3341. rotation.
  3342. type: string
  3343. type: object
  3344. kms:
  3345. description: KeyManagementService is the main Key Management option
  3346. nullable: true
  3347. properties:
  3348. connectionDetails:
  3349. additionalProperties:
  3350. type: string
  3351. description: ConnectionDetails contains the KMS connection
  3352. details (address, port etc)
  3353. nullable: true
  3354. type: object
  3355. x-kubernetes-preserve-unknown-fields: true
  3356. tokenSecretName:
  3357. description: TokenSecretName is the kubernetes secret containing
  3358. the KMS token
  3359. type: string
  3360. type: object
  3361. type: object
  3362. skipUpgradeChecks:
  3363. description: SkipUpgradeChecks defines if an upgrade should be forced
  3364. even if one of the check fails
  3365. type: boolean
  3366. storage:
  3367. description: A spec for available storage in the cluster and how it
  3368. should be used
  3369. nullable: true
  3370. properties:
  3371. config:
  3372. additionalProperties:
  3373. type: string
  3374. nullable: true
  3375. type: object
  3376. x-kubernetes-preserve-unknown-fields: true
  3377. deviceFilter:
  3378. description: A regular expression to allow more fine-grained selection
  3379. of devices on nodes across the cluster
  3380. type: string
  3381. devicePathFilter:
  3382. description: A regular expression to allow more fine-grained selection
  3383. of devices with path names
  3384. type: string
  3385. devices:
  3386. description: List of devices to use as storage devices
  3387. items:
  3388. description: Device represents a disk to use in the cluster
  3389. properties:
  3390. config:
  3391. additionalProperties:
  3392. type: string
  3393. nullable: true
  3394. type: object
  3395. x-kubernetes-preserve-unknown-fields: true
  3396. fullpath:
  3397. type: string
  3398. name:
  3399. type: string
  3400. type: object
  3401. nullable: true
  3402. type: array
  3403. x-kubernetes-preserve-unknown-fields: true
  3404. nodes:
  3405. items:
  3406. description: Node is a storage nodes
  3407. properties:
  3408. config:
  3409. additionalProperties:
  3410. type: string
  3411. nullable: true
  3412. type: object
  3413. x-kubernetes-preserve-unknown-fields: true
  3414. deviceFilter:
  3415. description: A regular expression to allow more fine-grained
  3416. selection of devices on nodes across the cluster
  3417. type: string
  3418. devicePathFilter:
  3419. description: A regular expression to allow more fine-grained
  3420. selection of devices with path names
  3421. type: string
  3422. devices:
  3423. description: List of devices to use as storage devices
  3424. items:
  3425. description: Device represents a disk to use in the cluster
  3426. properties:
  3427. config:
  3428. additionalProperties:
  3429. type: string
  3430. nullable: true
  3431. type: object
  3432. x-kubernetes-preserve-unknown-fields: true
  3433. fullpath:
  3434. type: string
  3435. name:
  3436. type: string
  3437. type: object
  3438. nullable: true
  3439. type: array
  3440. x-kubernetes-preserve-unknown-fields: true
  3441. name:
  3442. type: string
  3443. resources:
  3444. description: ResourceRequirements describes the compute
  3445. resource requirements.
  3446. nullable: true
  3447. properties:
  3448. claims:
  3449. description: "Claims lists the names of resources, defined
  3450. in spec.resourceClaims, that are used by this container.
  3451. \n This is an alpha field and requires enabling the
  3452. DynamicResourceAllocation feature gate. \n This field
  3453. is immutable. It can only be set for containers."
  3454. items:
  3455. description: ResourceClaim references one entry in
  3456. PodSpec.ResourceClaims.
  3457. properties:
  3458. name:
  3459. description: Name must match the name of one entry
  3460. in pod.spec.resourceClaims of the Pod where
  3461. this field is used. It makes that resource available
  3462. inside a container.
  3463. type: string
  3464. required:
  3465. - name
  3466. type: object
  3467. type: array
  3468. x-kubernetes-list-map-keys:
  3469. - name
  3470. x-kubernetes-list-type: map
  3471. limits:
  3472. additionalProperties:
  3473. anyOf:
  3474. - type: integer
  3475. - type: string
  3476. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3477. x-kubernetes-int-or-string: true
  3478. description: 'Limits describes the maximum amount of
  3479. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3480. type: object
  3481. requests:
  3482. additionalProperties:
  3483. anyOf:
  3484. - type: integer
  3485. - type: string
  3486. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3487. x-kubernetes-int-or-string: true
  3488. description: 'Requests describes the minimum amount
  3489. of compute resources required. If Requests is omitted
  3490. for a container, it defaults to Limits if that is
  3491. explicitly specified, otherwise to an implementation-defined
  3492. value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3493. type: object
  3494. type: object
  3495. x-kubernetes-preserve-unknown-fields: true
  3496. useAllDevices:
  3497. description: Whether to consume all the storage devices
  3498. found on a machine
  3499. type: boolean
  3500. volumeClaimTemplates:
  3501. description: PersistentVolumeClaims to use as storage
  3502. items:
  3503. description: PersistentVolumeClaim is a user's request
  3504. for and claim to a persistent volume
  3505. properties:
  3506. apiVersion:
  3507. description: 'APIVersion defines the versioned schema
  3508. of this representation of an object. Servers should
  3509. convert recognized schemas to the latest internal
  3510. value, and may reject unrecognized values. More
  3511. info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  3512. type: string
  3513. kind:
  3514. description: 'Kind is a string value representing
  3515. the REST resource this object represents. Servers
  3516. may infer this from the endpoint the client submits
  3517. requests to. Cannot be updated. In CamelCase. More
  3518. info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  3519. type: string
  3520. metadata:
  3521. description: 'Standard object''s metadata. More info:
  3522. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
  3523. properties:
  3524. annotations:
  3525. additionalProperties:
  3526. type: string
  3527. type: object
  3528. finalizers:
  3529. items:
  3530. type: string
  3531. type: array
  3532. labels:
  3533. additionalProperties:
  3534. type: string
  3535. type: object
  3536. name:
  3537. type: string
  3538. namespace:
  3539. type: string
  3540. type: object
  3541. spec:
  3542. description: 'spec defines the desired characteristics
  3543. of a volume requested by a pod author. More info:
  3544. https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  3545. properties:
  3546. accessModes:
  3547. description: 'accessModes contains the desired
  3548. access modes the volume should have. More info:
  3549. https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  3550. items:
  3551. type: string
  3552. type: array
  3553. dataSource:
  3554. description: 'dataSource field can be used to
  3555. specify either: * An existing VolumeSnapshot
  3556. object (snapshot.storage.k8s.io/VolumeSnapshot)
  3557. * An existing PVC (PersistentVolumeClaim) If
  3558. the provisioner or an external controller can
  3559. support the specified data source, it will create
  3560. a new volume based on the contents of the specified
  3561. data source. When the AnyVolumeDataSource feature
  3562. gate is enabled, dataSource contents will be
  3563. copied to dataSourceRef, and dataSourceRef contents
  3564. will be copied to dataSource when dataSourceRef.namespace
  3565. is not specified. If the namespace is specified,
  3566. then dataSourceRef will not be copied to dataSource.'
  3567. properties:
  3568. apiGroup:
  3569. description: APIGroup is the group for the
  3570. resource being referenced. If APIGroup is
  3571. not specified, the specified Kind must be
  3572. in the core API group. For any other third-party
  3573. types, APIGroup is required.
  3574. type: string
  3575. kind:
  3576. description: Kind is the type of resource
  3577. being referenced
  3578. type: string
  3579. name:
  3580. description: Name is the name of resource
  3581. being referenced
  3582. type: string
  3583. required:
  3584. - kind
  3585. - name
  3586. type: object
  3587. x-kubernetes-map-type: atomic
  3588. dataSourceRef:
  3589. description: 'dataSourceRef specifies the object
  3590. from which to populate the volume with data,
  3591. if a non-empty volume is desired. This may be
  3592. any object from a non-empty API group (non core
  3593. object) or a PersistentVolumeClaim object. When
  3594. this field is specified, volume binding will
  3595. only succeed if the type of the specified object
  3596. matches some installed volume populator or dynamic
  3597. provisioner. This field will replace the functionality
  3598. of the dataSource field and as such if both
  3599. fields are non-empty, they must have the same
  3600. value. For backwards compatibility, when namespace
  3601. isn''t specified in dataSourceRef, both fields
  3602. (dataSource and dataSourceRef) will be set to
  3603. the same value automatically if one of them
  3604. is empty and the other is non-empty. When namespace
  3605. is specified in dataSourceRef, dataSource isn''t
  3606. set to the same value and must be empty. There
  3607. are three important differences between dataSource
  3608. and dataSourceRef: * While dataSource only allows
  3609. two specific types of objects, dataSourceRef
  3610. allows any non-core object, as well as PersistentVolumeClaim
  3611. objects. * While dataSource ignores disallowed
  3612. values (dropping them), dataSourceRef preserves
  3613. all values, and generates an error if a disallowed
  3614. value is specified. * While dataSource only
  3615. allows local objects, dataSourceRef allows objects
  3616. in any namespaces. (Beta) Using this field requires
  3617. the AnyVolumeDataSource feature gate to be enabled.
  3618. (Alpha) Using the namespace field of dataSourceRef
  3619. requires the CrossNamespaceVolumeDataSource
  3620. feature gate to be enabled.'
  3621. properties:
  3622. apiGroup:
  3623. description: APIGroup is the group for the
  3624. resource being referenced. If APIGroup is
  3625. not specified, the specified Kind must be
  3626. in the core API group. For any other third-party
  3627. types, APIGroup is required.
  3628. type: string
  3629. kind:
  3630. description: Kind is the type of resource
  3631. being referenced
  3632. type: string
  3633. name:
  3634. description: Name is the name of resource
  3635. being referenced
  3636. type: string
  3637. namespace:
  3638. description: Namespace is the namespace of
  3639. resource being referenced Note that when
  3640. a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant
  3641. object is required in the referent namespace
  3642. to allow that namespace's owner to accept
  3643. the reference. See the ReferenceGrant documentation
  3644. for details. (Alpha) This field requires
  3645. the CrossNamespaceVolumeDataSource feature
  3646. gate to be enabled.
  3647. type: string
  3648. required:
  3649. - kind
  3650. - name
  3651. type: object
  3652. resources:
  3653. description: 'resources represents the minimum
  3654. resources the volume should have. If RecoverVolumeExpansionFailure
  3655. feature is enabled users are allowed to specify
  3656. resource requirements that are lower than previous
  3657. value but must still be higher than capacity
  3658. recorded in the status field of the claim. More
  3659. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  3660. properties:
  3661. claims:
  3662. description: "Claims lists the names of resources,
  3663. defined in spec.resourceClaims, that are
  3664. used by this container. \n This is an alpha
  3665. field and requires enabling the DynamicResourceAllocation
  3666. feature gate. \n This field is immutable.
  3667. It can only be set for containers."
  3668. items:
  3669. description: ResourceClaim references one
  3670. entry in PodSpec.ResourceClaims.
  3671. properties:
  3672. name:
  3673. description: Name must match the name
  3674. of one entry in pod.spec.resourceClaims
  3675. of the Pod where this field is used.
  3676. It makes that resource available inside
  3677. a container.
  3678. type: string
  3679. required:
  3680. - name
  3681. type: object
  3682. type: array
  3683. x-kubernetes-list-map-keys:
  3684. - name
  3685. x-kubernetes-list-type: map
  3686. limits:
  3687. additionalProperties:
  3688. anyOf:
  3689. - type: integer
  3690. - type: string
  3691. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3692. x-kubernetes-int-or-string: true
  3693. description: 'Limits describes the maximum
  3694. amount of compute resources allowed. More
  3695. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3696. type: object
  3697. requests:
  3698. additionalProperties:
  3699. anyOf:
  3700. - type: integer
  3701. - type: string
  3702. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3703. x-kubernetes-int-or-string: true
  3704. description: 'Requests describes the minimum
  3705. amount of compute resources required. If
  3706. Requests is omitted for a container, it
  3707. defaults to Limits if that is explicitly
  3708. specified, otherwise to an implementation-defined
  3709. value. Requests cannot exceed Limits. More
  3710. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  3711. type: object
  3712. type: object
  3713. selector:
  3714. description: selector is a label query over volumes
  3715. to consider for binding.
  3716. properties:
  3717. matchExpressions:
  3718. description: matchExpressions is a list of
  3719. label selector requirements. The requirements
  3720. are ANDed.
  3721. items:
  3722. description: A label selector requirement
  3723. is a selector that contains values, a
  3724. key, and an operator that relates the
  3725. key and values.
  3726. properties:
  3727. key:
  3728. description: key is the label key that
  3729. the selector applies to.
  3730. type: string
  3731. operator:
  3732. description: operator represents a key's
  3733. relationship to a set of values. Valid
  3734. operators are In, NotIn, Exists and
  3735. DoesNotExist.
  3736. type: string
  3737. values:
  3738. description: values is an array of string
  3739. values. If the operator is In or NotIn,
  3740. the values array must be non-empty.
  3741. If the operator is Exists or DoesNotExist,
  3742. the values array must be empty. This
  3743. array is replaced during a strategic
  3744. merge patch.
  3745. items:
  3746. type: string
  3747. type: array
  3748. required:
  3749. - key
  3750. - operator
  3751. type: object
  3752. type: array
  3753. matchLabels:
  3754. additionalProperties:
  3755. type: string
  3756. description: matchLabels is a map of {key,value}
  3757. pairs. A single {key,value} in the matchLabels
  3758. map is equivalent to an element of matchExpressions,
  3759. whose key field is "key", the operator is
  3760. "In", and the values array contains only
  3761. "value". The requirements are ANDed.
  3762. type: object
  3763. type: object
  3764. x-kubernetes-map-type: atomic
  3765. storageClassName:
  3766. description: 'storageClassName is the name of
  3767. the StorageClass required by the claim. More
  3768. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  3769. type: string
  3770. volumeMode:
  3771. description: volumeMode defines what type of volume
  3772. is required by the claim. Value of Filesystem
  3773. is implied when not included in claim spec.
  3774. type: string
  3775. volumeName:
  3776. description: volumeName is the binding reference
  3777. to the PersistentVolume backing this claim.
  3778. type: string
  3779. type: object
  3780. status:
  3781. description: 'status represents the current information/status
  3782. of a persistent volume claim. Read-only. More info:
  3783. https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  3784. properties:
  3785. accessModes:
  3786. description: 'accessModes contains the actual
  3787. access modes the volume backing the PVC has.
  3788. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  3789. items:
  3790. type: string
  3791. type: array
  3792. allocatedResourceStatuses:
  3793. additionalProperties:
  3794. description: When a controller receives persistentvolume
  3795. claim update with ClaimResourceStatus for
  3796. a resource that it does not recognizes, then
  3797. it should ignore that update and let other
  3798. controllers handle it.
  3799. type: string
  3800. description: "allocatedResourceStatuses stores
  3801. status of resource being resized for the given
  3802. PVC. Key names follow standard Kubernetes label
  3803. syntax. Valid values are either: * Un-prefixed
  3804. keys: - storage - the capacity of the volume.
  3805. * Custom resources must use implementation-defined
  3806. prefixed names such as \"example.com/my-custom-resource\"
  3807. Apart from above values - keys that are unprefixed
  3808. or have kubernetes.io prefix are considered
  3809. reserved and hence may not be used. \n ClaimResourceStatus
  3810. can be in any of following states: - ControllerResizeInProgress:
  3811. State set when resize controller starts resizing
  3812. the volume in control-plane. - ControllerResizeFailed:
  3813. State set when resize has failed in resize controller
  3814. with a terminal error. - NodeResizePending:
  3815. State set when resize controller has finished
  3816. resizing the volume but further resizing of
  3817. volume is needed on the node. - NodeResizeInProgress:
  3818. State set when kubelet starts resizing the volume.
  3819. - NodeResizeFailed: State set when resizing
  3820. has failed in kubelet with a terminal error.
  3821. Transient errors don't set NodeResizeFailed.
  3822. For example: if expanding a PVC for more capacity
  3823. - this field can be one of the following states:
  3824. - pvc.status.allocatedResourceStatus['storage']
  3825. = \"ControllerResizeInProgress\" - pvc.status.allocatedResourceStatus['storage']
  3826. = \"ControllerResizeFailed\" - pvc.status.allocatedResourceStatus['storage']
  3827. = \"NodeResizePending\" - pvc.status.allocatedResourceStatus['storage']
  3828. = \"NodeResizeInProgress\" - pvc.status.allocatedResourceStatus['storage']
  3829. = \"NodeResizeFailed\" When this field is not
  3830. set, it means that no resize operation is in
  3831. progress for the given PVC. \n A controller
  3832. that receives PVC update with previously unknown
  3833. resourceName or ClaimResourceStatus should ignore
  3834. the update for the purpose it was designed.
  3835. For example - a controller that only is responsible
  3836. for resizing capacity of the volume, should
  3837. ignore PVC updates that change other valid resources
  3838. associated with PVC. \n This is an alpha field
  3839. and requires enabling RecoverVolumeExpansionFailure
  3840. feature."
  3841. type: object
  3842. x-kubernetes-map-type: granular
  3843. allocatedResources:
  3844. additionalProperties:
  3845. anyOf:
  3846. - type: integer
  3847. - type: string
  3848. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3849. x-kubernetes-int-or-string: true
  3850. description: "allocatedResources tracks the resources
  3851. allocated to a PVC including its capacity. Key
  3852. names follow standard Kubernetes label syntax.
  3853. Valid values are either: * Un-prefixed keys:
  3854. - storage - the capacity of the volume. * Custom
  3855. resources must use implementation-defined prefixed
  3856. names such as \"example.com/my-custom-resource\"
  3857. Apart from above values - keys that are unprefixed
  3858. or have kubernetes.io prefix are considered
  3859. reserved and hence may not be used. \n Capacity
  3860. reported here may be larger than the actual
  3861. capacity when a volume expansion operation is
  3862. requested. For storage quota, the larger value
  3863. from allocatedResources and PVC.spec.resources
  3864. is used. If allocatedResources is not set, PVC.spec.resources
  3865. alone is used for quota calculation. If a volume
  3866. expansion capacity request is lowered, allocatedResources
  3867. is only lowered if there are no expansion operations
  3868. in progress and if the actual volume capacity
  3869. is equal or lower than the requested capacity.
  3870. \n A controller that receives PVC update with
  3871. previously unknown resourceName should ignore
  3872. the update for the purpose it was designed.
  3873. For example - a controller that only is responsible
  3874. for resizing capacity of the volume, should
  3875. ignore PVC updates that change other valid resources
  3876. associated with PVC. \n This is an alpha field
  3877. and requires enabling RecoverVolumeExpansionFailure
  3878. feature."
  3879. type: object
  3880. capacity:
  3881. additionalProperties:
  3882. anyOf:
  3883. - type: integer
  3884. - type: string
  3885. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  3886. x-kubernetes-int-or-string: true
  3887. description: capacity represents the actual resources
  3888. of the underlying volume.
  3889. type: object
  3890. conditions:
  3891. description: conditions is the current Condition
  3892. of persistent volume claim. If underlying persistent
  3893. volume is being resized then the Condition will
  3894. be set to 'ResizeStarted'.
  3895. items:
  3896. description: PersistentVolumeClaimCondition
  3897. contains details about state of pvc
  3898. properties:
  3899. lastProbeTime:
  3900. description: lastProbeTime is the time we
  3901. probed the condition.
  3902. format: date-time
  3903. type: string
  3904. lastTransitionTime:
  3905. description: lastTransitionTime is the time
  3906. the condition transitioned from one status
  3907. to another.
  3908. format: date-time
  3909. type: string
  3910. message:
  3911. description: message is the human-readable
  3912. message indicating details about last
  3913. transition.
  3914. type: string
  3915. reason:
  3916. description: reason is a unique, this should
  3917. be a short, machine understandable string
  3918. that gives the reason for condition's
  3919. last transition. If it reports "ResizeStarted"
  3920. that means the underlying persistent volume
  3921. is being resized.
  3922. type: string
  3923. status:
  3924. type: string
  3925. type:
  3926. description: PersistentVolumeClaimConditionType
  3927. is a valid value of PersistentVolumeClaimCondition.Type
  3928. type: string
  3929. required:
  3930. - status
  3931. - type
  3932. type: object
  3933. type: array
  3934. phase:
  3935. description: phase represents the current phase
  3936. of PersistentVolumeClaim.
  3937. type: string
  3938. type: object
  3939. type: object
  3940. type: array
  3941. type: object
  3942. nullable: true
  3943. type: array
  3944. onlyApplyOSDPlacement:
  3945. type: boolean
  3946. storageClassDeviceSets:
  3947. items:
  3948. description: StorageClassDeviceSet is a storage class device
  3949. set
  3950. properties:
  3951. config:
  3952. additionalProperties:
  3953. type: string
  3954. description: Provider-specific device configuration
  3955. nullable: true
  3956. type: object
  3957. x-kubernetes-preserve-unknown-fields: true
  3958. count:
  3959. description: Count is the number of devices in this set
  3960. minimum: 1
  3961. type: integer
  3962. encrypted:
  3963. description: Whether to encrypt the deviceSet
  3964. type: boolean
  3965. name:
  3966. description: Name is a unique identifier for the set
  3967. type: string
  3968. placement:
  3969. description: Placement is the placement for an object
  3970. nullable: true
  3971. properties:
  3972. nodeAffinity:
  3973. description: NodeAffinity is a group of node affinity
  3974. scheduling rules
  3975. properties:
  3976. preferredDuringSchedulingIgnoredDuringExecution:
  3977. description: The scheduler will prefer to schedule
  3978. pods to nodes that satisfy the affinity expressions
  3979. specified by this field, but it may choose a node
  3980. that violates one or more of the expressions.
  3981. The node that is most preferred is the one with
  3982. the greatest sum of weights, i.e. for each node
  3983. that meets all of the scheduling requirements
  3984. (resource request, requiredDuringScheduling affinity
  3985. expressions, etc.), compute a sum by iterating
  3986. through the elements of this field and adding
  3987. "weight" to the sum if the node matches the corresponding
  3988. matchExpressions; the node(s) with the highest
  3989. sum are the most preferred.
  3990. items:
  3991. description: An empty preferred scheduling term
  3992. matches all objects with implicit weight 0 (i.e.
  3993. it's a no-op). A null preferred scheduling term
  3994. matches no objects (i.e. is also a no-op).
  3995. properties:
  3996. preference:
  3997. description: A node selector term, associated
  3998. with the corresponding weight.
  3999. properties:
  4000. matchExpressions:
  4001. description: A list of node selector requirements
  4002. by node's labels.
  4003. items:
  4004. description: A node selector requirement
  4005. is a selector that contains values,
  4006. a key, and an operator that relates
  4007. the key and values.
  4008. properties:
  4009. key:
  4010. description: The label key that
  4011. the selector applies to.
  4012. type: string
  4013. operator:
  4014. description: Represents a key's
  4015. relationship to a set of values.
  4016. Valid operators are In, NotIn,
  4017. Exists, DoesNotExist. Gt, and
  4018. Lt.
  4019. type: string
  4020. values:
  4021. description: An array of string
  4022. values. If the operator is In
  4023. or NotIn, the values array must
  4024. be non-empty. If the operator
  4025. is Exists or DoesNotExist, the
  4026. values array must be empty. If
  4027. the operator is Gt or Lt, the
  4028. values array must have a single
  4029. element, which will be interpreted
  4030. as an integer. This array is replaced
  4031. during a strategic merge patch.
  4032. items:
  4033. type: string
  4034. type: array
  4035. required:
  4036. - key
  4037. - operator
  4038. type: object
  4039. type: array
  4040. matchFields:
  4041. description: A list of node selector requirements
  4042. by node's fields.
  4043. items:
  4044. description: A node selector requirement
  4045. is a selector that contains values,
  4046. a key, and an operator that relates
  4047. the key and values.
  4048. properties:
  4049. key:
  4050. description: The label key that
  4051. the selector applies to.
  4052. type: string
  4053. operator:
  4054. description: Represents a key's
  4055. relationship to a set of values.
  4056. Valid operators are In, NotIn,
  4057. Exists, DoesNotExist. Gt, and
  4058. Lt.
  4059. type: string
  4060. values:
  4061. description: An array of string
  4062. values. If the operator is In
  4063. or NotIn, the values array must
  4064. be non-empty. If the operator
  4065. is Exists or DoesNotExist, the
  4066. values array must be empty. If
  4067. the operator is Gt or Lt, the
  4068. values array must have a single
  4069. element, which will be interpreted
  4070. as an integer. This array is replaced
  4071. during a strategic merge patch.
  4072. items:
  4073. type: string
  4074. type: array
  4075. required:
  4076. - key
  4077. - operator
  4078. type: object
  4079. type: array
  4080. type: object
  4081. x-kubernetes-map-type: atomic
  4082. weight:
  4083. description: Weight associated with matching
  4084. the corresponding nodeSelectorTerm, in the
  4085. range 1-100.
  4086. format: int32
  4087. type: integer
  4088. required:
  4089. - preference
  4090. - weight
  4091. type: object
  4092. type: array
  4093. requiredDuringSchedulingIgnoredDuringExecution:
  4094. description: If the affinity requirements specified
  4095. by this field are not met at scheduling time,
  4096. the pod will not be scheduled onto the node. If
  4097. the affinity requirements specified by this field
  4098. cease to be met at some point during pod execution
  4099. (e.g. due to an update), the system may or may
  4100. not try to eventually evict the pod from its node.
  4101. properties:
  4102. nodeSelectorTerms:
  4103. description: Required. A list of node selector
  4104. terms. The terms are ORed.
  4105. items:
  4106. description: A null or empty node selector
  4107. term matches no objects. The requirements
  4108. of them are ANDed. The TopologySelectorTerm
  4109. type implements a subset of the NodeSelectorTerm.
  4110. properties:
  4111. matchExpressions:
  4112. description: A list of node selector requirements
  4113. by node's labels.
  4114. items:
  4115. description: A node selector requirement
  4116. is a selector that contains values,
  4117. a key, and an operator that relates
  4118. the key and values.
  4119. properties:
  4120. key:
  4121. description: The label key that
  4122. the selector applies to.
  4123. type: string
  4124. operator:
  4125. description: Represents a key's
  4126. relationship to a set of values.
  4127. Valid operators are In, NotIn,
  4128. Exists, DoesNotExist. Gt, and
  4129. Lt.
  4130. type: string
  4131. values:
  4132. description: An array of string
  4133. values. If the operator is In
  4134. or NotIn, the values array must
  4135. be non-empty. If the operator
  4136. is Exists or DoesNotExist, the
  4137. values array must be empty. If
  4138. the operator is Gt or Lt, the
  4139. values array must have a single
  4140. element, which will be interpreted
  4141. as an integer. This array is replaced
  4142. during a strategic merge patch.
  4143. items:
  4144. type: string
  4145. type: array
  4146. required:
  4147. - key
  4148. - operator
  4149. type: object
  4150. type: array
  4151. matchFields:
  4152. description: A list of node selector requirements
  4153. by node's fields.
  4154. items:
  4155. description: A node selector requirement
  4156. is a selector that contains values,
  4157. a key, and an operator that relates
  4158. the key and values.
  4159. properties:
  4160. key:
  4161. description: The label key that
  4162. the selector applies to.
  4163. type: string
  4164. operator:
  4165. description: Represents a key's
  4166. relationship to a set of values.
  4167. Valid operators are In, NotIn,
  4168. Exists, DoesNotExist. Gt, and
  4169. Lt.
  4170. type: string
  4171. values:
  4172. description: An array of string
  4173. values. If the operator is In
  4174. or NotIn, the values array must
  4175. be non-empty. If the operator
  4176. is Exists or DoesNotExist, the
  4177. values array must be empty. If
  4178. the operator is Gt or Lt, the
  4179. values array must have a single
  4180. element, which will be interpreted
  4181. as an integer. This array is replaced
  4182. during a strategic merge patch.
  4183. items:
  4184. type: string
  4185. type: array
  4186. required:
  4187. - key
  4188. - operator
  4189. type: object
  4190. type: array
  4191. type: object
  4192. x-kubernetes-map-type: atomic
  4193. type: array
  4194. required:
  4195. - nodeSelectorTerms
  4196. type: object
  4197. x-kubernetes-map-type: atomic
  4198. type: object
  4199. podAffinity:
  4200. description: PodAffinity is a group of inter pod affinity
  4201. scheduling rules
  4202. properties:
  4203. preferredDuringSchedulingIgnoredDuringExecution:
  4204. description: The scheduler will prefer to schedule
  4205. pods to nodes that satisfy the affinity expressions
  4206. specified by this field, but it may choose a node
  4207. that violates one or more of the expressions.
  4208. The node that is most preferred is the one with
  4209. the greatest sum of weights, i.e. for each node
  4210. that meets all of the scheduling requirements
  4211. (resource request, requiredDuringScheduling affinity
  4212. expressions, etc.), compute a sum by iterating
  4213. through the elements of this field and adding
  4214. "weight" to the sum if the node has pods which
  4215. matches the corresponding podAffinityTerm; the
  4216. node(s) with the highest sum are the most preferred.
  4217. items:
  4218. description: The weights of all of the matched
  4219. WeightedPodAffinityTerm fields are added per-node
  4220. to find the most preferred node(s)
  4221. properties:
  4222. podAffinityTerm:
  4223. description: Required. A pod affinity term,
  4224. associated with the corresponding weight.
  4225. properties:
  4226. labelSelector:
  4227. description: A label query over a set
  4228. of resources, in this case pods.
  4229. properties:
  4230. matchExpressions:
  4231. description: matchExpressions is a
  4232. list of label selector requirements.
  4233. The requirements are ANDed.
  4234. items:
  4235. description: A label selector requirement
  4236. is a selector that contains values,
  4237. a key, and an operator that relates
  4238. the key and values.
  4239. properties:
  4240. key:
  4241. description: key is the label
  4242. key that the selector applies
  4243. to.
  4244. type: string
  4245. operator:
  4246. description: operator represents
  4247. a key's relationship to a
  4248. set of values. Valid operators
  4249. are In, NotIn, Exists and
  4250. DoesNotExist.
  4251. type: string
  4252. values:
  4253. description: values is an array
  4254. of string values. If the operator
  4255. is In or NotIn, the values
  4256. array must be non-empty. If
  4257. the operator is Exists or
  4258. DoesNotExist, the values array
  4259. must be empty. This array
  4260. is replaced during a strategic
  4261. merge patch.
  4262. items:
  4263. type: string
  4264. type: array
  4265. required:
  4266. - key
  4267. - operator
  4268. type: object
  4269. type: array
  4270. matchLabels:
  4271. additionalProperties:
  4272. type: string
  4273. description: matchLabels is a map
  4274. of {key,value} pairs. A single {key,value}
  4275. in the matchLabels map is equivalent
  4276. to an element of matchExpressions,
  4277. whose key field is "key", the operator
  4278. is "In", and the values array contains
  4279. only "value". The requirements are
  4280. ANDed.
  4281. type: object
  4282. type: object
  4283. x-kubernetes-map-type: atomic
  4284. namespaceSelector:
  4285. description: A label query over the set
  4286. of namespaces that the term applies
  4287. to. The term is applied to the union
  4288. of the namespaces selected by this field
  4289. and the ones listed in the namespaces
  4290. field. null selector and null or empty
  4291. namespaces list means "this pod's namespace".
  4292. An empty selector ({}) matches all namespaces.
  4293. properties:
  4294. matchExpressions:
  4295. description: matchExpressions is a
  4296. list of label selector requirements.
  4297. The requirements are ANDed.
  4298. items:
  4299. description: A label selector requirement
  4300. is a selector that contains values,
  4301. a key, and an operator that relates
  4302. the key and values.
  4303. properties:
  4304. key:
  4305. description: key is the label
  4306. key that the selector applies
  4307. to.
  4308. type: string
  4309. operator:
  4310. description: operator represents
  4311. a key's relationship to a
  4312. set of values. Valid operators
  4313. are In, NotIn, Exists and
  4314. DoesNotExist.
  4315. type: string
  4316. values:
  4317. description: values is an array
  4318. of string values. If the operator
  4319. is In or NotIn, the values
  4320. array must be non-empty. If
  4321. the operator is Exists or
  4322. DoesNotExist, the values array
  4323. must be empty. This array
  4324. is replaced during a strategic
  4325. merge patch.
  4326. items:
  4327. type: string
  4328. type: array
  4329. required:
  4330. - key
  4331. - operator
  4332. type: object
  4333. type: array
  4334. matchLabels:
  4335. additionalProperties:
  4336. type: string
  4337. description: matchLabels is a map
  4338. of {key,value} pairs. A single {key,value}
  4339. in the matchLabels map is equivalent
  4340. to an element of matchExpressions,
  4341. whose key field is "key", the operator
  4342. is "In", and the values array contains
  4343. only "value". The requirements are
  4344. ANDed.
  4345. type: object
  4346. type: object
  4347. x-kubernetes-map-type: atomic
  4348. namespaces:
  4349. description: namespaces specifies a static
  4350. list of namespace names that the term
  4351. applies to. The term is applied to the
  4352. union of the namespaces listed in this
  4353. field and the ones selected by namespaceSelector.
  4354. null or empty namespaces list and null
  4355. namespaceSelector means "this pod's
  4356. namespace".
  4357. items:
  4358. type: string
  4359. type: array
  4360. topologyKey:
  4361. description: This pod should be co-located
  4362. (affinity) or not co-located (anti-affinity)
  4363. with the pods matching the labelSelector
  4364. in the specified namespaces, where co-located
  4365. is defined as running on a node whose
  4366. value of the label with key topologyKey
  4367. matches that of any node on which any
  4368. of the selected pods is running. Empty
  4369. topologyKey is not allowed.
  4370. type: string
  4371. required:
  4372. - topologyKey
  4373. type: object
  4374. weight:
  4375. description: weight associated with matching
  4376. the corresponding podAffinityTerm, in the
  4377. range 1-100.
  4378. format: int32
  4379. type: integer
  4380. required:
  4381. - podAffinityTerm
  4382. - weight
  4383. type: object
  4384. type: array
  4385. requiredDuringSchedulingIgnoredDuringExecution:
  4386. description: If the affinity requirements specified
  4387. by this field are not met at scheduling time,
  4388. the pod will not be scheduled onto the node. If
  4389. the affinity requirements specified by this field
  4390. cease to be met at some point during pod execution
  4391. (e.g. due to a pod label update), the system may
  4392. or may not try to eventually evict the pod from
  4393. its node. When there are multiple elements, the
  4394. lists of nodes corresponding to each podAffinityTerm
  4395. are intersected, i.e. all terms must be satisfied.
  4396. items:
  4397. description: Defines a set of pods (namely those
  4398. matching the labelSelector relative to the given
  4399. namespace(s)) that this pod should be co-located
  4400. (affinity) or not co-located (anti-affinity)
  4401. with, where co-located is defined as running
  4402. on a node whose value of the label with key
  4403. <topologyKey> matches that of any node on which
  4404. a pod of the set of pods is running
  4405. properties:
  4406. labelSelector:
  4407. description: A label query over a set of resources,
  4408. in this case pods.
  4409. properties:
  4410. matchExpressions:
  4411. description: matchExpressions is a list
  4412. of label selector requirements. The
  4413. requirements are ANDed.
  4414. items:
  4415. description: A label selector requirement
  4416. is a selector that contains values,
  4417. a key, and an operator that relates
  4418. the key and values.
  4419. properties:
  4420. key:
  4421. description: key is the label key
  4422. that the selector applies to.
  4423. type: string
  4424. operator:
  4425. description: operator represents
  4426. a key's relationship to a set
  4427. of values. Valid operators are
  4428. In, NotIn, Exists and DoesNotExist.
  4429. type: string
  4430. values:
  4431. description: values is an array
  4432. of string values. If the operator
  4433. is In or NotIn, the values array
  4434. must be non-empty. If the operator
  4435. is Exists or DoesNotExist, the
  4436. values array must be empty. This
  4437. array is replaced during a strategic
  4438. merge patch.
  4439. items:
  4440. type: string
  4441. type: array
  4442. required:
  4443. - key
  4444. - operator
  4445. type: object
  4446. type: array
  4447. matchLabels:
  4448. additionalProperties:
  4449. type: string
  4450. description: matchLabels is a map of {key,value}
  4451. pairs. A single {key,value} in the matchLabels
  4452. map is equivalent to an element of matchExpressions,
  4453. whose key field is "key", the operator
  4454. is "In", and the values array contains
  4455. only "value". The requirements are ANDed.
  4456. type: object
  4457. type: object
  4458. x-kubernetes-map-type: atomic
  4459. namespaceSelector:
  4460. description: A label query over the set of
  4461. namespaces that the term applies to. The
  4462. term is applied to the union of the namespaces
  4463. selected by this field and the ones listed
  4464. in the namespaces field. null selector and
  4465. null or empty namespaces list means "this
  4466. pod's namespace". An empty selector ({})
  4467. matches all namespaces.
  4468. properties:
  4469. matchExpressions:
  4470. description: matchExpressions is a list
  4471. of label selector requirements. The
  4472. requirements are ANDed.
  4473. items:
  4474. description: A label selector requirement
  4475. is a selector that contains values,
  4476. a key, and an operator that relates
  4477. the key and values.
  4478. properties:
  4479. key:
  4480. description: key is the label key
  4481. that the selector applies to.
  4482. type: string
  4483. operator:
  4484. description: operator represents
  4485. a key's relationship to a set
  4486. of values. Valid operators are
  4487. In, NotIn, Exists and DoesNotExist.
  4488. type: string
  4489. values:
  4490. description: values is an array
  4491. of string values. If the operator
  4492. is In or NotIn, the values array
  4493. must be non-empty. If the operator
  4494. is Exists or DoesNotExist, the
  4495. values array must be empty. This
  4496. array is replaced during a strategic
  4497. merge patch.
  4498. items:
  4499. type: string
  4500. type: array
  4501. required:
  4502. - key
  4503. - operator
  4504. type: object
  4505. type: array
  4506. matchLabels:
  4507. additionalProperties:
  4508. type: string
  4509. description: matchLabels is a map of {key,value}
  4510. pairs. A single {key,value} in the matchLabels
  4511. map is equivalent to an element of matchExpressions,
  4512. whose key field is "key", the operator
  4513. is "In", and the values array contains
  4514. only "value". The requirements are ANDed.
  4515. type: object
  4516. type: object
  4517. x-kubernetes-map-type: atomic
  4518. namespaces:
  4519. description: namespaces specifies a static
  4520. list of namespace names that the term applies
  4521. to. The term is applied to the union of
  4522. the namespaces listed in this field and
  4523. the ones selected by namespaceSelector.
  4524. null or empty namespaces list and null namespaceSelector
  4525. means "this pod's namespace".
  4526. items:
  4527. type: string
  4528. type: array
  4529. topologyKey:
  4530. description: This pod should be co-located
  4531. (affinity) or not co-located (anti-affinity)
  4532. with the pods matching the labelSelector
  4533. in the specified namespaces, where co-located
  4534. is defined as running on a node whose value
  4535. of the label with key topologyKey matches
  4536. that of any node on which any of the selected
  4537. pods is running. Empty topologyKey is not
  4538. allowed.
  4539. type: string
  4540. required:
  4541. - topologyKey
  4542. type: object
  4543. type: array
  4544. type: object
  4545. podAntiAffinity:
  4546. description: PodAntiAffinity is a group of inter pod
  4547. anti affinity scheduling rules
  4548. properties:
  4549. preferredDuringSchedulingIgnoredDuringExecution:
  4550. description: The scheduler will prefer to schedule
  4551. pods to nodes that satisfy the anti-affinity expressions
  4552. specified by this field, but it may choose a node
  4553. that violates one or more of the expressions.
  4554. The node that is most preferred is the one with
  4555. the greatest sum of weights, i.e. for each node
  4556. that meets all of the scheduling requirements
  4557. (resource request, requiredDuringScheduling anti-affinity
  4558. expressions, etc.), compute a sum by iterating
  4559. through the elements of this field and adding
  4560. "weight" to the sum if the node has pods which
  4561. matches the corresponding podAffinityTerm; the
  4562. node(s) with the highest sum are the most preferred.
  4563. items:
  4564. description: The weights of all of the matched
  4565. WeightedPodAffinityTerm fields are added per-node
  4566. to find the most preferred node(s)
  4567. properties:
  4568. podAffinityTerm:
  4569. description: Required. A pod affinity term,
  4570. associated with the corresponding weight.
  4571. properties:
  4572. labelSelector:
  4573. description: A label query over a set
  4574. of resources, in this case pods.
  4575. properties:
  4576. matchExpressions:
  4577. description: matchExpressions is a
  4578. list of label selector requirements.
  4579. The requirements are ANDed.
  4580. items:
  4581. description: A label selector requirement
  4582. is a selector that contains values,
  4583. a key, and an operator that relates
  4584. the key and values.
  4585. properties:
  4586. key:
  4587. description: key is the label
  4588. key that the selector applies
  4589. to.
  4590. type: string
  4591. operator:
  4592. description: operator represents
  4593. a key's relationship to a
  4594. set of values. Valid operators
  4595. are In, NotIn, Exists and
  4596. DoesNotExist.
  4597. type: string
  4598. values:
  4599. description: values is an array
  4600. of string values. If the operator
  4601. is In or NotIn, the values
  4602. array must be non-empty. If
  4603. the operator is Exists or
  4604. DoesNotExist, the values array
  4605. must be empty. This array
  4606. is replaced during a strategic
  4607. merge patch.
  4608. items:
  4609. type: string
  4610. type: array
  4611. required:
  4612. - key
  4613. - operator
  4614. type: object
  4615. type: array
  4616. matchLabels:
  4617. additionalProperties:
  4618. type: string
  4619. description: matchLabels is a map
  4620. of {key,value} pairs. A single {key,value}
  4621. in the matchLabels map is equivalent
  4622. to an element of matchExpressions,
  4623. whose key field is "key", the operator
  4624. is "In", and the values array contains
  4625. only "value". The requirements are
  4626. ANDed.
  4627. type: object
  4628. type: object
  4629. x-kubernetes-map-type: atomic
  4630. namespaceSelector:
  4631. description: A label query over the set
  4632. of namespaces that the term applies
  4633. to. The term is applied to the union
  4634. of the namespaces selected by this field
  4635. and the ones listed in the namespaces
  4636. field. null selector and null or empty
  4637. namespaces list means "this pod's namespace".
  4638. An empty selector ({}) matches all namespaces.
  4639. properties:
  4640. matchExpressions:
  4641. description: matchExpressions is a
  4642. list of label selector requirements.
  4643. The requirements are ANDed.
  4644. items:
  4645. description: A label selector requirement
  4646. is a selector that contains values,
  4647. a key, and an operator that relates
  4648. the key and values.
  4649. properties:
  4650. key:
  4651. description: key is the label
  4652. key that the selector applies
  4653. to.
  4654. type: string
  4655. operator:
  4656. description: operator represents
  4657. a key's relationship to a
  4658. set of values. Valid operators
  4659. are In, NotIn, Exists and
  4660. DoesNotExist.
  4661. type: string
  4662. values:
  4663. description: values is an array
  4664. of string values. If the operator
  4665. is In or NotIn, the values
  4666. array must be non-empty. If
  4667. the operator is Exists or
  4668. DoesNotExist, the values array
  4669. must be empty. This array
  4670. is replaced during a strategic
  4671. merge patch.
  4672. items:
  4673. type: string
  4674. type: array
  4675. required:
  4676. - key
  4677. - operator
  4678. type: object
  4679. type: array
  4680. matchLabels:
  4681. additionalProperties:
  4682. type: string
  4683. description: matchLabels is a map
  4684. of {key,value} pairs. A single {key,value}
  4685. in the matchLabels map is equivalent
  4686. to an element of matchExpressions,
  4687. whose key field is "key", the operator
  4688. is "In", and the values array contains
  4689. only "value". The requirements are
  4690. ANDed.
  4691. type: object
  4692. type: object
  4693. x-kubernetes-map-type: atomic
  4694. namespaces:
  4695. description: namespaces specifies a static
  4696. list of namespace names that the term
  4697. applies to. The term is applied to the
  4698. union of the namespaces listed in this
  4699. field and the ones selected by namespaceSelector.
  4700. null or empty namespaces list and null
  4701. namespaceSelector means "this pod's
  4702. namespace".
  4703. items:
  4704. type: string
  4705. type: array
  4706. topologyKey:
  4707. description: This pod should be co-located
  4708. (affinity) or not co-located (anti-affinity)
  4709. with the pods matching the labelSelector
  4710. in the specified namespaces, where co-located
  4711. is defined as running on a node whose
  4712. value of the label with key topologyKey
  4713. matches that of any node on which any
  4714. of the selected pods is running. Empty
  4715. topologyKey is not allowed.
  4716. type: string
  4717. required:
  4718. - topologyKey
  4719. type: object
  4720. weight:
  4721. description: weight associated with matching
  4722. the corresponding podAffinityTerm, in the
  4723. range 1-100.
  4724. format: int32
  4725. type: integer
  4726. required:
  4727. - podAffinityTerm
  4728. - weight
  4729. type: object
  4730. type: array
  4731. requiredDuringSchedulingIgnoredDuringExecution:
  4732. description: If the anti-affinity requirements specified
  4733. by this field are not met at scheduling time,
  4734. the pod will not be scheduled onto the node. If
  4735. the anti-affinity requirements specified by this
  4736. field cease to be met at some point during pod
  4737. execution (e.g. due to a pod label update), the
  4738. system may or may not try to eventually evict
  4739. the pod from its node. When there are multiple
  4740. elements, the lists of nodes corresponding to
  4741. each podAffinityTerm are intersected, i.e. all
  4742. terms must be satisfied.
  4743. items:
  4744. description: Defines a set of pods (namely those
  4745. matching the labelSelector relative to the given
  4746. namespace(s)) that this pod should be co-located
  4747. (affinity) or not co-located (anti-affinity)
  4748. with, where co-located is defined as running
  4749. on a node whose value of the label with key
  4750. <topologyKey> matches that of any node on which
  4751. a pod of the set of pods is running
  4752. properties:
  4753. labelSelector:
  4754. description: A label query over a set of resources,
  4755. in this case pods.
  4756. properties:
  4757. matchExpressions:
  4758. description: matchExpressions is a list
  4759. of label selector requirements. The
  4760. requirements are ANDed.
  4761. items:
  4762. description: A label selector requirement
  4763. is a selector that contains values,
  4764. a key, and an operator that relates
  4765. the key and values.
  4766. properties:
  4767. key:
  4768. description: key is the label key
  4769. that the selector applies to.
  4770. type: string
  4771. operator:
  4772. description: operator represents
  4773. a key's relationship to a set
  4774. of values. Valid operators are
  4775. In, NotIn, Exists and DoesNotExist.
  4776. type: string
  4777. values:
  4778. description: values is an array
  4779. of string values. If the operator
  4780. is In or NotIn, the values array
  4781. must be non-empty. If the operator
  4782. is Exists or DoesNotExist, the
  4783. values array must be empty. This
  4784. array is replaced during a strategic
  4785. merge patch.
  4786. items:
  4787. type: string
  4788. type: array
  4789. required:
  4790. - key
  4791. - operator
  4792. type: object
  4793. type: array
  4794. matchLabels:
  4795. additionalProperties:
  4796. type: string
  4797. description: matchLabels is a map of {key,value}
  4798. pairs. A single {key,value} in the matchLabels
  4799. map is equivalent to an element of matchExpressions,
  4800. whose key field is "key", the operator
  4801. is "In", and the values array contains
  4802. only "value". The requirements are ANDed.
  4803. type: object
  4804. type: object
  4805. x-kubernetes-map-type: atomic
  4806. namespaceSelector:
  4807. description: A label query over the set of
  4808. namespaces that the term applies to. The
  4809. term is applied to the union of the namespaces
  4810. selected by this field and the ones listed
  4811. in the namespaces field. null selector and
  4812. null or empty namespaces list means "this
  4813. pod's namespace". An empty selector ({})
  4814. matches all namespaces.
  4815. properties:
  4816. matchExpressions:
  4817. description: matchExpressions is a list
  4818. of label selector requirements. The
  4819. requirements are ANDed.
  4820. items:
  4821. description: A label selector requirement
  4822. is a selector that contains values,
  4823. a key, and an operator that relates
  4824. the key and values.
  4825. properties:
  4826. key:
  4827. description: key is the label key
  4828. that the selector applies to.
  4829. type: string
  4830. operator:
  4831. description: operator represents
  4832. a key's relationship to a set
  4833. of values. Valid operators are
  4834. In, NotIn, Exists and DoesNotExist.
  4835. type: string
  4836. values:
  4837. description: values is an array
  4838. of string values. If the operator
  4839. is In or NotIn, the values array
  4840. must be non-empty. If the operator
  4841. is Exists or DoesNotExist, the
  4842. values array must be empty. This
  4843. array is replaced during a strategic
  4844. merge patch.
  4845. items:
  4846. type: string
  4847. type: array
  4848. required:
  4849. - key
  4850. - operator
  4851. type: object
  4852. type: array
  4853. matchLabels:
  4854. additionalProperties:
  4855. type: string
  4856. description: matchLabels is a map of {key,value}
  4857. pairs. A single {key,value} in the matchLabels
  4858. map is equivalent to an element of matchExpressions,
  4859. whose key field is "key", the operator
  4860. is "In", and the values array contains
  4861. only "value". The requirements are ANDed.
  4862. type: object
  4863. type: object
  4864. x-kubernetes-map-type: atomic
  4865. namespaces:
  4866. description: namespaces specifies a static
  4867. list of namespace names that the term applies
  4868. to. The term is applied to the union of
  4869. the namespaces listed in this field and
  4870. the ones selected by namespaceSelector.
  4871. null or empty namespaces list and null namespaceSelector
  4872. means "this pod's namespace".
  4873. items:
  4874. type: string
  4875. type: array
  4876. topologyKey:
  4877. description: This pod should be co-located
  4878. (affinity) or not co-located (anti-affinity)
  4879. with the pods matching the labelSelector
  4880. in the specified namespaces, where co-located
  4881. is defined as running on a node whose value
  4882. of the label with key topologyKey matches
  4883. that of any node on which any of the selected
  4884. pods is running. Empty topologyKey is not
  4885. allowed.
  4886. type: string
  4887. required:
  4888. - topologyKey
  4889. type: object
  4890. type: array
  4891. type: object
  4892. tolerations:
  4893. description: The pod this Toleration is attached to
  4894. tolerates any taint that matches the triple <key,value,effect>
  4895. using the matching operator <operator>
  4896. items:
  4897. description: The pod this Toleration is attached to
  4898. tolerates any taint that matches the triple <key,value,effect>
  4899. using the matching operator <operator>.
  4900. properties:
  4901. effect:
  4902. description: Effect indicates the taint effect
  4903. to match. Empty means match all taint effects.
  4904. When specified, allowed values are NoSchedule,
  4905. PreferNoSchedule and NoExecute.
  4906. type: string
  4907. key:
  4908. description: Key is the taint key that the toleration
  4909. applies to. Empty means match all taint keys.
  4910. If the key is empty, operator must be Exists;
  4911. this combination means to match all values and
  4912. all keys.
  4913. type: string
  4914. operator:
  4915. description: Operator represents a key's relationship
  4916. to the value. Valid operators are Exists and
  4917. Equal. Defaults to Equal. Exists is equivalent
  4918. to wildcard for value, so that a pod can tolerate
  4919. all taints of a particular category.
  4920. type: string
  4921. tolerationSeconds:
  4922. description: TolerationSeconds represents the
  4923. period of time the toleration (which must be
  4924. of effect NoExecute, otherwise this field is
  4925. ignored) tolerates the taint. By default, it
  4926. is not set, which means tolerate the taint forever
  4927. (do not evict). Zero and negative values will
  4928. be treated as 0 (evict immediately) by the system.
  4929. format: int64
  4930. type: integer
  4931. value:
  4932. description: Value is the taint value the toleration
  4933. matches to. If the operator is Exists, the value
  4934. should be empty, otherwise just a regular string.
  4935. type: string
  4936. type: object
  4937. type: array
  4938. topologySpreadConstraints:
  4939. description: TopologySpreadConstraint specifies how
  4940. to spread matching pods among the given topology
  4941. items:
  4942. description: TopologySpreadConstraint specifies how
  4943. to spread matching pods among the given topology.
  4944. properties:
  4945. labelSelector:
  4946. description: LabelSelector is used to find matching
  4947. pods. Pods that match this label selector are
  4948. counted to determine the number of pods in their
  4949. corresponding topology domain.
  4950. properties:
  4951. matchExpressions:
  4952. description: matchExpressions is a list of
  4953. label selector requirements. The requirements
  4954. are ANDed.
  4955. items:
  4956. description: A label selector requirement
  4957. is a selector that contains values, a
  4958. key, and an operator that relates the
  4959. key and values.
  4960. properties:
  4961. key:
  4962. description: key is the label key that
  4963. the selector applies to.
  4964. type: string
  4965. operator:
  4966. description: operator represents a key's
  4967. relationship to a set of values. Valid
  4968. operators are In, NotIn, Exists and
  4969. DoesNotExist.
  4970. type: string
  4971. values:
  4972. description: values is an array of string
  4973. values. If the operator is In or NotIn,
  4974. the values array must be non-empty.
  4975. If the operator is Exists or DoesNotExist,
  4976. the values array must be empty. This
  4977. array is replaced during a strategic
  4978. merge patch.
  4979. items:
  4980. type: string
  4981. type: array
  4982. required:
  4983. - key
  4984. - operator
  4985. type: object
  4986. type: array
  4987. matchLabels:
  4988. additionalProperties:
  4989. type: string
  4990. description: matchLabels is a map of {key,value}
  4991. pairs. A single {key,value} in the matchLabels
  4992. map is equivalent to an element of matchExpressions,
  4993. whose key field is "key", the operator is
  4994. "In", and the values array contains only
  4995. "value". The requirements are ANDed.
  4996. type: object
  4997. type: object
  4998. x-kubernetes-map-type: atomic
  4999. matchLabelKeys:
  5000. description: "MatchLabelKeys is a set of pod label
  5001. keys to select the pods over which spreading
  5002. will be calculated. The keys are used to lookup
  5003. values from the incoming pod labels, those key-value
  5004. labels are ANDed with labelSelector to select
  5005. the group of existing pods over which spreading
  5006. will be calculated for the incoming pod. The
  5007. same key is forbidden to exist in both MatchLabelKeys
  5008. and LabelSelector. MatchLabelKeys cannot be
  5009. set when LabelSelector isn't set. Keys that
  5010. don't exist in the incoming pod labels will
  5011. be ignored. A null or empty list means only
  5012. match against labelSelector. \n This is a beta
  5013. field and requires the MatchLabelKeysInPodTopologySpread
  5014. feature gate to be enabled (enabled by default)."
  5015. items:
  5016. type: string
  5017. type: array
  5018. x-kubernetes-list-type: atomic
  5019. maxSkew:
  5020. description: 'MaxSkew describes the degree to
  5021. which pods may be unevenly distributed. When
  5022. `whenUnsatisfiable=DoNotSchedule`, it is the
  5023. maximum permitted difference between the number
  5024. of matching pods in the target topology and
  5025. the global minimum. The global minimum is the
  5026. minimum number of matching pods in an eligible
  5027. domain or zero if the number of eligible domains
  5028. is less than MinDomains. For example, in a 3-zone
  5029. cluster, MaxSkew is set to 1, and pods with
  5030. the same labelSelector spread as 2/2/1: In this
  5031. case, the global minimum is 1. | zone1 | zone2
  5032. | zone3 | | P P | P P | P | - if MaxSkew
  5033. is 1, incoming pod can only be scheduled to
  5034. zone3 to become 2/2/2; scheduling it onto zone1(zone2)
  5035. would make the ActualSkew(3-1) on zone1(zone2)
  5036. violate MaxSkew(1). - if MaxSkew is 2, incoming
  5037. pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`,
  5038. it is used to give higher precedence to topologies
  5039. that satisfy it. It''s a required field. Default
  5040. value is 1 and 0 is not allowed.'
  5041. format: int32
  5042. type: integer
  5043. minDomains:
  5044. description: "MinDomains indicates a minimum number
  5045. of eligible domains. When the number of eligible
  5046. domains with matching topology keys is less
  5047. than minDomains, Pod Topology Spread treats
  5048. \"global minimum\" as 0, and then the calculation
  5049. of Skew is performed. And when the number of
  5050. eligible domains with matching topology keys
  5051. equals or greater than minDomains, this value
  5052. has no effect on scheduling. As a result, when
  5053. the number of eligible domains is less than
  5054. minDomains, scheduler won't schedule more than
  5055. maxSkew Pods to those domains. If value is nil,
  5056. the constraint behaves as if MinDomains is equal
  5057. to 1. Valid values are integers greater than
  5058. 0. When value is not nil, WhenUnsatisfiable
  5059. must be DoNotSchedule. \n For example, in a
  5060. 3-zone cluster, MaxSkew is set to 2, MinDomains
  5061. is set to 5 and pods with the same labelSelector
  5062. spread as 2/2/2: | zone1 | zone2 | zone3 | |
  5063. \ P P | P P | P P | The number of domains
  5064. is less than 5(MinDomains), so \"global minimum\"
  5065. is treated as 0. In this situation, new pod
  5066. with the same labelSelector cannot be scheduled,
  5067. because computed skew will be 3(3 - 0) if new
  5068. Pod is scheduled to any of the three zones,
  5069. it will violate MaxSkew. \n This is a beta field
  5070. and requires the MinDomainsInPodTopologySpread
  5071. feature gate to be enabled (enabled by default)."
  5072. format: int32
  5073. type: integer
  5074. nodeAffinityPolicy:
  5075. description: "NodeAffinityPolicy indicates how
  5076. we will treat Pod's nodeAffinity/nodeSelector
  5077. when calculating pod topology spread skew. Options
  5078. are: - Honor: only nodes matching nodeAffinity/nodeSelector
  5079. are included in the calculations. - Ignore:
  5080. nodeAffinity/nodeSelector are ignored. All nodes
  5081. are included in the calculations. \n If this
  5082. value is nil, the behavior is equivalent to
  5083. the Honor policy. This is a beta-level feature
  5084. default enabled by the NodeInclusionPolicyInPodTopologySpread
  5085. feature flag."
  5086. type: string
  5087. nodeTaintsPolicy:
  5088. description: "NodeTaintsPolicy indicates how we
  5089. will treat node taints when calculating pod
  5090. topology spread skew. Options are: - Honor:
  5091. nodes without taints, along with tainted nodes
  5092. for which the incoming pod has a toleration,
  5093. are included. - Ignore: node taints are ignored.
  5094. All nodes are included. \n If this value is
  5095. nil, the behavior is equivalent to the Ignore
  5096. policy. This is a beta-level feature default
  5097. enabled by the NodeInclusionPolicyInPodTopologySpread
  5098. feature flag."
  5099. type: string
  5100. topologyKey:
  5101. description: TopologyKey is the key of node labels.
  5102. Nodes that have a label with this key and identical
  5103. values are considered to be in the same topology.
  5104. We consider each <key, value> as a "bucket",
  5105. and try to put balanced number of pods into
  5106. each bucket. We define a domain as a particular
  5107. instance of a topology. Also, we define an eligible
  5108. domain as a domain whose nodes meet the requirements
  5109. of nodeAffinityPolicy and nodeTaintsPolicy.
  5110. e.g. If TopologyKey is "kubernetes.io/hostname",
  5111. each Node is a domain of that topology. And,
  5112. if TopologyKey is "topology.kubernetes.io/zone",
  5113. each zone is a domain of that topology. It's
  5114. a required field.
  5115. type: string
  5116. whenUnsatisfiable:
  5117. description: 'WhenUnsatisfiable indicates how
  5118. to deal with a pod if it doesn''t satisfy the
  5119. spread constraint. - DoNotSchedule (default)
  5120. tells the scheduler not to schedule it. - ScheduleAnyway
  5121. tells the scheduler to schedule the pod in any
  5122. location, but giving higher precedence to topologies
  5123. that would help reduce the skew. A constraint
  5124. is considered "Unsatisfiable" for an incoming
  5125. pod if and only if every possible node assignment
  5126. for that pod would violate "MaxSkew" on some
  5127. topology. For example, in a 3-zone cluster,
  5128. MaxSkew is set to 1, and pods with the same
  5129. labelSelector spread as 3/1/1: | zone1 | zone2
  5130. | zone3 | | P P P | P | P | If WhenUnsatisfiable
  5131. is set to DoNotSchedule, incoming pod can only
  5132. be scheduled to zone2(zone3) to become 3/2/1(3/1/2)
  5133. as ActualSkew(2-1) on zone2(zone3) satisfies
  5134. MaxSkew(1). In other words, the cluster can
  5135. still be imbalanced, but scheduler won''t make
  5136. it *more* imbalanced. It''s a required field.'
  5137. type: string
  5138. required:
  5139. - maxSkew
  5140. - topologyKey
  5141. - whenUnsatisfiable
  5142. type: object
  5143. type: array
  5144. type: object
  5145. x-kubernetes-preserve-unknown-fields: true
  5146. portable:
  5147. description: Portable represents OSD portability across
  5148. the hosts
  5149. type: boolean
  5150. preparePlacement:
  5151. description: Placement is the placement for an object
  5152. nullable: true
  5153. properties:
  5154. nodeAffinity:
  5155. description: NodeAffinity is a group of node affinity
  5156. scheduling rules
  5157. properties:
  5158. preferredDuringSchedulingIgnoredDuringExecution:
  5159. description: The scheduler will prefer to schedule
  5160. pods to nodes that satisfy the affinity expressions
  5161. specified by this field, but it may choose a node
  5162. that violates one or more of the expressions.
  5163. The node that is most preferred is the one with
  5164. the greatest sum of weights, i.e. for each node
  5165. that meets all of the scheduling requirements
  5166. (resource request, requiredDuringScheduling affinity
  5167. expressions, etc.), compute a sum by iterating
  5168. through the elements of this field and adding
  5169. "weight" to the sum if the node matches the corresponding
  5170. matchExpressions; the node(s) with the highest
  5171. sum are the most preferred.
  5172. items:
  5173. description: An empty preferred scheduling term
  5174. matches all objects with implicit weight 0 (i.e.
  5175. it's a no-op). A null preferred scheduling term
  5176. matches no objects (i.e. is also a no-op).
  5177. properties:
  5178. preference:
  5179. description: A node selector term, associated
  5180. with the corresponding weight.
  5181. properties:
  5182. matchExpressions:
  5183. description: A list of node selector requirements
  5184. by node's labels.
  5185. items:
  5186. description: A node selector requirement
  5187. is a selector that contains values,
  5188. a key, and an operator that relates
  5189. the key and values.
  5190. properties:
  5191. key:
  5192. description: The label key that
  5193. the selector applies to.
  5194. type: string
  5195. operator:
  5196. description: Represents a key's
  5197. relationship to a set of values.
  5198. Valid operators are In, NotIn,
  5199. Exists, DoesNotExist. Gt, and
  5200. Lt.
  5201. type: string
  5202. values:
  5203. description: An array of string
  5204. values. If the operator is In
  5205. or NotIn, the values array must
  5206. be non-empty. If the operator
  5207. is Exists or DoesNotExist, the
  5208. values array must be empty. If
  5209. the operator is Gt or Lt, the
  5210. values array must have a single
  5211. element, which will be interpreted
  5212. as an integer. This array is replaced
  5213. during a strategic merge patch.
  5214. items:
  5215. type: string
  5216. type: array
  5217. required:
  5218. - key
  5219. - operator
  5220. type: object
  5221. type: array
  5222. matchFields:
  5223. description: A list of node selector requirements
  5224. by node's fields.
  5225. items:
  5226. description: A node selector requirement
  5227. is a selector that contains values,
  5228. a key, and an operator that relates
  5229. the key and values.
  5230. properties:
  5231. key:
  5232. description: The label key that
  5233. the selector applies to.
  5234. type: string
  5235. operator:
  5236. description: Represents a key's
  5237. relationship to a set of values.
  5238. Valid operators are In, NotIn,
  5239. Exists, DoesNotExist. Gt, and
  5240. Lt.
  5241. type: string
  5242. values:
  5243. description: An array of string
  5244. values. If the operator is In
  5245. or NotIn, the values array must
  5246. be non-empty. If the operator
  5247. is Exists or DoesNotExist, the
  5248. values array must be empty. If
  5249. the operator is Gt or Lt, the
  5250. values array must have a single
  5251. element, which will be interpreted
  5252. as an integer. This array is replaced
  5253. during a strategic merge patch.
  5254. items:
  5255. type: string
  5256. type: array
  5257. required:
  5258. - key
  5259. - operator
  5260. type: object
  5261. type: array
  5262. type: object
  5263. x-kubernetes-map-type: atomic
  5264. weight:
  5265. description: Weight associated with matching
  5266. the corresponding nodeSelectorTerm, in the
  5267. range 1-100.
  5268. format: int32
  5269. type: integer
  5270. required:
  5271. - preference
  5272. - weight
  5273. type: object
  5274. type: array
  5275. requiredDuringSchedulingIgnoredDuringExecution:
  5276. description: If the affinity requirements specified
  5277. by this field are not met at scheduling time,
  5278. the pod will not be scheduled onto the node. If
  5279. the affinity requirements specified by this field
  5280. cease to be met at some point during pod execution
  5281. (e.g. due to an update), the system may or may
  5282. not try to eventually evict the pod from its node.
  5283. properties:
  5284. nodeSelectorTerms:
  5285. description: Required. A list of node selector
  5286. terms. The terms are ORed.
  5287. items:
  5288. description: A null or empty node selector
  5289. term matches no objects. The requirements
  5290. of them are ANDed. The TopologySelectorTerm
  5291. type implements a subset of the NodeSelectorTerm.
  5292. properties:
  5293. matchExpressions:
  5294. description: A list of node selector requirements
  5295. by node's labels.
  5296. items:
  5297. description: A node selector requirement
  5298. is a selector that contains values,
  5299. a key, and an operator that relates
  5300. the key and values.
  5301. properties:
  5302. key:
  5303. description: The label key that
  5304. the selector applies to.
  5305. type: string
  5306. operator:
  5307. description: Represents a key's
  5308. relationship to a set of values.
  5309. Valid operators are In, NotIn,
  5310. Exists, DoesNotExist. Gt, and
  5311. Lt.
  5312. type: string
  5313. values:
  5314. description: An array of string
  5315. values. If the operator is In
  5316. or NotIn, the values array must
  5317. be non-empty. If the operator
  5318. is Exists or DoesNotExist, the
  5319. values array must be empty. If
  5320. the operator is Gt or Lt, the
  5321. values array must have a single
  5322. element, which will be interpreted
  5323. as an integer. This array is replaced
  5324. during a strategic merge patch.
  5325. items:
  5326. type: string
  5327. type: array
  5328. required:
  5329. - key
  5330. - operator
  5331. type: object
  5332. type: array
  5333. matchFields:
  5334. description: A list of node selector requirements
  5335. by node's fields.
  5336. items:
  5337. description: A node selector requirement
  5338. is a selector that contains values,
  5339. a key, and an operator that relates
  5340. the key and values.
  5341. properties:
  5342. key:
  5343. description: The label key that
  5344. the selector applies to.
  5345. type: string
  5346. operator:
  5347. description: Represents a key's
  5348. relationship to a set of values.
  5349. Valid operators are In, NotIn,
  5350. Exists, DoesNotExist. Gt, and
  5351. Lt.
  5352. type: string
  5353. values:
  5354. description: An array of string
  5355. values. If the operator is In
  5356. or NotIn, the values array must
  5357. be non-empty. If the operator
  5358. is Exists or DoesNotExist, the
  5359. values array must be empty. If
  5360. the operator is Gt or Lt, the
  5361. values array must have a single
  5362. element, which will be interpreted
  5363. as an integer. This array is replaced
  5364. during a strategic merge patch.
  5365. items:
  5366. type: string
  5367. type: array
  5368. required:
  5369. - key
  5370. - operator
  5371. type: object
  5372. type: array
  5373. type: object
  5374. x-kubernetes-map-type: atomic
  5375. type: array
  5376. required:
  5377. - nodeSelectorTerms
  5378. type: object
  5379. x-kubernetes-map-type: atomic
  5380. type: object
  5381. podAffinity:
  5382. description: PodAffinity is a group of inter pod affinity
  5383. scheduling rules
  5384. properties:
  5385. preferredDuringSchedulingIgnoredDuringExecution:
  5386. description: The scheduler will prefer to schedule
  5387. pods to nodes that satisfy the affinity expressions
  5388. specified by this field, but it may choose a node
  5389. that violates one or more of the expressions.
  5390. The node that is most preferred is the one with
  5391. the greatest sum of weights, i.e. for each node
  5392. that meets all of the scheduling requirements
  5393. (resource request, requiredDuringScheduling affinity
  5394. expressions, etc.), compute a sum by iterating
  5395. through the elements of this field and adding
  5396. "weight" to the sum if the node has pods which
  5397. matches the corresponding podAffinityTerm; the
  5398. node(s) with the highest sum are the most preferred.
  5399. items:
  5400. description: The weights of all of the matched
  5401. WeightedPodAffinityTerm fields are added per-node
  5402. to find the most preferred node(s)
  5403. properties:
  5404. podAffinityTerm:
  5405. description: Required. A pod affinity term,
  5406. associated with the corresponding weight.
  5407. properties:
  5408. labelSelector:
  5409. description: A label query over a set
  5410. of resources, in this case pods.
  5411. properties:
  5412. matchExpressions:
  5413. description: matchExpressions is a
  5414. list of label selector requirements.
  5415. The requirements are ANDed.
  5416. items:
  5417. description: A label selector requirement
  5418. is a selector that contains values,
  5419. a key, and an operator that relates
  5420. the key and values.
  5421. properties:
  5422. key:
  5423. description: key is the label
  5424. key that the selector applies
  5425. to.
  5426. type: string
  5427. operator:
  5428. description: operator represents
  5429. a key's relationship to a
  5430. set of values. Valid operators
  5431. are In, NotIn, Exists and
  5432. DoesNotExist.
  5433. type: string
  5434. values:
  5435. description: values is an array
  5436. of string values. If the operator
  5437. is In or NotIn, the values
  5438. array must be non-empty. If
  5439. the operator is Exists or
  5440. DoesNotExist, the values array
  5441. must be empty. This array
  5442. is replaced during a strategic
  5443. merge patch.
  5444. items:
  5445. type: string
  5446. type: array
  5447. required:
  5448. - key
  5449. - operator
  5450. type: object
  5451. type: array
  5452. matchLabels:
  5453. additionalProperties:
  5454. type: string
  5455. description: matchLabels is a map
  5456. of {key,value} pairs. A single {key,value}
  5457. in the matchLabels map is equivalent
  5458. to an element of matchExpressions,
  5459. whose key field is "key", the operator
  5460. is "In", and the values array contains
  5461. only "value". The requirements are
  5462. ANDed.
  5463. type: object
  5464. type: object
  5465. x-kubernetes-map-type: atomic
  5466. namespaceSelector:
  5467. description: A label query over the set
  5468. of namespaces that the term applies
  5469. to. The term is applied to the union
  5470. of the namespaces selected by this field
  5471. and the ones listed in the namespaces
  5472. field. null selector and null or empty
  5473. namespaces list means "this pod's namespace".
  5474. An empty selector ({}) matches all namespaces.
  5475. properties:
  5476. matchExpressions:
  5477. description: matchExpressions is a
  5478. list of label selector requirements.
  5479. The requirements are ANDed.
  5480. items:
  5481. description: A label selector requirement
  5482. is a selector that contains values,
  5483. a key, and an operator that relates
  5484. the key and values.
  5485. properties:
  5486. key:
  5487. description: key is the label
  5488. key that the selector applies
  5489. to.
  5490. type: string
  5491. operator:
  5492. description: operator represents
  5493. a key's relationship to a
  5494. set of values. Valid operators
  5495. are In, NotIn, Exists and
  5496. DoesNotExist.
  5497. type: string
  5498. values:
  5499. description: values is an array
  5500. of string values. If the operator
  5501. is In or NotIn, the values
  5502. array must be non-empty. If
  5503. the operator is Exists or
  5504. DoesNotExist, the values array
  5505. must be empty. This array
  5506. is replaced during a strategic
  5507. merge patch.
  5508. items:
  5509. type: string
  5510. type: array
  5511. required:
  5512. - key
  5513. - operator
  5514. type: object
  5515. type: array
  5516. matchLabels:
  5517. additionalProperties:
  5518. type: string
  5519. description: matchLabels is a map
  5520. of {key,value} pairs. A single {key,value}
  5521. in the matchLabels map is equivalent
  5522. to an element of matchExpressions,
  5523. whose key field is "key", the operator
  5524. is "In", and the values array contains
  5525. only "value". The requirements are
  5526. ANDed.
  5527. type: object
  5528. type: object
  5529. x-kubernetes-map-type: atomic
  5530. namespaces:
  5531. description: namespaces specifies a static
  5532. list of namespace names that the term
  5533. applies to. The term is applied to the
  5534. union of the namespaces listed in this
  5535. field and the ones selected by namespaceSelector.
  5536. null or empty namespaces list and null
  5537. namespaceSelector means "this pod's
  5538. namespace".
  5539. items:
  5540. type: string
  5541. type: array
  5542. topologyKey:
  5543. description: This pod should be co-located
  5544. (affinity) or not co-located (anti-affinity)
  5545. with the pods matching the labelSelector
  5546. in the specified namespaces, where co-located
  5547. is defined as running on a node whose
  5548. value of the label with key topologyKey
  5549. matches that of any node on which any
  5550. of the selected pods is running. Empty
  5551. topologyKey is not allowed.
  5552. type: string
  5553. required:
  5554. - topologyKey
  5555. type: object
  5556. weight:
  5557. description: weight associated with matching
  5558. the corresponding podAffinityTerm, in the
  5559. range 1-100.
  5560. format: int32
  5561. type: integer
  5562. required:
  5563. - podAffinityTerm
  5564. - weight
  5565. type: object
  5566. type: array
  5567. requiredDuringSchedulingIgnoredDuringExecution:
  5568. description: If the affinity requirements specified
  5569. by this field are not met at scheduling time,
  5570. the pod will not be scheduled onto the node. If
  5571. the affinity requirements specified by this field
  5572. cease to be met at some point during pod execution
  5573. (e.g. due to a pod label update), the system may
  5574. or may not try to eventually evict the pod from
  5575. its node. When there are multiple elements, the
  5576. lists of nodes corresponding to each podAffinityTerm
  5577. are intersected, i.e. all terms must be satisfied.
  5578. items:
  5579. description: Defines a set of pods (namely those
  5580. matching the labelSelector relative to the given
  5581. namespace(s)) that this pod should be co-located
  5582. (affinity) or not co-located (anti-affinity)
  5583. with, where co-located is defined as running
  5584. on a node whose value of the label with key
  5585. <topologyKey> matches that of any node on which
  5586. a pod of the set of pods is running
  5587. properties:
  5588. labelSelector:
  5589. description: A label query over a set of resources,
  5590. in this case pods.
  5591. properties:
  5592. matchExpressions:
  5593. description: matchExpressions is a list
  5594. of label selector requirements. The
  5595. requirements are ANDed.
  5596. items:
  5597. description: A label selector requirement
  5598. is a selector that contains values,
  5599. a key, and an operator that relates
  5600. the key and values.
  5601. properties:
  5602. key:
  5603. description: key is the label key
  5604. that the selector applies to.
  5605. type: string
  5606. operator:
  5607. description: operator represents
  5608. a key's relationship to a set
  5609. of values. Valid operators are
  5610. In, NotIn, Exists and DoesNotExist.
  5611. type: string
  5612. values:
  5613. description: values is an array
  5614. of string values. If the operator
  5615. is In or NotIn, the values array
  5616. must be non-empty. If the operator
  5617. is Exists or DoesNotExist, the
  5618. values array must be empty. This
  5619. array is replaced during a strategic
  5620. merge patch.
  5621. items:
  5622. type: string
  5623. type: array
  5624. required:
  5625. - key
  5626. - operator
  5627. type: object
  5628. type: array
  5629. matchLabels:
  5630. additionalProperties:
  5631. type: string
  5632. description: matchLabels is a map of {key,value}
  5633. pairs. A single {key,value} in the matchLabels
  5634. map is equivalent to an element of matchExpressions,
  5635. whose key field is "key", the operator
  5636. is "In", and the values array contains
  5637. only "value". The requirements are ANDed.
  5638. type: object
  5639. type: object
  5640. x-kubernetes-map-type: atomic
  5641. namespaceSelector:
  5642. description: A label query over the set of
  5643. namespaces that the term applies to. The
  5644. term is applied to the union of the namespaces
  5645. selected by this field and the ones listed
  5646. in the namespaces field. null selector and
  5647. null or empty namespaces list means "this
  5648. pod's namespace". An empty selector ({})
  5649. matches all namespaces.
  5650. properties:
  5651. matchExpressions:
  5652. description: matchExpressions is a list
  5653. of label selector requirements. The
  5654. requirements are ANDed.
  5655. items:
  5656. description: A label selector requirement
  5657. is a selector that contains values,
  5658. a key, and an operator that relates
  5659. the key and values.
  5660. properties:
  5661. key:
  5662. description: key is the label key
  5663. that the selector applies to.
  5664. type: string
  5665. operator:
  5666. description: operator represents
  5667. a key's relationship to a set
  5668. of values. Valid operators are
  5669. In, NotIn, Exists and DoesNotExist.
  5670. type: string
  5671. values:
  5672. description: values is an array
  5673. of string values. If the operator
  5674. is In or NotIn, the values array
  5675. must be non-empty. If the operator
  5676. is Exists or DoesNotExist, the
  5677. values array must be empty. This
  5678. array is replaced during a strategic
  5679. merge patch.
  5680. items:
  5681. type: string
  5682. type: array
  5683. required:
  5684. - key
  5685. - operator
  5686. type: object
  5687. type: array
  5688. matchLabels:
  5689. additionalProperties:
  5690. type: string
  5691. description: matchLabels is a map of {key,value}
  5692. pairs. A single {key,value} in the matchLabels
  5693. map is equivalent to an element of matchExpressions,
  5694. whose key field is "key", the operator
  5695. is "In", and the values array contains
  5696. only "value". The requirements are ANDed.
  5697. type: object
  5698. type: object
  5699. x-kubernetes-map-type: atomic
  5700. namespaces:
  5701. description: namespaces specifies a static
  5702. list of namespace names that the term applies
  5703. to. The term is applied to the union of
  5704. the namespaces listed in this field and
  5705. the ones selected by namespaceSelector.
  5706. null or empty namespaces list and null namespaceSelector
  5707. means "this pod's namespace".
  5708. items:
  5709. type: string
  5710. type: array
  5711. topologyKey:
  5712. description: This pod should be co-located
  5713. (affinity) or not co-located (anti-affinity)
  5714. with the pods matching the labelSelector
  5715. in the specified namespaces, where co-located
  5716. is defined as running on a node whose value
  5717. of the label with key topologyKey matches
  5718. that of any node on which any of the selected
  5719. pods is running. Empty topologyKey is not
  5720. allowed.
  5721. type: string
  5722. required:
  5723. - topologyKey
  5724. type: object
  5725. type: array
  5726. type: object
  5727. podAntiAffinity:
  5728. description: PodAntiAffinity is a group of inter pod
  5729. anti affinity scheduling rules
  5730. properties:
  5731. preferredDuringSchedulingIgnoredDuringExecution:
  5732. description: The scheduler will prefer to schedule
  5733. pods to nodes that satisfy the anti-affinity expressions
  5734. specified by this field, but it may choose a node
  5735. that violates one or more of the expressions.
  5736. The node that is most preferred is the one with
  5737. the greatest sum of weights, i.e. for each node
  5738. that meets all of the scheduling requirements
  5739. (resource request, requiredDuringScheduling anti-affinity
  5740. expressions, etc.), compute a sum by iterating
  5741. through the elements of this field and adding
  5742. "weight" to the sum if the node has pods which
  5743. matches the corresponding podAffinityTerm; the
  5744. node(s) with the highest sum are the most preferred.
  5745. items:
  5746. description: The weights of all of the matched
  5747. WeightedPodAffinityTerm fields are added per-node
  5748. to find the most preferred node(s)
  5749. properties:
  5750. podAffinityTerm:
  5751. description: Required. A pod affinity term,
  5752. associated with the corresponding weight.
  5753. properties:
  5754. labelSelector:
  5755. description: A label query over a set
  5756. of resources, in this case pods.
  5757. properties:
  5758. matchExpressions:
  5759. description: matchExpressions is a
  5760. list of label selector requirements.
  5761. The requirements are ANDed.
  5762. items:
  5763. description: A label selector requirement
  5764. is a selector that contains values,
  5765. a key, and an operator that relates
  5766. the key and values.
  5767. properties:
  5768. key:
  5769. description: key is the label
  5770. key that the selector applies
  5771. to.
  5772. type: string
  5773. operator:
  5774. description: operator represents
  5775. a key's relationship to a
  5776. set of values. Valid operators
  5777. are In, NotIn, Exists and
  5778. DoesNotExist.
  5779. type: string
  5780. values:
  5781. description: values is an array
  5782. of string values. If the operator
  5783. is In or NotIn, the values
  5784. array must be non-empty. If
  5785. the operator is Exists or
  5786. DoesNotExist, the values array
  5787. must be empty. This array
  5788. is replaced during a strategic
  5789. merge patch.
  5790. items:
  5791. type: string
  5792. type: array
  5793. required:
  5794. - key
  5795. - operator
  5796. type: object
  5797. type: array
  5798. matchLabels:
  5799. additionalProperties:
  5800. type: string
  5801. description: matchLabels is a map
  5802. of {key,value} pairs. A single {key,value}
  5803. in the matchLabels map is equivalent
  5804. to an element of matchExpressions,
  5805. whose key field is "key", the operator
  5806. is "In", and the values array contains
  5807. only "value". The requirements are
  5808. ANDed.
  5809. type: object
  5810. type: object
  5811. x-kubernetes-map-type: atomic
  5812. namespaceSelector:
  5813. description: A label query over the set
  5814. of namespaces that the term applies
  5815. to. The term is applied to the union
  5816. of the namespaces selected by this field
  5817. and the ones listed in the namespaces
  5818. field. null selector and null or empty
  5819. namespaces list means "this pod's namespace".
  5820. An empty selector ({}) matches all namespaces.
  5821. properties:
  5822. matchExpressions:
  5823. description: matchExpressions is a
  5824. list of label selector requirements.
  5825. The requirements are ANDed.
  5826. items:
  5827. description: A label selector requirement
  5828. is a selector that contains values,
  5829. a key, and an operator that relates
  5830. the key and values.
  5831. properties:
  5832. key:
  5833. description: key is the label
  5834. key that the selector applies
  5835. to.
  5836. type: string
  5837. operator:
  5838. description: operator represents
  5839. a key's relationship to a
  5840. set of values. Valid operators
  5841. are In, NotIn, Exists and
  5842. DoesNotExist.
  5843. type: string
  5844. values:
  5845. description: values is an array
  5846. of string values. If the operator
  5847. is In or NotIn, the values
  5848. array must be non-empty. If
  5849. the operator is Exists or
  5850. DoesNotExist, the values array
  5851. must be empty. This array
  5852. is replaced during a strategic
  5853. merge patch.
  5854. items:
  5855. type: string
  5856. type: array
  5857. required:
  5858. - key
  5859. - operator
  5860. type: object
  5861. type: array
  5862. matchLabels:
  5863. additionalProperties:
  5864. type: string
  5865. description: matchLabels is a map
  5866. of {key,value} pairs. A single {key,value}
  5867. in the matchLabels map is equivalent
  5868. to an element of matchExpressions,
  5869. whose key field is "key", the operator
  5870. is "In", and the values array contains
  5871. only "value". The requirements are
  5872. ANDed.
  5873. type: object
  5874. type: object
  5875. x-kubernetes-map-type: atomic
  5876. namespaces:
  5877. description: namespaces specifies a static
  5878. list of namespace names that the term
  5879. applies to. The term is applied to the
  5880. union of the namespaces listed in this
  5881. field and the ones selected by namespaceSelector.
  5882. null or empty namespaces list and null
  5883. namespaceSelector means "this pod's
  5884. namespace".
  5885. items:
  5886. type: string
  5887. type: array
  5888. topologyKey:
  5889. description: This pod should be co-located
  5890. (affinity) or not co-located (anti-affinity)
  5891. with the pods matching the labelSelector
  5892. in the specified namespaces, where co-located
  5893. is defined as running on a node whose
  5894. value of the label with key topologyKey
  5895. matches that of any node on which any
  5896. of the selected pods is running. Empty
  5897. topologyKey is not allowed.
  5898. type: string
  5899. required:
  5900. - topologyKey
  5901. type: object
  5902. weight:
  5903. description: weight associated with matching
  5904. the corresponding podAffinityTerm, in the
  5905. range 1-100.
  5906. format: int32
  5907. type: integer
  5908. required:
  5909. - podAffinityTerm
  5910. - weight
  5911. type: object
  5912. type: array
  5913. requiredDuringSchedulingIgnoredDuringExecution:
  5914. description: If the anti-affinity requirements specified
  5915. by this field are not met at scheduling time,
  5916. the pod will not be scheduled onto the node. If
  5917. the anti-affinity requirements specified by this
  5918. field cease to be met at some point during pod
  5919. execution (e.g. due to a pod label update), the
  5920. system may or may not try to eventually evict
  5921. the pod from its node. When there are multiple
  5922. elements, the lists of nodes corresponding to
  5923. each podAffinityTerm are intersected, i.e. all
  5924. terms must be satisfied.
  5925. items:
  5926. description: Defines a set of pods (namely those
  5927. matching the labelSelector relative to the given
  5928. namespace(s)) that this pod should be co-located
  5929. (affinity) or not co-located (anti-affinity)
  5930. with, where co-located is defined as running
  5931. on a node whose value of the label with key
  5932. <topologyKey> matches that of any node on which
  5933. a pod of the set of pods is running
  5934. properties:
  5935. labelSelector:
  5936. description: A label query over a set of resources,
  5937. in this case pods.
  5938. properties:
  5939. matchExpressions:
  5940. description: matchExpressions is a list
  5941. of label selector requirements. The
  5942. requirements are ANDed.
  5943. items:
  5944. description: A label selector requirement
  5945. is a selector that contains values,
  5946. a key, and an operator that relates
  5947. the key and values.
  5948. properties:
  5949. key:
  5950. description: key is the label key
  5951. that the selector applies to.
  5952. type: string
  5953. operator:
  5954. description: operator represents
  5955. a key's relationship to a set
  5956. of values. Valid operators are
  5957. In, NotIn, Exists and DoesNotExist.
  5958. type: string
  5959. values:
  5960. description: values is an array
  5961. of string values. If the operator
  5962. is In or NotIn, the values array
  5963. must be non-empty. If the operator
  5964. is Exists or DoesNotExist, the
  5965. values array must be empty. This
  5966. array is replaced during a strategic
  5967. merge patch.
  5968. items:
  5969. type: string
  5970. type: array
  5971. required:
  5972. - key
  5973. - operator
  5974. type: object
  5975. type: array
  5976. matchLabels:
  5977. additionalProperties:
  5978. type: string
  5979. description: matchLabels is a map of {key,value}
  5980. pairs. A single {key,value} in the matchLabels
  5981. map is equivalent to an element of matchExpressions,
  5982. whose key field is "key", the operator
  5983. is "In", and the values array contains
  5984. only "value". The requirements are ANDed.
  5985. type: object
  5986. type: object
  5987. x-kubernetes-map-type: atomic
  5988. namespaceSelector:
  5989. description: A label query over the set of
  5990. namespaces that the term applies to. The
  5991. term is applied to the union of the namespaces
  5992. selected by this field and the ones listed
  5993. in the namespaces field. null selector and
  5994. null or empty namespaces list means "this
  5995. pod's namespace". An empty selector ({})
  5996. matches all namespaces.
  5997. properties:
  5998. matchExpressions:
  5999. description: matchExpressions is a list
  6000. of label selector requirements. The
  6001. requirements are ANDed.
  6002. items:
  6003. description: A label selector requirement
  6004. is a selector that contains values,
  6005. a key, and an operator that relates
  6006. the key and values.
  6007. properties:
  6008. key:
  6009. description: key is the label key
  6010. that the selector applies to.
  6011. type: string
  6012. operator:
  6013. description: operator represents
  6014. a key's relationship to a set
  6015. of values. Valid operators are
  6016. In, NotIn, Exists and DoesNotExist.
  6017. type: string
  6018. values:
  6019. description: values is an array
  6020. of string values. If the operator
  6021. is In or NotIn, the values array
  6022. must be non-empty. If the operator
  6023. is Exists or DoesNotExist, the
  6024. values array must be empty. This
  6025. array is replaced during a strategic
  6026. merge patch.
  6027. items:
  6028. type: string
  6029. type: array
  6030. required:
  6031. - key
  6032. - operator
  6033. type: object
  6034. type: array
  6035. matchLabels:
  6036. additionalProperties:
  6037. type: string
  6038. description: matchLabels is a map of {key,value}
  6039. pairs. A single {key,value} in the matchLabels
  6040. map is equivalent to an element of matchExpressions,
  6041. whose key field is "key", the operator
  6042. is "In", and the values array contains
  6043. only "value". The requirements are ANDed.
  6044. type: object
  6045. type: object
  6046. x-kubernetes-map-type: atomic
  6047. namespaces:
  6048. description: namespaces specifies a static
  6049. list of namespace names that the term applies
  6050. to. The term is applied to the union of
  6051. the namespaces listed in this field and
  6052. the ones selected by namespaceSelector.
  6053. null or empty namespaces list and null namespaceSelector
  6054. means "this pod's namespace".
  6055. items:
  6056. type: string
  6057. type: array
  6058. topologyKey:
  6059. description: This pod should be co-located
  6060. (affinity) or not co-located (anti-affinity)
  6061. with the pods matching the labelSelector
  6062. in the specified namespaces, where co-located
  6063. is defined as running on a node whose value
  6064. of the label with key topologyKey matches
  6065. that of any node on which any of the selected
  6066. pods is running. Empty topologyKey is not
  6067. allowed.
  6068. type: string
  6069. required:
  6070. - topologyKey
  6071. type: object
  6072. type: array
  6073. type: object
  6074. tolerations:
  6075. description: The pod this Toleration is attached to
  6076. tolerates any taint that matches the triple <key,value,effect>
  6077. using the matching operator <operator>
  6078. items:
  6079. description: The pod this Toleration is attached to
  6080. tolerates any taint that matches the triple <key,value,effect>
  6081. using the matching operator <operator>.
  6082. properties:
  6083. effect:
  6084. description: Effect indicates the taint effect
  6085. to match. Empty means match all taint effects.
  6086. When specified, allowed values are NoSchedule,
  6087. PreferNoSchedule and NoExecute.
  6088. type: string
  6089. key:
  6090. description: Key is the taint key that the toleration
  6091. applies to. Empty means match all taint keys.
  6092. If the key is empty, operator must be Exists;
  6093. this combination means to match all values and
  6094. all keys.
  6095. type: string
  6096. operator:
  6097. description: Operator represents a key's relationship
  6098. to the value. Valid operators are Exists and
  6099. Equal. Defaults to Equal. Exists is equivalent
  6100. to wildcard for value, so that a pod can tolerate
  6101. all taints of a particular category.
  6102. type: string
  6103. tolerationSeconds:
  6104. description: TolerationSeconds represents the
  6105. period of time the toleration (which must be
  6106. of effect NoExecute, otherwise this field is
  6107. ignored) tolerates the taint. By default, it
  6108. is not set, which means tolerate the taint forever
  6109. (do not evict). Zero and negative values will
  6110. be treated as 0 (evict immediately) by the system.
  6111. format: int64
  6112. type: integer
  6113. value:
  6114. description: Value is the taint value the toleration
  6115. matches to. If the operator is Exists, the value
  6116. should be empty, otherwise just a regular string.
  6117. type: string
  6118. type: object
  6119. type: array
  6120. topologySpreadConstraints:
  6121. description: TopologySpreadConstraint specifies how
  6122. to spread matching pods among the given topology
  6123. items:
  6124. description: TopologySpreadConstraint specifies how
  6125. to spread matching pods among the given topology.
  6126. properties:
  6127. labelSelector:
  6128. description: LabelSelector is used to find matching
  6129. pods. Pods that match this label selector are
  6130. counted to determine the number of pods in their
  6131. corresponding topology domain.
  6132. properties:
  6133. matchExpressions:
  6134. description: matchExpressions is a list of
  6135. label selector requirements. The requirements
  6136. are ANDed.
  6137. items:
  6138. description: A label selector requirement
  6139. is a selector that contains values, a
  6140. key, and an operator that relates the
  6141. key and values.
  6142. properties:
  6143. key:
  6144. description: key is the label key that
  6145. the selector applies to.
  6146. type: string
  6147. operator:
  6148. description: operator represents a key's
  6149. relationship to a set of values. Valid
  6150. operators are In, NotIn, Exists and
  6151. DoesNotExist.
  6152. type: string
  6153. values:
  6154. description: values is an array of string
  6155. values. If the operator is In or NotIn,
  6156. the values array must be non-empty.
  6157. If the operator is Exists or DoesNotExist,
  6158. the values array must be empty. This
  6159. array is replaced during a strategic
  6160. merge patch.
  6161. items:
  6162. type: string
  6163. type: array
  6164. required:
  6165. - key
  6166. - operator
  6167. type: object
  6168. type: array
  6169. matchLabels:
  6170. additionalProperties:
  6171. type: string
  6172. description: matchLabels is a map of {key,value}
  6173. pairs. A single {key,value} in the matchLabels
  6174. map is equivalent to an element of matchExpressions,
  6175. whose key field is "key", the operator is
  6176. "In", and the values array contains only
  6177. "value". The requirements are ANDed.
  6178. type: object
  6179. type: object
  6180. x-kubernetes-map-type: atomic
  6181. matchLabelKeys:
  6182. description: "MatchLabelKeys is a set of pod label
  6183. keys to select the pods over which spreading
  6184. will be calculated. The keys are used to lookup
  6185. values from the incoming pod labels, those key-value
  6186. labels are ANDed with labelSelector to select
  6187. the group of existing pods over which spreading
  6188. will be calculated for the incoming pod. The
  6189. same key is forbidden to exist in both MatchLabelKeys
  6190. and LabelSelector. MatchLabelKeys cannot be
  6191. set when LabelSelector isn't set. Keys that
  6192. don't exist in the incoming pod labels will
  6193. be ignored. A null or empty list means only
  6194. match against labelSelector. \n This is a beta
  6195. field and requires the MatchLabelKeysInPodTopologySpread
  6196. feature gate to be enabled (enabled by default)."
  6197. items:
  6198. type: string
  6199. type: array
  6200. x-kubernetes-list-type: atomic
  6201. maxSkew:
  6202. description: 'MaxSkew describes the degree to
  6203. which pods may be unevenly distributed. When
  6204. `whenUnsatisfiable=DoNotSchedule`, it is the
  6205. maximum permitted difference between the number
  6206. of matching pods in the target topology and
  6207. the global minimum. The global minimum is the
  6208. minimum number of matching pods in an eligible
  6209. domain or zero if the number of eligible domains
  6210. is less than MinDomains. For example, in a 3-zone
  6211. cluster, MaxSkew is set to 1, and pods with
  6212. the same labelSelector spread as 2/2/1: In this
  6213. case, the global minimum is 1. | zone1 | zone2
  6214. | zone3 | | P P | P P | P | - if MaxSkew
  6215. is 1, incoming pod can only be scheduled to
  6216. zone3 to become 2/2/2; scheduling it onto zone1(zone2)
  6217. would make the ActualSkew(3-1) on zone1(zone2)
  6218. violate MaxSkew(1). - if MaxSkew is 2, incoming
  6219. pod can be scheduled onto any zone. When `whenUnsatisfiable=ScheduleAnyway`,
  6220. it is used to give higher precedence to topologies
  6221. that satisfy it. It''s a required field. Default
  6222. value is 1 and 0 is not allowed.'
  6223. format: int32
  6224. type: integer
  6225. minDomains:
  6226. description: "MinDomains indicates a minimum number
  6227. of eligible domains. When the number of eligible
  6228. domains with matching topology keys is less
  6229. than minDomains, Pod Topology Spread treats
  6230. \"global minimum\" as 0, and then the calculation
  6231. of Skew is performed. And when the number of
  6232. eligible domains with matching topology keys
  6233. equals or greater than minDomains, this value
  6234. has no effect on scheduling. As a result, when
  6235. the number of eligible domains is less than
  6236. minDomains, scheduler won't schedule more than
  6237. maxSkew Pods to those domains. If value is nil,
  6238. the constraint behaves as if MinDomains is equal
  6239. to 1. Valid values are integers greater than
  6240. 0. When value is not nil, WhenUnsatisfiable
  6241. must be DoNotSchedule. \n For example, in a
  6242. 3-zone cluster, MaxSkew is set to 2, MinDomains
  6243. is set to 5 and pods with the same labelSelector
  6244. spread as 2/2/2: | zone1 | zone2 | zone3 | |
  6245. \ P P | P P | P P | The number of domains
  6246. is less than 5(MinDomains), so \"global minimum\"
  6247. is treated as 0. In this situation, new pod
  6248. with the same labelSelector cannot be scheduled,
  6249. because computed skew will be 3(3 - 0) if new
  6250. Pod is scheduled to any of the three zones,
  6251. it will violate MaxSkew. \n This is a beta field
  6252. and requires the MinDomainsInPodTopologySpread
  6253. feature gate to be enabled (enabled by default)."
  6254. format: int32
  6255. type: integer
  6256. nodeAffinityPolicy:
  6257. description: "NodeAffinityPolicy indicates how
  6258. we will treat Pod's nodeAffinity/nodeSelector
  6259. when calculating pod topology spread skew. Options
  6260. are: - Honor: only nodes matching nodeAffinity/nodeSelector
  6261. are included in the calculations. - Ignore:
  6262. nodeAffinity/nodeSelector are ignored. All nodes
  6263. are included in the calculations. \n If this
  6264. value is nil, the behavior is equivalent to
  6265. the Honor policy. This is a beta-level feature
  6266. default enabled by the NodeInclusionPolicyInPodTopologySpread
  6267. feature flag."
  6268. type: string
  6269. nodeTaintsPolicy:
  6270. description: "NodeTaintsPolicy indicates how we
  6271. will treat node taints when calculating pod
  6272. topology spread skew. Options are: - Honor:
  6273. nodes without taints, along with tainted nodes
  6274. for which the incoming pod has a toleration,
  6275. are included. - Ignore: node taints are ignored.
  6276. All nodes are included. \n If this value is
  6277. nil, the behavior is equivalent to the Ignore
  6278. policy. This is a beta-level feature default
  6279. enabled by the NodeInclusionPolicyInPodTopologySpread
  6280. feature flag."
  6281. type: string
  6282. topologyKey:
  6283. description: TopologyKey is the key of node labels.
  6284. Nodes that have a label with this key and identical
  6285. values are considered to be in the same topology.
  6286. We consider each <key, value> as a "bucket",
  6287. and try to put balanced number of pods into
  6288. each bucket. We define a domain as a particular
  6289. instance of a topology. Also, we define an eligible
  6290. domain as a domain whose nodes meet the requirements
  6291. of nodeAffinityPolicy and nodeTaintsPolicy.
  6292. e.g. If TopologyKey is "kubernetes.io/hostname",
  6293. each Node is a domain of that topology. And,
  6294. if TopologyKey is "topology.kubernetes.io/zone",
  6295. each zone is a domain of that topology. It's
  6296. a required field.
  6297. type: string
  6298. whenUnsatisfiable:
  6299. description: 'WhenUnsatisfiable indicates how
  6300. to deal with a pod if it doesn''t satisfy the
  6301. spread constraint. - DoNotSchedule (default)
  6302. tells the scheduler not to schedule it. - ScheduleAnyway
  6303. tells the scheduler to schedule the pod in any
  6304. location, but giving higher precedence to topologies
  6305. that would help reduce the skew. A constraint
  6306. is considered "Unsatisfiable" for an incoming
  6307. pod if and only if every possible node assignment
  6308. for that pod would violate "MaxSkew" on some
  6309. topology. For example, in a 3-zone cluster,
  6310. MaxSkew is set to 1, and pods with the same
  6311. labelSelector spread as 3/1/1: | zone1 | zone2
  6312. | zone3 | | P P P | P | P | If WhenUnsatisfiable
  6313. is set to DoNotSchedule, incoming pod can only
  6314. be scheduled to zone2(zone3) to become 3/2/1(3/1/2)
  6315. as ActualSkew(2-1) on zone2(zone3) satisfies
  6316. MaxSkew(1). In other words, the cluster can
  6317. still be imbalanced, but scheduler won''t make
  6318. it *more* imbalanced. It''s a required field.'
  6319. type: string
  6320. required:
  6321. - maxSkew
  6322. - topologyKey
  6323. - whenUnsatisfiable
  6324. type: object
  6325. type: array
  6326. type: object
  6327. x-kubernetes-preserve-unknown-fields: true
  6328. resources:
  6329. description: ResourceRequirements describes the compute
  6330. resource requirements.
  6331. nullable: true
  6332. properties:
  6333. claims:
  6334. description: "Claims lists the names of resources, defined
  6335. in spec.resourceClaims, that are used by this container.
  6336. \n This is an alpha field and requires enabling the
  6337. DynamicResourceAllocation feature gate. \n This field
  6338. is immutable. It can only be set for containers."
  6339. items:
  6340. description: ResourceClaim references one entry in
  6341. PodSpec.ResourceClaims.
  6342. properties:
  6343. name:
  6344. description: Name must match the name of one entry
  6345. in pod.spec.resourceClaims of the Pod where
  6346. this field is used. It makes that resource available
  6347. inside a container.
  6348. type: string
  6349. required:
  6350. - name
  6351. type: object
  6352. type: array
  6353. x-kubernetes-list-map-keys:
  6354. - name
  6355. x-kubernetes-list-type: map
  6356. limits:
  6357. additionalProperties:
  6358. anyOf:
  6359. - type: integer
  6360. - type: string
  6361. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6362. x-kubernetes-int-or-string: true
  6363. description: 'Limits describes the maximum amount of
  6364. compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  6365. type: object
  6366. requests:
  6367. additionalProperties:
  6368. anyOf:
  6369. - type: integer
  6370. - type: string
  6371. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6372. x-kubernetes-int-or-string: true
  6373. description: 'Requests describes the minimum amount
  6374. of compute resources required. If Requests is omitted
  6375. for a container, it defaults to Limits if that is
  6376. explicitly specified, otherwise to an implementation-defined
  6377. value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  6378. type: object
  6379. type: object
  6380. x-kubernetes-preserve-unknown-fields: true
  6381. schedulerName:
  6382. description: Scheduler name for OSD pod placement
  6383. type: string
  6384. tuneDeviceClass:
  6385. description: TuneSlowDeviceClass Tune the OSD when running
  6386. on a slow Device Class
  6387. type: boolean
  6388. tuneFastDeviceClass:
  6389. description: TuneFastDeviceClass Tune the OSD when running
  6390. on a fast Device Class
  6391. type: boolean
  6392. volumeClaimTemplates:
  6393. description: VolumeClaimTemplates is a list of PVC templates
  6394. for the underlying storage devices
  6395. items:
  6396. description: PersistentVolumeClaim is a user's request
  6397. for and claim to a persistent volume
  6398. properties:
  6399. apiVersion:
  6400. description: 'APIVersion defines the versioned schema
  6401. of this representation of an object. Servers should
  6402. convert recognized schemas to the latest internal
  6403. value, and may reject unrecognized values. More
  6404. info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  6405. type: string
  6406. kind:
  6407. description: 'Kind is a string value representing
  6408. the REST resource this object represents. Servers
  6409. may infer this from the endpoint the client submits
  6410. requests to. Cannot be updated. In CamelCase. More
  6411. info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  6412. type: string
  6413. metadata:
  6414. description: 'Standard object''s metadata. More info:
  6415. https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
  6416. properties:
  6417. annotations:
  6418. additionalProperties:
  6419. type: string
  6420. type: object
  6421. x-kubernetes-preserve-unknown-fields: true
  6422. finalizers:
  6423. items:
  6424. type: string
  6425. type: array
  6426. labels:
  6427. additionalProperties:
  6428. type: string
  6429. type: object
  6430. name:
  6431. type: string
  6432. namespace:
  6433. type: string
  6434. type: object
  6435. spec:
  6436. description: 'spec defines the desired characteristics
  6437. of a volume requested by a pod author. More info:
  6438. https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  6439. properties:
  6440. accessModes:
  6441. description: 'accessModes contains the desired
  6442. access modes the volume should have. More info:
  6443. https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  6444. items:
  6445. type: string
  6446. type: array
  6447. dataSource:
  6448. description: 'dataSource field can be used to
  6449. specify either: * An existing VolumeSnapshot
  6450. object (snapshot.storage.k8s.io/VolumeSnapshot)
  6451. * An existing PVC (PersistentVolumeClaim) If
  6452. the provisioner or an external controller can
  6453. support the specified data source, it will create
  6454. a new volume based on the contents of the specified
  6455. data source. When the AnyVolumeDataSource feature
  6456. gate is enabled, dataSource contents will be
  6457. copied to dataSourceRef, and dataSourceRef contents
  6458. will be copied to dataSource when dataSourceRef.namespace
  6459. is not specified. If the namespace is specified,
  6460. then dataSourceRef will not be copied to dataSource.'
  6461. properties:
  6462. apiGroup:
  6463. description: APIGroup is the group for the
  6464. resource being referenced. If APIGroup is
  6465. not specified, the specified Kind must be
  6466. in the core API group. For any other third-party
  6467. types, APIGroup is required.
  6468. type: string
  6469. kind:
  6470. description: Kind is the type of resource
  6471. being referenced
  6472. type: string
  6473. name:
  6474. description: Name is the name of resource
  6475. being referenced
  6476. type: string
  6477. required:
  6478. - kind
  6479. - name
  6480. type: object
  6481. x-kubernetes-map-type: atomic
  6482. dataSourceRef:
  6483. description: 'dataSourceRef specifies the object
  6484. from which to populate the volume with data,
  6485. if a non-empty volume is desired. This may be
  6486. any object from a non-empty API group (non core
  6487. object) or a PersistentVolumeClaim object. When
  6488. this field is specified, volume binding will
  6489. only succeed if the type of the specified object
  6490. matches some installed volume populator or dynamic
  6491. provisioner. This field will replace the functionality
  6492. of the dataSource field and as such if both
  6493. fields are non-empty, they must have the same
  6494. value. For backwards compatibility, when namespace
  6495. isn''t specified in dataSourceRef, both fields
  6496. (dataSource and dataSourceRef) will be set to
  6497. the same value automatically if one of them
  6498. is empty and the other is non-empty. When namespace
  6499. is specified in dataSourceRef, dataSource isn''t
  6500. set to the same value and must be empty. There
  6501. are three important differences between dataSource
  6502. and dataSourceRef: * While dataSource only allows
  6503. two specific types of objects, dataSourceRef
  6504. allows any non-core object, as well as PersistentVolumeClaim
  6505. objects. * While dataSource ignores disallowed
  6506. values (dropping them), dataSourceRef preserves
  6507. all values, and generates an error if a disallowed
  6508. value is specified. * While dataSource only
  6509. allows local objects, dataSourceRef allows objects
  6510. in any namespaces. (Beta) Using this field requires
  6511. the AnyVolumeDataSource feature gate to be enabled.
  6512. (Alpha) Using the namespace field of dataSourceRef
  6513. requires the CrossNamespaceVolumeDataSource
  6514. feature gate to be enabled.'
  6515. properties:
  6516. apiGroup:
  6517. description: APIGroup is the group for the
  6518. resource being referenced. If APIGroup is
  6519. not specified, the specified Kind must be
  6520. in the core API group. For any other third-party
  6521. types, APIGroup is required.
  6522. type: string
  6523. kind:
  6524. description: Kind is the type of resource
  6525. being referenced
  6526. type: string
  6527. name:
  6528. description: Name is the name of resource
  6529. being referenced
  6530. type: string
  6531. namespace:
  6532. description: Namespace is the namespace of
  6533. resource being referenced Note that when
  6534. a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant
  6535. object is required in the referent namespace
  6536. to allow that namespace's owner to accept
  6537. the reference. See the ReferenceGrant documentation
  6538. for details. (Alpha) This field requires
  6539. the CrossNamespaceVolumeDataSource feature
  6540. gate to be enabled.
  6541. type: string
  6542. required:
  6543. - kind
  6544. - name
  6545. type: object
  6546. resources:
  6547. description: 'resources represents the minimum
  6548. resources the volume should have. If RecoverVolumeExpansionFailure
  6549. feature is enabled users are allowed to specify
  6550. resource requirements that are lower than previous
  6551. value but must still be higher than capacity
  6552. recorded in the status field of the claim. More
  6553. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  6554. properties:
  6555. claims:
  6556. description: "Claims lists the names of resources,
  6557. defined in spec.resourceClaims, that are
  6558. used by this container. \n This is an alpha
  6559. field and requires enabling the DynamicResourceAllocation
  6560. feature gate. \n This field is immutable.
  6561. It can only be set for containers."
  6562. items:
  6563. description: ResourceClaim references one
  6564. entry in PodSpec.ResourceClaims.
  6565. properties:
  6566. name:
  6567. description: Name must match the name
  6568. of one entry in pod.spec.resourceClaims
  6569. of the Pod where this field is used.
  6570. It makes that resource available inside
  6571. a container.
  6572. type: string
  6573. required:
  6574. - name
  6575. type: object
  6576. type: array
  6577. x-kubernetes-list-map-keys:
  6578. - name
  6579. x-kubernetes-list-type: map
  6580. limits:
  6581. additionalProperties:
  6582. anyOf:
  6583. - type: integer
  6584. - type: string
  6585. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6586. x-kubernetes-int-or-string: true
  6587. description: 'Limits describes the maximum
  6588. amount of compute resources allowed. More
  6589. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  6590. type: object
  6591. requests:
  6592. additionalProperties:
  6593. anyOf:
  6594. - type: integer
  6595. - type: string
  6596. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6597. x-kubernetes-int-or-string: true
  6598. description: 'Requests describes the minimum
  6599. amount of compute resources required. If
  6600. Requests is omitted for a container, it
  6601. defaults to Limits if that is explicitly
  6602. specified, otherwise to an implementation-defined
  6603. value. Requests cannot exceed Limits. More
  6604. info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  6605. type: object
  6606. type: object
  6607. selector:
  6608. description: selector is a label query over volumes
  6609. to consider for binding.
  6610. properties:
  6611. matchExpressions:
  6612. description: matchExpressions is a list of
  6613. label selector requirements. The requirements
  6614. are ANDed.
  6615. items:
  6616. description: A label selector requirement
  6617. is a selector that contains values, a
  6618. key, and an operator that relates the
  6619. key and values.
  6620. properties:
  6621. key:
  6622. description: key is the label key that
  6623. the selector applies to.
  6624. type: string
  6625. operator:
  6626. description: operator represents a key's
  6627. relationship to a set of values. Valid
  6628. operators are In, NotIn, Exists and
  6629. DoesNotExist.
  6630. type: string
  6631. values:
  6632. description: values is an array of string
  6633. values. If the operator is In or NotIn,
  6634. the values array must be non-empty.
  6635. If the operator is Exists or DoesNotExist,
  6636. the values array must be empty. This
  6637. array is replaced during a strategic
  6638. merge patch.
  6639. items:
  6640. type: string
  6641. type: array
  6642. required:
  6643. - key
  6644. - operator
  6645. type: object
  6646. type: array
  6647. matchLabels:
  6648. additionalProperties:
  6649. type: string
  6650. description: matchLabels is a map of {key,value}
  6651. pairs. A single {key,value} in the matchLabels
  6652. map is equivalent to an element of matchExpressions,
  6653. whose key field is "key", the operator is
  6654. "In", and the values array contains only
  6655. "value". The requirements are ANDed.
  6656. type: object
  6657. type: object
  6658. x-kubernetes-map-type: atomic
  6659. storageClassName:
  6660. description: 'storageClassName is the name of
  6661. the StorageClass required by the claim. More
  6662. info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  6663. type: string
  6664. volumeMode:
  6665. description: volumeMode defines what type of volume
  6666. is required by the claim. Value of Filesystem
  6667. is implied when not included in claim spec.
  6668. type: string
  6669. volumeName:
  6670. description: volumeName is the binding reference
  6671. to the PersistentVolume backing this claim.
  6672. type: string
  6673. type: object
  6674. status:
  6675. description: 'status represents the current information/status
  6676. of a persistent volume claim. Read-only. More info:
  6677. https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  6678. properties:
  6679. accessModes:
  6680. description: 'accessModes contains the actual
  6681. access modes the volume backing the PVC has.
  6682. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  6683. items:
  6684. type: string
  6685. type: array
  6686. allocatedResourceStatuses:
  6687. additionalProperties:
  6688. description: When a controller receives persistentvolume
  6689. claim update with ClaimResourceStatus for
  6690. a resource that it does not recognizes, then
  6691. it should ignore that update and let other
  6692. controllers handle it.
  6693. type: string
  6694. description: "allocatedResourceStatuses stores
  6695. status of resource being resized for the given
  6696. PVC. Key names follow standard Kubernetes label
  6697. syntax. Valid values are either: * Un-prefixed
  6698. keys: - storage - the capacity of the volume.
  6699. * Custom resources must use implementation-defined
  6700. prefixed names such as \"example.com/my-custom-resource\"
  6701. Apart from above values - keys that are unprefixed
  6702. or have kubernetes.io prefix are considered
  6703. reserved and hence may not be used. \n ClaimResourceStatus
  6704. can be in any of following states: - ControllerResizeInProgress:
  6705. State set when resize controller starts resizing
  6706. the volume in control-plane. - ControllerResizeFailed:
  6707. State set when resize has failed in resize controller
  6708. with a terminal error. - NodeResizePending:
  6709. State set when resize controller has finished
  6710. resizing the volume but further resizing of
  6711. volume is needed on the node. - NodeResizeInProgress:
  6712. State set when kubelet starts resizing the volume.
  6713. - NodeResizeFailed: State set when resizing
  6714. has failed in kubelet with a terminal error.
  6715. Transient errors don't set NodeResizeFailed.
  6716. For example: if expanding a PVC for more capacity
  6717. - this field can be one of the following states:
  6718. - pvc.status.allocatedResourceStatus['storage']
  6719. = \"ControllerResizeInProgress\" - pvc.status.allocatedResourceStatus['storage']
  6720. = \"ControllerResizeFailed\" - pvc.status.allocatedResourceStatus['storage']
  6721. = \"NodeResizePending\" - pvc.status.allocatedResourceStatus['storage']
  6722. = \"NodeResizeInProgress\" - pvc.status.allocatedResourceStatus['storage']
  6723. = \"NodeResizeFailed\" When this field is not
  6724. set, it means that no resize operation is in
  6725. progress for the given PVC. \n A controller
  6726. that receives PVC update with previously unknown
  6727. resourceName or ClaimResourceStatus should ignore
  6728. the update for the purpose it was designed.
  6729. For example - a controller that only is responsible
  6730. for resizing capacity of the volume, should
  6731. ignore PVC updates that change other valid resources
  6732. associated with PVC. \n This is an alpha field
  6733. and requires enabling RecoverVolumeExpansionFailure
  6734. feature."
  6735. type: object
  6736. x-kubernetes-map-type: granular
  6737. allocatedResources:
  6738. additionalProperties:
  6739. anyOf:
  6740. - type: integer
  6741. - type: string
  6742. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6743. x-kubernetes-int-or-string: true
  6744. description: "allocatedResources tracks the resources
  6745. allocated to a PVC including its capacity. Key
  6746. names follow standard Kubernetes label syntax.
  6747. Valid values are either: * Un-prefixed keys:
  6748. - storage - the capacity of the volume. * Custom
  6749. resources must use implementation-defined prefixed
  6750. names such as \"example.com/my-custom-resource\"
  6751. Apart from above values - keys that are unprefixed
  6752. or have kubernetes.io prefix are considered
  6753. reserved and hence may not be used. \n Capacity
  6754. reported here may be larger than the actual
  6755. capacity when a volume expansion operation is
  6756. requested. For storage quota, the larger value
  6757. from allocatedResources and PVC.spec.resources
  6758. is used. If allocatedResources is not set, PVC.spec.resources
  6759. alone is used for quota calculation. If a volume
  6760. expansion capacity request is lowered, allocatedResources
  6761. is only lowered if there are no expansion operations
  6762. in progress and if the actual volume capacity
  6763. is equal or lower than the requested capacity.
  6764. \n A controller that receives PVC update with
  6765. previously unknown resourceName should ignore
  6766. the update for the purpose it was designed.
  6767. For example - a controller that only is responsible
  6768. for resizing capacity of the volume, should
  6769. ignore PVC updates that change other valid resources
  6770. associated with PVC. \n This is an alpha field
  6771. and requires enabling RecoverVolumeExpansionFailure
  6772. feature."
  6773. type: object
  6774. capacity:
  6775. additionalProperties:
  6776. anyOf:
  6777. - type: integer
  6778. - type: string
  6779. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  6780. x-kubernetes-int-or-string: true
  6781. description: capacity represents the actual resources
  6782. of the underlying volume.
  6783. type: object
  6784. conditions:
  6785. description: conditions is the current Condition
  6786. of persistent volume claim. If underlying persistent
  6787. volume is being resized then the Condition will
  6788. be set to 'ResizeStarted'.
  6789. items:
  6790. description: PersistentVolumeClaimCondition
  6791. contains details about state of pvc
  6792. properties:
  6793. lastProbeTime:
  6794. description: lastProbeTime is the time we
  6795. probed the condition.
  6796. format: date-time
  6797. type: string
  6798. lastTransitionTime:
  6799. description: lastTransitionTime is the time
  6800. the condition transitioned from one status
  6801. to another.
  6802. format: date-time
  6803. type: string
  6804. message:
  6805. description: message is the human-readable
  6806. message indicating details about last
  6807. transition.
  6808. type: string
  6809. reason:
  6810. description: reason is a unique, this should
  6811. be a short, machine understandable string
  6812. that gives the reason for condition's
  6813. last transition. If it reports "ResizeStarted"
  6814. that means the underlying persistent volume
  6815. is being resized.
  6816. type: string
  6817. status:
  6818. type: string
  6819. type:
  6820. description: PersistentVolumeClaimConditionType
  6821. is a valid value of PersistentVolumeClaimCondition.Type
  6822. type: string
  6823. required:
  6824. - status
  6825. - type
  6826. type: object
  6827. type: array
  6828. phase:
  6829. description: phase represents the current phase
  6830. of PersistentVolumeClaim.
  6831. type: string
  6832. type: object
  6833. type: object
  6834. type: array
  6835. required:
  6836. - count
  6837. - name
  6838. - volumeClaimTemplates
  6839. type: object
  6840. nullable: true
  6841. type: array
  6842. store:
  6843. description: OSDStore is the backend storage type used for creating
  6844. the OSDs
  6845. properties:
  6846. type:
  6847. description: Type of backend storage to be used while creating
  6848. OSDs. If empty, then bluestore will be used
  6849. enum:
  6850. - bluestore
  6851. - bluestore-rdr
  6852. type: string
  6853. updateStore:
  6854. description: UpdateStore updates the backend store for existing
  6855. OSDs. It destroys each OSD one at a time, cleans up the
  6856. backing disk and prepares same OSD on that disk
  6857. pattern: ^$|^yes-really-update-store$
  6858. type: string
  6859. type: object
  6860. useAllDevices:
  6861. description: Whether to consume all the storage devices found
  6862. on a machine
  6863. type: boolean
  6864. useAllNodes:
  6865. type: boolean
  6866. volumeClaimTemplates:
  6867. description: PersistentVolumeClaims to use as storage
  6868. items:
  6869. description: PersistentVolumeClaim is a user's request for and
  6870. claim to a persistent volume
  6871. properties:
  6872. apiVersion:
  6873. description: 'APIVersion defines the versioned schema of
  6874. this representation of an object. Servers should convert
  6875. recognized schemas to the latest internal value, and may
  6876. reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  6877. type: string
  6878. kind:
  6879. description: 'Kind is a string value representing the REST
  6880. resource this object represents. Servers may infer this
  6881. from the endpoint the client submits requests to. Cannot
  6882. be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  6883. type: string
  6884. metadata:
  6885. description: 'Standard object''s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata'
  6886. properties:
  6887. annotations:
  6888. additionalProperties:
  6889. type: string
  6890. type: object
  6891. finalizers:
  6892. items:
  6893. type: string
  6894. type: array
  6895. labels:
  6896. additionalProperties:
  6897. type: string
  6898. type: object
  6899. name:
  6900. type: string
  6901. namespace:
  6902. type: string
  6903. type: object
  6904. spec:
  6905. description: 'spec defines the desired characteristics of
  6906. a volume requested by a pod author. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  6907. properties:
  6908. accessModes:
  6909. description: 'accessModes contains the desired access
  6910. modes the volume should have. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  6911. items:
  6912. type: string
  6913. type: array
  6914. dataSource:
  6915. description: 'dataSource field can be used to specify
  6916. either: * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
  6917. * An existing PVC (PersistentVolumeClaim) If the provisioner
  6918. or an external controller can support the specified
  6919. data source, it will create a new volume based on
  6920. the contents of the specified data source. When the
  6921. AnyVolumeDataSource feature gate is enabled, dataSource
  6922. contents will be copied to dataSourceRef, and dataSourceRef
  6923. contents will be copied to dataSource when dataSourceRef.namespace
  6924. is not specified. If the namespace is specified, then
  6925. dataSourceRef will not be copied to dataSource.'
  6926. properties:
  6927. apiGroup:
  6928. description: APIGroup is the group for the resource
  6929. being referenced. If APIGroup is not specified,
  6930. the specified Kind must be in the core API group.
  6931. For any other third-party types, APIGroup is required.
  6932. type: string
  6933. kind:
  6934. description: Kind is the type of resource being
  6935. referenced
  6936. type: string
  6937. name:
  6938. description: Name is the name of resource being
  6939. referenced
  6940. type: string
  6941. required:
  6942. - kind
  6943. - name
  6944. type: object
  6945. x-kubernetes-map-type: atomic
  6946. dataSourceRef:
  6947. description: 'dataSourceRef specifies the object from
  6948. which to populate the volume with data, if a non-empty
  6949. volume is desired. This may be any object from a non-empty
  6950. API group (non core object) or a PersistentVolumeClaim
  6951. object. When this field is specified, volume binding
  6952. will only succeed if the type of the specified object
  6953. matches some installed volume populator or dynamic
  6954. provisioner. This field will replace the functionality
  6955. of the dataSource field and as such if both fields
  6956. are non-empty, they must have the same value. For
  6957. backwards compatibility, when namespace isn''t specified
  6958. in dataSourceRef, both fields (dataSource and dataSourceRef)
  6959. will be set to the same value automatically if one
  6960. of them is empty and the other is non-empty. When
  6961. namespace is specified in dataSourceRef, dataSource
  6962. isn''t set to the same value and must be empty. There
  6963. are three important differences between dataSource
  6964. and dataSourceRef: * While dataSource only allows
  6965. two specific types of objects, dataSourceRef allows
  6966. any non-core object, as well as PersistentVolumeClaim
  6967. objects. * While dataSource ignores disallowed values
  6968. (dropping them), dataSourceRef preserves all values,
  6969. and generates an error if a disallowed value is specified.
  6970. * While dataSource only allows local objects, dataSourceRef
  6971. allows objects in any namespaces. (Beta) Using this
  6972. field requires the AnyVolumeDataSource feature gate
  6973. to be enabled. (Alpha) Using the namespace field of
  6974. dataSourceRef requires the CrossNamespaceVolumeDataSource
  6975. feature gate to be enabled.'
  6976. properties:
  6977. apiGroup:
  6978. description: APIGroup is the group for the resource
  6979. being referenced. If APIGroup is not specified,
  6980. the specified Kind must be in the core API group.
  6981. For any other third-party types, APIGroup is required.
  6982. type: string
  6983. kind:
  6984. description: Kind is the type of resource being
  6985. referenced
  6986. type: string
  6987. name:
  6988. description: Name is the name of resource being
  6989. referenced
  6990. type: string
  6991. namespace:
  6992. description: Namespace is the namespace of resource
  6993. being referenced Note that when a namespace is
  6994. specified, a gateway.networking.k8s.io/ReferenceGrant
  6995. object is required in the referent namespace to
  6996. allow that namespace's owner to accept the reference.
  6997. See the ReferenceGrant documentation for details.
  6998. (Alpha) This field requires the CrossNamespaceVolumeDataSource
  6999. feature gate to be enabled.
  7000. type: string
  7001. required:
  7002. - kind
  7003. - name
  7004. type: object
  7005. resources:
  7006. description: 'resources represents the minimum resources
  7007. the volume should have. If RecoverVolumeExpansionFailure
  7008. feature is enabled users are allowed to specify resource
  7009. requirements that are lower than previous value but
  7010. must still be higher than capacity recorded in the
  7011. status field of the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources'
  7012. properties:
  7013. claims:
  7014. description: "Claims lists the names of resources,
  7015. defined in spec.resourceClaims, that are used
  7016. by this container. \n This is an alpha field and
  7017. requires enabling the DynamicResourceAllocation
  7018. feature gate. \n This field is immutable. It can
  7019. only be set for containers."
  7020. items:
  7021. description: ResourceClaim references one entry
  7022. in PodSpec.ResourceClaims.
  7023. properties:
  7024. name:
  7025. description: Name must match the name of one
  7026. entry in pod.spec.resourceClaims of the
  7027. Pod where this field is used. It makes that
  7028. resource available inside a container.
  7029. type: string
  7030. required:
  7031. - name
  7032. type: object
  7033. type: array
  7034. x-kubernetes-list-map-keys:
  7035. - name
  7036. x-kubernetes-list-type: map
  7037. limits:
  7038. additionalProperties:
  7039. anyOf:
  7040. - type: integer
  7041. - type: string
  7042. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7043. x-kubernetes-int-or-string: true
  7044. description: 'Limits describes the maximum amount
  7045. of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  7046. type: object
  7047. requests:
  7048. additionalProperties:
  7049. anyOf:
  7050. - type: integer
  7051. - type: string
  7052. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7053. x-kubernetes-int-or-string: true
  7054. description: 'Requests describes the minimum amount
  7055. of compute resources required. If Requests is
  7056. omitted for a container, it defaults to Limits
  7057. if that is explicitly specified, otherwise to
  7058. an implementation-defined value. Requests cannot
  7059. exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
  7060. type: object
  7061. type: object
  7062. selector:
  7063. description: selector is a label query over volumes
  7064. to consider for binding.
  7065. properties:
  7066. matchExpressions:
  7067. description: matchExpressions is a list of label
  7068. selector requirements. The requirements are ANDed.
  7069. items:
  7070. description: A label selector requirement is a
  7071. selector that contains values, a key, and an
  7072. operator that relates the key and values.
  7073. properties:
  7074. key:
  7075. description: key is the label key that the
  7076. selector applies to.
  7077. type: string
  7078. operator:
  7079. description: operator represents a key's relationship
  7080. to a set of values. Valid operators are
  7081. In, NotIn, Exists and DoesNotExist.
  7082. type: string
  7083. values:
  7084. description: values is an array of string
  7085. values. If the operator is In or NotIn,
  7086. the values array must be non-empty. If the
  7087. operator is Exists or DoesNotExist, the
  7088. values array must be empty. This array is
  7089. replaced during a strategic merge patch.
  7090. items:
  7091. type: string
  7092. type: array
  7093. required:
  7094. - key
  7095. - operator
  7096. type: object
  7097. type: array
  7098. matchLabels:
  7099. additionalProperties:
  7100. type: string
  7101. description: matchLabels is a map of {key,value}
  7102. pairs. A single {key,value} in the matchLabels
  7103. map is equivalent to an element of matchExpressions,
  7104. whose key field is "key", the operator is "In",
  7105. and the values array contains only "value". The
  7106. requirements are ANDed.
  7107. type: object
  7108. type: object
  7109. x-kubernetes-map-type: atomic
  7110. storageClassName:
  7111. description: 'storageClassName is the name of the StorageClass
  7112. required by the claim. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1'
  7113. type: string
  7114. volumeMode:
  7115. description: volumeMode defines what type of volume
  7116. is required by the claim. Value of Filesystem is implied
  7117. when not included in claim spec.
  7118. type: string
  7119. volumeName:
  7120. description: volumeName is the binding reference to
  7121. the PersistentVolume backing this claim.
  7122. type: string
  7123. type: object
  7124. status:
  7125. description: 'status represents the current information/status
  7126. of a persistent volume claim. Read-only. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  7127. properties:
  7128. accessModes:
  7129. description: 'accessModes contains the actual access
  7130. modes the volume backing the PVC has. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1'
  7131. items:
  7132. type: string
  7133. type: array
  7134. allocatedResourceStatuses:
  7135. additionalProperties:
  7136. description: When a controller receives persistentvolume
  7137. claim update with ClaimResourceStatus for a resource
  7138. that it does not recognizes, then it should ignore
  7139. that update and let other controllers handle it.
  7140. type: string
  7141. description: "allocatedResourceStatuses stores status
  7142. of resource being resized for the given PVC. Key names
  7143. follow standard Kubernetes label syntax. Valid values
  7144. are either: * Un-prefixed keys: - storage - the capacity
  7145. of the volume. * Custom resources must use implementation-defined
  7146. prefixed names such as \"example.com/my-custom-resource\"
  7147. Apart from above values - keys that are unprefixed
  7148. or have kubernetes.io prefix are considered reserved
  7149. and hence may not be used. \n ClaimResourceStatus
  7150. can be in any of following states: - ControllerResizeInProgress:
  7151. State set when resize controller starts resizing the
  7152. volume in control-plane. - ControllerResizeFailed:
  7153. State set when resize has failed in resize controller
  7154. with a terminal error. - NodeResizePending: State
  7155. set when resize controller has finished resizing the
  7156. volume but further resizing of volume is needed on
  7157. the node. - NodeResizeInProgress: State set when kubelet
  7158. starts resizing the volume. - NodeResizeFailed: State
  7159. set when resizing has failed in kubelet with a terminal
  7160. error. Transient errors don't set NodeResizeFailed.
  7161. For example: if expanding a PVC for more capacity
  7162. - this field can be one of the following states: -
  7163. pvc.status.allocatedResourceStatus['storage'] = \"ControllerResizeInProgress\"
  7164. - pvc.status.allocatedResourceStatus['storage'] =
  7165. \"ControllerResizeFailed\" - pvc.status.allocatedResourceStatus['storage']
  7166. = \"NodeResizePending\" - pvc.status.allocatedResourceStatus['storage']
  7167. = \"NodeResizeInProgress\" - pvc.status.allocatedResourceStatus['storage']
  7168. = \"NodeResizeFailed\" When this field is not set,
  7169. it means that no resize operation is in progress for
  7170. the given PVC. \n A controller that receives PVC update
  7171. with previously unknown resourceName or ClaimResourceStatus
  7172. should ignore the update for the purpose it was designed.
  7173. For example - a controller that only is responsible
  7174. for resizing capacity of the volume, should ignore
  7175. PVC updates that change other valid resources associated
  7176. with PVC. \n This is an alpha field and requires enabling
  7177. RecoverVolumeExpansionFailure feature."
  7178. type: object
  7179. x-kubernetes-map-type: granular
  7180. allocatedResources:
  7181. additionalProperties:
  7182. anyOf:
  7183. - type: integer
  7184. - type: string
  7185. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7186. x-kubernetes-int-or-string: true
  7187. description: "allocatedResources tracks the resources
  7188. allocated to a PVC including its capacity. Key names
  7189. follow standard Kubernetes label syntax. Valid values
  7190. are either: * Un-prefixed keys: - storage - the capacity
  7191. of the volume. * Custom resources must use implementation-defined
  7192. prefixed names such as \"example.com/my-custom-resource\"
  7193. Apart from above values - keys that are unprefixed
  7194. or have kubernetes.io prefix are considered reserved
  7195. and hence may not be used. \n Capacity reported here
  7196. may be larger than the actual capacity when a volume
  7197. expansion operation is requested. For storage quota,
  7198. the larger value from allocatedResources and PVC.spec.resources
  7199. is used. If allocatedResources is not set, PVC.spec.resources
  7200. alone is used for quota calculation. If a volume expansion
  7201. capacity request is lowered, allocatedResources is
  7202. only lowered if there are no expansion operations
  7203. in progress and if the actual volume capacity is equal
  7204. or lower than the requested capacity. \n A controller
  7205. that receives PVC update with previously unknown resourceName
  7206. should ignore the update for the purpose it was designed.
  7207. For example - a controller that only is responsible
  7208. for resizing capacity of the volume, should ignore
  7209. PVC updates that change other valid resources associated
  7210. with PVC. \n This is an alpha field and requires enabling
  7211. RecoverVolumeExpansionFailure feature."
  7212. type: object
  7213. capacity:
  7214. additionalProperties:
  7215. anyOf:
  7216. - type: integer
  7217. - type: string
  7218. pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
  7219. x-kubernetes-int-or-string: true
  7220. description: capacity represents the actual resources
  7221. of the underlying volume.
  7222. type: object
  7223. conditions:
  7224. description: conditions is the current Condition of
  7225. persistent volume claim. If underlying persistent
  7226. volume is being resized then the Condition will be
  7227. set to 'ResizeStarted'.
  7228. items:
  7229. description: PersistentVolumeClaimCondition contains
  7230. details about state of pvc
  7231. properties:
  7232. lastProbeTime:
  7233. description: lastProbeTime is the time we probed
  7234. the condition.
  7235. format: date-time
  7236. type: string
  7237. lastTransitionTime:
  7238. description: lastTransitionTime is the time the
  7239. condition transitioned from one status to another.
  7240. format: date-time
  7241. type: string
  7242. message:
  7243. description: message is the human-readable message
  7244. indicating details about last transition.
  7245. type: string
  7246. reason:
  7247. description: reason is a unique, this should be
  7248. a short, machine understandable string that
  7249. gives the reason for condition's last transition.
  7250. If it reports "ResizeStarted" that means the
  7251. underlying persistent volume is being resized.
  7252. type: string
  7253. status:
  7254. type: string
  7255. type:
  7256. description: PersistentVolumeClaimConditionType
  7257. is a valid value of PersistentVolumeClaimCondition.Type
  7258. type: string
  7259. required:
  7260. - status
  7261. - type
  7262. type: object
  7263. type: array
  7264. phase:
  7265. description: phase represents the current phase of PersistentVolumeClaim.
  7266. type: string
  7267. type: object
  7268. type: object
  7269. type: array
  7270. type: object
  7271. waitTimeoutForHealthyOSDInMinutes:
  7272. description: WaitTimeoutForHealthyOSDInMinutes defines the time the
  7273. operator would wait before an OSD can be stopped for upgrade or
  7274. restart. If the timeout exceeds and OSD is not ok to stop, then
  7275. the operator would skip upgrade for the current OSD and proceed
  7276. with the next one if `continueUpgradeAfterChecksEvenIfNotHealthy`
  7277. is `false`. If `continueUpgradeAfterChecksEvenIfNotHealthy` is `true`,
  7278. then operator would continue with the upgrade of an OSD even if
  7279. its not ok to stop after the timeout. This timeout won't be applied
  7280. if `skipUpgradeChecks` is `true`. The default wait timeout is 10
  7281. minutes.
  7282. format: int64
  7283. type: integer
  7284. type: object
  7285. status:
  7286. description: ClusterStatus represents the status of a Ceph cluster
  7287. nullable: true
  7288. properties:
  7289. ceph:
  7290. description: CephStatus is the details health of a Ceph Cluster
  7291. properties:
  7292. capacity:
  7293. description: Capacity is the capacity information of a Ceph Cluster
  7294. properties:
  7295. bytesAvailable:
  7296. format: int64
  7297. type: integer
  7298. bytesTotal:
  7299. format: int64
  7300. type: integer
  7301. bytesUsed:
  7302. format: int64
  7303. type: integer
  7304. lastUpdated:
  7305. type: string
  7306. type: object
  7307. details:
  7308. additionalProperties:
  7309. description: CephHealthMessage represents the health message
  7310. of a Ceph Cluster
  7311. properties:
  7312. message:
  7313. type: string
  7314. severity:
  7315. type: string
  7316. required:
  7317. - message
  7318. - severity
  7319. type: object
  7320. type: object
  7321. fsid:
  7322. type: string
  7323. health:
  7324. type: string
  7325. lastChanged:
  7326. type: string
  7327. lastChecked:
  7328. type: string
  7329. previousHealth:
  7330. type: string
  7331. versions:
  7332. description: CephDaemonsVersions show the current ceph version
  7333. for different ceph daemons
  7334. properties:
  7335. cephfs-mirror:
  7336. additionalProperties:
  7337. type: integer
  7338. description: CephFSMirror shows CephFSMirror Ceph version
  7339. type: object
  7340. mds:
  7341. additionalProperties:
  7342. type: integer
  7343. description: Mds shows Mds Ceph version
  7344. type: object
  7345. mgr:
  7346. additionalProperties:
  7347. type: integer
  7348. description: Mgr shows Mgr Ceph version
  7349. type: object
  7350. mon:
  7351. additionalProperties:
  7352. type: integer
  7353. description: Mon shows Mon Ceph version
  7354. type: object
  7355. osd:
  7356. additionalProperties:
  7357. type: integer
  7358. description: Osd shows Osd Ceph version
  7359. type: object
  7360. overall:
  7361. additionalProperties:
  7362. type: integer
  7363. description: Overall shows overall Ceph version
  7364. type: object
  7365. rbd-mirror:
  7366. additionalProperties:
  7367. type: integer
  7368. description: RbdMirror shows RbdMirror Ceph version
  7369. type: object
  7370. rgw:
  7371. additionalProperties:
  7372. type: integer
  7373. description: Rgw shows Rgw Ceph version
  7374. type: object
  7375. type: object
  7376. type: object
  7377. conditions:
  7378. items:
  7379. description: Condition represents a status condition on any Rook-Ceph
  7380. Custom Resource.
  7381. properties:
  7382. lastHeartbeatTime:
  7383. format: date-time
  7384. type: string
  7385. lastTransitionTime:
  7386. format: date-time
  7387. type: string
  7388. message:
  7389. type: string
  7390. reason:
  7391. description: ConditionReason is a reason for a condition
  7392. type: string
  7393. status:
  7394. type: string
  7395. type:
  7396. description: ConditionType represent a resource's status
  7397. type: string
  7398. type: object
  7399. type: array
  7400. message:
  7401. type: string
  7402. observedGeneration:
  7403. description: ObservedGeneration is the latest generation observed
  7404. by the controller.
  7405. format: int64
  7406. type: integer
  7407. phase:
  7408. description: ConditionType represent a resource's status
  7409. type: string
  7410. state:
  7411. description: ClusterState represents the state of a Ceph Cluster
  7412. type: string
  7413. storage:
  7414. description: CephStorage represents flavors of Ceph Cluster Storage
  7415. properties:
  7416. deviceClasses:
  7417. items:
  7418. description: DeviceClasses represents device classes of a Ceph
  7419. Cluster
  7420. properties:
  7421. name:
  7422. type: string
  7423. type: object
  7424. type: array
  7425. osd:
  7426. description: OSDStatus represents OSD status of the ceph Cluster
  7427. properties:
  7428. storeType:
  7429. additionalProperties:
  7430. type: integer
  7431. description: StoreType is a mapping between the OSD backend
  7432. stores and number of OSDs using these stores
  7433. type: object
  7434. type: object
  7435. type: object
  7436. version:
  7437. description: ClusterVersion represents the version of a Ceph Cluster
  7438. properties:
  7439. image:
  7440. type: string
  7441. version:
  7442. type: string
  7443. type: object
  7444. type: object
  7445. x-kubernetes-preserve-unknown-fields: true
  7446. required:
  7447. - metadata
  7448. - spec
  7449. type: object
  7450. served: true
  7451. storage: true
  7452. subresources:
  7453. status: {}
  7454. status:
  7455. acceptedNames:
  7456. kind: CephCluster
  7457. listKind: CephClusterList
  7458. plural: cephclusters
  7459. singular: cephcluster
  7460. conditions:
  7461. - lastTransitionTime: "2023-09-08T15:16:44Z"
  7462. message: no conflicts found
  7463. reason: NoConflicts
  7464. status: "True"
  7465. type: NamesAccepted
  7466. - lastTransitionTime: "2023-09-08T15:16:44Z"
  7467. message: the initial names have been accepted
  7468. reason: InitialNamesAccepted
  7469. status: "True"
  7470. type: Established
  7471. storedVersions:
  7472. - v1