{"id":314447,"date":"2020-12-07T15:00:45","date_gmt":"2020-12-07T15:00:45","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=314447"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=314447","title":{"rendered":"\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c \u044f\u0437\u044b\u043a\u043e\u043c: \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0432 Kubernetes, \u0437\u0430\u0447\u0435\u043c \u043d\u0443\u0436\u0435\u043d Ansible"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/s4\/nq\/nr\/s4nqnrmbcbt4uu7edkv4qpjmdfo.png\"><\/p>\n<p>  <\/p>\n<p>\u0412 \u0447\u0451\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043a\u0430\u043a \u043f\u043e\u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f \u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432 Kubernetes? \u041a\u0430\u043a \u0432\u0440\u0443\u0431\u0438\u0442\u044c\u0441\u044f \u0432 Ansible? \u041e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u044d\u0442\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0432 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0438 \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u041b\u0435\u043a\u0441\u0430 \u0410\u0439\u0422\u0438\u0411\u043e\u0440\u043e\u0434\u044b \u0441\u043e \u0441\u0442\u0430\u0440\u0448\u0438\u043c \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c Southbridge \u041d\u0438\u043a\u043e\u043b\u0430\u0435\u043c \u041c\u0435\u0441\u0440\u043e\u043f\u044f\u043d\u043e\u043c \u0438 \u0421\u0422\u041e \u00ab\u0421\u043b\u0451\u0440\u043c\u0430\u00bb \u041c\u0430\u0440\u0441\u0435\u043b\u0435\u043c \u0418\u0431\u0440\u0430\u0435\u0432\u044b\u043c.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/530226\/\">\u041f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c<\/a><br \/>  <a href=\"https:\/\/www.youtube.com\/watch?v=V8rwPMlAKV0&amp;feature=youtu.be\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0446\u0435\u043b\u0438\u043a\u043e\u043c<\/a><\/p>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<p><em>\u041d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u041c\u0430\u0440\u0441\u0435\u043b\u044c \u0418\u0431\u0440\u0430\u0435\u0432<\/em><\/p>\n<p>  <\/p>\n<h4 id=\"v-chyom-problema-s-bazami-dannyh-v-kubernetes-dlya-menya-kak-dlya-razrabotchika-problem-net-zafigachil-bazu-v-docker-konteyner-i-rabotaesh\">\u0412 \u0447\u0451\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Kubernetes? \u0414\u043b\u044f \u043c\u0435\u043d\u044f \u043a\u0430\u043a \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u043d\u0435\u0442: \u0437\u0430\u0444\u0438\u0433\u0430\u0447\u0438\u043b \u0431\u0430\u0437\u0443 \u0432 Docker-\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0448\u044c.<\/h4>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u043d\u0435\u0442 \u0434\u043b\u044f \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u044b, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043a\u043e\u043c\u044c\u044e\u043d\u0438\u0442\u0438. \u042d\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435 \u0445\u043e\u043b\u0438\u0432\u0430\u0440\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441. \u0412 \u0447\u0430\u0442\u0438\u043a\u0435 <a href=\"https:\/\/t.me\/kubernetes_ru\">kubernetes_ru<\/a> (\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0447\u0430\u0442\u0435 \u0440\u0443\u0441\u0441\u043a\u043e\u044f\u0437\u044b\u0447\u043d\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 Kubernetes) \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u044d\u0442\u0438 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u044e\u0442\u0441\u044f.<\/p>\n<p>  <\/p>\n<h4 id=\"a-mozhet-docker-ne-nuzhen-zachem-mne-docker-dlya-bazy\">\u0410 \u043c\u043e\u0436\u0435\u0442, Docker \u043d\u0435 \u043d\u0443\u0436\u0435\u043d? \u0417\u0430\u0447\u0435\u043c \u043c\u043d\u0435 Docker \u0434\u043b\u044f \u0431\u0430\u0437\u044b?<\/h4>\n<p>  <\/p>\n<p>\u0418 \u044d\u0442\u043e \u0442\u043e\u0436\u0435. \u0411\u044b\u043b\u0438 \u0434\u0430\u0436\u0435 \u0442\u0430\u043a\u0438\u0435 \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440\u044b, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u0435\u0442 12 \u0444\u0430\u043a\u0442\u043e\u0440\u0430\u043c, \u0442\u043e \u044d\u0442\u043e \u043e\u0431\u044b\u0447\u043d\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0439\u0442\u0435 \u0438 \u0432\u0441\u0451, 2020 \u0433\u043e\u0434 \u043d\u0430 \u0434\u0432\u043e\u0440\u0435. \u0417\u0430\u0447\u0435\u043c \u0432\u044b \u0435\u0451 \u0432\u044b\u043d\u043e\u0441\u0438\u0442\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u0442\u0443\u0434\u0430-\u0441\u044e\u0434\u0430.<\/p>\n<p>  <\/p>\n<p>\u041d\u043e <a href=\"https:\/\/12factor.net\/\">\u00ab12 \u0444\u0430\u043a\u0442\u043e\u0440\u043e\u0432\u00bb<\/a> \u2014 \u044d\u0442\u043e \u043d\u0435 \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u0440\u043e \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u0430\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u043e stateless \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f. \u0423 \u043d\u0430\u0441 \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 stateful \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0441\u0442\u0430\u0442\u0443\u0441 \u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b. \u041f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043e\u043d\u043e \u044d\u0442\u043e\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0442\u0435\u0440\u044f\u0442\u044c \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 stateless.<\/p>\n<p>  <\/p>\n<p>\u0418 \u0432\u043e\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0437\u0434\u0435\u0441\u044c \u043a\u0440\u0430\u0435\u0443\u0433\u043e\u043b\u044c\u043d\u044b\u0439 \u043a\u0430\u043c\u0435\u043d\u044c. \u0427\u0442\u043e\u0431\u044b \u043d\u0430\u0443\u0447\u0438\u0442\u044c Kubernetes \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0441\u0442\u0430\u0442\u0443\u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f (\u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0438 \u2014 \u0432\u043e\u0442 \u044d\u0442\u043e \u0432\u0441\u0451), \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u044b\u043f\u0430\u0442\u044c \u0435\u0449\u0451 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0439 \u0441\u0432\u0435\u0440\u0445\u0443: PersistentVolume, PersistentVolumeClaim, StorageClass \u2014 \u043d\u0435 \u0431\u0443\u0434\u0443 \u0441\u0438\u043b\u044c\u043d\u043e \u0443\u0433\u043b\u0443\u0431\u043b\u044f\u0442\u044c\u0441\u044f. \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u0432 \u0432\u0438\u0434\u0443, \u0447\u0442\u043e \u043f\u043e\u0432\u044b\u0448\u0430\u0435\u0442\u0441\u044f \u043f\u043b\u0430\u043d\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Kubernetes.<br \/>  \u041d\u0443\u0436\u0435\u043d \u0447\u0435\u043b\u043e\u0432\u0435\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u043c\u0435\u0435\u0442 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u044d\u0442\u043e\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e Kubernetes \u043d\u0435 \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432 \u043f\u043e\u0434\u0435 (Pod): stateless \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 stateful \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u2014 \u043e\u043d \u0441 \u043d\u0438\u043c\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e. \u041e\u043d \u043d\u0435 \u0441\u043e\u0431\u0435\u0440\u0451\u0442 \u043c\u0430\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430 \u043d\u0438\u043c \u0441\u043b\u0435\u0434\u0438\u0442\u044c. \u0412\u044b \u043d\u0430\u043f\u0438\u0448\u0435\u0442\u0435 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442 \u0441 \u0442\u0440\u0435\u043c\u044f \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430\u043c\u0438 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, Kubernetes \u0435\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442, \u0438 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u0440\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043d\u0435 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435. <\/p>\n<p>  <\/p>\n<h4 id=\"no-s-prilozheniyami-on-umeet-eto-delat\">\u041d\u043e \u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u043e\u043d \u0443\u043c\u0435\u0435\u0442 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c?<\/h4>\n<p>  <\/p>\n<p>\u0422\u043e\u0436\u0435 \u043d\u0435\u0442. \u041f\u043e \u0444\u0430\u043a\u0442\u0443 \u044d\u0442\u043e \u043a\u0430\u043a \u0431\u044b \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u044b, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041e\u043d\u0438 \u043f\u043e \u0438\u0434\u0435\u0435 \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u044b\u0435. <\/p>\n<p>  <\/p>\n<h4 id=\"to-est-na-urovne-zapisi-i-chteniya-dannyh-vsyo-ravno-nuzhno-budet-abstrakciyu-kakuyu-to-svoyu-klepat-kubernetes-ni-pri-chyom\">\u0422\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438 \u0447\u0442\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044e \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u0441\u0432\u043e\u044e \u043a\u043b\u0435\u043f\u0430\u0442\u044c, Kubernetes \u043d\u0438 \u043f\u0440\u0438 \u0447\u0451\u043c?<\/h4>\n<p>  <\/p>\n<p>\u0414\u0430, \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u0434\u0435\u0441\u044c \u043d\u0443\u0436\u043d\u044b \u043a\u043e\u043c\u043f\u0435\u0442\u0435\u043d\u0446\u0438\u0438 \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e DBA, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u0430\u0445 \u044d\u0442\u043e \u0443\u0436\u0435 1000 \u0440\u0430\u0437 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b, \u0438 \u0441\u043a\u0430\u0436\u0435\u0442: \u00ab\u0414\u0430, \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c! \u041d\u0430\u0441\u0442\u0440\u043e\u0438\u043c!\u00bb. <\/p>\n<p>  <\/p>\n<p>\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u043e\u043f\u0440\u043e\u0441 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0441 \u0437\u0430\u043f\u0443\u0441\u043a\u043e\u043c \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0441\u0442\u0430\u0432\u0438\u0442\u044c request\/limit. Request\/limit \u2014 \u044d\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c\u0438. <\/p>\n<p>  <\/p>\n<p>Request \u2014 \u044d\u0442\u043e \u0437\u0430\u043f\u0440\u043e\u0441 \u043d\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u044b \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u043e 200 \u041c\u0411 \u041e\u0417\u0423. \u0415\u0441\u043b\u0438 \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u043d\u044c\u0448\u0435, \u043e\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u0440\u0430\u0448\u043d\u0435\u0442\u0441\u044f \u0438 \u043d\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0441\u044f. \u041c\u044b \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c request 200. <\/p>\n<p>  <\/p>\n<p>limit \u2014 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u043b\u0430\u043d\u043a\u0430. \u041c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043c, \u0447\u0442\u043e 512 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c, \u0430 \u0435\u0441\u043b\u0438 \u0432\u044b\u0448\u0435, \u0442\u043e \u043e\u043d\u043e \u044f\u0432\u043d\u043e \u043f\u043e\u0442\u0435\u043a\u043b\u043e \u0438 \u043d\u0430\u0434\u043e \u0441 \u043d\u0438\u043c \u0447\u0442\u043e-\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c.<\/p>\n<p>  <\/p>\n<p>\u0410 \u0432\u043e\u0442 \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043b\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u2014 \u0445\u0440\u0435\u043d \u0435\u0433\u043e \u043f\u043e\u0439\u043c\u0451\u0448\u044c! \u0412 \u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a \u043c\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u043d\u0430 \u0442\u0438\u043f\u043e\u0432\u043e\u0439 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0435, \u0432 \u043f\u044f\u0442\u043d\u0438\u0446\u0443 \u043f\u0440\u0438\u0448\u043b\u0430 \u0431\u0430\u0431\u0430 \u041b\u044e\u0434\u0430 \u0438\u0437 \u0431\u0443\u0445\u0433\u0430\u043b\u0442\u0435\u0440\u0438\u0438 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0430 \u0432\u044b\u0433\u0440\u0443\u0437\u043a\u0443 \u0438\u0437 1\u0421 \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u0430 \u0441\u0442\u0440\u043e\u043a, \u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0432 \u043f\u043e\u0442\u043e\u043b\u043e\u043a. <\/p>\n<p>  <\/p>\n<p>\u041d\u0430 \u043c\u043e\u0435\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0431\u044b\u043b\u043e \u0434\u0432\u0430\u0436\u0434\u044b, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 (\u043d\u0435 \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0434\u043b\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u0443\u043f\u0435\u0440\u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e) \u043d\u0430\u0447\u0430\u043b\u043e \u0443\u0442\u0438\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0438 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043d\u0435 \u0445\u0432\u0430\u0442\u0438\u043b\u043e \u2014 \u0432\u0441\u0451 \u043f\u043e\u043c\u0435\u0440\u043b\u043e. Kubernetes \u0443\u043c\u043d\u044b\u0439, \u043e\u043d \u0432\u0441\u0451 \u043f\u043e\u043d\u044f\u043b: \u0432\u0437\u044f\u043b \u0438 \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u043b \u044d\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u043d\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043e\u043d\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u043e. \u041d\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 \u0443\u043f\u0430\u043b, \u0438 \u043a\u0430\u043a \u0434\u043e\u043c\u0438\u043d\u043e \u0432\u0441\u0451 \u0441\u043b\u043e\u0436\u0438\u043b\u043e\u0441\u044c. \u041c\u043e\u0436\u0435\u0442 \u043f\u043e\u0432\u0435\u0437\u0442\u0438, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u0441\u0451 \u0432 \u0446\u0438\u043a\u043b \u0437\u0430\u043c\u043a\u043d\u0451\u0442\u0441\u044f \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0435\u0437\u0436\u0430\u0442\u044c, \u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u0433\u043e \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442. \u0410 \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u044d\u0442\u043e \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0432\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435.<\/p>\n<p>  <\/p>\n<p><strong>\u0415\u0441\u0442\u044c 4 \u0441\u043f\u043e\u0441\u043e\u0431\u0430, \u043a\u0430\u043a \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c:<\/strong><\/p>\n<p>  <\/p>\n<ol>\n<li>\u043e\u0447\u0435\u043d\u044c \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e, \u043d\u043e \u0434\u043e\u0440\u043e\u0433\u043e,<\/li>\n<li>\u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u043e \u0434\u0451\u0448\u0435\u0432\u043e,<\/li>\n<li>\u0431\u043e\u043b\u0435\u0435 \u0438\u043b\u0438 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043d\u043e \u0431\u0435\u0437 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0438, <\/li>\n<li>\u0438 \u0434\u0451\u0448\u0435\u0432\u043e, \u0438 \u043a\u0440\u0443\u0442\u043e. <\/li>\n<\/ol>\n<p>  <\/p>\n<p><u>\u041e\u0447\u0435\u043d\u044c \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e, \u043d\u043e \u0434\u043e\u0440\u043e\u0433\u043e<\/u> \u2014 \u044d\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u043e\u043a\u0443\u043f\u0430\u0435\u043c \u044d\u043d\u0442\u0435\u0440\u043f\u0440\u0430\u0439\u0437, \u043a\u0430\u043a\u0443\u044e-\u043d\u0438\u0431\u0443\u0434\u044c \u0436\u0435\u043b\u0435\u0437\u043a\u0443 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439. \u0422\u0430\u043c \u0441\u0442\u043e\u0438\u0442 \u0442\u0430\u043a\u0430\u044f \u0431\u0430\u043d\u0434\u0443\u0440\u0430, SaaS \u0432\u0441\u044f\u043a\u0438\u0435, \u0438 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0417\u0434\u043e\u0440\u043e\u0432\u043e, \u043d\u043e \u043d\u0435 \u0443 \u0432\u0441\u0435\u0445 \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u0438\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438.<\/p>\n<p>  <\/p>\n<p><u>\u041d\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u043d\u043e \u0434\u0451\u0448\u0435\u0432\u043e<\/u> \u2014 \u044d\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0434\u0438\u0441\u043a\u0438. \u041d\u043e \u0437\u0434\u0435\u0441\u044c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u0443 \u043c\u043d\u043e\u0433\u0438\u0445 \u0435\u0441\u0442\u044c \u0432 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 (\u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0438 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445) \u0442\u0430\u043a\u0430\u044f \u0441\u043d\u043e\u0441\u043a\u0430: \u00ab\u0420\u0435\u0431\u044f\u0442\u0430, \u0435\u0441\u043b\u0438 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u043d\u0438\u0431\u0443\u0434\u044c \u0434\u0438\u0441\u043a\u0438 Google \u0438\u043b\u0438 Digital Ocean, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0433\u0430\u043b\u043e\u0447\u043a\u0443 \u201cusing local SSD\u201d, \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0434\u0438\u0441\u043a\u0438, \u0430 \u043d\u0435 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0442\u0430\u043c \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u0442\u044c, \u0438 \u0432\u043e\u0442 \u0442\u043e\u0433\u0434\u0430 \u0432\u0441\u0451 \u0441 \u0431\u0430\u0437\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u0431\u0443\u0434\u0435\u0442 OK\u00bb.<\/p>\n<p>  <\/p>\n<p><u>\u0411\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u043f\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u043d\u043e \u0431\u0435\u0437 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0438 <\/u>(\u044d\u0442\u043e\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043d\u0430\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 Kubernetes) \u2014 \u044d\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0431\u0435\u0440\u0451\u043c, \u0433\u0440\u0443\u0431\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u043f\u0440\u043e\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u043c \u0434\u0438\u0441\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440. \u041c\u0430\u043f\u0438\u043c \u043f\u0430\u043f\u043e\u0447\u043a\u0443 \u043f\u0440\u044f\u043c. \u0423 \u043d\u0430\u0441 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c SSD, \u0438 \u043c\u044b SSD \u0432\u043d\u0443\u0442\u0440\u044c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430 \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c. \u041c\u0438\u043d\u0443\u0441 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043c\u044b \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u043f\u0440\u0438\u0431\u0438\u0432\u0430\u0435\u043c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043a \u044d\u0442\u043e\u043c\u0443 \u0441\u0435\u0440\u0432\u0435\u0440\u0443. \u0421\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0437\u0430\u0447\u0435\u043c \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0435\u0451 \u0432 Kubernetes, \u0435\u0441\u043b\u0438 \u0447\u0442\u043e \u0441\u043b\u0443\u0447\u0438\u0441\u044c, \u043e\u043d\u0430 \u0442\u0430\u043c \u0438 \u0441\u0434\u043e\u0445\u043d\u0435\u0442. \u041d\u0443 \u0438 \u043b\u0435\u0436\u0430\u043b\u0430 \u0431\u044b \u043d\u0430 \u0441\u0432\u043e\u0451\u043c \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u043e\u0432\u0441\u043a\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435. <\/p>\n<p>  <\/p>\n<p><u>\u0418 \u0434\u0451\u0448\u0435\u0432\u043e, \u0438 \u043a\u0440\u0443\u0442\u043e<\/u> \u2014 \u044d\u0442\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0421\u0425\u0414, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u043b \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0431\u043e\u0440\u043e\u0434\u0430\u0442\u044b\u0439 \u0430\u0434\u043c\u0438\u043d. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043e\u043d \u0435\u0449\u0451 \u0434\u043e\u043b\u0436\u0435\u043d \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u044d\u0442\u043e\u0439 \u0421\u0425\u0414 \u043d\u0430 \u0442\u0430\u043a\u043e\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u0441\u0440\u0430\u0432\u043d\u044f\u043b\u0430\u0441\u044c \u043a\u0430\u043a-\u0442\u043e \u0441 SSD. \u041f\u0435\u0440\u0432\u043e\u0435, \u0447\u0442\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u0432 \u0433\u043e\u043b\u043e\u0432\u0443, \u2014 \u044d\u0442\u043e Ceph. \u041d\u043e \u043f\u043e\u043a\u0430 \u043c\u044b \u0434\u0435\u043b\u0430\u043b\u0438 <a href=\"https:\/\/slurm.io\/ceph?utm_source=habr&amp;utm_medium=post&amp;utm_campaign=itboroda&amp;utm_content=post_07-12-2020&amp;utm_term=fedoseenko\">\u043a\u0443\u0440\u0441 \u043f\u043e Ceph<\/a>, \u043f\u043e\u043e\u0431\u0449\u0430\u043b\u0438\u0441\u044c \u0441 \u0442\u0435\u043c\u0438, \u043a\u0442\u043e \u043c\u043d\u043e\u0433\u043e \u0441 \u044d\u0442\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u043e\u043d\u0438 \u0441\u043a\u0430\u0437\u0430\u043b\u0438: \u00ab\u041d\u0435, \u0447\u0443\u0432\u0430\u043a, \u0442\u0430\u043c \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0441\u0442\u044b\u043b\u0435\u0439, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u044f\u043c\u0438 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u00bb. \u0422\u043e \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0433\u043e \u043d\u0435\u0442. <\/p>\n<p>  <\/p>\n<p>\u0412\u043e\u0442 \u0442\u0430\u043a\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b: \u0434\u0430\u0436\u0435 \u043d\u0435 2 \u0441\u0442\u0443\u043b\u0430, \u0430 4 \u2014 \u0432\u044b\u0431\u0438\u0440\u0430\u0439, \u043a\u0443\u0434\u0430 \u0441\u0430\u0434\u0438\u0442\u044c\u0441\u044f. \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441: \u00ab\u041c\u043e\u0433\u0443 \u043b\u0438 \u044f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Kubernetes?\u00bb, \u0437\u043d\u0430\u0447\u0438\u0442, \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u0432\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043a\u0430.<\/p>\n<p>  <\/p>\n<h4 id=\"v-kubernetes-est-charty-charts-i-helm-helm-chto-eto-takoe\">\u0412 Kubernetes \u0435\u0441\u0442\u044c \u0447\u0430\u0440\u0442\u044b (charts) \u0438 \u0445\u0435\u043b\u044c\u043c (Helm), \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435?<\/h4>\n<p>  <\/p>\n<p>\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u043a\u0430\u043a \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044c \u0432 \u0438\u0445 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438. \u0412\u043e\u0442 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440, \u0432\u0441\u0451 \u0445\u043e\u0440\u043e\u0448\u043e, \u043d\u043e \u043c\u044b \u0435\u0433\u043e \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u043b\u0438 \u043d\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a, \u0430 \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435. <\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0441\u0442\u043e\u044f\u0442\u044c \u0438\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0434\u043e \u043a\u0430\u043a-\u0442\u043e \u0434\u0435\u043f\u043b\u043e\u0438\u0442\u044c \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440. \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u044b \u0440\u0443\u043a\u0430\u043c\u0438. \u041d\u043e \u043e\u0434\u043d\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043e\u0442 \u043f\u044f\u0442\u0438 \u0438 \u0434\u043e \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0441\u0442\u0438 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u043e\u0432.<\/p>\n<p>  <\/p>\n<p>\u041c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u044b \u2014 \u044d\u0442\u043e yaml-\u0444\u0430\u0439\u043b\u0438\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u0437\u0430 \u0441\u0430\u043c\u044b\u0435 \u0440\u0430\u0437\u043d\u044b\u0435 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438. \u0412 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0441\u0430\u043c \u043f\u043e\u0434 (Pod), \u0445\u043e\u0442\u044f \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0435 \u043f\u043e\u0434, \u0430 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043b\u0438\u0431\u043e Deployment (\u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u043d\u0435\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435), \u043b\u0438\u0431\u043e StatefulSet (\u0435\u0441\u043b\u0438 \u044d\u0442\u043e stateful-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435), \u043b\u0438\u0431\u043e DaemonSet, \u043d\u0443 \u043d\u0435\u0432\u0430\u0436\u043d\u043e. \u041a \u043d\u0435\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f \u0442\u0438\u043f\u0430 Service \u2014 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043a\u0443\u0431\u0435\u0440\u043d\u0435\u0442\u0441\u043a\u0438\u0439 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a. \u041a \u043d\u0435\u043c\u0443 \u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u0441\u044f \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f Ingress \u2014 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0449\u0438\u043a. \u0422\u0430\u043c \u0436\u0435 \u0435\u0449\u0451 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c PV\/PVC \u2014 \u043a\u043e\u0440\u043e\u0447\u0435, \u043c\u043d\u043e\u0433\u043e \u0432\u0441\u0435\u0433\u043e. <\/p>\n<p>  <\/p>\n<p>\u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c, \u043d\u0430\u043c \u043d\u0430\u0434\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0440\u0435\u043b\u0438\u0437. \u0427\u0442\u043e-\u0442\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438, \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u043c\u043e\u0433\u043b\u043e \u0432 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0430\u0445. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0435\u0440\u0441\u0438\u044f image \u0431\u044b\u043b\u0430 2, \u0441\u0442\u0430\u043b\u0430 3. \u041d\u0430\u043c \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0445\u043e\u0434\u0438\u0442\u044c \u0432 \u0440\u0435\u043f\u044b \u0438 \u043c\u0435\u043d\u044f\u0442\u044c \u0440\u0443\u043a\u0430\u043c\u0438 2 \u043d\u0430 3. \u0422\u0430\u043a\u0438\u0445 \u0440\u0435\u043f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043e\u0442\u043d\u0438, \u0438 \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435 \u0437\u0430\u0431\u044b\u0442\u044c \u0432\u0435\u0437\u0434\u0435 \u043d\u0443\u0436\u043d\u043e\u0435 \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c. \u0412 \u044d\u0442\u043e\u0442 \u043c\u043e\u043c\u0435\u043d\u0442 \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0439 \u0430\u0434\u043c\u0438\u043d \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u043c\u0435\u043d\u044f\u0442\u044c \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0430\u043f\u043a\u0438 \u0441 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u0442\u0442\u0435\u0440\u043d\u0430 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439. \u0418 \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. <\/p>\n<p>  <\/p>\n<p>\u0422\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 kubectl based, \u0442\u043e \u0435\u0441\u0442\u044c \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u0432\u0435\u0441\u044c \u0432\u043e\u0442 \u044d\u0442\u043e\u0442 \u0432\u044b\u0432\u043e\u0434, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u044b \u0432 \u043f\u0430\u043f\u043a\u0435 \u043f\u0435\u0440\u0435\u043b\u043e\u043f\u0430\u0442\u0438\u043b\u0438, \u043c\u044b \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u0439\u043f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0432 kubectl. \u0413\u043e\u0432\u043e\u0440\u0438\u043c: \u00abkubectl, \u0432\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0441\u0451, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u043e\u0432\u043e\u0435 \u0432 \u043f\u0430\u043f\u043a\u0435, \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0439 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u00bb. \u0418 \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u041d\u043e \u0435\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0439\u0434\u0451\u0442 \u043d\u0435 \u0442\u0430\u043a (\u0446\u0438\u0444\u0435\u0440\u043a\u0443 \u043d\u0435 \u0442\u0443 \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u0438\u043b\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u043f\u043e\u0434\u043d\u044f\u043b\u043e\u0441\u044c), \u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0433\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u0430 \u043e\u0442\u043a\u0430\u0442\u0438\u0442\u044c\u0441\u044f \u0447\u0435\u0440\u0435\u0437 kubectl \u043d\u0435\u0442. \u0422\u0430\u043c \u0435\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0430 kubectl rollout undo, \u043d\u043e \u043e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 deployment, \u0430 \u0443 \u043d\u0430\u0441 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438, \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c\u0438 \u043e\u043d\u0430 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0418 \u0442\u0443\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441, \u0430 \u043a\u0430\u043a \u043e\u0442\u043a\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f? \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0440\u043e\u0434\u0435 \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u0430, \u0434\u0430 \u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u043c\u043d\u043e\u0433\u043e \u0432\u0441\u044f\u043a\u0438\u0445 (\u0438 Kustomize, \u0438 json.net), \u043d\u043e \u043a\u0430\u043a \u043e\u0442\u043a\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u2014 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0432\u043e\u043f\u0440\u043e\u0441. <\/p>\n<p>  <\/p>\n<p>\u042f\u0432\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u044d\u0442\u043e \u0434\u0430\u0435\u0442 Helm, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0443 \u043d\u0435\u0433\u043e \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438 \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c c\u0434\u0435\u043b\u0430\u0442\u044c rollout, \u0442\u043e \u0435\u0441\u0442\u044c \u043e\u0442\u043a\u0430\u0442, \u0432 \u0441\u043b\u0443\u0447\u0430\u0435, \u0435\u0441\u043b\u0438 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u043d \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e. \u041e\u043d \u0432\u0441\u0435 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u044b \u0438\u0437 \u043f\u0430\u043f\u043a\u0438, \u0447\u0442\u043e \u043c\u044b \u043d\u0430\u0433\u0435\u043d\u0438\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438, \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u0432 \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 config \u043a\u0430\u043a\u043e\u0439-\u0442\u043e. \u041f\u0440\u044f\u043c \u0432\u043e\u0442 \u043a\u0430\u043a \u043e\u043d\u043e \u0435\u0441\u0442\u044c, \u0442\u0430\u043a \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u0442 \u043f\u043e\u0434\u0440\u044f\u0434. \u041d\u0430\u0437\u0432\u0430\u043b \u0435\u0433\u043e \u00ab\u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442 \u0432\u0435\u0440\u0441\u0438\u044f 1\u00bb, \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440. \u041f\u043e\u0442\u043e\u043c \u043c\u044b \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0440\u0435\u043b\u0438\u0437. \u041e\u043d \u2014 \u0430\u0433\u0430, \u00ab\u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442 \u0432\u0435\u0440\u0441\u0438\u044f 2\u00bb. \u0418 \u0432\u043e\u0442 \u0442\u0430\u043a \u043e\u043d\u0438 \u043a\u043e\u043f\u044f\u0442\u0441\u044f. \u041f\u043e\u0442\u043e\u043c \u043c\u044b \u0432\u044b\u043a\u0430\u0442\u0438\u043b\u0438 \u043d\u043e\u0432\u044b\u0439 \u0440\u0435\u043b\u0438\u0437, \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0432\u0435\u0440\u0441\u0438\u0438 9, \u0438 \u043f\u043e\u043d\u044f\u043b\u0438, \u0447\u0442\u043e \u044d\u0442\u043e \u043d\u0435 \u0442\u043e. \u041e\u043d \u0433\u043e\u0432\u043e\u0440\u0438\u0442: \u00ab\u041e\u043a, \u0443 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c \u0432\u0435\u0440\u0441\u0438\u044f 8\u00bb, \u0434\u043e\u0441\u0442\u0430\u0435\u0442 \u0432\u0441\u0435 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u044b \u043e\u0442\u0442\u0443\u0434\u0430 \u0438 \u0444\u0438\u0433\u0430\u0447\u0438\u0442 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440. <\/p>\n<p>  <\/p>\n<p>\u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u044f\u0441\u044c \u043a \u0432\u043e\u043f\u0440\u043e\u0441\u0443, \u043a\u0430\u043a \u0432\u043c\u0435\u043d\u044f\u0442\u044c \u0432\u0441\u0451, \u043a\u043e\u0433\u0434\u0430 \u044d\u0442\u0438\u0445 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u043e\u0432 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0437\u0430 \u0441\u043e\u0442\u043d\u044e \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0432 \u0433\u043e\u043b\u043e\u0432\u0435 \u0443\u0434\u0435\u0440\u0436\u0430\u0442\u044c, \u0447\u0442\u043e \u0433\u0434\u0435 \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c. \u0422\u043e\u0433\u0434\u0430 \u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u043f\u0440\u0438\u0445\u043e\u0434\u044f\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u0438\u0437\u0430\u0442\u043e\u0440\u044b, \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 Helm \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u0443\u043c\u0435\u0435\u0442. \u041d\u0430\u0431\u043e\u0440 \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u043e\u0432 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Chart. <\/p>\n<p>  <\/p>\n<h4 id=\"ty-uzhe-ne-raz-govoril-pro-stateful-i-stateless-prilozheniya-razrabotchikam-eti-terminy-znakomy-i-ponyatno-chto-so-stateless-prosto-razvernul-i-ne-parishsya-est-kakie-to-osobennosti-razvorachivaniya-stateful-prilozheniy-i-chto-dlya-etogo-ispolzuetsya-vnutri-kubernetes-kakie-to-mozhet-byt-osobennye-shtuki-dlya-hraneniya-sostoyaniya-prilozheniya-kak-ono-hranitsya-gde-ono-hranitsya\">\u0422\u044b \u0443\u0436\u0435 \u043d\u0435 \u0440\u0430\u0437 \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u043f\u0440\u043e stateful \u0438 stateless \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u044d\u0442\u0438 \u0442\u0435\u0440\u043c\u0438\u043d\u044b \u0437\u043d\u0430\u043a\u043e\u043c\u044b. \u0418 \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0441\u043e stateless \u043f\u0440\u043e\u0441\u0442\u043e: \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b \u0438 \u043d\u0435 \u043f\u0430\u0440\u0438\u0448\u044c\u0441\u044f. \u0415\u0441\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f stateful \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439? \u0418 \u0447\u0442\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u043d\u0443\u0442\u0440\u0438 Kubernetes? \u041a\u0430\u043a\u0438\u0435-\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u044b\u0435 \u0448\u0442\u0443\u043a\u0438 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f? \u041a\u0430\u043a \u043e\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f? \u0413\u0434\u0435 \u043e\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f?<\/h4>\n<p>  <\/p>\n<p>\u0421\u0430\u043c \u043f\u043e \u0441\u0435\u0431\u0435 Kubernetes \u043d\u0438\u043a\u0430\u043a\u043e\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442. \u041d\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0435\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435. \u0421\u0435\u0439\u0447\u0430\u0441 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f CSI Driver, \u0438 \u0441\u0442\u0430\u043b\u043e \u043f\u0440\u043e\u0449\u0435. <\/p>\n<p>  <\/p>\n<p>CSI Driver \u2014 \u044d\u0442\u043e \u0435\u0449\u0451 \u043e\u0434\u0438\u043d \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0443\u043d\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432. \u041a\u0430\u043a \u0435\u0441\u0442\u044c Container Runtime Interface, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e Docker \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c, \u043d\u043e \u0432\u0441\u0451, \u0447\u0442\u043e CRI \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442, \u0442\u0430\u043a \u0438 CSI \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u0441\u0451, \u0447\u0442\u043e \u0435\u0433\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442. \u0422\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f \u043d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0432\u044b\u0448\u043b\u0430 \u0432 \u043f\u0440\u043e\u0434, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u0434\u043e\u043f\u0438\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u043d\u043e \u0432 \u0446\u0435\u043b\u043e\u043c \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u0448\u0430\u0433. \u041e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, Ceph \u043a\u0430\u043a \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0447\u0435\u0440\u0435\u0437 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 Kubernetes \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u0434\u0438\u0441\u043a\u0438 \u0438\u043b\u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432 \u044d\u0442\u043e\u0439 \u0421\u0425\u0414 \u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u0441\u0435\u0431\u0435. \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u043e \u0441\u0443\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u044d\u0442\u043e\u0439 \u0421\u0425\u0414, \u0430 Kubernetes \u0431\u0443\u0434\u0435\u0442 \u0432 \u0440\u043e\u043b\u0438 \u043f\u043e\u0441\u0440\u0435\u0434\u043d\u0438\u043a\u0430. <\/p>\n<p>  <\/p>\n<h4 id=\"a-do-poyavleniya-etogo-mehanizma-v-kubernetes-nelzya-bylo-razvorachivat-stateful-prilozheniya\">\u0410 \u0434\u043e \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u0432 Kubernetes \u043d\u0435\u043b\u044c\u0437\u044f \u0431\u044b\u043b\u043e \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c stateful \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f?<\/h4>\n<p>  <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e. \u0415\u0441\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u0448\u0442\u0443\u043a\u0430, \u043a\u0430\u043a storage class. \u042d\u0442\u043e \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f, \u0438 \u0442\u0430\u043c \u044d\u0442\u043e \u0432\u0441\u0451 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f. \u0421\u043a\u0430\u0436\u0435\u043c \u0442\u0430\u043a, \u043e\u0431\u044a\u0451\u043c \u0442\u0435\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432 Kubernetes, \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u0442\u0438. \u0423\u0436\u0435 \u0435\u0441\u0442\u044c \u0432\u0441\u044f\u043a\u0438\u0435 \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c, \u0438 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0435\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e.<\/p>\n<p>  <\/p>\n<h4 id=\"kak-postroen-mehanizm-bezopasnosti-vsego-processa-podnyatiya-slezheniya-za-tvoimi-prilozheniyami-obschenie-navernyaka-vedyotsya-po-https-no-est-li-eschyo-chto-nibud-chto-naprimer-budet-esli-api-kubernetes-zavladeet-zloumyshlennik-kak-etogo-izbezhat\">\u041a\u0430\u043a \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u043f\u043e\u0434\u043d\u044f\u0442\u0438\u044f, \u0441\u043b\u0435\u0436\u0435\u043d\u0438\u044f \u0437\u0430 \u0442\u0432\u043e\u0438\u043c\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438? \u041e\u0431\u0449\u0435\u043d\u0438\u0435 \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0432\u0435\u0434\u0451\u0442\u0441\u044f \u043f\u043e https, \u043d\u043e \u0435\u0441\u0442\u044c \u043b\u0438 \u0435\u0449\u0451 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c? \u0427\u0442\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0431\u0443\u0434\u0435\u0442, \u0435\u0441\u043b\u0438 API Kubernetes \u0437\u0430\u0432\u043b\u0430\u0434\u0435\u0435\u0442 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a? \u041a\u0430\u043a \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c?<\/h4>\n<p>  <\/p>\n<p>\u041d\u0435 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c API \u043d\u0430\u0440\u0443\u0436\u0443! \u0414\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e.<\/p>\n<p>  <\/p>\n<h4 id=\"a-kak-ne-otkryvat-vystraivat-privatnuyu-set\">\u0410 \u043a\u0430\u043a \u043d\u0435 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c? \u0412\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u0443\u044e \u0441\u0435\u0442\u044c?<\/h4>\n<p>  <\/p>\n<p>\u041d\u0443 \u0434\u0430, VPN, \u0434\u0432\u0443\u0445\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u0430\u044f \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044f \u2014 \u0447\u0442\u043e-\u043d\u0438\u0431\u0443\u0434\u044c \u0442\u0430\u043a\u043e\u0435. API \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u043e\u0447\u0435\u043d\u044c \u0445\u043e\u0440\u043e\u0448\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u0433\u043e\u0434 \u043d\u0430\u0445\u043e\u0434\u044f\u0442 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438. \u0412 2018 \u0433\u043e\u0434\u0443, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u043b\u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u044c \u0441 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u043c 9,8, \u0435\u0441\u043b\u0438 \u044f \u043d\u0435 \u043f\u0443\u0442\u0430\u044e. \u041e\u043d\u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b\u0430 \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0438 \u0432 API, \u0438 \u0432\u0441\u0451 \u2014 \u0434\u0435\u043b\u0430\u0439, \u0447\u0442\u043e \u0445\u043e\u0447\u0435\u0448\u044c. \u0411\u044b\u043b\u0438 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 2019 \u0433\u043e\u0434\u0443. \u041c\u043d\u0435 \u0437\u0430\u043f\u043e\u043c\u043d\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u043d\u0430 \u0445\u043e\u0441\u0442\u0435 \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440. <\/p>\n<p>  <\/p>\n<p>\u0418 \u0432\u0441\u0451 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 API. \u0415\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, API \u043d\u0435 \u0434\u0443\u0440\u0430\u043a\u0438 \u043f\u0438\u0441\u0430\u043b\u0438, \u0438 \u0442\u0430\u043c \u0435\u0441\u0442\u044c \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f, \u0442\u043e\u0442 \u0436\u0435 \u0441\u0430\u043c\u044b\u0439 TLS, \u043f\u0440\u043e\u0441\u0442\u043e \u0442\u0430\u043a \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u0435\u0448\u044c. \u041d\u043e \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0438 \u0431\u044b\u0432\u0430\u044e\u0442, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 API \u043d\u0430\u0434\u043e \u0432\u0441\u0435\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c\u0438 \u0441\u043f\u043e\u0441\u043e\u0431\u0430\u043c\u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0442\u044c.<\/p>\n<p>  <\/p>\n<p>\u0412\u043e\u043f\u0440\u043e\u0441 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 Kubernetes \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0448\u0438\u0440\u043e\u043a\u0438\u0439, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043d\u0430 \u043d\u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u0437\u0433\u043b\u044f\u043d\u0443\u0442\u044c \u043f\u043e\u0434 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0443\u0433\u043b\u0430\u043c\u0438 \u0438 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. <\/p>\n<p>  <\/p>\n<h4 id=\"naprimer\">\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440?<\/h4>\n<p>  <\/p>\n<p>\u0413\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u043a\u0430\u043a \u0440\u0430\u0437 \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043f\u0440\u0430\u0432 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u2014 \u0437\u0430\u043a\u0440\u044b\u0442\u0438\u0435 API. \u0415\u0441\u043b\u0438 Kubernetes \u0440\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442 \u043d\u0435 \u0432 \u043e\u0431\u043b\u0430\u043a\u0430\u0445, \u0430 \u043d\u0430 \u0441\u0432\u043e\u0438\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0430\u0445, \u0442\u043e \u043d\u0430\u0434\u043e \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u0441\u0432\u043e\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041f\u0440\u043e iptables \u0438 SSH \u043d\u0430\u0440\u0443\u0436\u0443, \u044f \u0434\u0443\u043c\u0430\u044e, \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043d\u0435 \u043d\u0430\u0434\u043e. \u042d\u0442\u043e \u043e\u0431\u0449\u0438\u0435 \u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u043e \u0438\u0445 \u043d\u0430\u0434\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c. Kubernetes \u043d\u0435 \u043f\u0430\u043d\u0430\u0446\u0435\u044f, \u044d\u0442\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u043e\u0439 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438. \u0421\u0432\u0435\u0440\u0445\u0443 \u043d\u0430\u043c\u0430\u0437\u0430\u043b\u0438, \u0438 \u0437\u0430 \u044d\u0442\u0438\u043c \u0442\u0435\u043f\u0435\u0440\u044c \u0442\u043e\u0436\u0435 \u043d\u0430\u0434\u043e \u043a\u0430\u043a-\u0442\u043e \u0441\u043b\u0435\u0434\u0438\u0442\u044c.<\/p>\n<p>  <\/p>\n<p>\u0412\u0442\u043e\u0440\u043e\u0439 \u0430\u0441\u043f\u0435\u043a\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u2014 \u044d\u0442\u043e \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u043f\u0440\u0438\u0432\u0438\u043b\u0435\u0433\u0438\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u0412 Kubernetes \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e. \u0415\u0441\u0442\u044c \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439 Role Based Access Control \u0438\u043b\u0438 RBAC \u0441\u043e\u043a\u0440\u0430\u0449\u0435\u043d\u043d\u043e. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0440\u0430\u0437\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u043e \u0442\u043e\u043c\u0443, \u043a\u0430\u043a\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0438\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b: \u0442\u044b \u043c\u043e\u0436\u0435\u0448\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0434\u0435\u0441\u044c, \u0430 \u0442\u044b \u2014 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0434\u0435\u0441\u044c. \u041d\u043e \u0442\u0430\u043c \u0435\u0441\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0445\u0430\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u044d\u0442\u043e \u0432\u0441\u0451 \u043e\u0447\u0435\u043d\u044c \u043b\u0435\u0433\u043a\u043e \u043e\u0431\u043e\u0439\u0442\u0438. <\/p>\n<p>  <\/p>\n<p>\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 Kubernetes \u0435\u0441\u0442\u044c namespace \u2014 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0435\u043d. \u0423\u0441\u043b\u043e\u0432\u043d\u043e, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c Kubernetes, \u0435\u0441\u0442\u044c \u0434\u0432\u0430 namespace: \u0441\u0442\u0435\u0439\u0434\u0436\u0438\u043d\u0433 \u0438 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d. \u0412 \u0441\u0442\u0435\u0439\u0434\u0436\u0438\u043d\u0433 \u043c\u044b \u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432, \u043e\u043d\u0438 \u0442\u0430\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442, \u043d\u043e \u043c\u044b \u0438\u043c \u043d\u0435 \u0434\u0430\u0435\u043c \u0447\u0442\u043e-\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0434\u0435. \u0412 \u043f\u0440\u043e\u0434 \u0445\u043e\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e CI\/CD. \u041d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u043c\u0435\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0445\u043e\u0442\u044c \u0433\u0434\u0435 \u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435, \u044f \u043c\u043e\u0433\u0443 \u0437\u0430 2 \u043c\u0438\u043d\u0443\u0442\u044b \u0441\u0442\u0430\u0442\u044c \u0430\u0434\u043c\u0438\u043d\u043e\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. \u042f \u0437\u0430\u043f\u0443\u0449\u0443 \u043f\u043e\u0434 (Pod), \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044e \u043d\u0430 \u0437\u0430\u043f\u0443\u0441\u043a \u043d\u0430 master, \u0433\u0434\u0435 \u0443 \u043d\u0430\u0441 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432\u0441\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u044b \u0438 \u043a\u0440\u0435\u0434\u044b, \u0438 \u043f\u043e\u0434\u043c\u043e\u043d\u0442\u0438\u0440\u0443\u044e \u0438\u0445 \u0441\u0435\u0431\u0435 \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440. \u041f\u043e\u0442\u043e\u043c \u044f \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u044e \u0442\u043e\u043a\u0435\u043d\u044b, \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u044e \u0441\u0435\u0431\u0435 \u043d\u0430 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0438 \u0441\u0442\u0430\u043d\u0443 \u0430\u0434\u043c\u0438\u043d\u043e\u043c.<\/p>\n<p>  <\/p>\n<p>\u042d\u0442\u043e \u0442\u0430\u043a\u0430\u044f \u0448\u0442\u0443\u043a\u0430, \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0435 \u0432\u0441\u0435 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u044e\u0442\u0441\u044f. \u041d\u043e \u044d\u0442\u0443 \u0448\u0442\u0443\u043a\u0443 \u0442\u043e\u0436\u0435 \u0443\u0436\u0435 \u043f\u0440\u0438\u043a\u0440\u044b\u043b\u0438. \u0415\u0441\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 Pod security policy, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0447\u0451\u0442\u043a\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u0434\u044b \u0438 \u0433\u0434\u0435 \u0438 \u043a\u0430\u043a \u043c\u043e\u0433\u0443\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f, \u043a\u0430\u043a\u0438\u0435 \u043f\u043e\u0440\u0442\u044b \u043c\u043e\u0433\u0443\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c.<\/p>\n<p>  <\/p>\n<p>\u0415\u0449\u0451 \u043e\u0434\u0438\u043d \u0430\u0441\u043f\u0435\u043a\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u0432 Kubernetes. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e, \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u043d\u0430 \u0430\u0443\u0442\u0441\u043e\u0440\u0441\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0438\u0448\u0443\u0442 \u0441\u0432\u043e\u044e \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043b\u044e\u0431\u043e\u0439 \u0447\u0435\u043b\u043e\u0432\u0435\u043a \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u0432 namespace \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u0441\u0442\u0443\u0447\u0430\u0442\u044c\u0441\u044f \u0432\u043e \u0432\u0441\u0435 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u044b (endpoints), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c. \u041f\u0440\u0438\u043a\u0440\u044b\u0442\u044c \u044d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 Network policies. \u042d\u0442\u043e \u0441\u0432\u043e\u0435\u0433\u043e \u0440\u043e\u0434\u0430 firewall \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430. \u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u0432\u043d\u0435\u0448\u043d\u044e\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443 \u043a \u0441\u0435\u0431\u0435 \u0437\u043e\u0432\u0451\u043c, \u043c\u044b \u0441\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c, \u043a \u043a\u0430\u043a\u0438\u043c \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u0430\u043c \u043e\u043d\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u043c\u0435\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f, \u0447\u0442\u043e\u0431\u044b \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u0443 \u0447\u0430\u0441\u0442\u044c \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c. \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u043e\u043d\u0438 \u0437\u0430\u0439\u0442\u0438 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442.<\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043f\u0440\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c, \u0442\u043e \u0432 Kubernetes \u0435\u0441\u0442\u044c \u0435\u0449\u0451 \u043e\u0434\u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0430\u044f \u0448\u0442\u0443\u043a\u0430 \u2014 \u0437\u0430\u0449\u0438\u0442\u0430 \u043e\u0442 \u0447\u0435\u043b\u043e\u0432\u0435\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0444\u0430\u043a\u0442\u043e\u0440\u0430. \u0418\u0437\u0432\u0435\u0441\u0442\u043d\u043e \u043c\u043d\u043e\u0433\u043e \u0433\u0440\u043e\u043c\u043a\u0438\u0445 \u0444\u0430\u043a\u0430\u043f\u043e\u0432, \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u0435\u0434\u0448\u0438\u0445 \u043f\u043e \u0432\u0438\u043d\u0435 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 (\u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0441 GitLab, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u043f\u043e\u043b\u043e\u0436\u0438\u043b\u0438 \u043f\u043e\u043b \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u0435\u043d\u0430, \u0441 Yandex.Cloud \u0438 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f\u043c\u0438). \u041f\u0440\u043e\u0434 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043d\u0451\u0441 \u0438 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0432 \u0448\u0435\u0441\u0442\u0438 \u043c\u0435\u0441\u0442\u0430\u0445 \u0431\u044d\u043a\u0430\u043f\u043e\u0432 \u043d\u0435\u0442 \u0438\u043b\u0438 \u043e\u043d\u0438 \u043d\u0435\u043a\u043e\u043d\u0441\u0438\u0441\u0442\u0435\u043d\u0442\u043d\u044b\u0435, \u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0433\u0434\u0435-\u0442\u043e \u0442\u0430\u043c \u0434\u0430\u043c\u043f\u0438\u043a \u043b\u0435\u0436\u0430\u043b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u043e\u0432\u043e\u0439 \u0434\u0430\u0432\u043d\u043e\u0441\u0442\u0438 \u0438 \u0442\u0438\u043f\u0430: \u00ab\u0423\u0445! (\u043f\u0435\u0440\u0435\u043a\u0440\u0435\u0441\u0442\u0438\u043b\u0441\u044f) \u0421\u043b\u0430\u0432\u0430 \u0411\u043e\u0433\u0443! \u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438!\u00bb <\/p>\n<p>  <\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c, \u0432 Kubernetes \u0442\u043e\u0436\u0435 \u0435\u0441\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, limit ranges, resource quotas. \u041e\u043d\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0442 \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0432 \u0443\u0437\u0434\u0435 \u0442\u0435\u0445, \u043a\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 Kubernetes. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0435 \u0434\u0430\u044e\u0442 \u0437\u0430\u0441\u043a\u0435\u0439\u043b\u0438\u0442\u044c \u0441\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e. \u0410 \u0442\u0430\u043a\u043e\u0435 \u043e\u0434\u0438\u043d \u0440\u0430\u0437 \u0431\u044b\u043b\u043e. \u041a\u043e\u043b\u043b\u0435\u0433\u0430 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b: \u0430\u0434\u043c\u0438\u043d \u0445\u043e\u0442\u0435\u043b \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0446\u0443. \u041a\u043b\u0430\u0432\u0438\u0448\u0430 \u0437\u0430\u043b\u0438\u043f\u043b\u0430, \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u043b\u0430\u0433\u043d\u0443\u043b, \u0432\u043c\u0435\u0441\u0442\u043e \u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0430 \u043e\u043d \u043d\u0430\u0436\u0430\u043b \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u2014 \u0438 \u0432\u0441\u0451. \u041f\u0440\u0430\u0432\u0434\u0430, \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u043d\u0435 \u043d\u0430 Kubernetes, \u0430 \u043d\u0430 Nomad. \u041d\u043e \u0444\u0430\u043a\u0442 \u0442\u0430\u043a\u043e\u0439, \u0447\u0442\u043e \u043e\u043d: \u00ab\u0412\u0430\u043c \u043d\u0430\u0434\u043e 111 \u043c\u043b\u043d \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439? \u0425\u043e\u0440\u043e\u0448\u043e. \u0421\u0435\u0439\u0447\u0430\u0441 \u0431\u0443\u0434\u0435\u0442!\u00bb \u0418 \u0432\u0441\u0451 \u043d\u0430\u0447\u0430\u043b\u043e \u043b\u0430\u0433\u0430\u0442\u044c, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e. \u0427\u0442\u043e\u0431\u044b \u044d\u0442\u043e\u0433\u043e \u0438\u0437\u0431\u0435\u0436\u0430\u0442\u044c, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043a\u0430\u0437\u0430\u0442\u044c: \u00ab\u0417\u0434\u0435\u0441\u044c \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c 10 \u0440\u0435\u043f\u043b\u0438\u043a, \u0438 \u0432\u0441\u0451\u00bb. <\/p>\n<p>  <\/p>\n<h4 id=\"ty-upomyanul-nomad-kakie-eschyo-est-analogi-kubernetes\">\u0422\u044b \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u043b Nomad. \u041a\u0430\u043a\u0438\u0435 \u0435\u0449\u0451 \u0435\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u043e\u0433\u0438 Kubernetes?<\/h4>\n<p>  <\/p>\n<p>\u0421\u0430\u043c\u044b\u0439 \u044f\u0440\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u043e\u0433, \u043f\u0440\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u0441\u0435 \u0433\u043e\u0432\u043e\u0440\u044f\u0442, \u2014 \u044d\u0442\u043e Docker Swarm. Docker Swarm \u2014 \u044d\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043e\u0442 Docker, \u0438\u0445 \u043d\u0430\u0442\u0438\u0432\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435. \u041d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438: \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 swarm-\u0440\u0435\u0436\u0438\u043c, \u0438 \u0443 \u043d\u0430\u0441 \u043f\u043e\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c Docker Swarm. <\/p>\n<p>  <\/p>\n<p>Docker Swarm \u2014 \u044d\u0442\u043e \u0442\u043e\u0436\u0435 \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u0430\u0442\u043e\u0440, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043d\u043e\u0433\u0438\u0435 \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u044e\u0442 \u0435\u0433\u043e \u0441 Kubernetes. \u041d\u043e \u0435\u0441\u043b\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e, \u0442\u043e Kubernetes \u2014 \u044d\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u043c\u043e\u0449\u043d\u044b\u0439 \u043a\u043e\u043c\u0431\u0430\u0439\u043d, \u0432 \u043d\u0451\u043c \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439. \u0412 Docker Swarm \u0438\u0445 \u0447\u0443\u0442\u044c \u043f\u043e\u043c\u0435\u043d\u044c\u0448\u0435, \u043d\u043e \u044f \u0431\u044b \u0441\u043a\u0430\u0437\u0430\u043b \u0442\u0430\u043a: \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0441\u0443\u043f\u0435\u0440\u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u043d\u0435\u0442, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438 Docker Swarm. \u041d\u043e \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043d\u0435\u0433\u043e, Kubernetes, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0445\u043e\u0440\u043e\u0448\u043e \u0443\u043c\u0435\u0435\u0442 \u0430\u0432\u0442\u043e\u0441\u043a\u0435\u0439\u043b\u0438\u0442\u044c. \u041f\u0440\u0438\u0447\u0435\u043c, \u043a\u0430\u043a \u043d\u043e\u0434\u044b \u0430\u0432\u0442\u043e\u0441\u043a\u0435\u0439\u043b\u0438\u0442\u044c, \u0437\u0430\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c, \u0442\u0430\u043a \u0438 \u043f\u043e\u0434\u044b, \u0442\u043e \u0435\u0441\u0442\u044c \u0440\u0435\u043f\u043b\u0438\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0412 \u043e\u0431\u043b\u0430\u043a\u0430\u0445 \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u043e\u043e\u0431\u0449\u0435 \u0448\u0438\u043a\u0430\u0440\u043d\u043e. \u041f\u0440\u0438\u0448\u043b\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0441 \u0440\u0435\u043a\u043b\u0430\u043c\u043d\u043e\u0439 \u043a\u0430\u043c\u043f\u0430\u043d\u0438\u0438 \u2014 \u043c\u044b \u043d\u0435 \u0441\u0438\u0434\u0438\u043c, \u043d\u0435 \u0437\u0430\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0440\u0443\u043a\u0430\u043c\u0438, \u0430 \u043e\u043d \u0441\u0430\u043c \u0441\u0445\u043e\u0434\u0438\u043b \u0438 \u0437\u0430\u043a\u0430\u0437\u0430\u043b. \u041a\u043e\u0433\u0434\u0430 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0443\u0448\u043b\u0430, \u043e\u043d \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0438\u0445 \u0441\u0445\u043b\u043e\u043f\u043d\u0443\u043b \u0434\u043e \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430.<\/p>\n<p>  <\/p>\n<h4 id=\"na-kakih-operacionnyh-sistemah-obychno-zapuskaetsya-kubernetes\">\u041d\u0430 \u043a\u0430\u043a\u0438\u0445 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043e\u0431\u044b\u0447\u043d\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f Kubernetes?<\/h4>\n<p>  <\/p>\n<p>\u041d\u0443 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0430 Linux: CentOS, Debian.<\/p>\n<p>  <\/p>\n<h4 id=\"a-na-vinde-umeet\">\u0410 \u043d\u0430 \u0432\u0438\u043d\u0434\u0435 \u0443\u043c\u0435\u0435\u0442?<\/h4>\n<p>  <\/p>\n<p>\u041e\u043d\u0438 \u0434\u0435\u043b\u0430\u044e\u0442 \u0441\u0435\u0439\u0447\u0430\u0441 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u0432 \u0441\u0442\u043e\u0440\u043e\u043d\u0443 Windows. \u0412 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435, \u0441\u0442\u0430\u043b\u043e \u043b\u0443\u0447\u0448\u0435, \u043d\u043e \u044f \u0431\u044b \u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u043d\u0435 \u043d\u0430\u0434\u043e \u043f\u043e\u043a\u0430 \u044d\u0442\u043e\u0433\u043e \u0434\u0435\u043b\u0430\u0442\u044c. <\/p>\n<p>  <\/p>\n<h4 id=\"kakimi-navykami-nuzhno-obladat-chtoby-uspeshno-rabotat-s-kubernetes-programmirovanie-mozhet-kakoe-to-nuzhno-yaml-ponyatno\">\u041a\u0430\u043a\u0438\u043c\u0438 \u043d\u0430\u0432\u044b\u043a\u0430\u043c\u0438 \u043d\u0443\u0436\u043d\u043e \u043e\u0431\u043b\u0430\u0434\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 Kubernetes? \u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, \u043c\u043e\u0436\u0435\u0442, \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u043d\u0443\u0436\u043d\u043e? YAML, \u043f\u043e\u043d\u044f\u0442\u043d\u043e.<\/h4>\n<p>  <\/p>\n<p>\u0417\u043d\u0430\u043d\u0438\u0435 YAML, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0438\u0437\u0430\u0446\u0438\u044f\u2026 \u042f \u043d\u0435 \u0437\u043d\u0430\u043a\u043e\u043c \u043b\u0438\u0447\u043d\u043e, \u043d\u043e \u0441\u043b\u044b\u0448\u0430\u043b \u043e \u0442\u0430\u043a\u0438\u0445 \u043b\u044e\u0434\u044f\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0438\u043c\u0435\u044e\u0442 \u0431\u0430\u0437\u043e\u0432\u043e\u0433\u043e \u0431\u044d\u043a\u0433\u0440\u0430\u0443\u043d\u0434\u0430, \u043d\u043e \u0441 Kubernetes \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0443\u043c\u0435\u044e\u0442. \u041e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u043b\u0430\u0436\u0430\u0442\u044c \u0441 \u0441\u0435\u0442\u044c\u044e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0441 Kubernetes \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442. <\/p>\n<p>  <\/p>\n<p>\u042f \u0431\u044b \u0434\u043e\u0431\u0430\u0432\u0438\u043b, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u044b \u0431\u0430\u0437\u043e\u0432\u044b\u0435 \u0437\u043d\u0430\u043d\u0438\u044f \u043f\u043e \u0441\u0435\u0442\u044f\u043c, \u043f\u043e Linux (\u0435\u0441\u043b\u0438 Kubernetes \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u043d\u0430 Linux-\u043c\u0430\u0448\u0438\u043d\u0430\u0445, \u0438\u0445 \u043d\u0430\u0434\u043e \u0431\u0443\u0434\u0435\u0442 \u0442\u044e\u043d\u0438\u0442\u044c) \u0438 \u0443\u043c\u0435\u043d\u0438\u0435 \u0447\u0438\u0442\u0430\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e.<\/p>\n<p>  <\/p>\n<h4 id=\"v-kakih-sluchayah-kubernetes-voobsche-ne-stoit-ispolzovat\">\u0412 \u043a\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 Kubernetes \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c?<\/h4>\n<p>  <\/p>\n<p>\u041d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0440\u0430\u0441\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0435, \u0447\u0442\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u0435\u0433\u043e, \u0438 \u0432\u0441\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0440\u0435\u0448\u0430\u0442\u0441\u044f. \u041a \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044e \u043d\u0430\u0434\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e, \u0438 \u0441\u0442\u0430\u0432\u0438\u0442\u044c Kubernetes \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0435\u0441\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u0430\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c.<\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u0442\u044c \u0435\u0449\u0451 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u00abKubernetes \u0440\u0430\u0434\u0438 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u044b\u00bb. \u042d\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u0437\u0430\u0448\u0451\u043b \u043d\u0430 \u0425\u0435\u0434\u0445\u0430\u043d\u0442\u0435\u0440, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043b \u043d\u0430 \u0437\u0430\u0440\u043f\u043b\u0430\u0442\u044b, \u0438 \u043f\u043e\u0448\u0451\u043b \u043f\u0440\u043e\u043f\u0438\u0445\u0438\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435: \u00ab\u042f \u0436\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442 \u043f\u043e Kubernetes, \u043f\u043b\u0430\u0442\u0438\u0442\u0435 \u043c\u043d\u0435 \u0431\u043e\u043b\u044c\u0448\u0435\u00bb. \u042d\u0442\u043e \u0432\u0440\u044f\u0434 \u043b\u0438 \u043a \u0447\u0435\u043c\u0443-\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u043c\u0443 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442.<\/p>\n<p>  <\/p>\n<p>\u0421 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f Kubernetes \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0442 \u00ab12 \u0444\u0430\u043a\u0442\u043e\u0440\u0430\u043c\u00bb. \u0414\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0434\u043e\u043f\u0438\u043b\u0435\u043d\u044b \u0434\u043e \u043a\u043e\u043d\u0446\u0430. \u0412 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u043c\u044b \u043f\u0438\u043b\u0438\u043b\u0438 \u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043b\u0438, \u043f\u0438\u043b\u0438\u043b\u0438 \u0438 \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043b\u0438, \u0438 \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0441\u043b\u043e\u0436\u043d\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0432 Kubernetes, \u0430 \u0447\u0430\u0441\u0442\u044c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u0435 \u0438 \u043d\u0430\u0434\u043e \u0431\u044b\u043b\u043e \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0432\u0437\u0430\u0438\u043c\u043e\u0441\u0432\u044f\u0437\u044c. <\/p>\n<p>  <\/p>\n<p>\u0412 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u043c\u0438\u0440\u0435, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, Kubernetes \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u0441\u0440\u0430\u0437\u0443 \u0436\u0435\u2026 \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0441\u044f, \u043f\u043e\u0442\u043e\u043c \u0443\u0436\u0435 \u0442\u0443\u0434\u0430. \u041d\u043e \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0435\u0442.<\/p>\n<p>  <\/p>\n<h4 id=\"perehodya-k-sleduyuschemu-bloku-sproshu-v-chyom-razlichie-kubernetes-i-ansible\">\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u044f \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0431\u043b\u043e\u043a\u0443, \u0441\u043f\u0440\u043e\u0448\u0443: \u0432 \u0447\u0451\u043c \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u0435 Kubernetes \u0438 Ansible?<\/h4>\n<p>  <\/p>\n<p>Ansible \u2014 \u044d\u0442\u043e, \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439. Kubernetes \u2014 \u044d\u0442\u043e \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u0430\u0442\u043e\u0440 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432.<br \/>  \u0417\u043d\u0430\u043d\u0438\u0435 Ansible \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043b\u0438\u0448\u043d\u0438\u043c, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u043d\u0430\u0447\u043d\u0451\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 Kubernetes, \u0438 \u043d\u0430\u043e\u0431\u043e\u0440\u043e\u0442. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e Kubernetes \u043d\u0443\u0436\u043d\u043e \u043a\u0430\u043a-\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c, \u0438 Ansible \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442.<br \/>  \u0415\u0441\u043b\u0438 \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043c, \u0447\u0442\u043e Kubernetes \u2014 \u044d\u0442\u043e Infrastructure as code (IaC), \u0442\u043e \u0432\u043e\u0442 \u044d\u0442\u0438\u043c IaC \u043d\u0443\u0436\u043d\u043e \u043a\u0430\u043a-\u0442\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c. \u0420\u0443\u043a\u0430\u043c\u0438 \u0442\u0443\u0434\u0430 \u043b\u0435\u0437\u0442\u044c? \u0412 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u043c\u0438\u0440\u0435 \u043d\u0435 \u043b\u0435\u0437\u0443\u0442, \u0432\u0441\u0451 \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u044e\u0442 \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u044b: \u043d\u0430\u0434\u043e \u0447\u0442\u043e-\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432 Kubernetes \u2014 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0448\u044c \u043f\u043b\u0435\u0439\u0431\u0443\u043a \u2014 \u043e\u043d \u043f\u043e\u0448\u0451\u043b \u0441\u0430\u043c \u0441\u0434\u0435\u043b\u0430\u043b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0437\u043d\u0430\u043d\u0438\u0435 Ansible \u0438 Kubernetes, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0432\u0430\u0436\u043d\u044b \u0432 \u0440\u0430\u0432\u043d\u043e\u0439 \u0441\u0442\u0435\u043f\u0435\u043d\u0438.<\/p>\n<p>  <\/p>\n<p><em>\u0414\u0430\u043b\u0435\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u041d\u0438\u043a\u043e\u043b\u0430\u0439 \u041c\u0435\u0441\u0440\u043e\u043f\u044f\u043d<\/em><\/p>\n<p>  <\/p>\n<h4 id=\"chto-takoe-ansible-i-dlya-chego-on-nuzhen\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Ansible \u0438 \u0434\u043b\u044f \u0447\u0435\u0433\u043e \u043e\u043d \u043d\u0443\u0436\u0435\u043d?<\/h4>\n<p>  <\/p>\n<p>\u042d\u0442\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438. \u0414\u043b\u044f \u0447\u0435\u0433\u043e \u043d\u0443\u0436\u043d\u043e? \u041a\u043e\u0433\u0434\u0430 \u0443 \u0432\u0430\u0441 \u043e\u0434\u0438\u043d \u0441\u0435\u0440\u0432\u0435\u0440, \u0438\u043c \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0440\u0443\u043a\u0430\u043c\u0438: \u043f\u0440\u043e\u0441\u0442\u043e \u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u043d\u0435\u0433\u043e, \u043d\u0430\u0431\u0438\u0440\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0438\u043b\u0438 \u0442\u044b\u043a\u0430\u0442\u044c \u043c\u044b\u0448\u043a\u043e\u0439, \u0447\u0442\u043e-\u0442\u043e \u0440\u0443\u043a\u0430\u043c\u0438 \u043f\u0440\u0430\u0432\u0438\u0442\u044c, \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c. \u0415\u0441\u043b\u0438 \u0438\u0445 2, 10 \u2014 \u044d\u0442\u043e \u0435\u0449\u0451 \u0440\u0435\u0430\u043b\u044c\u043d\u043e. \u041d\u043e \u0432 \u043a\u043e\u043d\u0446\u0435 \u043a\u043e\u043d\u0446\u043e\u0432 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043c\u043e\u0436\u0435\u0442 \u0441\u0442\u0430\u0442\u044c \u0438 20, \u0438 100, \u0438 1000. \u0412\u043e\u0442 \u0442\u043e\u0433\u0434\u0430 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u043c\u0438 \u0431\u043e\u043b\u0435\u0435 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u0438 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e.<\/p>\n<p>  <\/p>\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ur\/lh\/tr\/urlhtr77wvamwokvsvhgvnc7vti.png\"><\/p>\n<p>  <\/p>\n<h4 id=\"my-govorim-pro-upravlenie-konfiguraciyami-operacionnoy-sistemy-ili-voobsche-lyubymi-ya-zadeploil-25-prilozheniy-raznyh-na-host-i-ya-hochu\">\u041c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043f\u0440\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u043b\u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043b\u044e\u0431\u044b\u043c\u0438? \u042f \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u043b 25 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0440\u0430\u0437\u043d\u044b\u0445 \u043d\u0430 \u0445\u043e\u0441\u0442, \u0438 \u044f \u0445\u043e\u0447\u0443\u2026<\/h4>\n<p>  <\/p>\n<p>\u041e\u0431\u044b\u0447\u043d\u043e \u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u043f\u0440\u043e Ansible \u0438 \u0441\u0432\u043e\u0439 \u043a\u0443\u0440\u0441 \u0441 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u0438\u0442\u043e\u043c\u0446\u044b \u0438 \u0441\u0442\u0430\u0434\u043e \u2014 \u00abPets vs Cattle\u00bb. Pets \u2014 \u044d\u0442\u043e \u043f\u0438\u0442\u043e\u043c\u0446\u044b. \u0422\u044b \u0437\u0430 \u043d\u0438\u043c\u0438 \u0443\u0445\u0430\u0436\u0438\u0432\u0430\u0435\u0448\u044c, \u043b\u0435\u0447\u0438\u0448\u044c, \u0434\u0430\u0451\u0448\u044c \u0438\u043c \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430. Cattle \u2014 \u044d\u0442\u043e \u0441\u0442\u0430\u0434\u043e. \u0415\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0430\u0435\u0442, \u0442\u044b \u0435\u0433\u043e \u0437\u0430\u0431\u0438\u0432\u0430\u0435\u0448\u044c \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0448\u044c \u0432\u043c\u0435\u0441\u0442\u043e \u043d\u0435\u0433\u043e \u043d\u043e\u0432\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440. \u0423 \u0442\u0435\u0431\u044f \u0438\u0445 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e, \u0438 \u0442\u044b \u0438\u0445 \u0432 \u043b\u0438\u0446\u043e \u043d\u0435 \u0437\u043d\u0430\u0435\u0448\u044c, \u0430 \u0437\u043d\u0430\u0435\u0448\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043d\u043e\u043c\u0435\u0440\u0430\u043c. \u041f\u0438\u0442\u043e\u043c\u0446\u044b \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0441\u0442\u0430\u0434\u043e, \u043a\u043e\u0433\u0434\u0430 \u0438\u0445 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e.<\/p>\n<p>  <\/p>\n<h4 id=\"no-kogda-oni-zabolevat-nachinayut\">\u041d\u043e \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0430\u0442\u044c \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0442!<\/h4>\n<p>  <\/p>\n<p>\u041a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u0437\u0430\u0431\u043e\u043b\u0435\u0432\u0430\u044e\u0442, \u044d\u0442\u043e \u0436\u0435\u0441\u0442\u044c, \u044f \u0441\u043e\u0433\u043b\u0430\u0441\u0435\u043d. \u0418 \u0447\u0442\u043e\u0431\u044b \u0441 \u044d\u0442\u0438\u043c \u0441\u0442\u0430\u0434\u043e\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f, \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438. \u0414\u0430, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043e\u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0438 \u0434\u043b\u044f \u0434\u0435\u043f\u043b\u043e\u0435\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u043c\u044b \u043e\u0431\u044b\u0447\u043d\u043e \u0441 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438, \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u043d\u0430 \u043d\u0430\u043b\u0438\u0432\u043a\u0435 \u043a\u0430\u043a\u0438\u0445-\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0438\u0445 \u0432 \u0442\u043e\u043c \u0438\u043b\u0438 \u0438\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u2014 \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u0430\u0446\u0438\u0435\u0439 \u043a\u0430\u043a \u0431\u044b.<\/p>\n<p>  <\/p>\n<h4 id=\"jenkins-vrode-kak-tozhe-krome-togo-chto-podderzhivaet-payplayny-umeet-konfigurirovat-prilozheniya-eto-v-chyom-to-pohozhe-na-ansible\">Jenkins \u0432\u0440\u043e\u0434\u0435 \u043a\u0430\u043a \u0442\u043e\u0436\u0435 \u043a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u044b, \u0443\u043c\u0435\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u042d\u0442\u043e \u0432 \u0447\u0451\u043c-\u0442\u043e \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 Ansible?<\/h4>\n<p>  <\/p>\n<p>\u041d\u0435\u0442, \u044d\u0442\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u0432\u0435\u0449\u0438. Ansible \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 Chef, Puppet, SaltStack. Jenkins \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0445\u043e\u0436 \u043d\u0430 GitLab CI \u0438 TeamCity. \u042d\u0442\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0441\u044b \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439, \u043d\u043e \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u043c\u0435\u0441\u0442\u0435. <\/p>\n<p>  <\/p>\n<p>\u042f \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b\u0441\u044f \u0441 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438, \u043a\u043e\u0433\u0434\u0430 \u0447\u0435\u0440\u0435\u0437 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d \u043d\u0430 GitLab CI \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u043b\u0441\u044f \u0434\u0435\u043f\u043b\u043e\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0435\u0431\u044f Chef.<br \/>  \u0421\u0430\u043c \u044f \u043f\u0438\u0441\u0430\u043b \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d\u044b \u0434\u043b\u044f GitLab CI \u043d\u0430 Ansible. \u0422\u043e \u0435\u0441\u0442\u044c \u043e\u043d\u0438 \u0432\u043c\u0435\u0441\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043c\u043e\u0433\u0443\u0442. \u0418\u043d\u043e\u0433\u0434\u0430 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u044b. <\/p>\n<p>  <\/p>\n<h4 id=\"iz-chego-sostoit-ansible-i-kak-on-voobsche-rabotaet-eto-kakoe-to-prilozhenie-nad-prilozheniyami-ili-otdelnyy-server-chto-eto-voobsche\">\u0418\u0437 \u0447\u0435\u0433\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 Ansible, \u0438 \u043a\u0430\u043a \u043e\u043d \u0432\u043e\u043e\u0431\u0449\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u042d\u0442\u043e \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430\u0434 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438 \u0438\u043b\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u043e\u043e\u0431\u0449\u0435?<\/h4>\n<p>  <\/p>\n<p>C\u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u041f\u041e \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438. \u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0435\u043c \u043e\u043d\u0438 \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430 \u043e\u0442\u043b\u0438\u0447\u0430\u044e\u0442\u0441\u044f, \u0438 \u043f\u043e\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u043a Ansible. <\/p>\n<p>  <\/p>\n<p>\u041f\u041e \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0430 \u0434\u0432\u0430 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043a\u043b\u0430\u0441\u0441\u0430: pull \u0438 push.<br \/>  \u041a\u043e\u0433\u0434\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0430 pull, \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u0445\u043e\u0441\u0442\u0430\u0445, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0445\u043e\u0441\u0442\u0430\u0445, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0435\u043a\u0438\u0439 daemon (\u0441\u0435\u0440\u0432\u0438\u0441), \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0434\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0441 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0438 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435 \u0443\u0436\u0435 \u0435\u0451 \u0440\u0430\u0441\u043a\u0430\u0442\u044b\u0432\u0430\u0435\u0442. <\/p>\n<p>  <\/p>\n<p>push \u2014 \u044d\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u0430 \u043d\u0430 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0435 \u043d\u043e\u0434\u044b \u0434\u043e\u0435\u0437\u0436\u0430\u044e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f (\u043f\u043e \u0441\u0435\u0442\u0438). \u0422\u043e \u0435\u0441\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0435 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435, \u0430 \u043f\u043e \u0441\u0435\u0442\u0438.<\/p>\n<p>  <\/p>\n<h4 id=\"po-seti--ssh-ftp\">\u041f\u043e \u0441\u0435\u0442\u0438 \u2014 SSH, FTP?<\/h4>\n<p>  <\/p>\n<p>\u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, SSH. \u0412\u043e\u0442 Ansible \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u043a push. \u041d\u0430 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e, \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0445\u0440\u0430\u043d\u044f\u0449\u0443\u044e\u0441\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438. <\/p>\n<p>  <\/p>\n<h4 id=\"zachem-voobsche-nuzhen-pull-esli-push-vyglyadit-dostatochno-krasivo-i-nenapryazhno\">\u0417\u0430\u0447\u0435\u043c \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0443\u0436\u0435\u043d pull, \u0435\u0441\u043b\u0438 push \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043a\u0440\u0430\u0441\u0438\u0432\u043e \u0438 \u043d\u0435\u043d\u0430\u043f\u0440\u044f\u0436\u043d\u043e?<\/h4>\n<p>  <\/p>\n<p>Push \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u044b\u0439. <\/p>\n<p>  <\/p>\n<p>\u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0441 pull \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0439 \u043d\u043e\u0434\u0435, \u0441\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0432 \u0432\u0438\u0434\u0435 \u0444\u0430\u0439\u043b\u0438\u043a\u043e\u0432, \u0430 \u043f\u043e\u0442\u043e\u043c \u0443\u0436\u0435 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435, \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u0441\u0442\u043d\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b API \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u0438\u043b\u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e. <\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 push \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0438\u0434\u0451\u0442 \u043a \u043d\u043e\u0434\u0435 \u043f\u043e SSH, \u0447\u0442\u043e-\u0442\u043e \u0442\u0430\u043c \u0434\u0435\u043b\u0430\u0435\u0442, \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0437\u0434\u0435\u0441\u044c \u043e\u043d \u043e\u0446\u0435\u043d\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0438 \u0432\u0441\u0451 \u044d\u0442\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442\u0441\u044f. <\/p>\n<p>  <\/p>\n<h4 id=\"togda-chem-push-luchshe-pull\">\u0422\u043e\u0433\u0434\u0430 \u0447\u0435\u043c push \u043b\u0443\u0447\u0448\u0435 pull?<\/h4>\n<p>  <\/p>\n<p>\u041d\u0430 \u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0445 \u043d\u043e\u0434\u0430\u0445 \u043d\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u0447\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0443\u043b\u0435\u0432\u043e\u0439 footprint (\u0441\u043b\u0435\u0434).<\/p>\n<p>  <\/p>\n<p>\u0411\u044b\u0432\u0430\u0435\u0442 \u0432\u0430\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043c\u043e\u0433 \u043f\u043e\u043d\u044f\u0442\u044c, \u043a\u0430\u043a \u0438 \u0447\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u0443\u0435\u0442\u0441\u044f. \u0420\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u043d\u0430\u0448\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044e, Southbridge. \u0423 \u043d\u0430\u0441 \u0430\u0443\u0442\u0441\u043e\u0440\u0441\u0438\u043d\u0433, \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043f\u043e\u0434 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u043c, \u0447\u0442\u043e\u0431\u044b \u043a\u043b\u0438\u0435\u043d\u0442 \u043c\u043e\u0433 \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u0434\u043a\u0440\u0443\u0442\u0438\u0442\u044c \u0438 \u0441\u043b\u043e\u043c\u0430\u0442\u044c. \u041e\u043d \u043c\u043e\u0436\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u0431\u0435\u0437 \u0437\u043b\u043e\u0433\u043e \u0443\u043c\u044b\u0441\u043b\u0430, \u043f\u0440\u043e\u0441\u0442\u043e: \u00ab\u041f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442 \u0441\u043a\u0430\u0437\u0430\u043b, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a, \u0434\u0430\u0432\u0430\u0439-\u043a\u0430 \u0441\u0434\u0435\u043b\u0430\u0435\u043c!\u00bb \u0410 \u043f\u043e\u0442\u043e\u043c \u0440\u0430\u0437 \u2014 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u0441\u043d\u0435\u0441\u0441\u044f, \u0438 \u043e\u043d \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043a \u043d\u0430\u043c: \u00ab\u0423 \u0432\u0430\u0441 \u0432\u0441\u0435 \u043f\u043b\u043e\u0445\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442!\u00bb <\/p>\n<p>  <\/p>\n<p>\u0412 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0442\u0430\u043a\u0438\u0445 \u0441\u043b\u0443\u0447\u0430\u0435\u0432 \u0443 \u043d\u0430\u0441 \u043d\u0435 \u0431\u044b\u043b\u043e, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 pull-\u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041d\u043e \u0442\u0435\u043c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435. \u041a \u0442\u043e\u043c\u0443 \u0436\u0435 \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u0434\u0441\u0442\u0440\u0430\u0445\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043e\u0434\u043d\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043d\u0435 \u043f\u043e\u043f\u0430\u043b\u0430 \u043a\u0430\u043a\u0438\u043c-\u0442\u043e \u0434\u0440\u0443\u0433\u0438\u043c. \u0418\u043c\u0435\u043d\u043d\u043e \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c push. <\/p>\n<p>  <\/p>\n<p>\u041f\u043b\u044e\u0441 \u043d\u0430\u043c \u043f\u043e\u043d\u0440\u0430\u0432\u0438\u043b\u0430\u0441\u044c \u0441\u0430\u043c\u0430 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0430, \u0447\u0442\u043e \u0432\u0441\u0451 \u043b\u0435\u0436\u0438\u0442 \u0432 \u043e\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435. \u0421\u0430\u043c\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0435 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u044b \u0438\u043d\u043e\u0433\u0434\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u043d\u0430 \u0442\u044f\u0436\u0451\u043b\u044b\u0445 \u044f\u0437\u044b\u043a\u0430\u0445 (Ruby, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440) \u0438 \u0442\u043e\u0436\u0435 \u043f\u043e\u0434\u044a\u0435\u0434\u0430\u044e\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b: \u0438 \u043f\u0430\u043c\u044f\u0442\u044c, \u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u0442\u043e \u0432 \u043a\u0430\u043a\u0438\u0445-\u0442\u043e \u0441\u043b\u0443\u0447\u0430\u044f\u0445 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u0436\u0435\u043b\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c. <\/p>\n<p>  <\/p>\n<h4 id=\"a-klientskie-po-klientskie-resursy-kotorye-v-push-rabotayut-oni-pishutsya-rukami-ili-est-gotovye-kakie-to-resheniya\">\u0410 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0435 \u041f\u041e, \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432 push \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442, \u043e\u043d\u0438 \u043f\u0438\u0448\u0443\u0442\u0441\u044f \u0440\u0443\u043a\u0430\u043c\u0438 \u0438\u043b\u0438 \u0435\u0441\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f?<\/h4>\n<p>  <\/p>\n<p>\u0412\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u044f \u043c\u043e\u0433\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0438\u0437 \u0447\u0435\u0433\u043e Ansible \u0441\u043e\u0441\u0442\u043e\u0438\u0442 (\u0431\u0435\u0437 \u0441\u043b\u0430\u0439\u0434\u043e\u0432 \u0438 \u0434\u043e\u0441\u043a\u0438 \u0441\u043b\u043e\u0436\u043d\u043e, \u043d\u043e \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u044e \u043e\u0431\u044a\u044f\u0441\u043d\u0438\u0442\u044c \u043d\u0430 \u043f\u0430\u043b\u044c\u0446\u0430\u0445).<\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f Ansible \u043c\u044b \u043f\u0438\u0448\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0443\u044e \u0438\u0437 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u043f\u043b\u0435\u0439\u0431\u0443\u043a\u0438 (playbook), \u0440\u043e\u043b\u0435\u0439 \u0438 \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044f. \u041f\u043b\u0435\u0439\u0431\u0443\u043a\u0438 \u0438 \u0440\u043e\u043b\u0438 \u2014 \u044d\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438. \u0418\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044c \u2014 \u044d\u0442\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u0430\u0446\u0438\u044f. <\/p>\n<p>  <\/p>\n<p>\u041f\u043b\u0435\u0439\u0431\u0443\u043a \u2014 \u044d\u0442\u043e \u0444\u0430\u0439\u043b, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0439 \u0438\u0437 \u043d\u0430\u0431\u043e\u0440\u0430 \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0445 \u043f\u043b\u0435\u0435\u0432 (play).<br \/>  \u0421\u0440\u0430\u0437\u0443 \u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0432\u0441\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u043d\u0430 YAML. Ansible \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Python, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0440\u043e\u0434\u043d\u043e\u0439 \u044f\u0437\u044b\u043a \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 YAML. <\/p>\n<p>  <\/p>\n<p>Ansible, \u0435\u0441\u043b\u0438 \u0447\u0442\u043e, \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432 virtualenv, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u0442\u044c \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u043c \u043e\u0442 \u043c\u0435\u0439\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u2026<br \/>  \u0410, \u0434\u0430, \u043d\u0430\u0447\u043d\u0451\u043c \u0441 \u0442\u043e\u0433\u043e, \u0433\u0434\u0435 Ansible \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442: \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0435 \u0445\u043e\u0441\u0442\u044b \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e Linux.<\/p>\n<p>  <\/p>\n<h4 id=\"a-esli-eto-virtualka\">\u0410 \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0430?<\/h4>\n<p>  <\/p>\n<p>\u0412\u0441\u0451 \u0440\u0430\u0432\u043d\u043e. \u0412\u0441\u0451-\u0442\u0430\u043a\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0432\u044b\u0437\u043e\u0432\u044b, \u0438 \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0430\u0434\u0430\u043f\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0445\u043e\u0441\u0442\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e Linux. \u0423\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043c\u043e\u0436\u0435\u043c Linux-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438, Windows-\u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c\u0438 \u0438 Mac OS. \u041d\u043e \u0434\u043b\u044f Mac, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044f \u0437\u043d\u0430\u044e, \u043e\u043d\u043e \u043f\u043e\u043a\u0430 \u0432 \u0437\u0430\u0447\u0430\u0442\u043e\u0447\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438. <\/p>\n<p>  <\/p>\n<h4 id=\"android-mobilnye-platformy\">Android, \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b?<\/h4>\n<p>  <\/p>\n<p>\u041d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0447\u0442\u043e-\u0442\u043e \u0435\u0441\u0442\u044c, \u043d\u043e \u043f\u043e\u043a\u0430 \u043e\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e. <\/p>\n<p>  <\/p>\n<p>\u0423 \u043d\u0430\u0441 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044d\u0442\u043e\u0442 \u043f\u043b\u0435\u0439\u0431\u0443\u043a \u0447\u0438\u0442\u0430\u0435\u0442. <\/p>\n<p>  <\/p>\n<p>\u041f\u043b\u0435\u0439\u0431\u0443\u043a \u2014 \u044d\u0442\u043e \u043d\u0430\u0431\u043e\u0440 \u043f\u043b\u0435\u0435\u0432. \u041a\u0430\u0436\u0434\u044b\u0439 \u043f\u043b\u0435\u0439 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432: \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0445\u043e\u0441\u0442\u043e\u0432, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0439 \u0443\u0447\u0430\u0441\u0442\u043e\u043a \u043a\u043e\u0434\u0430, \u0438 tasks \u2014 \u0437\u0430\u0434\u0430\u0447\u0438, \u0442\u043e \u0435\u0441\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c. <\/p>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u043d\u043e, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Ansible \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430 \u0445\u043e\u0441\u0442\u0430\u0445 \u0432\u0441\u0451 \u0442\u043e \u0436\u0435, \u0447\u0442\u043e \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c \u0440\u0443\u043a\u0430\u043c\u0438, \u0442\u043e\u043b\u044c\u043a\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043e, \u043c\u0430\u0441\u0441\u043e\u0432\u043e, \u0434\u0435\u0442\u0435\u0440\u043c\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0438 \u0442. \u0434. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0440\u043d\u044b\u0439 task \u0438\u043b\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0440\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u2014 \u044d\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440. \u041d\u043e \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438: \u0434\u043b\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0444\u0430\u0439\u043b\u043e\u0432, \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043e<\/p>\n<p>  <\/p>\n<h4 id=\"a-komandy--eto-prosto-komandy-konsoli-ili\">\u0410 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0438\u043b\u0438\u2026?<\/h4>\n<p>  <\/p>\n<p>\u0414\u0430, \u0435\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u044c command, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443. <\/p>\n<p>  <\/p>\n<h4 id=\"on-na-kliente\">\u041e\u043d \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0435?<\/h4>\n<p>  <\/p>\n<p>\u041d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0435, \u0434\u0430.<\/p>\n<p>  <\/p>\n<h4 id=\"a-pochemu-nelzya-prosto-cherez-ssh-napryamuyu-v-terminal-figachit\">\u0410 \u043f\u043e\u0447\u0435\u043c\u0443 \u043d\u0435\u043b\u044c\u0437\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0447\u0435\u0440\u0435\u0437 SSH \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0432 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b \u0444\u0438\u0433\u0430\u0447\u0438\u0442\u044c?<\/h4>\n<p>  <\/p>\n<p>\u041c\u043e\u0434\u0443\u043b\u044c command \u2014 \u044d\u0442\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0448\u0430\u043d\u0441, \u0435\u0441\u043b\u0438 \u0443 \u0442\u0435\u0431\u044f \u043d\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u0434\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438. <\/p>\n<p>  <\/p>\n<p>\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441, \u043c\u044b \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u043c command systemctl start engine, \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u043c\u043e\u0434\u0443\u043b\u044c service \u0438\u043b\u0438 \u043c\u043e\u0434\u0443\u043b\u044c systemd, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0435\u0440\u0432\u0438\u0441, \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435. \u0422\u043e \u0435\u0441\u0442\u044c \u043e\u043d \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0438 \u0432\u043a\u043b\u044e\u0447\u0451\u043d \u043b\u0438\u0431\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d. <\/p>\n<p>  <\/p>\n<p>\u0412\u043e\u043e\u0431\u0449\u0435, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u043a\u0430\u043a \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0435. \u0422\u043e \u0435\u0441\u0442\u044c \u043c\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0436\u0435\u043b\u0430\u0435\u043c\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043f\u043e\u0442\u043e\u043c \u044d\u0442\u0430 \u0441\u0430\u043c\u0430\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u043a\u0430 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435. \u0415\u0441\u043b\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u0436\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u043d\u0443\u0436\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438, \u0442\u043e \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439. \u042d\u0442\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438\u0434\u0435\u043c\u043f\u043e\u0442\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c.<\/p>\n<p>  <\/p>\n<h4 id=\"ponyatno-v-ne-zavisimosti-ot-togo-skolko-raz-ty-zapuskaesh\">\u041f\u043e\u043d\u044f\u0442\u043d\u043e, \u0432 \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u0442\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0448\u044c\u2026<\/h4>\n<p>  <\/p>\n<p>\u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u0441\u0435\u0433\u0434\u0430 \u043e\u0434\u0438\u043d \u0438 \u0442\u043e\u0442 \u0436\u0435. <\/p>\n<p>  <\/p>\n<h4 id=\"eto-pryam-kak-v-rest-api-razrabotchikam-dolzhno-byt-ponyatno\">\u042d\u0442\u043e \u043f\u0440\u044f\u043c \u043a\u0430\u043a \u0432 REST API, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043f\u043e\u043d\u044f\u0442\u043d\u043e.<\/h4>\n<p>  <\/p>\n<p>\u0414\u0430! <\/p>\n<p>  <\/p>\n<p>\u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0432 \u0437\u0430\u0434\u0430\u0447\u0430\u0445 \u0436\u0435\u043b\u0430\u0435\u043c\u0443\u044e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0438 Ansible \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442 (\u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u0433\u0440\u0430\u043c\u043e\u0442\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e) \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435. \u0415\u0441\u043b\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u0436\u0435 \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438, \u0442\u043e \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043d\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f. \u041f\u043e\u0442\u043e\u043c \u043c\u044b \u0432 \u0432\u044b\u0432\u043e\u0434\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u0441\u0451 \u044d\u0442\u043e \u0432\u0438\u0434\u0438\u043c. <\/p>\n<p>  <\/p>\n<p>\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0440\u043e\u043b\u0438? \u0420\u043e\u043b\u0438 \u043c\u043e\u0436\u043d\u043e \u0443\u043f\u043e\u0434\u043e\u0431\u0438\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u044b\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c. \u0422\u043e \u0435\u0441\u0442\u044c \u043c\u044b \u043f\u0438\u0448\u0435\u043c \u0440\u043e\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c, \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440 nginx, \u0438 \u043f\u043e\u0442\u043e\u043c \u0438\u0437 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043b\u0435\u0439\u0431\u0443\u043a\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0445\u043e\u0441\u0442\u043e\u0432 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043c\u044b \u044d\u0442\u0443 \u0440\u043e\u043b\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u043c. <\/p>\n<p>  <\/p>\n<p>\u0420\u043e\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u043d\u0430 \u0434\u0438\u0441\u043a\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043f\u043b\u0435\u0439\u0431\u0443\u043a\u0430\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u0442\u0430\u043a \u0438 \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445. \u0415\u0441\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u0448\u0442\u0443\u043a\u0430, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Ansible Galaxy \u2014 \u044d\u0442\u043e \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0440\u043e\u043b\u0435\u0439. \u0422\u0443\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u0432\u043e\u044e \u0440\u043e\u043b\u044c \u043f\u043e\u0434\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u0435. \u042d\u0442\u043e \u043d\u0435 \u0442\u043e \u0447\u0442\u043e\u0431\u044b \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440, \u0430 \u043a\u0430\u043a GitHub, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c. \u0422\u043e\u043b\u044c\u043a\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439, \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f Ansible. <\/p>\n<p>  <\/p>\n<h4 id=\"to-est-roli--eto-gotovye-kuski-konfiguraciy-kotorye-ty-mozhesh-u-sebya-vstraivat-i-pereispolzovat\">\u0422\u043e \u0435\u0441\u0442\u044c \u0440\u043e\u043b\u0438 \u2014 \u044d\u0442\u043e \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a\u0443\u0441\u043a\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u044b \u043c\u043e\u0436\u0435\u0448\u044c \u0443 \u0441\u0435\u0431\u044f \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u0438 \u043f\u0435\u0440\u0435\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c?<\/h4>\n<p>  <\/p>\n<p>\u042d\u0442\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0442\u044b \u043c\u043e\u0436\u0435\u0448\u044c \u0441\u0430\u043c \u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438\u0437 \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044f.<\/p>\n<p>  <\/p>\n<h4 id=\"otlichno-i-tut-vklyuchaetsya-mehanizm-parametrizacii\">\u041e\u0442\u043b\u0438\u0447\u043d\u043e. \u0418 \u0442\u0443\u0442 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u0430\u0446\u0438\u0438?<\/h4>\n<p>  <\/p>\n<p>\u0414\u0430. \u041f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b ansible-playbook, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438 \u0434\u0435\u043b\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u0445\u043e\u0441\u0442\u0430\u0445, \u043c\u044b \u0437\u0430\u0434\u0430\u0451\u043c \u0435\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u043c \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0439 \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044c \u2014 \u043e\u0442\u043a\u0443\u0434\u0430 \u0431\u0440\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b. \u0412 \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u0435 \u0443 \u043d\u0430\u0441 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0441\u043f\u0438\u0441\u043e\u043a \u0445\u043e\u0441\u0442\u043e\u0432, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u043d\u044b\u0445 \u0432 \u0433\u0440\u0443\u043f\u043f\u044b (\u0447\u0442\u043e\u0431\u044b Ansible \u0437\u043d\u0430\u043b, \u043d\u0430 \u043a\u0430\u043a\u0438\u0445 \u0445\u043e\u0441\u0442\u0430\u0445 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0442\u0435 \u0438\u043b\u0438 \u0438\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438), \u0438 \u043d\u0430\u0431\u043e\u0440 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043d\u0438\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432 \u0440\u043e\u043b\u044c \u0438 \u043c\u0435\u043d\u044f\u044e\u0442 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0432 \u043d\u0443\u0436\u043d\u0443\u044e \u0441\u0442\u043e\u0440\u043e\u043d\u0443.<\/p>\n<p>  <\/p>\n<h4 id=\"jinja2-eto-iz-etoy-temy\">Jinja2 \u044d\u0442\u043e \u0438\u0437 \u044d\u0442\u043e\u0439 \u0442\u0435\u043c\u044b?<\/h4>\n<p>  <\/p>\n<p>Jinja2 \u2014 \u044d\u0442\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u043c\u043e\u0449\u043d\u044b\u0439 \u044f\u0437\u044b\u043a \u0448\u0430\u0431\u043b\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u0438. Jinja2 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u0440\u043e\u043b\u044f\u0445. <\/p>\n<p>  <\/p>\n<h4 id=\"eto-parametrizaciya-kak-ya-ponimayu-net\">\u042d\u0442\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438\u0437\u0430\u0446\u0438\u044f, \u043a\u0430\u043a \u044f \u043f\u043e\u043d\u0438\u043c\u0430\u044e, \u043d\u0435\u0442?<\/h4>\n<p>  <\/p>\n<p>\u042d\u0442\u043e \u0448\u0430\u0431\u043b\u043e\u043d. \u0410 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u2014 \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u0442\u044b \u0443\u0436\u0435 \u0432 \u044d\u0442\u043e\u0442 \u0448\u0430\u0431\u043b\u043e\u043d \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0448\u044c. \u0412\u043e\u043e\u0431\u0449\u0435, \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u043e\u0449\u043d\u0430\u044f \u0432\u0435\u0449\u044c, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u044d\u0442\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043b\u044e\u0431\u043e\u0439 \u0441\u043b\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0443\u0436\u0435 \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u043e\u043b\u0438 \u0438\u0437 \u0441\u0432\u043e\u0435\u0433\u043e \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044f \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0443\u0436\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438 \u0442\u0435\u0431\u0435 \u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043d\u0443\u0436\u043d\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433.<\/p>\n<p>  <\/p>\n<h4 id=\"kak-garantirovat-chto-tvoy-konfig-rabotosposobnyy-chto-on-ne-ustarel-ne-slomalsya--vdrug-na-servere-chto-to-pomenyalos-i-u-tebya-komanda-ansible-play-ne-srabotala-eto-kak-to-testiruetsya\">\u041a\u0430\u043a \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e \u0442\u0432\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u044b\u0439, \u0447\u0442\u043e \u043e\u043d \u043d\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u043b, \u043d\u0435 \u0441\u043b\u043e\u043c\u0430\u043b\u0441\u044f \u2014 \u0432\u0434\u0440\u0443\u0433 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0447\u0442\u043e-\u0442\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u043e\u0441\u044c, \u0438 \u0443 \u0442\u0435\u0431\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 ansible-play \u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430. \u042d\u0442\u043e \u043a\u0430\u043a-\u0442\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f?<\/h4>\n<p>  <\/p>\n<p>\u0414\u0430, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u044d\u0442\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f. <\/p>\n<p>  <\/p>\n<p>\u0412 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u043c\u0438\u043c\u043e Ansible \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043b\u044e\u0431\u043e\u0433\u043e \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043c\u0435\u043d\u044f\u0442\u044c\u0441\u044f \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e. \u0422\u043e \u0435\u0441\u0442\u044c \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0445\u043e\u0434\u0438\u0442\u044c \u0440\u0443\u043a\u0430\u043c\u0438 \u0438 \u0442\u0430\u043c \u0447\u0442\u043e-\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c. \u0415\u0441\u043b\u0438 \u043e\u043d \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442, \u0442\u043e \u0437\u0430 \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043f\u043e \u0440\u0443\u043a\u0430\u043c \u0431\u0438\u0442\u044c. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u2014 \u044d\u0442\u043e \u0432\u043d\u043e\u0441\u0438\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u044c. \u0415\u0441\u043b\u0438 \u0432 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0440\u043e\u043b\u044f\u0445 \u043d\u0435\u0442 \u043d\u0443\u0436\u043d\u044b\u0445 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439, \u0442\u044b \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0448\u044c. <\/p>\n<p>  <\/p>\n<p>\u042d\u0442\u043e \u043f\u043e\u0434\u0445\u043e\u0434 \u00ab\u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a\u0430\u043a \u043a\u043e\u0434\u00bb (Infrastructure-as-Code, IaC). \u041a\u043e\u0434 \u0432 \u043a\u0430\u043a\u043e\u043c \u0441\u043c\u044b\u0441\u043b\u0435? \u041a\u043e\u0434 \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u0440\u0435\u0432\u044c\u044e, \u0442\u043e \u0435\u0441\u0442\u044c \u0442\u0432\u043e\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u0442\u044b \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0438 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u043c\u0435\u043d\u044f\u0435\u043c\u043e. <\/p>\n<p>  <\/p>\n<h4 id=\"rech-pro-konfiguracii\">\u0420\u0435\u0447\u044c \u043f\u0440\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438?<\/h4>\n<p>  <\/p>\n<p>\u0414\u0430. \u0422\u043e \u0435\u0441\u0442\u044c \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a\u0436\u0435 \u0432\u0435\u0441\u044c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u043a\u043e\u0434 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 GitLab, GitHub \u2014 \u0447\u0435\u043c \u0432\u044b \u0442\u0430\u043c \u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0435\u0441\u044c.<\/p>\n<p>  <\/p>\n<h4 id=\"ryadom-s-produktovym-kodom-ili-eto-otdelnaya-repa\">\u0420\u044f\u0434\u043e\u043c \u0441 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u044b\u043c \u043a\u043e\u0434\u043e\u043c? \u0418\u043b\u0438 \u044d\u0442\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f \u0440\u0435\u043f\u0430?<\/h4>\n<p>  <\/p>\n<p>\u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0430\u044f. \u042d\u0442\u043e \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u043f \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e. \u0418 \u043f\u043e\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u0434 \u0442\u0435\u043c \u043a\u0430\u043a \u0447\u0442\u043e-\u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c, \u0442\u044b \u0434\u0435\u043b\u0430\u0435\u0448\u044c merge request \u0441 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438 (\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a\u0430\u044f \u0441\u0445\u0435\u043c\u0430 \u0443 \u0432\u0430\u0441 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u043f\u0440\u0438\u043d\u044f\u0442\u0430). \u0412 \u043f\u0440\u043e\u0441\u0442\u0435\u0439\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u0438\u0448\u0435\u0448\u044c \u0432 \u0442\u0435\u043b\u0435\u0433\u0443 \u043a\u043e\u043b\u043b\u0435\u0433\u0435: \u00ab\u0412\u043e\u0442, \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u00bb \u0438 \u043a\u0438\u0434\u0430\u0435\u0448\u044c \u0441\u0441\u044b\u043b\u043a\u0443. \u041e\u043d \u0433\u043e\u0432\u043e\u0440\u0438\u0442: \u00ab\u0412\u0441\u0451 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e, \u0438\u0434\u0451\u043c \u043d\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u00bb. <\/p>\n<p>  <\/p>\n<p>\u0420\u0430\u0437 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043a\u0430\u043a \u043a\u043e\u0434, \u0443 \u043d\u0430\u0441 \u043a\u043e\u0434 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043f\u0430\u0439\u043f\u043b\u0430\u0439\u043d. \u0412\u0441\u0435\u0433\u0434\u0430 \u0441\u0430\u043c\u044b\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 \u0438\u043b\u0438 \u0432\u0442\u043e\u0440\u043e\u0439 job \u2014 \u044d\u0442\u043e lint. \u041a\u043e\u043c\u0430\u043d\u0434\u0430 ansible-lint \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u0434 \u043d\u0430 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u0434\u0430\u0435\u0442 \u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u043e\u0432\u0435\u0442\u044b. \u0415\u0441\u043b\u0438 \u0442\u044b \u0441\u0442\u0430\u0432\u0438\u0448\u044c \u043f\u0430\u043a\u0435\u0442, \u0432\u044b\u0437\u044b\u0432\u0430\u044f \u0435\u0433\u043e \u043a\u0430\u043a command &quot;yum&quot; \u0438\u043b\u0438 &quot;apt-get&quot; install, \u0442\u043e \u0442\u0435\u0431\u0435 \u043b\u0438\u043d\u0442\u0435\u0440 \u043d\u0430\u043f\u0438\u0448\u0435\u0442: \u00ab\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c yum \u0438\u043b\u0438 apt\u00bb. \u0422\u043e \u0435\u0441\u0442\u044c \u0442\u0443\u0442 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438, \u043d\u043e \u0438 \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430. <\/p>\n<p>  <\/p>\n<p>\u0420\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043a\u0440\u043e\u043c\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430, \u0435\u0441\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043d\u0435 \u0437\u043d\u0430\u0435\u0442 \u043e\u0431\u0449\u0435\u0433\u043e \u0437\u0430\u043c\u044b\u0441\u043b\u0430 \u0442\u0432\u043e\u0435\u0433\u043e \u043f\u043b\u0435\u0439\u0431\u0443\u043a\u0430 \u0438 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0437\u043d\u0430\u0442\u044c, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432 \u043a\u043e\u043d\u0446\u0435, \u0438\u0434\u0435\u043c\u043f\u043e\u0442\u0435\u043d\u0442\u043d\u0430 \u0434\u0430\u043d\u043d\u0430\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0438\u043b\u0438 \u043d\u0435\u0442. \u0415\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f Molecule. \u041e\u043d\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443&#8230;<\/p>\n<p>  <\/p>\n<h4 id=\"glavnyy-vopros-ne-na-prode-zhe-ty-eto-budesh-delat\">\u0413\u043b\u0430\u0432\u043d\u044b\u0439 \u0432\u043e\u043f\u0440\u043e\u0441: \u043d\u0435 \u043d\u0430 \u043f\u0440\u043e\u0434\u0435 \u0436\u0435 \u0442\u044b \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0448\u044c \u0434\u0435\u043b\u0430\u0442\u044c?<\/h4>\n<p>  <\/p>\n<p>\u0414\u0430, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0430, \u0432 \u043d\u0435\u0439 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0439 \u0434\u043b\u044f Molecule \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f Ansible \u043f\u043b\u0435\u0439\u0431\u0443\u043a.<\/p>\n<p>  <\/p>\n<h4 id=\"a-gde-garantiya-chto-virtualka-pohozha-na-prod\">\u0410 \u0433\u0434\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u044f, \u0447\u0442\u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0430 \u043f\u043e\u0445\u043e\u0436\u0430 \u043d\u0430 \u043f\u0440\u043e\u0434?<\/h4>\n<p>  <\/p>\n<p>\u041d\u0430\u0434\u043e \u0441\u0430\u043c\u043e\u043c\u0443 \u0441\u043b\u0435\u0434\u0438\u0442\u044c.<\/p>\n<p>  <\/p>\n<h4 id=\"prodakshn-u-nas-zhe-iznachalno-chistyy-kak-ya-ponimayu\">\u041f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u0443 \u043d\u0430\u0441 \u0436\u0435 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0447\u0438\u0441\u0442\u044b\u0439, \u043a\u0430\u043a \u044f \u043f\u043e\u043d\u0438\u043c\u0430\u044e?<\/h4>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u0443 \u043d\u0430\u0441 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u0447\u0438\u0441\u0442\u044b\u0439. \u0422\u043e \u0435\u0441\u0442\u044c \u0441 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u043e\u043d \u0443 \u043d\u0430\u0441 \u0441\u0434\u0435\u043b\u0430\u043d \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Ansible. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0435\u0441\u0442\u043e\u0432\u0430\u044f \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043a\u0430 \u043e\u0431\u044f\u0437\u0430\u043d\u0430 \u0431\u044b\u0442\u044c \u043f\u043e\u0445\u043e\u0436\u0430 \u043d\u0430 \u043f\u0440\u043e\u0434. \u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e, \u0442\u0443\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432\u043a\u0430\u0442\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c job\u2019\u043e\u043c. <\/p>\n<p>  <\/p>\n<h4 id=\"a-po-resursam-ona-tozhe-dolzhna-byt-takaya-zhe-kak-prod-ili-neobyazatelno\">\u0410 \u043f\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c \u043e\u043d\u0430 \u0442\u043e\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u0436\u0435, \u043a\u0430\u043a \u043f\u0440\u043e\u0434, \u0438\u043b\u0438 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e?<\/h4>\n<p>  <\/p>\n<p>\u042d\u0442\u043e \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f. \u0415\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Molecule \u0442\u044b \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u0448\u044c \u0435\u0449\u0451 \u0447\u0442\u043e-\u0442\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u0430\u043a\u0438\u0445-\u0442\u043e \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432\u2026 \u0423\u0441\u043b\u043e\u0432\u043d\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u0432\u044b\u043a\u0430\u0442\u044b\u0432\u0430\u0435\u0448\u044c \u0441\u0430\u0439\u0442, \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u0448\u044c Selenium (\u0442\u0430\u043a\u043e\u0435 \u0442\u043e\u0436\u0435 \u0431\u044b\u0432\u0430\u0435\u0442), \u0442\u043e, \u0435\u0441\u0442\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435. \u0415\u0441\u043b\u0438 \u043e\u043d \u0443 \u0442\u0435\u0431\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043d\u0430\u0431\u043e\u0440 \u0440\u043e\u043b\u0435\u0439, \u0442\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043d\u0443\u0436\u043d\u043e \u0440\u043e\u0432\u043d\u043e \u0441\u0442\u043e\u043b\u044c\u043a\u043e, \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u043e\u0442 Python \u0432 \u043f\u0430\u043c\u044f\u0442\u044c \u0432\u043b\u0435\u0437. <\/p>\n<p>  <\/p>\n<h4 id=\"tebe-kak-cheloveku-kotoryy-rabotaet-s-ansible-nuzhno-programmirovanie-ty-govoril-yazyk-razmetki-yaml-napisan-na-python-nuzhno-li-dopisyvat-kakie-to-moduli-eschyo-chto-to-prosto-chtoby-ponimali-developery-nuzhno-li-vladet-yazykom-pri-rabote-s-ansible\">\u0422\u0435\u0431\u0435 \u043a\u0430\u043a \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 Ansible, \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435? \u0422\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043b, \u044f\u0437\u044b\u043a \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438 YAML, \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Python, \u043d\u0443\u0436\u043d\u043e \u043b\u0438 \u0434\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u0438, \u0435\u0449\u0451 \u0447\u0442\u043e-\u0442\u043e. \u041f\u0440\u043e\u0441\u0442\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043d\u0438\u043c\u0430\u043b\u0438 \u0434\u0435\u0432\u0435\u043b\u043e\u043f\u0435\u0440\u044b: \u043d\u0443\u0436\u043d\u043e \u043b\u0438 \u0432\u043b\u0430\u0434\u0435\u0442\u044c \u044f\u0437\u044b\u043a\u043e\u043c \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Ansible?<\/h4>\n<p>  <\/p>\n<p>\u041c\u043e\u0436\u043d\u043e \u043d\u0435 \u0432\u043b\u0430\u0434\u0435\u0442\u044c. \u041d\u043e \u043b\u0443\u0447\u0448\u0435 \u0432\u043b\u0430\u0434\u0435\u0442\u044c. <\/p>\n<p>  <\/p>\n<h4 id=\"kakim-i-dlya-chego\">\u041a\u0430\u043a\u0438\u043c \u0438 \u0434\u043b\u044f \u0447\u0435\u0433\u043e?<\/h4>\n<p>  <\/p>\n<p>Python. \u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e, \u0435\u0441\u043b\u0438 \u043f\u043e\u0434 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0443\u044e \u0437\u0430\u0434\u0430\u0447\u0443 \u043d\u0435\u0442 \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u043e \u0432\u0441\u0451 \u0432 \u0432\u0438\u0434\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430 \u0438 \u0434\u0451\u0440\u0433\u0430\u0442\u044c \u0435\u0433\u043e \u0438\u0437 task, \u043d\u043e \u044d\u0442\u043e \u043f\u043b\u043e\u0445\u043e\u0439 \u0442\u043e\u043d, \u044d\u0442\u043e \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u00abbashsible\u00bb \u0432 \u043a\u043e\u043c\u044c\u044e\u043d\u0438\u0442\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0445 \u0441 Ansible. \u0418 \u044d\u0442\u043e \u043f\u0440\u044f\u043c \u0444\u0443-\u0444\u0443. <\/p>\n<p>  <\/p>\n<p>\u0427\u0430\u0449\u0435 \u0441\u043e\u0432\u0435\u0442\u0443\u044e\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u043f\u043e\u0434 \u0441\u0432\u043e\u044e \u0437\u0430\u0434\u0430\u0447\u0443. \u0415\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430 Shell, \u0434\u0430 \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0430 \u043b\u044e\u0431\u043e\u043c \u044f\u0437\u044b\u043a\u0435, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0442\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0432\u044b\u0437\u043e\u0432\u043e\u0432, \u043d\u043e \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0430 \u043d\u0430\u0442\u0438\u0432\u043d\u043e\u043c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0434\u0435\u043b\u0430. <\/p>\n<p>  <\/p>\n<h4 id=\"nativnom-dlya-ansible-da\">\u041d\u0430\u0442\u0438\u0432\u043d\u043e\u043c \u0434\u043b\u044f Ansible, \u0434\u0430?<\/h4>\n<p>  <\/p>\n<p>\u0414\u0430. <\/p>\n<p>  <\/p>\n<h4 id=\"potomu-chto-mozhno-na-c-poprobovat-eto-sdelat\">\u041f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043d\u0430 C \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c.<\/h4>\n<p>  <\/p>\n<p>\u041d\u0443, \u0435\u0441\u043b\u0438 \u0437\u0430\u0442\u0440\u0430\u0447\u0435\u043d\u043d\u044b\u0435 \u0443\u0441\u0438\u043b\u0438\u044f \u0431\u0443\u0434\u0443\u0442 \u043e\u043f\u0440\u0430\u0432\u0434\u0430\u043d\u044b, \u043f\u043e\u0447\u0435\u043c\u0443 \u0431\u044b \u0438 \u043d\u0435\u0442.<\/p>\n<p>  <\/p>\n<h4 id=\"kakie-est-bolee-ili-menee-populyarnye-analogi-ansible-ili-eto-monopolist-na-rynke\">\u041a\u0430\u043a\u0438\u0435 \u0435\u0441\u0442\u044c \u0431\u043e\u043b\u0435\u0435 \u0438\u043b\u0438 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0430\u043d\u0430\u043b\u043e\u0433\u0438 Ansible? \u0418\u043b\u0438 \u044d\u0442\u043e \u043c\u043e\u043d\u043e\u043f\u043e\u043b\u0438\u0441\u0442 \u043d\u0430 \u0440\u044b\u043d\u043a\u0435?<\/h4>\n<p>  <\/p>\n<p>\u041d\u0435\u0442, \u044d\u0442\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043d\u0435 \u043c\u043e\u043d\u043e\u043f\u043e\u043b\u0438\u0441\u0442. \u0417\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0440\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f (\u0432 \u0441\u043c\u044b\u0441\u043b\u0435 \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0438\u0435 \u0431\u043e\u043b\u0435\u0435 \u0434\u043b\u0438\u043d\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u044f) \u2014 \u044d\u0442\u043e Chef \u0438 CFEngine. \u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0441\u0435\u0439\u0447\u0430\u0441 \u0443\u0436\u0435 \u043c\u0430\u043b\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f.<\/p>\n<p>  <\/p>\n<h4 id=\"oni-vse-rabotayut-primerno-odinakovo\">\u041e\u043d\u0438 \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e?<\/h4>\n<p>  <\/p>\n<p>\u041e\u043d\u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043a\u0430\u043a pull: \u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u043e\u0439 \u043d\u043e\u0434\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u044f\u043d\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e.<\/p>\n<p>  <\/p>\n<h4 id=\"ansible--edinstvennyy-kto-delaet-push-iz-krupnyh\">Ansible \u2014 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439, \u043a\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 push \u0438\u0437 \u043a\u0440\u0443\u043f\u043d\u044b\u0445?<\/h4>\n<p>  <\/p>\n<p>Ansible \u0443\u043c\u0435\u0435\u0442 pull, \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0435\u0433\u043e \u0440\u0435\u0436\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u044b. SaltStack \u0442\u043e\u0436\u0435 \u0443\u043c\u0435\u0435\u0442 push, \u043d\u043e \u044d\u0442\u043e \u043d\u0435 \u0435\u0433\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0440\u0435\u0436\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u044b. Ansible, \u043c\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0432 \u044d\u0442\u043e\u043c \u043f\u043b\u0430\u043d\u0435 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439. \u041d\u0443 \u0438 \u0432\u0438\u0434\u0438\u043c\u043e, \u043d\u0430\u0440\u043e\u0434\u0443 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044f \u0441\u043c\u043e\u0442\u0440\u044e \u0432\u0440\u0435\u043c\u044f \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 Google Trends \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c, \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u043c\u0441\u044f \u043a Chef, \u043a Ansible, \u0438 \u0432\u0438\u0436\u0443, \u0447\u0442\u043e Ansible \u043d\u0430\u0431\u0438\u0440\u0430\u0435\u0442 \u0432\u0441\u0451 \u0431\u043e\u043b\u044c\u0448\u0443\u044e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0441\u0442\u044c. \u0411\u043e\u043b\u0435\u0435 \u0441\u0442\u0430\u0440\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u044f\u0442\u0438\u043b\u0435\u0442\u043d\u0435\u043c \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u0435 \u0435\u0451 \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u0442\u0435\u0440\u044f\u044e\u0442. \u0425\u043e\u0442\u044f \u0435\u0441\u0442\u044c \u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430 \u043d\u0438\u0445 \u0442\u043e\u043f\u044f\u0442 \u0438 \u0438\u0445 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442.<\/p>\n<p>  <\/p>\n<h4 id=\"mozhet-est-kakie-to-knigi-chto-mozhno-pochitat-chtoby-bazovo-poznakomitsya-s-ansible\">\u041c\u043e\u0436\u0435\u0442, \u0435\u0441\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043a\u043d\u0438\u0433\u0438, \u0447\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0431\u0430\u0437\u043e\u0432\u043e \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 Ansible?<\/h4>\n<p>  <\/p>\n<p>\u0417\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 Ansible \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438. \u041d\u0430 <a href=\"https:\/\/docs.ansible.com\/\">docs.ansible.com<\/a> \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u044b \u0438 \u0441\u0430\u043c\u044b\u0435 \u043e\u0441\u043d\u043e\u0432\u044b, \u0438 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043f\u043b\u0435\u0439\u0431\u0443\u043a\u043e\u0432, \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u0432\u0441\u0451 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e.<br \/>  \u042f \u0435\u0449\u0435 \u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u043a\u043d\u0438\u0433\u0443 <a href=\"https:\/\/www.oreilly.com\/library\/view\/ansible-up-and\/9781491915318\/\">Ansible: Up and Running<\/a>. \u041a\u043d\u0438\u0433\u0430 \u043d\u0435\u043f\u043b\u043e\u0445\u0430\u044f, \u043d\u043e Ansible \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043d\u043e\u0433\u0438\u0435 \u0432\u0435\u0449\u0438 \u0432 \u043d\u0435\u0439 \u0443\u0436\u0435 \u0443\u0441\u0442\u0430\u0440\u0435\u043b\u0438. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043b\u0443\u0447\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u043d\u043e \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435, \u043e\u043d\u0430 \u0442\u0430\u043c \u0432\u0441\u0435\u0433\u0434\u0430 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u0430.<\/p>\n<p>  <\/p>\n<p>\u0412\u043e\u043f\u0440\u043e\u0441\u044b \u0437\u0430\u0434\u0430\u0432\u0430\u043b \u041b\u0435\u043a\u0441 \u0410\u0439\u0422\u0438\u0411\u043e\u0440\u043e\u0434\u0430 <a href=\"https:\/\/habr.com\/ru\/users\/iamitbeard\/\" class=\"user_link\">iamitbeard<\/a><\/p>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/531704\/\"> https:\/\/habr.com\/ru\/company\/southbridge\/blog\/531704\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\n<p><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/s4\/nq\/nr\/s4nqnrmbcbt4uu7edkv4qpjmdfo.png\"><\/p>\n<p>  <\/p>\n<p>\u0412 \u0447\u0451\u043c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0441 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u043a\u0430\u043a \u043f\u043e\u0437\u0430\u0431\u043e\u0442\u0438\u0442\u044c\u0441\u044f \u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0432 Kubernetes? \u041a\u0430\u043a \u0432\u0440\u0443\u0431\u0438\u0442\u044c\u0441\u044f \u0432 Ansible? \u041e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u044d\u0442\u0438 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0432 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0438 \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u041b\u0435\u043a\u0441\u0430 \u0410\u0439\u0422\u0438\u0411\u043e\u0440\u043e\u0434\u044b \u0441\u043e \u0441\u0442\u0430\u0440\u0448\u0438\u043c \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u043e\u043c Southbridge \u041d\u0438\u043a\u043e\u043b\u0430\u0435\u043c \u041c\u0435\u0441\u0440\u043e\u043f\u044f\u043d\u043e\u043c \u0438 \u0421\u0422\u041e \u00ab\u0421\u043b\u0451\u0440\u043c\u0430\u00bb \u041c\u0430\u0440\u0441\u0435\u043b\u0435\u043c \u0418\u0431\u0440\u0430\u0435\u0432\u044b\u043c.<\/p>\n<p>  <\/p>\n<p><a href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/530226\/\">\u041f\u0440\u043e\u0447\u0435\u0441\u0442\u044c \u043f\u0435\u0440\u0432\u0443\u044e \u0447\u0430\u0441\u0442\u044c<\/a><br \/>  <a href=\"https:\/\/www.youtube.com\/watch?v=V8rwPMlAKV0&amp;feature=youtu.be\">\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0432\u044c\u044e \u0446\u0435\u043b\u0438\u043a\u043e\u043c<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-314447","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/314447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=314447"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/314447\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=314447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=314447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=314447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}