{
    "componentChunkName": "component---src-templates-issues-tsx",
    "path": "/issues/274",
    "result": {"data":{"issuesJson":{"id":"f664597a-103b-58e0-9c28-0c59526c1535","title":"karmada-io/karmada: Karmada 旨在为多云和混合云场景中的多集群应用管理提供统包自动化，具有集中式多云管理、高可用性、故障恢复和流量调度等关键功能。","number":274,"bodyHTML":"<div align=\"center\" dir=\"auto\">\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a><br><br></p>\n<markdown-accessiblity-table><table role=\"table\">\n<thead>\n<tr>\n<th align=\"right\">Repos</th>\n<th align=\"left\"><a href=\"https://github.com/karmada-io/karmada\">karmada-io/karmada</a></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td align=\"right\"><strong>Views</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/b2f6eb040b64a831a1121b5cf64a0170e9500729c766e3957a7a68620ab8ba25/68747470733a2f2f76696577732e77686174696c656172656e65642e746f6461792f76696577732f6769746875622f6b61726d6164612d696f2f6b61726d6164612e737667\" alt=\"views\" data-canonical-src=\"https://views.whatilearened.today/views/github/karmada-io/karmada.svg\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Stars</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/1262545d8e6a1d5bc22fd8112e54c8fc918aae2e70e879badb625fc2df0831be/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6b61726d6164612d696f2f6b61726d6164613f636f6c6f723d663266303864266c6f676f3d556e64657274616c65266c6f676f436f6c6f723d656234363330\" alt=\"stars\" data-canonical-src=\"https://img.shields.io/github/stars/karmada-io/karmada?color=f2f08d&amp;logo=Undertale&amp;logoColor=eb4630\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>Forks</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/cb3c2fec0faa16686e19e4aed9cf002084935badd08758e4f313669573e16113/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6b61726d6164612d696f2f6b61726d6164613f636f6c6f723d626138366562266c6f676f3d48616e647368616b65266c6f676f436f6c6f723d656136616136\" alt=\"forks\" data-canonical-src=\"https://img.shields.io/github/forks/karmada-io/karmada?color=ba86eb&amp;logo=Handshake&amp;logoColor=ea6aa6\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>License</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/ad807da6e8c8c5fc64a26dc917c3cb1a487c704e279f4fe52dad0d037a206dda/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6b61726d6164612d696f2f6b61726d6164613f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e53556845556741414144414141414177434159414141425841766d48414141414358424957584d41414173544141414c457745416d70775941414144336b6c45515652346e4f335953557a5555426748384a726f57567255474a66456d3773584e63534446784d544c327069347348456778654e526f77586770455742445552522532424e414e4f4b4f4b36366f6f4b4a4742586545475263574163455646475152484677516d483525324630774861655748493944554455354c356b6e6568644f62377a66652532423139636e434a47495243516945596c514237594a4979474c38616f73756c565a36695246516a69474b6b7564576735614c6c704f70704e586e665071773555304459524a6d56786a4367464633424c755a476d416f5655694b4541726d583744375553677351706f72674761336748664b34483663754262435644334771683141352532424c6745253242467749656e514d306a6f446f66714c6f48564e7742796d384370546e416d327a51713073676478624964515a556c416b7150415a3664676a303541446f59526f6f66792532466f5869726f376b3551586a4c6f70677a4b69514e6c4c4461716f4967754577426a7a7150355066446a45394479495879493633464d547751464d43567271774e61763451666f52673538514625324266724d485172454b3844546f434d714e4179574e4866786d54526f4c4f726d5352566747744466714345715a4f4851727a6f34706243557341333431365169364551394b476a6345465267484f724f4b6e5536574162396247455459656b4b7843766a546167394534706a653534446b3551503862624d4859762532464333756541654a6b50304f4778422532424a70426e4172595238455951516e6f4e31414e4661426e5050356c385372736559514c303641646b30464a5938484f5761424d6c6541486a683068506f73497a6c6f3876304125324633345a694f6548726130714b52504d5653493774762532423932747725324676687855654252713456454c674d376642714b354770526d6f514c584e7075625475367a6f4e52706754386e5051627138347764253246494375767978694b4871694e41664933774d367549684271476b4c696977414f734b44714f68743749747239567938536a52424557667941627225324668523142667056514664484a42253246423268683778376a36517077435665655951326b72554235436c636a3641326d3067576a25324244306d4c34397a573563517943484c4e37726a6c6d6d6174457958582532464372547a412532466f51785a6b576c39474a5443566f25324279546a3837253242346769504b6376307149486f344156344430565a727251493334706e70524d36357875652532467a417265453425324654253246536f676c664542794d7369517441546c4c3352414a355948725378365a44665337307337754d486842705225324659423573305057366f455270316236253246667252684b3353444c35546965364f515548516c5133735644752532427a50636b397657453973747225324236496a533967486d5750616861444a25324277434b364e494242587348423948796b587378774470686c436d416476706c6162554a4e6e5a504239342532464e7436784f6538587a4562503257684d335741673147756236744825324233513150673337365239713475716c6e6f36676448476a444f5139306562303141484d3672596975554a314f713472344656756a35765239427a4d3957674e764f7977446869495951467667626366774166774d764863615067425041253246447948476a50624e394138616d6562636477416444354e6633373574787165774e5552656f797677424958594c645170576c6877465771745061435044334173467541535636717171496c62304a766b564331464c39576b4c55556c55574b337a585a4c46432532423125324642726f46746f364f7358497545594a5034447a7a5732594656316f4a614141414141456c46546b5375516d4343\" alt=\"license\" data-canonical-src=\"https://img.shields.io/github/license/karmada-io/karmada?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAD3klEQVR4nO3YSUzUUBgH8JroWVrUGJfEm7sXNcSDFxMTL2pi4sHEgxeNRowXgpEWBDURR%2BNANOKOK66ooKJGBXeEGRcWAcEVFGQRHFwQmH5%2F0wHaeWHI9DUDU5L5knehdOb7zfe%2B19cnCJGIRCQiEYlQB7YJIyGL8aosulVZ6iRFQjiGKkudWg5aLlpOppNXnfPqw5U0DYRJmVxjCgFF3BLuZGmAoVUiKEArmX7D7USgsQporgGa3gHfK4H6cuBbCVD3Gqh1A5%2BLgE%2BFwIenQM0joDofqLoHVNwBym8CpTnAm2zQq0sgdxbIdQZUlAkqPAZ6dgj05ADoYRoofy%2FoXiro7k5QXjLopgzKiQNlLDaqoIguEwBjzqP5PfDjE9DyIXyI63FMTwQFMCVrqwNav4QfoRg58QF%2BfrMHQrEK8DToCMqNAyWNHfxmTRoLOrmSRVgGtDfqCEqZOHQrzo4pbCUsA3416Qi6EQ9KGjcEFRgHOrOKnU6WAb9bGETYekKxCvjTag9E4pje54Dk5QP8bbMHYv%2FC3ueAeJkP0OGxB%2BJpBnArYR8EYQQnoN1ANFaBnPP5l8SrseYQL06Adk0FJY8HOWaBMleAHjh0hPosIzlo8v0A%2F34ZiOeHra0qKRPMVSI7tv%2B92tw%2FvhxUeBRq4VELgM7fBqK5GpRmoQLXNpubTu6zoNRpgT8nPQbq84wd%2FICuvyxiKHqiNAfI3wM6uIhBqGkLiiwAOsKDqOht7Itr9Vy8SjRBEWfyAbr%2FhR1BfpVQFdHJB%2FB2hh7x7j6QpwCVeeYQ2krUB5Clcj6A2m0gWj%2BD0mL49zW5cQyCHLN7rjlmmatEyXX%2FCrTzA%2FoQxZkWl9GJTCVo%2ByTj87%2B4giPKcv0qIHo4AV4D0VZrrQI34pnpRM65xue%2FzAreE4%2FT%2FSoglfEByMsiQtATlL3RAJ5YHrSx6ZDfS70s7uMHhBpR%2FYB5s0PW6oERp1b6%2FfrRhK3SDL5Tie6OQUHQlQ3sVDu%2BzPck9vWE9str%2B6IjS9gHmWPahaDJ%2BwCK6NIBBXsHB9HykXsxwDphlCmAdvplabUJNnZPB94%2FNt6xOe8XzEbP2WhM3WAg1Gub6tH%2B3Q1Pg376R9q4uqlno6gdHGjDOQ90eb01AHM6rYiuUJ1Oq4r4FVuj5vR9BzM9WgNvOywDhiIYQFvgbcfwAfwMvHcaPgBPA%2FDyHGjPbN9A8amebcdwAdD5Nf375txqewNUReoyvwBIXYLdQpWlhwFWqtPaCPD3AsFuASV6qqqIlb0JvkVC1FL9WkLUUlUWK3zXZLFC%2B1%2FBroFto6OsXIuEYJP4DzzW2YFV1oJaAAAAAElFTkSuQmCC\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>UpdatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/46339727a5b2f4db273801c70f9158c3a5ded06247ca13e2b7c23f28c92874e6/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f6b61726d6164612d696f2f6b61726d6164613f646973706c61795f74696d657374616d703d636f6d6d6974746572266c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d557064617465644174\" alt=\"last-commit\" data-canonical-src=\"https://img.shields.io/github/last-commit/karmada-io/karmada?display_timestamp=committer&amp;logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=UpdatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n<tr>\n<td align=\"right\"><strong>CreatedAt</strong></td>\n<td align=\"left\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/27f4fc2b0d4f019f49e2f9813b06d255ef7849ddb638e19f21afeb4c6f810e80/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f637265617465642d61742f6b61726d6164612d696f2f6b61726d6164613f6c6f676f3d64617461253341696d616765253246706e672533426261736536342532436956424f5277304b47676f414141414e5355684555674141414234414141416543415941414141374d4b3669414141414358424957584d41414173544141414c457745416d7077594141414648556c45515652346e4c5658375539615678776d3236646c582532466468627825324232253246516e626b7655627264554151674a4a496655444e574454546d4f76314651554661504a346b7573725630314a7431734e70637453327533626f745a746d786439744a5346536f714b71494635625944464c436f76436c656673747a4a387758524c445a4c7a6e6b634f343535376e3364332532466e655a3472454f515a74315771462532423858467234253242664f4c4565326a6f59307a776638546f795a50766a45676b4c592532426b306d6d72584f36644b696e787a476b30666a5430782532425279723055716e6359637a4d317263347451253242497270324c4758646f344e4334567657715453373277716c632532427231334f527269364b6458646e624f484c6c776c7a4a70524b6e3657342532424b36706f4f434e6e494166486a253246253242776168495a4234764b6e715a6630714a704e49716c2532467638545530634e6c3572627963337730516e54703379324c54614a374d314e617844723266526e315370504736476961323174664533345463614f617931694d55564f5146624659714957536f31573854694156616e43306576584f4542375770313448466232327a453566714c4f433545524c515769644e614e49347545636339693768634a6c644868324e57725135674464624f6c7061756d49754c62326174415144506e7a3062384e6257636d785656524a33486d7870536377777a4f4a6d4b44524765384c6c435a444c4739673754496e5631516c376462586256316533675430574b697243466f6d6b5079767758466c5a474a4f6a563625324253743634757564445a4f55354555636f782532464d455144567674364d62634e3237593341797a687633737061557242365a3971724a534f3139657a6a387032704c426b4a792532426343484a7857493567573574636652527a31645531394766476b6f7539505a4f34736d52396a4746777065783444793362766e6d4b79706f74625531335669646a71595a68726a343972764d457425324625324659714c7a396430304e6a57253246637a67796f394f35317a7336614e6c6f354644747530445a675146686c47584a30644241446f4e6864367576703657686f617967374e394c564748386d443462253246486e667455516f4e4734764c51306769784d716c5725324234714f6a744e48446733723166365969525347785279375576714c62395534716b716e78504f4e7661356c447048723125324279794b524e4b57425a793565644d554842326d3572792532422532424551772532427a6766347a6f39253246306f634e3357527a4c4277344a2532424a7950574372716d4967475974554f735744346f785a46516f50556a4770564871493425324661666b51504336665a5165654d31253242764c7549516e6a754257514444437363726d485039656f4e5041744271664f6e5875614b25324268364a45624772732532427076764d6d78654962683836336162565065597953456f39464a48704e4d464a59253242503563575a6b6667374f3174537759436553514c54593345385130392532464256504a556c78516a7368543142736343593032723955445542667643484236367063665041336c794165336e6772332532463437584467614a7a736c7937787741364e5a746c555550437541487161536a5549502532427375653842525741432532464e6651374a5a505a35397330476a3756747049537a34685125324243706658474d4b685a63764c70554b7866574d386f68766637702532464f446a4842666356463849736b383267314648796b63564645253242555a414158343761452532464d6c34504f3530506e75683025324678346e6d637957507364774468427836436d6b4c562532466746446a594b784f4a4f4674623077517949684c39527943774b33414f664947703159464542686e4d4a634c525745624b644b516f55366e63545a6b494544696341792532463831645675454d3552775066657934784f7830496b25324649324e6e466b692532425761664f6f464959466367595a43797864376543556a626334416d46363566742532466b4d686b336f25324235686337734d4a79716a4a45477659466151464972375930775077384246415925324236253242766d6b3377367a7a5275444d6d5a5652736668385274413075455453443775434254364459514e36697665553066706b594c6a453671725672744f78654e4b553954484c5a4a396b4255324a427342685635416976422532466f4b61514e4b675043427744596149665a4334616454684f71463457454e56694c4a77566f586f62664c424b56773637414f6154734c6336355461564b32317651344c613939654b6359673576627873624f627a5451394e37554b4467554f3177446a6944494942736868357a746733396e514d4c535a4248344f7a424f55444551586d323036643366634c67737762585141345068634b336e6873775531427a3877765130395248472532466f597933656a6677424e6d746f59714c4130586741414141424a52553545726b4a676767253344253344266c6162656c3d437265617465644174\" alt=\"create-at\" data-canonical-src=\"https://img.shields.io/github/created-at/karmada-io/karmada?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFHUlEQVR4nLVX7U9aVxwm26dlX%2Fdhbx%2B2%2FQnbkvUbrdUAQgJJIfUDNWDTTmOv1FQUFaPJ4kusrV01Jt1sNpctS2u3botZtmxd9tJSFSoqKqIF5bYDFLCovClefstzJ8wXRLDZLznkcO4557n3d3%2FneZ4rEOQZt1WqF%2B8XFr4%2BfOLEe2joY0zwf8ToyZPvjEgkLY%2Bk0mmrXO6dKinxzGk0fjT0x%2BRyr0UqncYczM1rc4tQ%2BIrp2LGXdo4NC4VvWqTS72wqlc%2Br13ORri6KdXdnbOHLlwlzJpRKn6W4%2BK6poOCNnIAfHj%2F%2BwahIZB4vKnqZf0qJpNIql%2Fv8TU0cNl5rbyc3w0QnTp3y2LTaJ7M1NaxDr2fRn1SpPG6Gia21tfE34TcaOay1iMUVOQFbFYqIWSo1W8TiAVanC0evXOEB7Wp14HFb22zE5fqLOC5ERLQWidNaNI4uEcc9i7hcJldHh2NWrQ5gDdbOlpaumIuLb2atAQDPnz0b8NbWcmxVVRJ3HmxpScwwzOJmKDRGe8LlCZDLG9g7TInV1Ql7dbXbV1e3gT0WKirCFomkPyvwXFlZGJOjV6%2BSt64uudDZOU5EUcox%2FMEQDVvt6MbcN27Y3Ayzhv3spaUrB6Z9qrJSO19ezj8p2pLBkJy%2BcCHJxWI5gW5tcfRRz1dU19GfGkou9PZO4smR9jGFwpex4Dy3bvnmKypotbU13VidjqYZhrj49rvMEt%2F%2FYqLz9d00NjW%2Fczgyo9O51zs6aNlo5FDtu0DZgQFhlGXJ0dBADoNhd6uvp6Whoayg7N9LVGH8mD4b%2FHnftUQoNG4vLQ0gixMqlW%2B4qOjtNHDg3r1f6YiRSGxRy7UvqLb9U4qkqnxPONva5lDpHr1%2ByyKRNKWBZy5edMUHB2m5ry%2B%2BEQw%2Bzgf4zo9%2F0ocN3WRzLBw4J%2BJyPWCrqmIgGYtUOsWD4oxZFQoPUjGpVHqI4%2FafkQPC6fZQeeM1%2BvLuIQnjuBWQDDCscrmHP9eoNPAtBqfOnXuaK%2Bh6JEbGrs%2BpvvMmxeIbh863abVPeYySEo9FJHpNMFJY%2BP5cWZkfg7O1tSwYCeSQLTY3E8Q09%2FBVPJUlxQjshT1BscCY02r9UDUBfvCHB66pcfPA3lyAe3ngr3%2F47XDgaJzsly7xwA6NZtlUUPCuAHqaSjUIP%2Bsue8BRWAC%2FNfQ7JZPZ59s0Gj7VtpISz4hQ%2BCpfXGMKhZcvLpUKxfWM8ohvf7p%2FODjHBfcVF8Isk82g1FHykcVFE%2BUZAAX47aE%2FMl4PO50Pnuh0%2Fx4nmcyWPsdwDhBx6CmkLV%2FgFDjYKxOJOFtb0wQyIhL9RyCwK3AOfIGp1YFEBhnMJcLRWEbKdKQoU6ncTZkIEDicAy%2F81dVuEM5RwPfey4xOx0Ik%2FI2NnFki%2BWafOoFIYFcgYZCyxd7eCUjbc4AmF65ft%2FkMhk3o%2B5hc7sMJyqjJEGvYFaQFIr7Y0wPw8BFAY%2B6%2Bvmk3w6zzRuDMmZVRsfh8RtA0uETSD7uCBT6DYQN6iveU0fpkYLjE6qrVrtOxeNKU9THLZJ9kBU2JBsBhV5AivB%2FoKaQNKgPCBwDYaIfZC4adThOqF4WENViLJwVoXobfLBKVw67AOaTsLc65TaVK21vQ4La99eKcYg5vbxsbObzTQ9N7UKDgUO1wDjiDIIBshh5ztg39nQMLSZBH4OzBOUDEQXm206d3fcLgswbXQA4PhcK3nhswU1Bz8wvQ09RHG%2FoYy3ejfwBNmtoYqLA0XgAAAABJRU5ErkJggg%3D%3D&amp;label=CreatedAt\" style=\"max-width: 100%;\"></a></td>\n</tr>\n</tbody>\n</table></markdown-accessiblity-table>\n<a href=\"https://github.com/opsre/awesome-ops\">\n</a><p dir=\"auto\"><a href=\"https://github.com/opsre/awesome-ops\"><img src=\"https://camo.githubusercontent.com/b964a36ea4078c39f603d46a29436371c7541a2f26e0228d7b21b9d9805b43d3/68747470733a2f2f736f6369616c6966792e6769742e63692f6f707372652f617765736f6d652d6f70732f696d6167653f6465736372697074696f6e3d3126666f6e743d42697474657226666f726b733d31266973737565733d31266c616e67756167653d31266c6f676f3d6874747073253341253246253246617661746172732e67697468756275736572636f6e74656e742e636f6d25324675253246313838353638303230266e616d653d31266f776e65723d31267061747465726e3d436972637569742b426f6172642670756c6c733d31267374617267617a6572733d31267468656d653d4c69676874\" alt=\"\" data-canonical-src=\"https://socialify.git.ci/opsre/awesome-ops/image?description=1&amp;font=Bitter&amp;forks=1&amp;issues=1&amp;language=1&amp;logo=https%3A%2F%2Favatars.githubusercontent.com%2Fu%2F188568020&amp;name=1&amp;owner=1&amp;pattern=Circuit+Board&amp;pulls=1&amp;stargazers=1&amp;theme=Light\" style=\"max-width: 100%;\"></a></p>\n<a target=\"_blank\" rel=\"noopener noreferrer nofollow\" href=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\"><img src=\"https://camo.githubusercontent.com/a15b413168923d02e21292705ceaf86b92675f98e250c5c896a02ba7504a6eae/68747470733a2f2f63646e2e6a7364656c6976722e6e65742f67682f657279616a662f7475406d61696e2f696d672f696d6167655f32303234303432305f3231343430382e676966\" width=\"100%\" height=\"3\" data-animated-image=\"\" data-canonical-src=\"https://cdn.jsdelivr.net/gh/eryajf/tu@main/img/image_20240420_214408.gif\" style=\"max-width: 100%; height: auto; max-height: 3px;\"></a>\n</div>\n<h1 dir=\"auto\">Karmada</h1>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"docs/images/Karmada-logo-horizontal-color.png\"><img src=\"docs/images/Karmada-logo-horizontal-color.png\" alt=\"Karmada-logo\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\"><a href=\"/LICENSE\"><img src=\"https://camo.githubusercontent.com/1804b4e87ab8b3c154780eefbc04b2efe5d3a572c6c5d383702842b8c33871e7/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f6b61726d6164612d696f2f6b61726d6164612e737667\" alt=\"LICENSE\" data-canonical-src=\"https://img.shields.io/github/license/karmada-io/karmada.svg\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://github.com/karmada-io/karmada/releases/latest\"><img src=\"https://camo.githubusercontent.com/377df33017d3843c2a5c8b4eb7e154bd3ce462361ef97939e97e968fbf7a6386/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f6b61726d6164612d696f2f6b61726d616461\" alt=\"Releases\" data-canonical-src=\"https://img.shields.io/github/v/release/karmada-io/karmada\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://slack.cncf.io\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/cac1a653b9ca9325b9b572f90ca571b6a5c942e1d348b7830187a9e8080392c2/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f736c61636b2d6a6f696e2d627269676874677265656e\" alt=\"Slack\" data-canonical-src=\"https://img.shields.io/badge/slack-join-brightgreen\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://bestpractices.coreinfrastructure.org/projects/5301\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/d3a18a103384b1101238e6559ea753109b95b2eea115540ee0288671cd7ce055/68747470733a2f2f626573747072616374696365732e636f7265696e6672617374727563747572652e6f72672f70726f6a656374732f353330312f6261646765\" alt=\"CII Best Practices\" data-canonical-src=\"https://bestpractices.coreinfrastructure.org/projects/5301/badge\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://securityscorecards.dev/viewer/?uri=github.com/karmada-io/karmada\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/91e1504a7966ff9e51f3e579af8d0e012d674f04721385c54eb895fb4f537a26/68747470733a2f2f6170692e736563757269747973636f726563617264732e6465762f70726f6a656374732f6769746875622e636f6d2f6b61726d6164612d696f2f6b61726d6164612f6261646765\" alt=\"OpenSSF Scorecard\" data-canonical-src=\"https://api.securityscorecards.dev/projects/github.com/karmada-io/karmada/badge\" style=\"max-width: 100%;\"></a><br>\n<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/karmada-io/karmada/actions/workflows/ci.yml/badge.svg\"><img src=\"https://github.com/karmada-io/karmada/actions/workflows/ci.yml/badge.svg\" alt=\"build\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://goreportcard.com/report/github.com/karmada-io/karmada\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/130db1db492db2c11524d480c57421e01e5727d8811972d8dd32119d0837a041/68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f6b61726d6164612d696f2f6b61726d616461\" alt=\"Go Report Card\" data-canonical-src=\"https://goreportcard.com/badge/github.com/karmada-io/karmada\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://codecov.io/gh/karmada-io/karmada\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/cba2ed184b1bd75538d1dfa4ccb648e184a282ad8fde64161d94352cec943a53/68747470733a2f2f636f6465636f762e696f2f67682f6b61726d6164612d696f2f6b61726d6164612f6272616e63682f6d61737465722f67726170682f62616467652e7376673f746f6b656e3d524f4d38434d50585a36\" alt=\"codecov\" data-canonical-src=\"https://codecov.io/gh/karmada-io/karmada/branch/master/graph/badge.svg?token=ROM8CMPXZ6\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://app.fossa.com/projects/custom%2B28176%2Fgithub.com%2Fkarmada-io%2Fkarmada?ref=badge_shield\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/0a03dd8aa89443e206373999792590ccf25c86c033de9900a588eefc3c59e6d6/68747470733a2f2f6170702e666f7373612e636f6d2f6170692f70726f6a656374732f637573746f6d25324232383137362532466769746875622e636f6d2532466b61726d6164612d696f2532466b61726d6164612e7376673f747970653d736869656c64\" alt=\"FOSSA Status\" data-canonical-src=\"https://app.fossa.com/api/projects/custom%2B28176%2Fgithub.com%2Fkarmada-io%2Fkarmada.svg?type=shield\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://artifacthub.io/packages/krew/krew-index/karmada\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/f27e5bc391a16748f2891f30b099720568413d777763121a403dffc2bde39d35/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f61727469666163746875622e696f2f62616467652f7265706f7369746f72792f6b61726d616461\" alt=\"Artifact HUB\" data-canonical-src=\"https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/karmada\" style=\"max-width: 100%;\"></a><br>\n<a href=\"https://clomonitor.io/projects/cncf/karmada\" rel=\"nofollow\"><img src=\"https://camo.githubusercontent.com/e20ca7b14e19bcbac347768077a6001039f61e8484dce44225f14810fd3e29a9/68747470733a2f2f696d672e736869656c64732e696f2f656e64706f696e743f75726c3d68747470733a2f2f636c6f6d6f6e69746f722e696f2f6170692f70726f6a656374732f636e63662f6b61726d6164612f6261646765\" alt=\"CLOMonitor\" data-canonical-src=\"https://img.shields.io/endpoint?url=https://clomonitor.io/api/projects/cncf/karmada/badge\" style=\"max-width: 100%;\"></a></p>\n<h2 dir=\"auto\">Karmada: Open, Multi-Cloud, Multi-Cluster Kubernetes Orchestration</h2>\n<p dir=\"auto\">Karmada (Kubernetes Armada) is a Kubernetes management system that enables you to run your cloud-native applications across multiple Kubernetes clusters and clouds, with no changes to your applications. By speaking Kubernetes-native APIs and providing advanced scheduling capabilities, Karmada enables truly open, multi-cloud Kubernetes.</p>\n<p dir=\"auto\">Karmada aims to provide turnkey automation for multi-cluster application management in multi-cloud and hybrid cloud scenarios,<br>\nwith key features such as centralized multi-cloud management, high availability, failure recovery, and traffic scheduling.</p>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"docs/images/cncf-logo.png\"><img src=\"docs/images/cncf-logo.png\" alt=\"cncf_logo\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\">Karmada is an incubation project of the <a href=\"https://cncf.io/\" rel=\"nofollow\">Cloud Native Computing Foundation</a> (CNCF).</p>\n<h2 dir=\"auto\">Why Karmada:</h2>\n<ul dir=\"auto\">\n<li>\n<p dir=\"auto\"><strong>K8s Native API Compatible</strong></p>\n<ul dir=\"auto\">\n<li>Zero change upgrade, from single-cluster to multi-cluster</li>\n<li>Seamless integration of existing K8s tool chain</li>\n</ul>\n</li>\n<li>\n<p dir=\"auto\"><strong>Out of the Box</strong></p>\n<ul dir=\"auto\">\n<li>Built-in policy sets for scenarios, including: Active-active, Remote DR, Geo Redundant, etc.</li>\n<li>Cross-cluster applications auto-scaling, failover and load-balancing on multi-cluster.</li>\n</ul>\n</li>\n<li>\n<p dir=\"auto\"><strong>Avoid Vendor Lock-in</strong></p>\n<ul dir=\"auto\">\n<li>Integration with mainstream cloud providers</li>\n<li>Automatic allocation, migration across clusters</li>\n<li>Not tied to proprietary vendor orchestration</li>\n</ul>\n</li>\n<li>\n<p dir=\"auto\"><strong>Centralized Management</strong></p>\n<ul dir=\"auto\">\n<li>Location agnostic cluster management</li>\n<li>Support clusters in Public cloud, on-prem or edge</li>\n</ul>\n</li>\n<li>\n<p dir=\"auto\"><strong>Fruitful Multi-Cluster Scheduling Policies</strong></p>\n<ul dir=\"auto\">\n<li>Cluster Affinity, Multi Cluster Splitting/Rebalancing</li>\n<li>Multi-Dimension HA: Region/AZ/Cluster/Provider</li>\n</ul>\n</li>\n<li>\n<p dir=\"auto\"><strong>Open and Neutral</strong></p>\n<ul dir=\"auto\">\n<li>Jointly initiated by Internet, finance, manufacturing, teleco, cloud providers, etc.</li>\n<li>Target for open governance with CNCF</li>\n</ul>\n</li>\n</ul>\n<p dir=\"auto\"><strong>Notice: this project is developed in continuation of Kubernetes <a href=\"https://github.com/kubernetes-retired/federation\">Federation v1</a> and <a href=\"https://github.com/kubernetes-sigs/kubefed\">v2</a>. Some basic concepts are inherited from these two versions.</strong></p>\n<h2 dir=\"auto\">Architecture</h2>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"docs/images/architecture.png\"><img src=\"docs/images/architecture.png\" alt=\"Architecture\" style=\"max-width: 100%;\"></a></p>\n<p dir=\"auto\">The Karmada Control Plane consists of the following components:</p>\n<ul dir=\"auto\">\n<li>Karmada API Server</li>\n<li>Karmada Controller Manager</li>\n<li>Karmada Scheduler</li>\n</ul>\n<p dir=\"auto\">ETCD stores the Karmada API objects, the API Server is the REST endpoint all other components talk to, and the Karmada Controller Manager performs operations based on the API objects you create through the API server.</p>\n<p dir=\"auto\">The Karmada Controller Manager runs the various controllers,  the controllers watch Karmada objects and then talk to the underlying clusters' API servers to create regular Kubernetes resources.</p>\n<ol dir=\"auto\">\n<li>Cluster Controller: attach Kubernetes clusters to Karmada for managing the lifecycle of the clusters by creating cluster objects.</li>\n<li>Policy Controller: the controller watches PropagationPolicy objects. When the PropagationPolicy object is added, it selects a group of resources matching the resourceSelector and creates ResourceBinding with each single resource object.</li>\n<li>Binding Controller: the controller watches ResourceBinding object and create Work object corresponding to each cluster with a single resource manifest.</li>\n<li>Execution Controller: the controller watches Work objects. When Work objects are created, it will distribute the resources to member clusters.</li>\n</ol>\n<h2 dir=\"auto\">Concepts</h2>\n<p dir=\"auto\"><strong>Resource template</strong>: Karmada uses Kubernetes Native API definition for federated resource template, to make it easy to integrate with existing tools that already adopt on Kubernetes</p>\n<p dir=\"auto\"><strong>Propagation Policy</strong>: Karmada offers a standalone Propagation(placement) Policy API to define multi-cluster scheduling and spreading requirements.</p>\n<ul dir=\"auto\">\n<li>Support 1:n mapping of Policy: workload, users don't need to indicate scheduling constraints every time creating federated applications.</li>\n<li>With default policies, users can just interact with K8s API</li>\n</ul>\n<p dir=\"auto\"><strong>Override Policy</strong>: Karmada provides standalone Override Policy API for specializing cluster relevant configuration automation. E.g.:</p>\n<ul dir=\"auto\">\n<li>Override image prefix according to member cluster region</li>\n<li>Override StorageClass according to cloud provider</li>\n</ul>\n<p dir=\"auto\">The following diagram shows how Karmada resources are involved when propagating resources to member clusters.</p>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"docs/images/karmada-resource-relation.png\"><img src=\"docs/images/karmada-resource-relation.png\" alt=\"karmada-resource-relation\" style=\"max-width: 100%;\"></a></p>\n<h2 dir=\"auto\">Quick Start</h2>\n<p dir=\"auto\">This guide will cover:</p>\n<ul dir=\"auto\">\n<li>Install <code class=\"notranslate\">karmada</code> control plane components in a Kubernetes cluster which is known as <code class=\"notranslate\">host cluster</code>.</li>\n<li>Join a member cluster to <code class=\"notranslate\">karmada</code> control plane.</li>\n<li>Propagate an application by using <code class=\"notranslate\">karmada</code>.</li>\n</ul>\n<h3 dir=\"auto\">Prerequisites</h3>\n<ul dir=\"auto\">\n<li><a href=\"https://golang.org/\" rel=\"nofollow\">Go</a> version follows <a href=\"https://github.com/karmada-io/karmada/blob/master/go.mod#L3\">go.mod</a></li>\n<li><a href=\"https://kubernetes.io/docs/tasks/tools/install-kubectl/\" rel=\"nofollow\">kubectl</a> version v1.19+</li>\n<li><a href=\"https://kind.sigs.k8s.io/\" rel=\"nofollow\">kind</a> version v0.14.0+</li>\n</ul>\n<h3 dir=\"auto\">Install the Karmada control plane</h3>\n<h4 dir=\"auto\">1. Clone this repo to your machine:</h4>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"git clone https://github.com/karmada-io/karmada\"><pre class=\"notranslate\">git clone https://github.com/karmada-io/karmada</pre></div>\n<h4 dir=\"auto\">2. Change to the karmada directory:</h4>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"cd karmada\"><pre class=\"notranslate\"><span class=\"pl-c1\">cd</span> karmada</pre></div>\n<h4 dir=\"auto\">3. Deploy and run Karmada control plane:</h4>\n<p dir=\"auto\">run the following script:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"hack/local-up-karmada.sh\"><pre class=\"notranslate\">hack/local-up-karmada.sh</pre></div>\n<p dir=\"auto\">This script will do the following tasks for you:</p>\n<ul dir=\"auto\">\n<li>Start a Kubernetes cluster to run the Karmada control plane, aka. the <code class=\"notranslate\">host cluster</code>.</li>\n<li>Build Karmada control plane components based on a current codebase.</li>\n<li>Deploy Karmada control plane components on the <code class=\"notranslate\">host cluster</code>.</li>\n<li>Create member clusters and join Karmada.</li>\n</ul>\n<p dir=\"auto\">If everything goes well, at the end of the script output, you will see similar messages as follows:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"Local Karmada is running.\n\nTo start using your Karmada environment, run:\n  export KUBECONFIG=&quot;$HOME/.kube/karmada.config&quot;\nPlease use 'kubectl config use-context karmada-host/karmada-apiserver' to switch the host and control plane cluster.\n\nTo manage your member clusters, run:\n  export KUBECONFIG=&quot;$HOME/.kube/members.config&quot;\nPlease use 'kubectl config use-context member1/member2/member3' to switch to the different member cluster.\"><pre class=\"notranslate\">Local Karmada is running.\n\nTo start using your Karmada environment, run:\n  <span class=\"pl-k\">export</span> KUBECONFIG=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span><span class=\"pl-smi\">$HOME</span>/.kube/karmada.config<span class=\"pl-pds\">\"</span></span>\nPlease use <span class=\"pl-s\"><span class=\"pl-pds\">'</span>kubectl config use-context karmada-host/karmada-apiserver<span class=\"pl-pds\">'</span></span> to switch the host and control plane cluster.\n\nTo manage your member clusters, run:\n  <span class=\"pl-k\">export</span> KUBECONFIG=<span class=\"pl-s\"><span class=\"pl-pds\">\"</span><span class=\"pl-smi\">$HOME</span>/.kube/members.config<span class=\"pl-pds\">\"</span></span>\nPlease use <span class=\"pl-s\"><span class=\"pl-pds\">'</span>kubectl config use-context member1/member2/member3<span class=\"pl-pds\">'</span></span> to switch to the different member cluster.</pre></div>\n<p dir=\"auto\">There are two contexts in Karmada:</p>\n<ul dir=\"auto\">\n<li>karmada-apiserver <code class=\"notranslate\">kubectl config use-context karmada-apiserver</code></li>\n<li>karmada-host <code class=\"notranslate\">kubectl config use-context karmada-host</code></li>\n</ul>\n<p dir=\"auto\">The <code class=\"notranslate\">karmada-apiserver</code> is the <strong>main kubeconfig</strong> to be used when interacting with the Karmada control plane, while <code class=\"notranslate\">karmada-host</code> is only used for debugging Karmada installation with the host cluster. You can check all clusters at any time by running: <code class=\"notranslate\">kubectl config view</code>. To switch cluster contexts, run <code class=\"notranslate\">kubectl config use-context [CONTEXT_NAME]</code></p>\n<h3 dir=\"auto\">Demo</h3>\n<p dir=\"auto\"><a target=\"_blank\" rel=\"noopener noreferrer\" href=\"docs/images/sample-nginx.svg\"><img src=\"docs/images/sample-nginx.svg\" alt=\"Demo\" style=\"max-width: 100%;\"></a></p>\n<h3 dir=\"auto\">Propagate application</h3>\n<p dir=\"auto\">In the following steps, we are going to propagate a deployment by Karmada.</p>\n<h4 dir=\"auto\">1. Create nginx deployment in Karmada.</h4>\n<p dir=\"auto\">First, create a <a href=\"samples/nginx/deployment.yaml\">deployment</a> named <code class=\"notranslate\">nginx</code>:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"kubectl create -f samples/nginx/deployment.yaml\"><pre class=\"notranslate\">kubectl create -f samples/nginx/deployment.yaml</pre></div>\n<h4 dir=\"auto\">2. Create PropagationPolicy that will propagate nginx to member cluster</h4>\n<p dir=\"auto\">Then, we need to create a policy to propagate the deployment to our member cluster.</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"kubectl create -f samples/nginx/propagationpolicy.yaml\"><pre class=\"notranslate\">kubectl create -f samples/nginx/propagationpolicy.yaml</pre></div>\n<h4 dir=\"auto\">3. Check the deployment status from Karmada</h4>\n<p dir=\"auto\">You can check deployment status from Karmada, don't need to access member cluster:</p>\n<div class=\"highlight highlight-source-shell notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"$ kubectl get deployment\nNAME    READY   UP-TO-DATE   AVAILABLE   AGE\nnginx   2/2     2            2           20s\"><pre class=\"notranslate\">$ kubectl get deployment\nNAME    READY   UP-TO-DATE   AVAILABLE   AGE\nnginx   2/2     2            2           20s</pre></div>\n<h2 dir=\"auto\">Kubernetes compatibility</h2>\n<markdown-accessiblity-table><table role=\"table\">\n<thead>\n<tr>\n<th></th>\n<th>Kubernetes 1.16</th>\n<th>Kubernetes 1.17</th>\n<th>Kubernetes 1.18</th>\n<th>Kubernetes 1.19</th>\n<th>Kubernetes 1.20</th>\n<th>Kubernetes 1.21</th>\n<th>Kubernetes 1.22</th>\n<th>Kubernetes 1.23</th>\n<th>Kubernetes 1.24</th>\n<th>Kubernetes 1.25</th>\n<th>Kubernetes 1.26</th>\n<th>Kubernetes 1.27</th>\n<th>Kubernetes 1.28</th>\n<th>Kubernetes 1.29</th>\n<th>Kubernetes 1.30</th>\n<th>Kubernetes 1.31</th>\n<th>Kubernetes 1.32</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Karmada v1.11</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n</tr>\n<tr>\n<td>Karmada v1.12</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n</tr>\n<tr>\n<td>Karmada v1.13</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n</tr>\n<tr>\n<td>Karmada HEAD (master)</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n<td>✓</td>\n</tr>\n</tbody>\n</table></markdown-accessiblity-table>\n<p dir=\"auto\">Key:</p>\n<ul dir=\"auto\">\n<li><code class=\"notranslate\">✓</code> Karmada and the Kubernetes version are exactly compatible.</li>\n<li><code class=\"notranslate\">+</code> Karmada has features or API objects that may not be present in the Kubernetes version.</li>\n<li><code class=\"notranslate\">-</code> The Kubernetes version has features or API objects that Karmada can't use.</li>\n</ul>\n<h2 dir=\"auto\">Meeting</h2>\n<p dir=\"auto\">Regular Community Meeting:</p>\n<ul dir=\"auto\">\n<li>Tuesday at 14:30 UTC+8 (Chinese)(biweekly). <a href=\"https://dateful.com/convert/utc8?t=1430\" rel=\"nofollow\">Convert to your timezone</a>.</li>\n<li>Tuesday at 15:00 UTC+0 (English)(biweekly). <a href=\"https://dateful.com/convert/coordinated-universal-time-utc?t=15\" rel=\"nofollow\">Convert to your timezone</a>.</li>\n</ul>\n<p dir=\"auto\">Resources:</p>\n<ul dir=\"auto\">\n<li><a href=\"https://docs.google.com/document/d/1y6YLVC-v7cmVAdbjedoyR5WL0-q45DBRXTvz5_I7bkA/edit\" rel=\"nofollow\">Meeting Notes and Agenda</a></li>\n<li><a href=\"https://calendar.google.com/calendar/embed?src=karmadaoss%40gmail.com&amp;ctz=Asia%2FShanghai\" rel=\"nofollow\">Meeting Calendar</a> | <a href=\"https://calendar.google.com/calendar/u/1?cid=a2FybWFkYW9zc0BnbWFpbC5jb20\" rel=\"nofollow\">Subscribe</a></li>\n<li><a href=\"https://zoom.com/my/karmada\" rel=\"nofollow\">Meeting Link</a></li>\n</ul>\n<h2 dir=\"auto\">Contact</h2>\n<p dir=\"auto\">If you have questions, feel free to reach out to us in the following ways:</p>\n<ul dir=\"auto\">\n<li><a href=\"https://groups.google.com/forum/#!forum/karmada\" rel=\"nofollow\">mailing list</a></li>\n<li><a href=\"https://cloud-native.slack.com/archives/C02MUF8QXUN\" rel=\"nofollow\">slack</a> | <a href=\"https://slack.cncf.io/\" rel=\"nofollow\">Join</a></li>\n<li><a href=\"https://twitter.com/karmada_io\" rel=\"nofollow\">twitter</a></li>\n</ul>\n<h2 dir=\"auto\">Talks and References</h2>\n<markdown-accessiblity-table><table role=\"table\">\n<thead>\n<tr>\n<th></th>\n<th>Link</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>KubeCon(EU 2021)</td>\n<td><a href=\"https://www.youtube.com/watch?v=LJJoaGszBVk\" rel=\"nofollow\">Beyond federation: automating multi-cloud workloads with K8s native APIs</a></td>\n</tr>\n<tr>\n<td>KubeCon(EU 2022)</td>\n<td><a href=\"https://youtu.be/rzFbxeZQHWI\" rel=\"nofollow\">Sailing Multi Cloud Traffic Management With Karmada</a></td>\n</tr>\n<tr>\n<td>KubeDay(Israel 2023)</td>\n<td><a href=\"https://www.youtube.com/watch?v=WCrIhRNBZ9I\" rel=\"nofollow\">Simplifying Multi-cluster Kubernetes Management with Karmada</a></td>\n</tr>\n<tr>\n<td>KubeCon(China 2023)</td>\n<td><a href=\"https://www.youtube.com/watch?v=uninSyVBKO4\" rel=\"nofollow\">Multi-Cloud Multi-Cluster HPA Helps Trip.com Group Deal with Business Downturn and Rapid Recovery</a></td>\n</tr>\n<tr>\n<td>KubeCon(China 2023)</td>\n<td><a href=\"https://www.youtube.com/watch?v=22W1yrEJjtQ\" rel=\"nofollow\">Break Through Cluster Boundaries to Autoscale Workloads Across Them on a Large Scale</a></td>\n</tr>\n<tr>\n<td>KubeCon(China 2023)</td>\n<td><a href=\"https://www.youtube.com/watch?v=e4GA5e-C7n0\" rel=\"nofollow\">Cross-Cluster Traffic Orchestration with eBPF</a></td>\n</tr>\n<tr>\n<td>KubeCon(China 2023)</td>\n<td><a href=\"https://www.youtube.com/watch?v=gcllTXRkz-E\" rel=\"nofollow\">Non-Intrusively Enable OpenKruise and Argo Workflow in a Multi-Cluster Federation</a></td>\n</tr>\n</tbody>\n</table></markdown-accessiblity-table>\n<p dir=\"auto\">For blogs, please refer to <a href=\"https://karmada.io/blog/\" rel=\"nofollow\">website</a>.</p>\n<h2 dir=\"auto\">Contributing</h2>\n<p dir=\"auto\">If you're interested in being a contributor and want to get involved in<br>\ndeveloping the Karmada code, please see <a href=\"CONTRIBUTING.md\">CONTRIBUTING</a> for<br>\ndetails on submitting patches and the contribution workflow.</p>\n<h2 dir=\"auto\">License</h2>\n<p dir=\"auto\">Karmada is under the Apache 2.0 license. See the <a href=\"LICENSE\">LICENSE</a> file for details.</p>","updatedAt":"2025-05-21T16:05:08Z","upvoteCount":null,"author":{"login":"eryajf","avatarUrl":"https://avatars.githubusercontent.com/u/33259379?u=e4a4090a38ac2473aaed4ef9945233636776c6c3&v=4","url":"https://github.com/eryajf"},"category":null,"labels":{"edges":[{"node":{"name":"更多","color":"25B472"}},{"node":{"name":"K8S-Cluster-Manage","color":"249bda"}},{"node":{"name":"karmada-io","color":"4b9496"}}]},"comments":{"edges":[]}}},"pageContext":{"number":274,"previous":{"title":"Soluto/kamus: 一种适用于 Kubernetes 应用的开源、基于 Git-ops、零信任的秘密加密和解密方案","number":273},"next":{"title":"prymitive/karma: 一款展示 AlertManager 告警信息的面板，可用于投屏","number":275}}},
    "staticQueryHashes": ["151096407","2861350382"]}