{"id":94812,"date":"2020-09-22T07:42:40","date_gmt":"2020-09-22T05:42:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/obzor-vozmozhnostej-kubespray-otlichie-originalnoj-versii-i-nashego-forka"},"modified":"2020-09-22T07:42:40","modified_gmt":"2020-09-22T05:42:40","slug":"obzor-vozmozhnostej-kubespray-otlichie-originalnoj-versii-i-nashego-forka","status":"publish","type":"post","link":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/obzor-vozmozhnostej-kubespray-otlichie-originalnoj-versii-i-nashego-forka","title":{"rendered":"\"Kubespray Capabilities Overview\": The Difference Between the Original Version and Our Fork","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>On September 23 at 20:00 MSK, Sergey Bondarev will host a free webinar \"<noindex><a rel=\"nofollow\" href=\"https:\/\/slurm.io\/webinar-kubespray-overview?utm_source=habr&amp;utm_medium=promo&amp;utm_campaign=webinar_kubsprey_23-09-2020&amp;utm_content=post_17-09-2020&amp;utm_term=dzygovbrodskiy\">Kubespray Capabilities Overview<\/a><\/noindex>\", where he will explain how they prepare kubespray to make it fast, efficient, and fault-tolerant.<\/p>\n<p><\/p>\n<p>Sergey Bondarev will discuss the differences between the original version and our fork:<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"&quot;Kubespray Capabilities Overview&quot;: The Difference Between the Original Version and Our Fork\" src=\"\/wp-content\/uploads\/2020\/09\/f45b10f9a5a7c360906ad58e9e643a08.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>The Difference Between the Original Version and Our Fork. <\/p>\n<p><\/p>\n<p>Those who have encountered kubespray may be puzzled as to why I am contrasting kubeadm with kubespray, since kubespray is designed to create a cluster and it indeed invokes kubeadm, seeming at first glance like a package installation and automated launch script.<\/p>\n<p><\/p>\n<p>But that was not always the case; originally, kubespray installed all components independently:<\/p>\n<p><\/p>\n<ul>\n<li>it assembled the etcd cluster;<\/li>\n<li>it installed kubelets, generated certificates, configurations, and access tokens for static pods of the control plane and other service components;<\/li>\n<li>it created service accounts for worker nodes and connected them to the cluster.<\/li>\n<\/ul>\n<p><\/p>\n<p>However, the year before last, they removed this functionality, leaving only kubeadm, which at that time was not very effective. I was disappointed, so I created my fork, where I preserved the classic installation mode, and now I'm keeping this fork current by cherry-picking commits from the original kubespray. Meanwhile, I am updating the classic mode to accommodate new changes.<\/p>\n<p><\/p>\n<p>As a result, the difference between the clusters created by my fork and the original is kube-proxy and the validity periods of the certificates.<\/p>\n<p><\/p>\n<p>In my fork, everything remains as it was: kube-proxy runs as a static pod, and certificates are issued for 100 years.<\/p>\n<p><\/p>\n<p>In Kubeadm, kube-proxy runs as a daemonset, and certificates are issued for 1 year, requiring regular renewal. Kubeadm has finally learned how to do this with a single command.<\/p>\n<p><\/p>\n<p>The difference is minor, and today we use both options.<\/p>\n<p><\/p>\n<p>Features (Drawbacks) in Industrial Use:<\/p>\n<p><\/p>\n<p>The scenario is universal, so it's not very fast. A custom setup can be significantly accelerated by skipping checks and launching from a ready-made image.<\/p>\n<p><\/p>\n<p>The scenario is complex, with illogical areas and a heavy legacy. Installing additional controllers and software through KubeSpray is great for training and testing. However, relying on KubeSpray for production use is not a wise idea, plus the software updates are implemented using the \"killed-did new\" method \u2014 which means downtime during maintenance.<\/p>\n<p><\/p>\n<p>You can only add worker nodes; there are some nuances with masters regarding certificates, and the scenario does not handle all potential issues that may arise.<\/p>\n<p><\/p>\n<p>For instance, I had a problem with kubeadm when it failed while adding the second and third master, and after that, Kubespray performed a kubeadm reset on the node and attempted to add the master again.<\/p>\n<p><\/p>\n<p>The problem was that by the time of failure, the second etcd instance had already managed to register, and since it was also removed after the reset, we ended up with a nightmare\u2014a two-node etcd cluster, one of which was deleted, and the second no longer accepting clients. As a result, the cluster died before it was born.<\/p>\n<p><\/p>\n<p>Open source as it is.<\/p>\n<p><\/p>\n<p>All this and much more in the free webinar \"<noindex><a rel=\"nofollow\" href=\"https:\/\/slurm.io\/webinar-kubespray-overview?utm_source=habr&amp;utm_medium=promo&amp;utm_campaign=webinar_kubsprey_23-09-2020&amp;utm_content=post_17-09-2020&amp;utm_term=dzygovbrodskiy\">Kubespray Capabilities Overview<\/a><\/noindex>\" on September 23 at 20:00 MSK. <\/p>\n<p><\/p>\n<p>Join us!<\/p>\n<p>Source: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/519890\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>23 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 20.00 \u041c\u0421\u041a \u0421\u0435\u0440\u0433\u0435\u0439 \u0411\u043e\u043d\u0434\u0430\u0440\u0435\u0432 \u043f\u0440\u043e\u0432\u0435\u0434\u0451\u0442 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0432\u0435\u0431\u0438\u043d\u0430\u0440 \u00ab\u041e\u0431\u0437\u043e\u0440 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Kubespray\u00bb, \u0433\u0434\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u0442, \u043a\u0430\u043a \u0433\u043e\u0442\u043e\u0432\u044f\u0442 kubespray, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c \u0431\u044b\u0441\u0442\u0440\u043e, \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e \u0438 \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e. \u0421\u0435\u0440\u0433\u0435\u0439 \u0411\u043e\u043d\u0434\u0430\u0440\u0435\u0432 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u0442 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u0444\u043e\u0440\u043a\u0430: \u041e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u0444\u043e\u0440\u043a\u0430. \u0422\u0435, \u043a\u0442\u043e \u0441 \u043a\u0443\u0431\u0441\u043f\u0440\u0435\u0435\u043c \u0443\u0436\u0435 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0441\u044f, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u0434\u043e\u0443\u043c\u0435\u0432\u0430\u044e\u0442, \u043f\u043e\u0447\u0435\u043c\u0443 \u044f kubeadm \u043f\u0440\u043e\u0442\u0438\u0432\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e \u043a\u0443\u0431\u0441\u043f\u0440\u0435\u044e, \u0432\u0435\u0434\u044c \u043a\u0443\u0431\u0441\u043f\u0440\u0435\u0439 \u0434\u043b\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":94813,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-94812","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"23 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 20.00 \u041c\u0421\u041a \u0421\u0435\u0440\u0433\u0435\u0439 \u0411\u043e\u043d\u0434\u0430\u0440\u0435\u0432 \u043f\u0440\u043e\u0432\u0435\u0434\u0451\u0442 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0432\u0435\u0431\u0438\u043d\u0430\u0440 \u00ab\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/obzor-vozmozhnostej-kubespray-otlichie-originalnoj-versii-i-nashego-forka\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u00ab\u041e\u0431\u0437\u043e\u0440 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Kubespray\u00bb: \u041e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u0444\u043e\u0440\u043a\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"23 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 20.00 \u041c\u0421\u041a \u0421\u0435\u0440\u0433\u0435\u0439 \u0411\u043e\u043d\u0434\u0430\u0440\u0435\u0432 \u043f\u0440\u043e\u0432\u0435\u0434\u0451\u0442 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0432\u0435\u0431\u0438\u043d\u0430\u0440 \u00ab\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/obzor-vozmozhnostej-kubespray-otlichie-originalnoj-versii-i-nashego-forka\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-09-22T05:42:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-09-22T05:42:40+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47\"Overview of Kubespray Capabilities\": The difference between the original version and our fork | ProHoster","description":"On September 23 at 20:00 MSK, Sergey Bondarev will host a free webinar \"","canonical_url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/obzor-vozmozhnostej-kubespray-otlichie-originalnoj-versii-i-nashego-forka","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"en_US","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u00ab\u041e\u0431\u0437\u043e\u0440 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 Kubespray\u00bb: \u041e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 \u0438 \u043d\u0430\u0448\u0435\u0433\u043e \u0444\u043e\u0440\u043a\u0430 | ProHoster","og:description":"23 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f 20.00 \u041c\u0421\u041a \u0421\u0435\u0440\u0433\u0435\u0439 \u0411\u043e\u043d\u0434\u0430\u0440\u0435\u0432 \u043f\u0440\u043e\u0432\u0435\u0434\u0451\u0442 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0439 \u0432\u0435\u0431\u0438\u043d\u0430\u0440 \u00ab","og:url":"https:\/\/prohoster.info\/en\/blog\/administrirovanie\/obzor-vozmozhnostej-kubespray-otlichie-originalnoj-versii-i-nashego-forka","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-09-22T05:42:40+00:00","article:modified_time":"2020-09-22T05:42:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"94812","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 11:17:28","updated":"2022-10-03 07:40:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/94812","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/comments?post=94812"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/posts\/94812\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media\/94813"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/media?parent=94812"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/categories?post=94812"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/en\/wp-json\/wp\/v2\/tags?post=94812"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}