{"id":290046,"date":"2018-09-28T14:45:03","date_gmt":"2018-09-28T10:45:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=290046"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=290046","title":{"rendered":"\u041a\u0430\u043a \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c Kubernetes"},"content":{"rendered":"\n<div class=\"post__text post__text-html js-mediator-article\">\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440 \u043f\u043e\u0439\u0434\u0435\u0442 \u043e DevOps, \u0430 \u0442\u043e\u0447\u043d\u0435\u0435 \u2014 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043e\u0431 Ops. \u0413\u043e\u0432\u043e\u0440\u044f\u0442, \u0447\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e \u043b\u044e\u0434\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u044b \u0443\u0440\u043e\u0432\u043d\u0435\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0432\u043e\u0435\u0433\u043e operations. \u041d\u043e, \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043c\u0430. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u041d\u0438\u043a\u043e\u043b\u0430\u0439 \u0420\u044b\u0436\u0438\u043a\u043e\u0432 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u0442 \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f Kubernetes.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/11O09O3qYBmWfee2f_8ewuqyj5UoFFyGBf1SO3IfM-BJ_7ZMfx-uy4Gkt1OnMk6AF3LjEX8t0i8oyEC0-SridmVZnjpRgE1JuTL7G1goVl52S49yxufl0xgs5OQmC7wRrVO-uDGH\"\/><\/p>\n<p>  \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f \u041d\u0438\u043a\u043e\u043b\u0430\u044f \u043d\u0430 \u043e\u0441\u0435\u043d\u043d\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DevOops 2017. \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u2014 \u0432\u0438\u0434\u0435\u043e \u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0430\u044f \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u0434\u043e\u043a\u043b\u0430\u0434\u0430.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<div class=\"oembed\">\n<div>\n<div style=\"left: 0; width: 100%; height: 0; position: relative; padding-bottom: 56.2493%;\"><iframe src=\"https:\/\/www.youtube.com\/embed\/3BMTNx2xCtQ?rel=0&amp;showinfo=1&amp;hl=en-US\" style=\"border: 0; top: 0; left: 0; width: 100%; height: 100%; position: absolute;\" allowfullscreen scrolling=\"no\"><\/iframe><\/div>\n<\/div>\n<\/div>\n<p>  <i>\u0412 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u041d\u0438\u043a\u043e\u043b\u0430\u0439 \u0420\u044b\u0436\u0438\u043a\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 Health-IT \u0441\u0435\u043a\u0442\u043e\u0440\u0435 \u043d\u0430\u0434 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u0438\u0445 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c. \u0427\u043b\u0435\u043d \u043f\u0438\u0442\u0435\u0440\u0441\u043a\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432 FPROG. \u0410\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a Online Clojure community, member \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430 \u043f\u043e \u043e\u0431\u043c\u0435\u043d\u0443 \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0441\u043a\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 HL7 FHIR. \u0417\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c 15 \u043b\u0435\u0442.<\/i>  <\/p>\n<hr\/>\n<p>  \u041a\u0430\u043a\u0438\u043c \u0431\u043e\u043a\u043e\u043c \u043c\u044b \u043e\u0442\u043d\u043e\u0441\u0438\u043c\u0441\u044f \u043a DevOps? \u041d\u0430\u0448\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u0430 DevOps \u0443\u0436\u0435 \u043d\u0430 \u043f\u0440\u043e\u0442\u044f\u0436\u0435\u043d\u0438\u0438 10 \u043b\u0435\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0430: \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u0437\u0430 operations, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0434\u0435\u043f\u043b\u043e\u044f\u0442, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043c\u0435\u0439\u043d\u0442\u0435\u0439\u043d\u044f\u0442. \u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u0439 \u0440\u0430\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0436\u0435\u0441\u0442\u043a\u043e\u0432\u0430\u0442\u043e, \u0432\u044b \u0432 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0442\u0430\u043d\u0435\u0442\u0435 DevOps. \u0415\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u0431\u043e\u043b\u0435\u0437\u043d\u0435\u043d\u043d\u043e \u0432\u043d\u0435\u0434\u0440\u0438\u0442\u044c DevOps \u2014 \u0437\u0430\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u0437\u0430 \u0432\u0430\u0448 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d. \u0415\u0441\u043b\u0438 \u0440\u0435\u0431\u044f\u0442\u0430 \u0441\u043c\u044b\u0448\u043b\u0435\u043d\u044b\u0435, \u0442\u043e \u043d\u0430\u0447\u043d\u0443\u0442 \u0432\u044b\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u0432\u0441\u0451 \u043f\u043e\u0439\u043c\u0443\u0442.<br \/>  <img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/-DUOHDCK4QfR9Ejb7yQCKr4OgXeKYeXZl33c9OIjmKhUIequCY5bJo5sjyaCaSJVwMe9fpkNKvgL7iu8mrN0aMB7Gj0usv9h3YT_GxY9TZGw6ADeb0946ttCzNjkpZsCMujfIAT6\"\/><br \/>  \u041d\u0430\u0448\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f: \u0434\u0430\u0432\u043d\u043e, \u043a\u043e\u0433\u0434\u0430 \u0435\u0449\u0435 \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0438\u043a\u0430\u043a\u0438\u0445 Chef \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u043c\u044b \u0443\u0436\u0435 \u0434\u0435\u043f\u043b\u043e\u0438\u043b\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 Capistrano. \u041f\u043e\u0442\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0438 \u0435\u0433\u043e \u0440\u0430\u0441\u0442\u0430\u0447\u0438\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043f\u0440\u043e\u0432\u0438\u0436\u0438\u043d\u0438\u043b \u043c\u043e\u0434\u044b. \u041d\u043e \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f Chef. \u041c\u044b \u043f\u0435\u0440\u0435\u0448\u043b\u0438 \u043d\u0430 \u043d\u0435\u0433\u043e \u0438 \u0443\u0435\u0445\u0430\u043b\u0438 \u0432 \u043e\u0431\u043b\u0430\u043a\u043e: \u043d\u0430\u043c \u043d\u0430\u0434\u043e\u0435\u043b\u0438 \u0441\u0432\u043e\u0438 \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440\u044b. \u041f\u043e\u0442\u043e\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f Ansible, \u0432\u043e\u0437\u043d\u0438\u043a Docker. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043f\u0435\u0440\u0435\u0435\u0445\u0430\u043b\u0438 \u043d\u0430 Terraform \u0441 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0440\u0443\u0447\u043d\u043e-\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u0441\u0443\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\u043e\u043c \u0434\u043e\u043a\u0435\u0440\u043e\u0432 Condo \u043d\u0430 Camel. \u0418 \u0432\u043e\u0442 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043f\u0435\u0440\u0435\u0435\u0437\u0436\u0430\u0435\u043c \u043d\u0430 Kubernetes. <br \/>  <img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/VMldudmSs3U_XQdvJVcB99dAHi8tWH5hEfJCBlGC6-xkU-5QlcFGYllluxmoSrtUdGvKaeyFPobWe8u3qSar5B-2lyGdyjTQsHQ78tfwObVrBzt7Xmh6pcmvEsjHoTgxRkAX33Gl\"\/><br \/>  \u0427\u0442\u043e \u0441\u0430\u043c\u043e\u0435 \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0435 \u0432 operations? \u041e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e \u043a\u0442\u043e \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u0435\u043d \u0443\u0440\u043e\u0432\u043d\u0435\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0432\u043e\u0435\u0433\u043e operations. \u042d\u0442\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e, \u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044e: \u043c\u044b \u0437\u0430\u0442\u0440\u0430\u0442\u0438\u043b\u0438 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438 \u0443\u0441\u0438\u043b\u0438\u0439, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u044d\u0442\u0438 \u0441\u0442\u0435\u043a\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0434\u043b\u044f \u0441\u0435\u0431\u044f, \u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043d\u0435\u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439. <\/p>\n<p>  \u0415\u0441\u0442\u044c \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u0435, \u0447\u0442\u043e \u0441 \u043f\u0440\u0438\u0445\u043e\u0434\u043e\u043c Kubernetes \u0447\u0442\u043e-\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c\u0441\u044f. \u042f \u043f\u0440\u0438\u0432\u0435\u0440\u0436\u0435\u043d\u0435\u0446 \u0431\u0435\u0440\u0435\u0436\u043b\u0438\u0432\u043e\u0433\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0441\u0442\u0432\u0430 \u0438, \u0441 \u0435\u0433\u043e \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f, operations \u0432\u043e\u043e\u0431\u0449\u0435 \u043d\u0435 \u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442 \u043f\u043e\u043b\u044c\u0437\u044b. \u0418\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439 operations \u2014 \u044d\u0442\u043e \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u0438\u043b\u0438 \u043c\u0438\u043d\u0438\u043c\u0443\u043c operations \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435. \u0426\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0434\u0435\u043b\u0430\u0435\u0442 \u043f\u0440\u043e\u0434\u0443\u043a\u0442. \u041a\u043e\u0433\u0434\u0430 \u043e\u043d \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432, \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0430 \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0446\u0435\u043d\u043d\u043e\u0441\u0442\u044c. \u0410 \u0432\u0435\u0434\u044c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u043a\u0440\u0430\u0449\u0430\u0442\u044c \u0438\u0437\u0434\u0435\u0440\u0436\u043a\u0438. <br \/>  <img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/4rEnBGUjjpWJq0WGTGXezY0VzKaEQs1Zi5_7-FHs19DTBhYYhEnDZUTLgU0q5y8-4CKth5dWjGzuWAUMO40tqKUDDSu2qSYy_0YJ_k55MNwTMDMZ1lNUt2ZZj7DkMcFkiG_rWeyF\"\/><br \/>  \u0414\u043b\u044f \u043c\u0435\u043d\u044f \u0438\u0434\u0435\u0430\u043b\u043e\u043c \u0432\u0441\u0435\u0433\u0434\u0430 \u044f\u0432\u043b\u044f\u043b\u0441\u044f heroku. \u041c\u044b \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0433\u0434\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u0432\u043e\u0439 \u0441\u0435\u0440\u0432\u0438\u0441, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c git push \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c heroku. \u042d\u0442\u043e \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u043c\u0438\u043d\u0443\u0442\u0443.<br \/>  <img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/5x_X_g5C-kxG-udDAuWt5czTHSLtR7oguuWKpscjliBjJI3pmQN_pCJQsGc1x8qj1tuMGa4xL5xzCcNboAFP-WJ0Slc8dPSTAXODbKY5bt-bhT1TXQnCFml-MFBKF1VlB45Wc-fI\"\/><br \/>  \u041a\u0430\u043a \u0431\u044b\u0442\u044c? \u041c\u043e\u0436\u043d\u043e \u043a\u0443\u043f\u0438\u0442\u044c NoOps \u2014 \u0442\u043e\u0436\u0435 heroku. \u0418 \u0441\u043e\u0432\u0435\u0442\u0443\u044e \u043a\u0443\u043f\u0438\u0442\u044c, \u0438\u043d\u0430\u0447\u0435 \u0435\u0441\u0442\u044c \u0448\u0430\u043d\u0441 \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0435\u043d\u0435\u0433 \u043d\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u043e\u0433\u043e operations. <\/p>\n<p>  \u0415\u0441\u0442\u044c \u0440\u0435\u0431\u044f\u0442\u0430 Deis, \u043e\u043d\u0438 \u043f\u044b\u0442\u0430\u044e\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0442\u0438\u043f\u0430 heroku \u043d\u0430 Kubernetes. \u0415\u0441\u0442\u044c cloud foundry, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0436\u0435 \u0434\u0430\u0435\u0442 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. <br \/>  <img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/qsQ14h1K66kCH38Moj3mZrU164fzuDfIdHHDAEscCXFBg52OYyrThQOCDi_WZf8ryYkzCoj5VzrtwXi4wFBjtnB1BIJU7QnkP_dcrT8EbNr20yLEQdZCziNrB5lo8fzG-lz_JclU\"\/><br \/>  \u041d\u043e \u0435\u0441\u043b\u0438 \u0437\u0430\u043c\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0447\u0442\u043e-\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u043e\u0435 \u0438\u043b\u0438 \u043a\u0440\u0443\u043f\u043d\u043e\u0435, \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u043c\u0443. \u0422\u0435\u043f\u0435\u0440\u044c \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 Docker \u0438 Kubernetes \u044d\u0442\u043e \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0437\u0430\u0434\u0430\u0447\u0435\u0439, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c\u043e\u0439 \u0437\u0430 \u0440\u0430\u0437\u0443\u043c\u043d\u044b\u0435 \u0441\u0440\u043e\u043a\u0438 \u0441 \u0440\u0430\u0437\u0443\u043c\u043d\u044b\u043c\u0438 \u0437\u0430\u0442\u0440\u0430\u0442\u0430\u043c\u0438. \u041a\u043e\u0433\u0434\u0430-\u0442\u043e \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u0436\u0435\u0441\u0442\u043a\u043e.<br \/>  <img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/BjdzGx45DQ5XXnrEWHCv23yOe9qwVWqL-D3-QMEtWOlWeVEDXFSN5qWBu6kTbVWktPmvRB2cQOI5y7QfO_mENYFwYYaKtUyy4G_hiatG4Yrg10qjKNq0Grr5Ji1Om4cQLjj9-PoT\"\/>  <\/p>\n<h2>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043e Docker \u0438 Kubernetes<\/h2>\n<p>  \u041e\u0434\u043d\u0430 \u0438\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c operations \u2014 \u044d\u0442\u043e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u043c\u043e\u0441\u0442\u044c. \u041f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u0430\u044f \u0432\u0435\u0449\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043f\u0440\u0438\u0432\u043d\u0435\u0441 \u0434\u043e\u043a\u0435\u0440 \u2014 \u0434\u0432\u0435 \u0444\u0430\u0437\u044b. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0444\u0430\u0437\u0430 \u0431\u0438\u043b\u0434\u0430. <\/p>\n<p>  \u0412\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0430\u0434\u0443\u0435\u0442 \u0432 \u0434\u043e\u043a\u0435\u0440\u0435 \u2014 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u041a\u0442\u043e-\u0442\u043e \u0441\u043e\u0431\u0440\u0430\u043b Docker, \u0447\u0442\u043e-\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u044c \u043f\u043e\u043b\u043e\u0436\u0438\u043b, \u0430 operations \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c Docker run \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/sh45sotqHx_HCnzSkCAbKLmJvlxaTAWuEAqsUlnLhxMHTJldQ2dI0imtoEZVVIqks3RDVwKhrSU9s19SZWxPW9ZDJm-Dno5j3fTc4ERI0t8_S-mCP_chm6tYHKiIDXAmjdASwJUm\"\/><\/p>\n<p>  \u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Kubernetes? \u0412\u043e\u0442 \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 Docker \u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0435\u0433\u043e \u0433\u0434\u0435-\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c, \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0442\u044c, \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0442\u044c \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438. Kubernetes \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c. \u041e\u043d \u0432\u0432\u043e\u0434\u0438\u0442 \u0440\u044f\u0434 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u00ab\u0440\u0435\u0441\u0443\u0440\u0441\u00bb. \u041c\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u043e \u043d\u0438\u043c \u043f\u0440\u043e\u0439\u0434\u0435\u043c\u0441\u044f \u0438 \u0434\u0430\u0436\u0435 \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u0441\u043e\u0437\u0434\u0430\u0442\u044c.<\/p>\n<h2>\u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438<\/h2>\n<p>  \u041f\u0435\u0440\u0432\u0430\u044f \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f \u2014 POD \u0438\u043b\u0438 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432. \u0413\u0440\u0430\u043c\u043e\u0442\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u043d\u043e, \u0447\u0442\u043e \u0438\u043c\u0435\u043d\u043d\u043e <b>\u043d\u0430\u0431\u043e\u0440 <\/b>\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432, \u0430 \u043d\u0435 \u043e\u0434\u0438\u043d. \u041d\u0430\u0431\u043e\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u0448\u0430\u0440\u0438\u0442\u044c \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 volumes, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0438\u0434\u044f\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430 \u0447\u0435\u0440\u0435\u0437 localhost. \u042d\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043f\u0430\u0442\u0442\u0435\u0440\u043d, \u043a\u0430\u043a sidecar (\u044d\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440, \u0430 \u0440\u044f\u0434\u043e\u043c \u0435\u0441\u0442\u044c \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u043c\u0443 \u043f\u043e\u043c\u043e\u0433\u0430\u044e\u0442). <\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e\u0434\u0445\u043e\u0434 ambassador. \u042d\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0434\u0443\u043c\u0430\u043b, \u0433\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u044b. \u0412\u044b \u0441\u0442\u0430\u0432\u0438\u0442\u0435 \u0440\u044f\u0434\u043e\u043c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u043d\u0430\u0435\u0442, \u0433\u0434\u0435 \u044d\u0442\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043b\u0435\u0436\u0430\u0442. \u0418 \u043e\u043d\u0438 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0433\u043b\u0430\u0432\u043d\u043e\u043c\u0443 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0443 \u043f\u043e localhost. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c environment \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a, \u043a\u0430\u043a \u0431\u0443\u0434\u0442\u043e \u0432\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e.<br \/>  <img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/cPuq8Y8V5LmOi3k4Q6Ur3yceyYsEfDPv1BF78qf1gwENgMDG7jDYptfj27xXAAMRdCdhY1bTmE3PRkpCq9N7VjUP11xh-E4LCNym1voRFNc9oiEhRoAoH1f2IT-xOo0Pxm2a3jli\"\/><br \/>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u043c POD \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043e\u043d \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442\u0441\u044f. \u041b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c minikube. \u041e\u043d \u0441\u0436\u0438\u0440\u0430\u0435\u0442 \u043a\u0443\u0447\u0443 CPU, \u043d\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043d\u0430 virtualbox \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 Kubernetes-\u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0438 \u0441 \u043d\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. <\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u043c POD. \u042f \u0441\u043a\u0430\u0437\u0430\u043b Kubernetes apply \u0438 \u0437\u0430\u043b\u0438\u043b POD. \u041c\u043e\u0433\u0443 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u0430\u043a\u0438\u0435 \u0443 \u043c\u0435\u043d\u044f \u0435\u0441\u0442\u044c POD-\u044b: \u0432\u0438\u0436\u0443, \u0447\u0442\u043e \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0435\u043d \u043e\u0434\u0438\u043d POD. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e Kubernetes \u0443 \u0441\u0435\u0431\u044f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b \u044d\u0442\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/kN04vXb_ypxWbp2UG7a734HGeVjXZR0qpukJZIstoTcNtM1J8hwfLtzS_b3mAyuuQgvo2BGvOLkLZf5YTYuNEQYOK6nKqY6VNcsK3cfDtauCgRrQlsiig_WsR5BCZp8FcN1wWufy\" \/><\/div>\n<p>  \u042f \u043c\u043e\u0433\u0443 \u0434\u0430\u0436\u0435 \u0437\u0430\u0439\u0442\u0438 \u0432 \u044d\u0442\u043e\u0442 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/-h0OUDAW7h2Rrv3AcHuz-SWKPaZIULkALyDS-aGO4dAuftXVR_yjcdvy_JgfJ1_9pQLM-9gFOPDT8R0fDkrbREHUTNLT74ytUtsSLUapLii0Z0Gg0gyvLWb_F9BmCqD9taVShTKC\" \/><\/div>\n<p>  \u0421 \u044d\u0442\u043e\u0439 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f Kubernetes \u0441\u0434\u0435\u043b\u0430\u043d \u0434\u043b\u044f \u043b\u044e\u0434\u0435\u0439. \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0434\u0435\u043b\u0430\u0435\u043c \u0432 operations, \u0432 \u043e\u0431\u0432\u044f\u0437\u043a\u0435 Kubernetes, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u044b kubectl, \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u043b\u0435\u0433\u043a\u043e.<\/p>\n<p>  \u041d\u043e POD \u2014 \u043e\u043d \u0441\u043c\u0435\u0440\u0442\u043d\u044b\u0439. \u041e\u043d \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a Docker run: \u0435\u0441\u043b\u0438 \u0435\u0433\u043e \u043a\u0442\u043e-\u0442\u043e \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442, \u043d\u0438\u043a\u0442\u043e \u0435\u0433\u043e \u043d\u0435 \u043f\u0435\u0440\u0435\u043f\u043e\u0434\u043d\u0438\u043c\u0435\u0442. \u041f\u043e\u0432\u0435\u0440\u0445 \u044d\u0442\u043e\u0439 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 Kubernetes \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u2014 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, replicaset. \u042d\u0442\u043e \u0442\u0430\u043a\u043e\u0439 \u0441\u0443\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0435\u0434\u0438\u0442 \u0437\u0430 POD-\u043e\u043c, \u0441\u043b\u0435\u0434\u0438\u0442 \u0437\u0430 \u0438\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c, \u0438 \u0435\u0441\u043b\u0438 POD-\u044b \u043f\u0430\u0434\u0430\u044e\u0442, \u043e\u043d \u0438\u0445 \u043f\u0435\u0440\u0435\u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442. \u042d\u0442\u043e \u0432\u0430\u0436\u043d\u0430\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u0441\u0430\u043c\u043e\u0438\u0437\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0432 Kubernetes, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043f\u043e\u043a\u043e\u0439\u043d\u043e \u0441\u043f\u0430\u0442\u044c \u043f\u043e \u043d\u043e\u0447\u0430\u043c. <\/p>\n<p>  \u041f\u043e\u0432\u0435\u0440\u0445 replicaset \u0435\u0441\u0442\u044c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f deployment \u2014 \u0442\u043e\u0436\u0435 \u0440\u0435\u0441\u0443\u0440\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c zero time deployment. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043e\u0434\u0438\u043d replicaset. \u041a\u043e\u0433\u0434\u0430 \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c deploy \u0438 \u043c\u0435\u043d\u044f\u0435\u043c \u0432\u0435\u0440\u0441\u0438\u044e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430\u0448\u0435\u0433\u043e, \u0432\u043d\u0443\u0442\u0440\u0438 \u0434\u0435\u043f\u043b\u043e\u0439\u043c\u0435\u043d\u0442\u0430, \u0442\u043e \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0434\u0440\u0443\u0433\u043e\u0439 replicaset. \u041c\u044b \u0434\u043e\u0436\u0438\u0434\u0430\u0435\u043c\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u044d\u0442\u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b \u0441\u0442\u0430\u0440\u0442\u0430\u043d\u0443\u0442, \u043f\u0440\u043e\u0439\u0434\u0443\u0442 \u0441\u0432\u043e\u0438 health-\u0447\u0435\u043a\u0438, \u0438 \u043f\u043e\u0442\u043e\u043c \u043c\u044b \u0431\u044b\u0441\u0442\u0440\u043e \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0430\u0435\u043c\u0441\u044f \u043d\u0430 \u043d\u043e\u0432\u044b\u0439 replicaset. \u0422\u043e\u0436\u0435 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0438 \u0445\u043e\u0440\u043e\u0448\u0430\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0430. <br \/>  <img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/quOPkwfQ4-jqzu9GH8yK3xRNqr-CBp23U_LbDbJr2lOWpLENYT2ALYtN4wN_t8-YxeYGA_rfUIPFgsJmzKKfDwLUU2vWKmjIm6nhRuTy5VVnLAmIkfpPAo-wTdOAc6wry7Xs1e5K\"\/><br \/>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0434\u043d\u0438\u043c\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0439 \u0441\u0435\u0440\u0432\u0438\u0441. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c deployment. \u0412\u043d\u0443\u0442\u0440\u0438 \u043e\u043d \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0448\u0430\u0431\u043b\u043e\u043d POD-\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0442\u044c. \u041c\u043e\u0436\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 deployment, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c. \u041a\u0440\u0443\u0442\u0430\u044f \u0444\u0438\u0447\u0430 Kubernetes \u2014 \u0432\u0441\u0435 \u043b\u0435\u0436\u0438\u0442 \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435. <\/p>\n<p>  \u0412\u043e\u0442 \u043c\u044b \u0432\u0438\u0434\u0438\u043c \u043e\u0434\u0438\u043d deployment. \u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 POD-\u044b, \u0442\u043e \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u0434\u043d\u044f\u043b\u0441\u044f \u043a\u0430\u043a\u043e\u0439-\u0442\u043e POD. \u041c\u043e\u0436\u0435\u043c \u0432\u0437\u044f\u0442\u044c \u0438 \u0443\u0434\u0430\u043b\u0438\u0442\u044c \u044d\u0442\u043e\u0442 POD. \u0427\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441 POD-\u0430\u043c\u0438? \u041e\u0434\u0438\u043d \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0430\u0435\u0442\u0441\u044f, \u0430 \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f. \u042d\u0442\u043e replicaset-\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043d\u0435 \u043d\u0430\u0448\u0435\u043b \u043d\u0443\u0436\u043d\u044b\u0439 POD \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b \u0434\u0440\u0443\u0433\u043e\u0439.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/HbAbdERtMUr3VDsAqzKMMR2268FaVAF5mRnAY9Cu8r0RUXrlRErkXfvqkxpGOT0sMaNyXCR2DuOnELoLLMa5Hw_V4ZTCEn8anxH3cpP_mvaMJO9zWpiY64UXP9ZHcE0z_N-vo5mr\" \/><\/div>\n<p>  \u0414\u0430\u043b\u0435\u0435, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0438\u0441, \u0438\u043b\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0430\u0448\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f, \u043d\u0443\u0436\u0435\u043d service discovery. \u041d\u0430\u0434\u043e \u0434\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441\u0443 \u0438\u043c\u044f \u0438 \u0442\u043e\u0447\u043a\u0443 \u0432\u0445\u043e\u0434\u0430. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e Kubernetes \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u0440\u0435\u0441\u0443\u0440\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f service. \u041e\u043d \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f load balancing \u0438 \u043e\u0442\u0432\u0435\u0447\u0430\u0442\u044c \u0437\u0430 service discovery.<br \/>  <img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/COWZUR-c_oL1XZyQIPFBH7Umv7FKjyI_YOMu1_CfKu7g7XQPICVzsJKPpAxbsqVJ3miNi-E1s4gjUIiLGsJPIMZ4bTuYcf5zQpv1cDApWjHfGsYADiINf-1_NpCl4dvF3K5odsiq\"\/><br \/>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0439 service. \u041c\u044b \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c \u0435\u0433\u043e \u0441 \u0434\u0435\u043f\u043b\u043e\u0439\u043c\u0435\u043d\u0442\u043e\u043c \u0438 POD-\u0430\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 \u043b\u0435\u0439\u0431\u043b\u044b: \u0442\u0430\u043a\u043e\u0435 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u043d\u0438\u0435. \u041e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u0430\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u0432 Kubernetes: \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u0438\u043d\u0430\u043c\u0438\u0447\u0435\u0441\u043a\u0430\u044f. \u041d\u0435\u0432\u0430\u0436\u043d\u043e, \u0432 \u043a\u0430\u043a\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0432\u0441\u0435 \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u043e. Service \u0431\u0443\u0434\u0435\u0442 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0439\u0442\u0438 POD-\u044b \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u043b\u0435\u0439\u0431\u043b\u0430\u043c\u0438 \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u0438\u0445 load balance. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/66Hs-hLM-V1r14sKqDPnjerv02ylcgLBgAeESO9OiRFMOMLRsk7TQmnO8y-VgegicvRoLval5namgT8iN81wxu9vQvwFaYU7tfkizVo1IvrPlHZ2zj1GtDm_AVgCNinhVYkU0dha\" \/><\/div>\n<p>  \u0410\u043f\u043f\u043b\u0430\u0438\u043c service, \u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a\u0438\u0435 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441\u044b. \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u0430\u0448 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u0439 POD, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b\u043b \u043f\u043e\u0434\u043d\u044f\u0442, \u0438 \u0434\u0435\u043b\u0430\u0435\u043c nslookup. Kubernetes \u043d\u0430\u043c \u0434\u0430\u0435\u0442 DNS-\u043a\u0443, \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043c\u043e\u0433\u0443\u0442 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430 \u0432\u0438\u0434\u0435\u0442\u044c \u0438 \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0432\u0430\u0442\u044c. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/BJOIuBSqttG7JS4j77YGGhuU7WURcyDNmFN7vASWEJtwsNLBW8PWY9VYumYAH-HOcgX4zHttMpj8dd5lHzUlwVenlGnr7zjWFnDgrBsji3RUpB2HQtelOZOcGyczqXQg-cpt459W\" \/><\/div>\n<p>  Service \u2014 \u044d\u0442\u043e \u0441\u043a\u043e\u0440\u0435\u0435 \u043d\u0435\u043a\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. \u0422\u0430\u043c \u0435\u0441\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0437\u0430\u0434\u0430\u0447\u0438 load balancing \u0438 service \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u0435: \u043e\u0434\u043d\u0438\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u043c \u0441 \u043e\u0431\u044b\u0447\u043d\u044b\u043c\u0438 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0434\u0440\u0443\u0433\u0438\u043c \u2014 \u0441 \u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u043c\u0438, \u0430 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0434\u0435\u043b\u0430\u0435\u043c \u0441\u043e\u0432\u0441\u0435\u043c \u043f\u043e-\u043f\u0440\u043e\u0441\u0442\u043e\u043c\u0443. \u042d\u0442\u043e \u0442\u043e\u0436\u0435 \u0432\u0430\u0436\u043d\u0430\u044f \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u0432 Kubernetes: \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0435\u0449\u0438 \u0441\u043a\u043e\u0440\u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0437\u0432\u0430\u0442\u044c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u043c\u0438, \u0430 \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438. \u041e\u043d\u0438 \u0437\u0430\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u044b \u043d\u0435 \u0436\u0435\u0441\u0442\u043a\u043e, \u0438 \u0440\u0430\u0437\u043d\u044b\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u044b \u0434\u0430\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438. \u0422.\u0435., \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u0442\u044c \u0440\u0435\u0441\u0443\u0440\u0441 persistent volume, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0443\u0436\u0435 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u043e\u0431\u043b\u0430\u043a\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0432\u043e\u0438\u043c\u0438 \u0448\u0442\u0430\u0442\u043d\u044b\u043c\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438. <\/p>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u043c\u044b \u043e\u0431\u044b\u0447\u043d\u043e \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0438\u0441 \u0445\u043e\u0442\u0438\u043c \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043a\u0443\u0434\u0430-\u043d\u0438\u0431\u0443\u0434\u044c \u043d\u0430\u0440\u0443\u0436\u0443. \u0412 Kubernetes \u0435\u0441\u0442\u044c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f ingress. \u041e\u0431\u044b\u0447\u043d\u043e \u0442\u0430\u043c \u0436\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 SSL.<br \/>  <img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/8zZ6bIYmdFosVCuKR_SecZMh5OhfMlv9caa0sZ0b7xfxtTm-rs_6bPJ24fp_hVhIgMKJ-569hHkwhWh7627CvXkQ8EFf1pp8s_yvrvXaY9mBBJ6wnvROxwiCSDerpU6BJLrs7ANb\"\/><br \/>  \u0421\u0430\u043c\u044b\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0439 ingress \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043a\u0430\u043a-\u0442\u043e \u0442\u0430\u043a. \u0422\u0430\u043c \u043c\u044b \u043f\u0438\u0448\u0435\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430: \u043f\u043e \u043a\u0430\u043a\u0438\u043c url-\u0430\u043c, \u043f\u043e \u043a\u0430\u043a\u0438\u043c \u0445\u043e\u0441\u0442\u0430\u043c, \u043a \u043a\u0430\u043a\u043e\u043c\u0443 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u043c\u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0443 \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0437\u0430\u043f\u0440\u043e\u0441. \u0422\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435 \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0434\u043d\u044f\u0442\u044c \u0438 \u043d\u0430\u0448 ingress.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/cloEMtFfDqFv8VJ9xASFA_wqopyas60VnkN4x9KifwqhcepEO7sfDbS7T_YHTt2M3JgCtOpkoI5Qdo0jlUZTtggrNTymG9Ok7ta0o_R3YdFK3u8D3JZv_TCmRnhvofyQE51W2suI\" \/><\/div>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e, \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u0432 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0432 \u0445\u043e\u0441\u0442\u0430\u0445, \u043c\u043e\u0436\u043d\u043e \u044d\u0442\u043e\u0442 \u0441\u0435\u0440\u0432\u0438\u0441 \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043e\u0442\u0441\u044e\u0434\u0430.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/Yv1PkiKa71qeQ5cWiRhfSo5DMkkE2Dff8uhu-6dW2iC-CgdnBGKhqihIdrkxmIzVm6ZQJm5N0mS6V73s4v8UdmlAi-hrpAV_f91oRKGF2eLyL03SyExYLuSZPFVds1118AHar50Q\" \/><\/div>\n<p>  \u042d\u0442\u043e \u0442\u0430\u043a\u0430\u044f \u0448\u0442\u0430\u0442\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430: \u043c\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b\u0438 \u043d\u0435\u043a\u0438\u0439 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0438\u0441\u044c \u0441 Kubernetes.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/vtSptvIVb4awjSz9nGqeYTB6Fx_4-3KSHK3ixD2EPrudtqPDoNA8Ec-wZATBEE2rjpF-AKeueHLMY2Fz6SamkZTnM--Nb4kPFMaQz0Z6eYfYHaTQ2m4UDvX5bJmmc3U2TLzLmZeF\" \/><\/div>\n<p>  \u0417\u0430\u0447\u0438\u0441\u0442\u0438\u043c \u0432\u0441\u0435 \u044d\u0442\u043e, \u0443\u0434\u0430\u043b\u0438\u043c ingress \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0432\u0441\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/SDuBpF1ALwG1CguE4UN1jGkjVnoolXVUMCPniL7JL1Z3HJnxJi1xUSrPWZH-55cLRNnvNQ5MZURma2AMTfavl8r0nt3qb95I4ZwYLjBjuBEKa19y3qekEiOpjEafjUVfShwBX-wU\" \/><\/div>\n<p>  \u0415\u0441\u0442\u044c \u0435\u0449\u0435 \u0440\u044f\u0434 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 configmap \u0438 secret. \u042d\u0442\u043e \u0447\u0438\u0441\u0442\u043e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u043c\u0430\u0443\u043d\u0442\u0438\u0442\u044c \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u0442\u0443\u0434\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0430\u0440\u043e\u043b\u044c \u043e\u0442 postgres. \u041c\u043e\u0436\u0435\u0442\u0435 \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u0430\u0442\u044c \u0441 environment variables, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0438\u043d\u0436\u0435\u043a\u0442\u0438\u0442\u044c\u0441\u044f \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0435 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430. \u041c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u043c\u0430\u0443\u043d\u0442\u0438\u0442\u044c \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443. \u0412\u0441\u0435 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u0434\u043e\u0431\u043d\u043e: \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u0441\u0438\u043c\u043f\u0430\u0442\u0438\u0447\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f. <\/p>\n<p>  \u0415\u0441\u0442\u044c persistent volume \u2014 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u043f\u043e \u0440\u0430\u0437\u043d\u043e\u043c\u0443 \u0443 \u0440\u0430\u0437\u043d\u044b\u0445 \u043a\u043b\u0430\u0443\u0434-\u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432. \u041e\u043d \u0440\u0430\u0437\u0431\u0438\u0442 \u043d\u0430 \u0434\u0432\u0435 \u0447\u0430\u0441\u0442\u0438: \u0435\u0441\u0442\u044c persistent volume claim (\u0437\u0430\u043f\u0440\u043e\u0441), \u0438 \u043f\u043e\u0442\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043a\u0430\u043a\u0430\u044f-\u043d\u0438\u0431\u0443\u0434\u044c EBS-\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0442\u0430\u0449\u0438\u0442\u0441\u044f \u043a \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0443. \u041c\u043e\u0436\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u043e stateful-\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/1DIYg2wKtzimiJDwDUmFSlVYZcBq0XOgnaW1-0XCXBaF8MZFgZLqbkyJ3R61gZ_YJOsR-HdrGKWmDUBQoFx8fA3E-qclQy2BjyvTr7VmgNa45loIjzUzkPZJijZ1RKM9NK8ILTjx\"\/><\/p>\n<p>  \u041d\u043e \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432\u043d\u0443\u0442\u0440\u0438? \u0421\u0430\u043c\u0430 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u0430 \u0438 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u0430. Kubernetes \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0434\u0432\u0443\u0445 \u0447\u0430\u0441\u0442\u0435\u0439. \u041e\u0434\u043d\u0430 \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0443 \u043d\u0430\u0441 \u043b\u0435\u0436\u0430\u0442 \u0432\u0441\u0435 \u044d\u0442\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b. \u0420\u0435\u0441\u0443\u0440\u0441\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u0430\u043a \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0438: \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u044d\u0442\u0438 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u044b \u2014 \u043f\u0440\u043e\u0441\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0442\u0430\u0431\u043b\u0438\u0447\u043a\u0430\u0445. \u041f\u043e\u0432\u0435\u0440\u0445 Kubernetes \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d API-server. \u0422\u043e \u0435\u0441\u0442\u044c \u043a\u043e\u0433\u0434\u0430 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c Kubernetes cluster, \u0432\u044b \u043e\u0431\u044b\u0447\u043d\u043e \u043e\u0431\u0449\u0430\u0435\u0442\u0435\u0441\u044c \u0441 API-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c (\u0442\u043e\u0447\u043d\u0435\u0435, \u0441 \u043d\u0438\u043c \u043e\u0431\u0449\u0430\u0435\u0442\u0441\u044f \u043a\u043b\u0438\u0435\u043d\u0442).<\/p>\n<p>  \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0438 (POD-\u044b, \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0442.\u0434.), \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0438\u0448\u0435\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0443 \u0434\u0430\u043d\u043d\u044b\u0445. \u042d\u0442\u0430 \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 ETCD, \u0442.\u0435. \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0430 \u0431\u044b\u043b\u0430 \u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u0430 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 high-available.<\/p>\n<p>  \u0427\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0434\u0430\u043b\u044c\u0448\u0435? \u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u043e\u0434 \u043a\u0430\u0436\u0434\u044b\u0439 \u0442\u0438\u043f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u0438\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440. \u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0435\u0434\u0438\u0442 \u0437\u0430 \u0441\u0432\u043e\u0438\u043c \u0442\u0438\u043f\u043e\u043c \u0440\u0435\u0441\u0443\u0440\u0441\u0430 \u0438 \u0447\u0442\u043e-\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u043e \u0432\u043d\u0435\u0448\u043d\u0435\u043c \u043c\u0438\u0440\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u0435\u043b\u0430\u0435\u0442 Docker run. \u0415\u0441\u043b\u0438 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c POD, \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 Node \u0435\u0441\u0442\u044c kubelet-\u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043b\u0435\u0434\u0438\u0442 \u0437\u0430 POD-\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0448\u0435\u0434\u0443\u043b\u0435\u043d\u044b \u043d\u0430 \u044d\u0442\u0443 \u043d\u043e\u0434\u0443. \u0418 \u0432\u0441\u0435, \u0447\u0442\u043e \u043e\u043d \u0434\u0435\u043b\u0430\u0435\u0442, \u2014 \u044d\u0442\u043e Docker run \u043f\u043e\u0441\u043b\u0435 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0439 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438, \u0435\u0441\u043b\u0438 \u044d\u0442\u043e\u0433\u043e POD-\u0430 \u043d\u0435\u0442. <\/p>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435, \u0447\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u043e \u2014 \u0432\u0441\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u043e\u0449\u043d\u043e\u0441\u0442\u044c \u044d\u0442\u043e\u0433\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u0432\u044b\u0448\u0435 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439. \u0417\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0435\u0449\u0435 \u0441\u043d\u0438\u043c\u0430\u0435\u0442 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u0442 \u0437\u0430 \u0442\u0435\u043c, \u0447\u0442\u043e \u043e\u043d \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b. \u0422.\u0435. \u0441\u043d\u0438\u043c\u0430\u0435\u0442 \u0444\u0438\u0434\u0431\u0435\u043a \u0438\u0437 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0438\u0440\u0430 \u0438 \u0435\u0433\u043e \u0436\u0435 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u0432 \u0431\u0430\u0437\u0443, \u0447\u0442\u043e\u0431\u044b \u0432\u044b \u0438\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b \u044d\u0442\u043e \u0432\u0438\u0434\u0435\u043b\u0438. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0442\u043e\u0442 \u0436\u0435 \u0441\u0442\u0430\u0442\u0443\u0441 POD-\u0430 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u0432 ETCD. <\/p>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0432 Kubernetes \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0432\u0441\u0435. \u041e\u0447\u0435\u043d\u044c \u043f\u0440\u0438\u043a\u043e\u043b\u044c\u043d\u043e, \u0447\u0442\u043e \u043e\u0442\u0434\u0435\u043b\u0435\u043d\u0430 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u043e\u0442 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439. \u0412 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0447\u0435\u0440\u0435\u0437 \u043e\u0431\u044b\u0447\u043d\u044b\u0439 CRUD-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043c\u044b \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0443\u0435\u043c \u0442\u043e, \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c. \u041f\u043e\u0442\u043e\u043c \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432 \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u0431\u044b\u043b\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e. \u041f\u0440\u0430\u0432\u0434\u0430, \u0442\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430. <\/p>\n<p>  \u042d\u0442\u043e \u2014 \u043a\u0438\u0431\u0435\u0440\u043d\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c. \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u0438\u0439 \u043f\u0440\u0435\u0441\u0435\u0442, \u0435\u0441\u0442\u044c \u043a\u0430\u043a\u0430\u044f-\u0442\u043e \u043c\u0430\u0448\u0438\u043d\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0439 \u043c\u0438\u0440 \u0438\u043b\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442 \u0432 \u0442\u043e \u043c\u0435\u0441\u0442\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043d\u0443\u0436\u043d\u043e. \u041d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0442\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f: \u0443 \u043d\u0430\u0441 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u043f\u0435\u0442\u043b\u044f \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438. \u0418\u043d\u043e\u0433\u0434\u0430 \u043c\u0430\u0448\u0438\u043d\u0430 \u044d\u0442\u043e\u0433\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0438 \u0434\u043e\u043b\u0436\u043d\u0430 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/FAx0QRR4aI6lugbN6Y9LbuhcbyrnrXsGIvJMbf3m8IkmEVS_u09c25KsqKoyYjWXmzYWBXAt87RcJ9JvHQLGm2c5KYYRuTmiBvV3436Wq2QmaE_k6Q6IJ-DU3_qwUsYg_EOKBEMw\"\/><\/p>\n<p>  \u0412 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043c\u044b \u043c\u044b\u0441\u043b\u0438\u043c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f\u043c\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f: \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b, \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0438 \u043c\u044b \u0432\u0441\u0435 \u044d\u0442\u043e \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u0435\u043c. \u041c\u044b \u043d\u0435 \u043c\u044b\u0441\u043b\u0438\u043c POD-\u0430\u043c\u0438 \u0438 Ingress-\u0430\u043c\u0438, \u0438 \u043d\u0430\u043c \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043d\u0435\u043a\u0438\u0439 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438. <br \/>  <img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/v0NXgbgDpNF3XcsU3WQxBuOlqMjWtXLfQCGEd1lSX1EORkov17k-P_zACc8paTONmLJ4QdzTWPoWmm1r8L9C21DporsEu9O88fA7wdy3AiWH10Bc0gVwr00EbyjiCdJq6e8M48wJ\"\/><br \/>  \u0422\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u0431\u044b\u043b\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043b\u0435\u0433\u043a\u043e: \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043f\u0440\u043e\u0441\u0442\u043e \u0433\u043e\u0432\u043e\u0440\u0438\u043b \u00ab\u0425\u043e\u0447\u0443 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0442\u0430\u043a\u043e\u0439-\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u00bb, \u0430 \u0432\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u0432\u043d\u0443\u0442\u0440\u0438. <\/p>\n<p>  \u0415\u0441\u0442\u044c \u0442\u0430\u043a\u0430\u044f \u0432\u0435\u0449\u044c \u043a\u0430\u043a HELM. \u042d\u0442\u043e \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u2014 \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u0438\u043d\u0433 \u0432 \u0441\u0442\u0438\u043b\u0435 ansible, \u0433\u0434\u0435 \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u044b\u0442\u0430\u0435\u043c\u0441\u044f \u043f\u043e\u0440\u043e\u0434\u0438\u0442\u044c \u043d\u0430\u0431\u043e\u0440 \u0441\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438 \u0437\u0430\u043a\u0438\u043d\u0443\u0442\u044c \u0438\u0445 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 Kubernetes. <\/p>\n<p>  \u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430, \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u043a\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044f. \u0422\u043e \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u043b\u043e\u0433\u0438\u043a\u0438 \u043e\u043d \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u0432 \u0440\u0430\u043d\u0442\u0430\u0439\u043c\u0435 \u044d\u0442\u0430 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f \u0438\u0441\u0447\u0435\u0437\u0430\u0435\u0442. \u041a\u043e\u0433\u0434\u0430 \u044f \u0438\u0434\u0443 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u043c\u043e\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440, \u044f \u0432\u0438\u0436\u0443 \u043f\u0440\u043e\u0441\u0442\u043e POD-\u044b \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u044b. \u042f \u043d\u0435 \u0432\u0438\u0436\u0443, \u0447\u0442\u043e \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0435\u043d \u0442\u0430\u043a\u043e\u0439-\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441, \u0447\u0442\u043e \u0442\u0430\u043c \u043f\u043e\u0434\u043d\u044f\u0442\u0430 \u0442\u0430\u043a\u0430\u044f-\u0442\u043e \u0431\u0430\u0437\u0430 \u0441 \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u0435\u0439. \u042f \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0438\u0436\u0443 \u0442\u0430\u043c \u0434\u0435\u0441\u044f\u0442\u043a\u0438 \u043f\u043e\u0434\u043e\u0432. \u0410\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044f \u0438\u0441\u0447\u0435\u0437\u0430\u0435\u0442 \u043a\u0430\u043a \u0432 \u043c\u0430\u0442\u0440\u0438\u0446\u0435. <br \/>  <img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/JBGpgPcYhURJZeXpgPThsNBG2zJh6xjjQ91F7mX2k5QT5AYNJmvGLorV_twn3QLorJ-NYFw-WCfJfo4hGbWyuLvyHthOXcyVa8j6EhZ2oAjhgPkib9yHeJO-POd6McExx3Vq8f5a\"\/>  <\/p>\n<h2>\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u043c\u043e\u0434\u0435\u043b\u044c \u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/h2>\n<p>  \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u0441\u0430\u043c Kubernetes \u0443\u0436\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u0434\u0430\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u0443\u044e \u0438 \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0442\u0438\u043f\u044b \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 deployment. \u042d\u0442\u043e \u0440\u0435\u0441\u0443\u0440\u0441, \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0432\u0435\u0440\u0445 POD-\u043e\u0432 \u0438\u043b\u0438 replicaset. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043a \u044d\u0442\u043e\u043c\u0443 \u0440\u0435\u0441\u0443\u0440\u0441\u0443, \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0440\u0435\u0441\u0443\u0440\u0441 \u0432 \u0431\u0430\u0437\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043d\u0430\u0448\u0443 \u043a\u0438\u0431\u0435\u0440\u043d\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043f\u0435\u0442\u043b\u044e \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e. \u042d\u0442\u043e \u0437\u0432\u0443\u0447\u0438\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e, \u0438, \u043c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u044d\u0442\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043f\u0443\u0442\u044c \u0440\u0430\u0441\u0448\u0438\u0440\u044f\u0442\u044c Kubernetes. <br \/>  <img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/aVW4gBjMQGhGnjbrJWXiF9LDoAHN3ne5vulKIaMdJAib97NtXS0YccFt-_DQNV6cyQVdJlhtwnbitxvPkh5QdlSwT1CVG2Rhu0rllLzBUlz3CRqwbYoHfPkngOsXKOW6ARJXvvq9\"\/><br \/>  \u0425\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0438\u043c\u0435\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u043a\u0438\u0439 manifest \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0432 \u0441\u0442\u0438\u043b\u0435 heroku. \u041e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440: \u044f \u0445\u043e\u0447\u0443 \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u0442\u044c \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u0441\u0432\u043e\u0435\u043c \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438. \u0423\u0436\u0435 \u0435\u0441\u0442\u044c \u0441\u043e\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f, SSL, \u043a\u0443\u043f\u043b\u0435\u043d\u044b \u0434\u043e\u043c\u0435\u043d\u044b. \u042f \u043f\u0440\u043e\u0441\u0442\u043e \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0434\u0430\u0442\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441. Manifest \u043c\u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u043a\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u043e\u0434\u043d\u044f\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0435\u0449\u0435 \u043d\u0443\u0436\u043d\u044b \u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0443. \u041e\u043d \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u0442 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u044d\u0442\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435, \u0438 \u0432\u0441\u0435 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. <br \/>  <img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/IzSk6BTCFA8by0YBXD6NMnQT8Mtzex8nWVe0vdnA0Njo-yXENJmj5FGIXUurx4STJoDp8fJzA9CZlSOGwwrHld1JmCwskpWfdMFw1ou5mzvZYnC4bNT1Btujyb2PF6IwxVJh7tsG\"\/><\/p>\n<p>  \u041a\u0430\u043a \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432? \u0412\u043e\u0442 \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u043b\u0435\u0436\u0430\u0442\u044c \u0432 \u0431\u0430\u0437\u0435 resource application. \u0418 application controller \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0440\u043e\u0436\u0434\u0430\u0442\u044c \u0442\u0440\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430. \u0422\u043e \u0435\u0441\u0442\u044c \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432 ingress \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0440\u043e\u0443\u0442\u0438\u0442\u044c \u043a \u044d\u0442\u043e\u043c\u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0443, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 service \u0434\u043b\u044f load balancing \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 deployment \u0441 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/XeTyOscUxBYLrvk34juprIjkoF26AbEafcUfOH94iW0gdplKKQNOgYBvTfu8kZonJ0YMhq24ivsXePGQ_kTYJpNlGow_ySpLHTHTx05SYqpU_OqPisX81z1YcMqqEmOXpwXfslec\"\/><\/p>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 \u0432 Kubernetes, \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0435\u0433\u043e \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0443 \u0435\u0441\u0442\u044c \u043c\u0435\u0442\u0430-\u0440\u0435\u0441\u0443\u0440\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f CustomResourceDefinition. <\/p>\n<p>  \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 \u0432 Kubernetes, \u043d\u0430\u043c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0437\u0430\u0430\u043f\u043b\u0430\u0438\u0442\u044c \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0435 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435. \u0421\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u044d\u0442\u043e create table.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/pSpqBNcnj0gz5U9awb1ztSSZGWV6-8_pmfEl3Q3Q1OsGEYBzGz68mzs_FianP59mJ_cKaQQeuB-z5O7HgIVJVA0fmRF3zpmlKJuuTXv9WD5Nfhtxj2-c0SmGndLPFFaSuytFPuWY\" \/><\/div>\n<p>  \u0421\u043e\u0437\u0434\u0430\u043b\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0443. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0447\u0435\u0440\u0435\u0437 kubectl get \u043d\u0430 \u0442\u0435 third-party \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u044b \u0435\u0433\u043e \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0438, \u0443 \u043d\u0430\u0441 \u0435\u0449\u0435 \u0438 \u0430\u043f\u0438\u0448\u043a\u0430 \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, kubeclt get apps. \u041d\u043e \u043f\u043e\u043a\u0430 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0430\u043f\u043f\u043e\u0432 \u043d\u0435\u0442.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/aHb5ge7mF23bxKtyQ-Pcp-dSkZRVEuK3PJVaPciCfJNknyF4YmwdDCiB16Xp7sczsgrnbjp40Cu-YSnDsHF3ehDNdY9L5bihbsedBF-IPfOJUnTzYNRy8tKkjBnnldCP3GjAxTiV\" \/><\/div>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c \u0430\u043f\u043f \u0437\u0430\u043f\u0438\u0448\u0435\u043c. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 resource instance. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043d\u0435\u0433\u043e \u0432 YAML \u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0435\u0433\u043e \u043f\u043e\u0441\u0442\u043e\u043c \u043d\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0439 URL.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/YVNTa66_Y9dmyvq6CwaF2jjoNpfQNmGdEv5LxS_GaYKe2nXwxgIMqHvqWIdzxoLAuWfvhxmK40r2oY7Ey_0Pf7Pg29BpJtnFJbeawfJXhyLCPPDdSJUMlVo79vMfG9vM4UbiI-kU\" \/><\/div>\n<p>  \u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u043e\u0431\u0435\u0436\u0438\u043c \u0438 \u0447\u0435\u0440\u0435\u0437 kubectl \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0442\u043e \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u043e\u0434\u0438\u043d \u0430\u043f\u043f. \u041d\u043e \u043f\u043e\u043a\u0430 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442, \u043e\u043d \u043f\u0440\u043e\u0441\u0442\u043e \u043b\u0435\u0436\u0438\u0442 \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u041c\u043e\u0436\u043d\u043e, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0437\u044f\u0442\u044c \u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0432\u0441\u0435 \u0430\u043f\u043f \u0440\u0435\u0441\u0443\u0440\u0441\u044b.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/rPpGvR0Y-uY_7MbIY_7cbHSw5bDxnQ8DNl3pvptxc0S_81PsQ6k2r46ofc2frT9-_pXtmjbATVXC6kI81LfugukVr4cEaYHU89w_Iw0xgLH4bU3FxFh30mIU3ejfhVpySQDTTJvX\" \/><\/div>\n<p>  \u041c\u043e\u0436\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0432\u0442\u043e\u0440\u043e\u0439 \u0442\u0430\u043a\u043e\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 \u0438\u0437 \u0442\u043e\u0433\u043e \u0436\u0435 \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u0430, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0432 \u0438\u043c\u044f. \u0412\u043e\u0442 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0432\u0442\u043e\u0440\u043e\u0439 \u0440\u0435\u0441\u0443\u0440\u0441.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/51kTGqLcpvHmreR-9g6LlP5UZiNWM-rWUfClzcJLVUA0xDpUHsbJFM50iEdYlco0uslPHaNlkNw_cBZ-Lc3c3YshtiF0BW16xZycZdESAq_VIw8YiB1Zg7NNMQ0u1qzurhTsKRye\" \/><\/div>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u043d\u0430\u0448 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0434\u043e\u043b\u0436\u0435\u043d \u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u0438\u043d\u0433, \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 HELM. \u0422\u043e \u0435\u0441\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430\u0448\u0435\u0433\u043e \u0430\u043f\u043f\u0430, \u044f \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0442\u044c resource deployment \u0438 resource service, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u044c \u0432 ingress. \u042d\u0442\u043e \u0441\u0430\u043c\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u0430\u044f \u0447\u0430\u0441\u0442\u044c: \u0437\u0434\u0435\u0441\u044c \u0432 clojure \u2014 \u044d\u0442\u043e erlmacro. \u042f \u043f\u0435\u0440\u0435\u0434\u0430\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0434\u0430\u043d\u043d\u044b\u0445, \u043e\u043d\u0430 \u0434\u0435\u0440\u0433\u0430\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044e deployment, \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0432 debug, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 pipeline. \u0418 \u044d\u0442\u043e \u2014 \u0447\u0438\u0441\u0442\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f: \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0442\u0435\u043c\u043f\u043b\u0435\u0439\u0442\u0438\u043d\u0433. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0430\u0438\u0432\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u044f \u043c\u043e\u0433 \u0431\u044b \u0442\u0443\u0442 \u0436\u0435 \u044d\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c, \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u0442\u044c \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u0443\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u0443 \u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0442\u044c. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/RLdu5GfmV-rgfS5ExgNjHy_ABilsHHEQKRU-sJkglJ66yQKXr1byfq6CJculPoc6XrbxRSY8U_JlsmU6zWVqDAoEd223_QhF-zTjKWtE7i-xF2ypuH-lfLXQI9Y7TA7RG9KFm1ls\" \/><\/div>\n<p>  \u0422\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0434\u0435\u043b\u0430\u0435\u043c \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430: \u0444\u0443\u043d\u043a\u0446\u0438\u044f service \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0446\u0438\u044e \u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u0442 \u043d\u0430\u043c \u0440\u0435\u0441\u0443\u0440\u0441 Kubernetes. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/TTTZVFA1zBf-YoOd5eofqNTMngC2gsqd3P-Frv8etWK_3Zeg3gXzmUg58PBFkNwelIsNtD-SXRhAQg_UwT7NQ7Sajg74wDSbIJXLkcHSXiiIwdmUDH-mew4N37Gj8vcc1bN72AlS\" \/><\/div>\n<p>  \u0422\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c \u0438 \u0434\u043b\u044f \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0432 ingress.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/gn-mW4SGuDkrcO-302z8KTzsgX0ALkQ2eA8-p9PCWoz_PVJuu-CXQB3zL99EGFBxpiVtsokPi7-r2K3oaYfLri-bSPEAAEkR9IvJCrErX9HoFOgWA-VwKaHpNpQLD9rZFisNBKXT\" \/><\/div>\n<p>  \u041a\u0430\u043a \u044d\u0442\u043e \u0432\u0441\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c? \u0411\u0443\u0434\u0435\u0442 \u0447\u0442\u043e-\u0442\u043e \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c \u043c\u0438\u0440\u0435 \u0438 \u0431\u0443\u0434\u0435\u0442 \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c. \u0422\u043e \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u2014 \u043c\u044b \u0431\u0435\u0440\u0435\u043c application resource \u0438 \u0433\u0435\u043d\u0435\u0440\u0438\u043c \u043f\u043e \u043d\u0435\u043c\u0443 \u0442\u043e, \u0447\u0442\u043e \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c. \u0418 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0447\u0442\u043e \u0435\u0441\u0442\u044c. \u0427\u0442\u043e \u0435\u0441\u0442\u044c \u043c\u044b \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c \u0447\u0435\u0440\u0435\u0437 REST API. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0432\u0441\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b, \u0432\u0441\u0435 \u0434\u0435\u043f\u043b\u043e\u0439\u043c\u0435\u043d\u0442\u044b. <\/p>\n<p>  \u041a\u0430\u043a \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043d\u0430\u0448 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440? \u041e\u043d \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u0445\u043e\u0442\u0438\u043c \u0438 \u0442\u043e \u0447\u0442\u043e \u0435\u0441\u0442\u044c, \u0431\u0440\u0430\u0442\u044c \u043e\u0442 \u044d\u0442\u043e\u0433\u043e div \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043a Kubernetes. \u042d\u0442\u043e \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 React. \u041f\u0440\u0438\u0434\u0443\u043c\u0430\u043b \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0439 DOM, \u043a\u043e\u0433\u0434\u0430 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0433\u0435\u043d\u0435\u0440\u044f\u0442 \u0434\u0435\u0440\u0435\u0432\u043e JS-\u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. \u0410 \u043f\u043e\u0442\u043e\u043c \u043d\u0435\u043a\u0438\u0439 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043f\u0430\u0442\u0447 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u043a \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u043c\u0443 DOM-\u0443. <\/p>\n<p>  \u0422\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0438 \u0437\u0434\u0435\u0441\u044c. \u042d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u0432 50 \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430. \u0417\u0430\u0445\u043e\u0442\u0438\u0442\u0435 \u2014 \u0432\u0441\u0435 \u0435\u0441\u0442\u044c \u043d\u0430 \u0413\u0438\u0442\u0445\u0430\u0431\u0435. \u0412 \u0438\u0442\u043e\u0433\u0435 \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e reconcile-actions. <\/p>\n<p>  \u0423 \u043d\u0430\u0441 \u0435\u0441\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f reconcile-actions, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0434\u0435\u043b\u0430\u0435\u0442 \u0438 \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u044d\u0442\u043e\u0442 div. \u041e\u043d\u0430 \u0431\u0435\u0440\u0435\u0442 \u0442\u043e, \u0447\u0442\u043e \u0435\u0441\u0442\u044c, \u043f\u043b\u044e\u0441 \u0442\u043e, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e. \u0418 \u043f\u043e\u0442\u043e\u043c \u0432\u044b\u0434\u0430\u0435\u0442 \u0442\u043e, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043f\u0435\u0440\u0432\u043e\u0435 \u043a\u043e \u0432\u0442\u043e\u0440\u043e\u043c\u0443.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/pVvDxnNwOr-O2zWn8ms6IPrp_Tbr542ucwferc6sYYluCs0LWJJ-RA_YiR6FhhCnVZOpM0SjYYwyIcTj5tgLHBEMqFqz5Vyjzi-ofbI4pzzUE8K81yTRII2Ez1As85zo5D03aaU3\" \/><\/div>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0435\u0435 \u0434\u0435\u0440\u043d\u0435\u043c. \u041d\u0438\u0447\u0435\u0433\u043e \u0441\u0442\u0440\u0430\u0448\u043d\u043e\u0433\u043e \u0432 \u043d\u0435\u0439 \u043d\u0435\u0442, \u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u0435\u0431\u0430\u0436\u0438\u0442\u044c. \u041e\u043d\u0430 \u0433\u043e\u0432\u043e\u0440\u0438\u0442, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c ingress-\u0441\u0435\u0440\u0432\u0438\u0441, \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432 \u043d\u0435\u043c \u0434\u0432\u0435 \u0437\u0430\u043f\u0438\u0441\u0438, \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0434\u0435\u043f\u043b\u043e\u0439\u043c\u0435\u043d\u0442 1 \u0438 2, \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441 1 \u0438 2. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/xGB8rWM3yrELxUBbCklFzQb9FgyTfJ0FWDfJbqPEtSrDtwQ-nTEjn8Xiv9b3a-5FD1XkKxZSYmBR0ix9teu-EwNtNki08dg2lju-1Fww8OkOPRbvx0BMGJY8IrgvcfVhXcz5v0oF\" \/><\/div>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0443\u0436\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0441\u0435\u0440\u0432\u0438\u0441. \u041c\u044b \u0432\u0438\u0434\u0438\u043c \u043f\u043e ingress, \u0447\u0442\u043e \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u043d\u0430 \u0437\u0430\u043f\u0438\u0441\u044c. <\/p>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u0432\u0441\u0435, \u0447\u0442\u043e \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f, \u044d\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442 \u044d\u0442\u043e\u0442 \u043f\u0430\u0442\u0447 \u043a Kubernetes-\u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0434\u0430\u0434\u0438\u043c reconcile-actions \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e reconcile, \u0438 \u0432\u0441\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u0441\u044f. \u0418 \u0432\u043e\u0442 \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u0434\u043d\u044f\u043b\u0441\u044f POD, \u0441\u0434\u0435\u043b\u0430\u043b\u0441\u044f deployment \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u0441\u044f \u0441\u0435\u0440\u0432\u0438\u0441.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/ZeB1c4hxG2oGqqpkd7yNGrs8OSe3Ziot3v2CkrbCNESxbwPfQiF9PMHzOcKw1fZDZEmZMlJar0NOI-u1xzG1U_y2j-Pigk3KbmqU0FmO4UkUgGRjF89MeAh-sjHfHeUMwMFkj0xX\" \/><\/div>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u0441\u0435\u0440\u0432\u0438\u0441: \u0435\u0449\u0435 \u0440\u0430\u0437 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e reconcile-actions. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e. \u0412\u0441\u0435 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043b\u043e\u0441\u044c, \u0432\u0441\u0435 \u0445\u043e\u0440\u043e\u0448\u043e. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/5TXQ20aCzDBVeobX553z4hCrXTymenWFFe1nFq4ZLxZ-CACm_otPr5-SNRyHY7lsf41zerFsHfuVV5bCGKShRKIz-lCFHnTbfORZfqNmBMZlEJmeBlkhzqTOLWyNmrJN3HxOd4vU\" \/><\/div>\n<p>  \u041a\u0430\u043a \u0441 \u044d\u0442\u0438\u043c \u0431\u044b\u0442\u044c? \u041c\u044b \u0432\u0441\u0435 \u044d\u0442\u043e \u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0432 Docker-container. \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043f\u0438\u0448\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u043e\u0441\u044b\u043f\u0430\u0435\u0442\u0441\u044f, \u0434\u0435\u043b\u0430\u0435\u0442 reconcile \u0438 \u0437\u0430\u0441\u044b\u043f\u0430\u0435\u0442. \u0421\u043a\u043e\u0440\u043e\u0441\u0442\u044c \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u0430, \u043e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0441\u043f\u0430\u0442\u044c \u043f\u043e \u043f\u044f\u0442\u044c \u0441\u0435\u043a\u0443\u043d\u0434 \u0438 \u0434\u0435\u043b\u0430\u0442\u044c reconcile-actions \u043d\u0435 \u0442\u0430\u043a \u0447\u0430\u0441\u0442\u043e. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/76mO7_ke5LDaFprV8n_sXpUSRjLRH3x6ZCHyCTNzhhA2xrHP4X94Z7JS2m1ms7TvEvZR8KalWZslx2rComRwnLrZ9QfDd7jYQ8-IfDNeg6z9UxpoYUoOX5BZWpqJWMm7H8Iay6g-\" \/><\/div>\n<p>  \u041d\u0430\u0448 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u2014 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u044b\u043f\u0430\u0442\u044c\u0441\u044f \u0438 \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0442\u044c \u043f\u0430\u0442\u0447.<\/p>\n<p>  \u0421\u0435\u0439\u0447\u0430\u0441 \u0443 \u043d\u0430\u0441 \u0434\u0432\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0437\u0430\u0434\u0435\u043f\u043b\u043e\u0438\u043d\u043e, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0443\u0434\u0430\u043b\u0438\u043c \u043e\u0434\u043d\u043e \u0438\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u043e\u0442\u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u0430\u0448 \u043a\u043b\u0430\u0441\u0442\u0435\u0440: \u0432\u0441\u0435 \u043e\u043a. \u0423\u0434\u0430\u043b\u044f\u0435\u043c \u0432\u0442\u043e\u0440\u043e\u0439: \u0432\u0441\u0435 \u043e\u0447\u0438\u0441\u0442\u0438\u043b\u043e\u0441\u044c. <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/dZ9LtG2Eaj5geBzkHTMfgz65N1PqROVKlxwtnB6edqEfJtZbNOYf5eGopA0cgP9hjRdTRa17RJPn-2BrXDlrFdooWkpoPVBHkTFpinVp0Wu4OHW-XrKUxGoDtQOVDpOKIG6KPdUX\" \/><\/div>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0433\u043b\u0430\u0437\u0430\u043c\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430. \u0415\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c Kubernetes apply \u0438 \u0437\u0430\u0434\u0430\u0442\u044c \u0438\u043c\u044f \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430. \u0414\u0435\u043b\u0430\u0435\u043c \u044d\u0442\u043e, \u043d\u0430\u0448 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0432\u0441\u0435 \u043f\u043e\u0434\u0446\u0435\u043f\u0438\u043b \u0438 \u0441\u043e\u0437\u0434\u0430\u043b.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/vkugc3Zl6_WlxEiIB4LFByEinThmeQwUK5ohKmXeeLRNNCHS8ISd-LUu_dM9YxtrwShWhXHBOcpNzP1rl9kno3LnBZ6Mx3bzUOVh2E7OgQjRA2jWcxZeYhmBsBBZrCn6lWYdeJQi\" \/><\/div>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u043c\u044b \u0432\u0441\u0435 \u044d\u0442\u043e \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u0432 deployment \u0441\u0435\u0440\u0432\u0438\u0441, \u0438 \u0448\u0442\u0430\u0442\u043d\u044b\u043c\u0438 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430\u043c\u0438 Kubernetes \u044d\u0442\u043e\u0442 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u043c \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440. \u041c\u044b \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u044e \u0437\u0430 200 \u0441\u0442\u0440\u043e\u0447\u0435\u043a \u043a\u043e\u0434\u0430. <\/p>\n<p>  \u042d\u0442\u043e \u0432\u0441\u0435 \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 HELM, \u043d\u043e \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435 \u043c\u043e\u0449\u043d\u0435\u0435. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435: \u043e\u043d \u0432\u0438\u0434\u0438\u0442 \u0431\u0430\u0437\u0443, \u0432\u0438\u0434\u0438\u0442 \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u043c\u0438\u0440 \u0438 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0443\u043c\u043d\u044b\u043c.<\/p>\n<h2>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 CI<\/h2>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f Kubernetes. \u041c\u044b \u0440\u0435\u0448\u0438\u043b\u0438, \u0447\u0442\u043e CI \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0447\u0430\u0441\u0442\u044c\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b. \u042d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e, \u044d\u0442\u043e \u0443\u0434\u043e\u0431\u043d\u043e \u0441 \u0442\u043e\u0447\u043a\u0438 \u0437\u0440\u0435\u043d\u0438\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u2014 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439. \u041c\u044b \u043f\u044b\u0442\u0430\u043b\u0438\u0441\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c jenkins, \u043d\u043e \u043e\u043d \u2014 \u0443\u0441\u0442\u0430\u0440\u0435\u0432\u0448\u0435\u0435 \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e. \u0417\u0430\u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0445\u0430\u043a\u0435\u0440\u0441\u043a\u043e\u0433\u043e CI. \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u044b, \u043c\u044b \u043b\u044e\u0431\u0438\u043c ChatOps: \u043f\u0443\u0441\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u0430\u0436\u0435\u0442 \u0432 \u0447\u0430\u0442, \u0443\u043f\u0430\u043b \u0431\u0438\u043b\u0434 \u0438\u043b\u0438 \u043d\u0435\u0442. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0432\u0441\u0435 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c.<br \/>  <img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/2G-NS78k_VNOLhFwrM-5OmK-20QZJ_hltbWFC3OKnnnI8h32T2BNf9qb1BfwrlYyAMcoSZIheha3oGHBjL5baXH_vuPLcCQbjo1WTxAJUYNTC-8N2MH5LTrqg_9VvhJ2dnKcEZWz\"\/><br \/>  \u041c\u044b \u0441\u0435\u043b\u0438 \u0438 \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0441\u0432\u043e\u0439 CI. \u041f\u0440\u043e\u0441\u0442\u043e \u043a\u0430\u043a \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435 \u043a Kubernetes. \u0415\u0441\u043b\u0438 \u0437\u0430\u0434\u0443\u043c\u0430\u0442\u044c\u0441\u044f \u043d\u0430\u0434 CI, \u0442\u043e \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043a\u0430\u043a\u0438\u0435-\u0442\u043e jobs. \u0412 \u0440\u0430\u043c\u043a\u0430\u0445 \u044d\u0442\u043e\u0433\u043e job \u043c\u044b \u0447\u0442\u043e-\u0442\u043e \u0431\u0438\u043b\u0434\u0438\u043c, \u043f\u0440\u043e\u0433\u043e\u043d\u044f\u0435\u043c \u0442\u0435\u0441\u0442\u044b, \u0437\u0430\u0447\u0430\u0441\u0442\u0443\u044e \u0434\u0435\u043f\u043b\u043e\u0438\u043c. <\/p>\n<p>  \u041a\u0430\u043a \u044d\u0442\u043e \u0432\u0441\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442? \u041e\u043d\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043d\u0430 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0438 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0445 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043c\u044b \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u043c \u0432 Kubernetes \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0442\u043e\u0433\u043e, \u0437\u0430 \u043a\u0430\u043a\u0438\u043c\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c\u0438 \u043c\u044b \u0441\u043b\u0435\u0434\u0438\u043c. \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u043f\u0440\u043e\u0441\u0442\u043e \u0438\u0434\u0435\u0442 \u043d\u0430 \u0433\u0438\u0442\u0445\u0430\u0431 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 web-hook. \u0423 \u043d\u0430\u0441 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0438\u043d\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0446\u0438\u044f.<\/p>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 web-hook, \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u2014 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0439 JSON \u0438 \u0441\u043a\u0438\u043d\u0443\u0442\u044c \u0435\u0433\u043e \u0432 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0439 \u0440\u0435\u0441\u0443\u0440\u0441 build, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0442\u043e\u0436\u0435 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0443 Kubernetes. \u0417\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u043c build \u0443 \u043d\u0430\u0441 \u0441\u043b\u0435\u0434\u0438\u0442 build controller, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442 manifest, \u043b\u0435\u0436\u0430\u0449\u0438\u0439 \u0432\u043d\u0443\u0442\u0440\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 POD. \u0412 \u044d\u0442\u043e\u043c POD-\u0435 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b. <\/p>\n<p>  \u0412 POD-\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0441\u0442\u0435\u043d\u044c\u043a\u0438\u0439 agent, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0447\u0438\u0442\u0430\u0435\u0442 \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0446\u0438\u044e \u0432 \u0441\u0442\u0438\u043b\u0435 travis \u0438\u043b\u0438 circleci, \u0430 \u0432 YAML \u043d\u0430\u0431\u043e\u0440 \u0448\u0430\u0433\u043e\u0432. \u041e\u043d \u0438\u0445 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c. \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432 \u043a\u043e\u043d\u0446\u0435 \u0431\u0438\u043b\u0434\u0430 \u043e\u043d \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u0442 \u0441\u0432\u043e\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 Telegram. <\/p>\n<p>  \u0414\u0440\u0443\u0433\u0430\u044f \u0444\u0438\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 Kubernetes \u2014 \u044d\u0442\u043e \u0442\u043e, \u0447\u0442\u043e \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434 \u0432 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0432\u0430\u0448\u0435\u0433\u043e CI \u0438\u043b\u0438 continuous delivery \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u043e\u0441\u0442\u043e while true sleep 10, \u0438 \u0432\u0430\u0448 POD \u0437\u0430\u0432\u0438\u0441\u043d\u0435\u0442 \u043d\u0430 \u044d\u0442\u043e\u043c \u0448\u0430\u0433\u0435. \u0412\u044b \u0434\u0435\u043b\u0430\u0435\u0442\u0435 kubectl exec, \u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0435\u0441\u044c \u0432\u043d\u0443\u0442\u0440\u0438 \u0432\u0430\u0448\u0435\u0433\u043e \u0431\u0438\u043b\u0434\u0430 \u0438 \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0435\u0431\u0430\u0436\u0438\u0442\u044c. <\/p>\n<p>  \u0414\u0440\u0443\u0433\u0430\u044f \u0444\u0438\u0447\u0430 \u2014 \u0432\u0441\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043e \u043d\u0430 \u0434\u043e\u043a\u0435\u0440\u0430\u0445 \u0438 \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043c\u043e\u0436\u043d\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e, \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044f \u0434\u043e\u043a\u0435\u0440. \u041d\u0430 \u044d\u0442\u043e \u0432\u0441\u0435 \u0443\u0448\u043b\u043e \u0434\u0432\u0435 \u043d\u0435\u0434\u0435\u043b\u0438 \u0438 300 \u0441\u0442\u0440\u043e\u0447\u0435\u043a \u043a\u043e\u0434\u0430. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/Pi1RBloTVM0H3X915C5iVuSY7KeYU502XLYI4oU-5DyYhu3Ke7RfGnUkBs_whdXT-UtLCoVYQwnL5r91KNT0gpaFZaFyNS-Hnzn9uEaX7fABJ2-Tg9kahEwKkVKWlGZHoyyt_PnI\"\/><\/p>\n<h2>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 postgres<\/h2>\n<p>  \u041d\u0430\u0448 \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d \u043d\u0430 postgres, \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0432\u0441\u044f\u043a\u0438\u0435 \u0435\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0444\u0438\u0447\u0438. \u041c\u044b \u0434\u0430\u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 \u0440\u044f\u0434 extensions. \u041d\u043e \u043c\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c RDS \u0438\u043b\u0438 \u0435\u0449\u0435 \u0447\u0442\u043e-\u0442\u043e.<\/p>\n<p>  \u0421\u0435\u0439\u0447\u0430\u0441 \u043c\u044b \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0434\u043b\u044f \u043d\u0435\u0443\u0431\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e postgres. \u041e\u0437\u0432\u0443\u0447\u0443 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443. \u042f \u0445\u043e\u0447\u0443 \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u00ab\u041a\u043b\u0430\u0441\u0442\u0435\u0440, \u0434\u0430\u0439 \u043c\u043d\u0435 postgres, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435\u043b\u044c\u0437\u044f \u0443\u0431\u0438\u0442\u044c\u00bb. \u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043a \u044d\u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u043c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0434\u0432\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0435 \u0440\u0435\u043f\u043b\u0438\u043a\u0438, \u043e\u0434\u043d\u0443 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0443\u044e, \u0431\u044d\u043a\u0430\u043f\u044b \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e \u0438 \u0434\u043e \u0442\u0435\u0440\u0430\u0431\u0430\u0439\u0442\u0430. \u042f \u044d\u0442\u043e \u0432\u0441\u0435 \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u044e, \u0434\u0430\u043b\u044c\u0448\u0435 \u0443 \u043c\u0435\u043d\u044f cluster controller \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u043e\u0440\u043a\u0435\u0441\u0442\u0440\u0430\u0446\u0438\u0435\u0439 \u0438 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435\u043c \u043c\u043e\u0435\u0433\u043e \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430. \u041e\u043d \u0441\u043e\u0437\u0434\u0430\u0435\u0442 pginstance-\u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0442\u0432\u0435\u0447\u0430\u044e\u0442 \u0437\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 istance postgres. \u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 cluster postgres. <\/p>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 pginstance controller, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0439, \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0442\u0430\u043c POD \u0438\u043b\u0438 deployment \u0441 \u044d\u0442\u0438\u043c postgres. \u0421\u0435\u0440\u0434\u0446\u0435\u043c \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f persistent volume. \u0412\u0441\u044f \u044d\u0442\u0430 \u043c\u0430\u0448\u0438\u043d\u0430 \u0431\u0435\u0440\u0435\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 postgres. \u0412\u044b \u0434\u0430\u0435\u0442\u0435 \u0435\u0439 Docker-container, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e binary postgres. \u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435: \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0441\u0442\u0430\u0440\u0442\u043e\u0432\u043e\u0433\u043e \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 postgres \u0434\u0435\u043b\u0430\u0435\u0442 \u0441\u0430\u043c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440. \u041e\u043d \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u043e \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u043f\u043e\u0437\u0436\u0435 \u043c\u043e\u0433\u043b\u0438 \u0440\u0435\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0438 \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043e\u043d \u043c\u043e\u0433 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e, \u0443\u0440\u043e\u0432\u043d\u0438 \u043b\u043e\u0433\u043e\u0432 \u0438 \u0442.\u0434. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 POD \u043f\u0440\u043e\u0435\u0437\u0436\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u0432\u0435\u0440\u0445 persistent volume \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0442\u0430\u043c postgres cluster \u0434\u043b\u044f master. <\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u043f\u043e\u0432\u0435\u0440\u0445 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f deployment \u0441 master. \u041f\u043e\u0442\u043e\u043c \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f persistent volume. \u0414\u0440\u0443\u0433\u043e\u0439 POD \u043f\u0440\u043e\u0435\u0437\u0436\u0430\u0435\u0442\u0441\u044f, \u0434\u0435\u043b\u0430\u0435\u0442 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0431\u0435\u043a\u0430\u043f, \u0441\u0442\u044f\u0433\u0438\u0432\u0430\u0435\u0442 \u0435\u0433\u043e, \u0438 \u043f\u043e\u0432\u0435\u0440\u0445 \u044d\u0442\u043e\u0433\u043e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f deployment \u0441\u043e slave. <\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 cluster controller \u0441\u043e\u0437\u0434\u0430\u0435\u0442 backup \u0440\u0435\u0441\u0443\u0440\u0441 (\u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0435\u043c\u0443 \u043e\u043f\u0438\u0441\u0430\u043b\u0438 \u0431\u0435\u043a\u0430\u043f\u044b). \u0410 backup controller \u0443\u0436\u0435 \u0431\u0435\u0440\u0435\u0442 \u0435\u0433\u043e \u0438 \u0437\u0430\u043a\u0438\u0434\u044b\u0432\u0430\u0435\u0442 \u0432 \u043a\u0430\u043a\u043e\u0439-\u043d\u0438\u0431\u0443\u0434\u044c S3.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/hyD0q30WGPUEZDuDTQ4c2MsbmYyC4n3hGspbKD4Q5q7crgwarpvNSMip5fv3wWbHoL4VU-vum5An2xv9qlZk3GR4XSV_jR6Gb3PRFo0iAhEsp8f-kK1IaQlqugtPU_28439y1zl3\"\/><\/p>\n<h2>\u0427\u0442\u043e \u0434\u0430\u043b\u044c\u0448\u0435?<\/h2>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u0438\u043c \u0441 \u0432\u0430\u043c\u0438 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0435 \u0431\u0443\u0434\u0443\u0449\u0435\u0435. \u041c\u043e\u0436\u0435\u0442 \u0442\u0430\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0443 \u043d\u0430\u0441 \u0431\u0443\u0434\u0443\u0442 \u0442\u0430\u043a\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b, \u0447\u0442\u043e \u044f \u0441\u043a\u0430\u0436\u0443 \u00ab\u0414\u0430\u0439 \u043c\u043d\u0435 postgres, \u0434\u0430\u0439 \u043c\u043d\u0435 kafka, \u043e\u0441\u0442\u0430\u0432\u044c \u043c\u043d\u0435 CI \u0438 \u0432\u0441\u0435 \u044d\u0442\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u00bb. \u0412\u0441\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u043e\u0441\u0442\u043e.<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u044c \u043d\u0435 \u043e \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u043c \u0431\u0443\u0434\u0443\u0449\u0435\u043c, \u0442\u043e \u044f, \u043a\u0430\u043a \u0434\u0435\u043a\u043b\u0430\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442, \u0441\u0447\u0438\u0442\u0430\u044e, \u0447\u0442\u043e \u0432\u044b\u0448\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0438\u043b\u0438 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e\u0435. \u0422\u0430\u043c \u0443 \u043d\u0430\u0441 operations \u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043e\u0442\u0434\u0435\u043b\u0435\u043d\u0430 \u043e\u0442 information-\u0441\u0435\u043c\u0430\u043d\u0442\u0438\u043a\u0438. \u0415\u0441\u043b\u0438 \u043c\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0430 \u043d\u0430\u0448\u0438 \u043a\u0430\u0441\u0442\u043e\u043c\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0434\u0435\u043b\u0430\u043b\u0438, \u0442\u043e \u0443 \u043d\u0430\u0441 \u0432 \u0431\u0430\u0437\u0435 \u043b\u0435\u0436\u0438\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, resource application. \u0410 \u043c\u044b \u0438\u0437 \u043d\u0435\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0435\u0449\u0435 \u0442\u0440\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u0430. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0432\u044c\u044e\u0445\u0443 \u0432 \u0431\u0430\u0437\u0435 \u0434\u0430\u043d\u043d\u044b\u0445. \u042d\u0442\u043e \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0444\u0430\u043a\u0442\u043e\u0432. \u042d\u0442\u043e logical \u0438\u043b\u0438 relation \u0432\u044c\u044e\u0445\u0430. <\/p>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0448\u0430\u0433 \u0434\u043b\u044f Kubernetes \u2014 \u0432\u043c\u0435\u0441\u0442\u043e \u0440\u0443\u0431\u043b\u0435\u043d\u043e\u0433\u043e REST API \u0434\u0430\u0442\u044c \u043d\u0435\u043a\u0443\u044e \u0438\u043b\u043b\u044e\u0437\u0438\u044e \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0438\u043b\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u0431\u0430\u0437\u044b, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u043e. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0443 \u043d\u0430\u0441 \u0440\u0430\u043d\u043e \u0438\u043b\u0438 \u043f\u043e\u0437\u0434\u043d\u043e \u0432\u0441\u0435 \u0441\u0442\u0435\u043a\u0430\u0435\u0442\u0441\u044f \u0432 \u0431\u0430\u0437\u0443, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0444\u0438\u0434\u0431\u0435\u043a, \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043c\u043e\u0433\u0443\u0442 \u0437\u0432\u0443\u0447\u0430\u0442\u044c \u0442\u0430\u043a: \u00ab\u0415\u0441\u043b\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u043b\u0430\u0441\u044c \u0432\u043e\u0442 \u0442\u0430\u043a, \u0442\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u044c \u0440\u0435\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044e \u0442\u0430\u043a\u00bb. \u0423 \u043d\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0435 sql \u0438\u043b\u0438 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u043e. \u041d\u0443\u0436\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e generic \u0434\u0432\u0438\u0436\u043e\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430 \u044d\u0442\u0438\u043c \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u0435\u0434\u0438\u0442\u044c. \u041d\u043e \u044d\u0442\u043e \u0441\u0432\u0435\u0442\u043b\u043e\u0435 \u0431\u0443\u0434\u0443\u0449\u0435\u0435.<br \/>  <img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/0oeXUAYx3fHShAGbLM2HM_TJlm99O68_aLplkuDTTN7tNPASGBZePEHkt8gSu1Ria9qUc1XULayh4rcEdzf2sjfL2sXL7lL8kSHsejeBdqhlQxDZ1DWgVE2JrqytQkJSYqiDSNEf\"\/><\/p>\n<blockquote><p>\u0411\u043e\u043b\u044c\u0448\u0435 \u043a\u0440\u0443\u0442\u044b\u0445 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 \u2014 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 <b>DevOops 2018<\/b>! \u0412\u0441\u0435 \u0441\u043f\u0438\u043a\u0435\u0440\u044b \u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u2014 \u043d\u0430 <a href=\"https:\/\/devoops.ru\/\">\u0441\u0430\u0439\u0442\u0435<\/a>. <\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0434\u043e\u043c\u0430 \u0441\u0442\u043e\u044f\u0442 \u043d\u0430 \u043f\u043e\u043b\u043a\u0435 <a href=\"https:\/\/www.oreilly.com\/library\/view\/the-devops-handbook\/9781457191381\/\">\u00abThe DevOps Handbook\u00bb<\/a>, <a href=\"https:\/\/www.amazon.com\/gp\/product\/B00PCZMAV0\/ref=dbs_a_def_rwt_hsch_vapi_taft_p1_i0\">\u00abLearning Chef: A Guide to Configuration Management and Automation\u00bb<\/a>, <a href=\"https:\/\/www.oreilly.com\/library\/view\/how-to-containerize\/9781491982310\/\">\u00abHow to containerize your Go code\u00bb<\/a> \u0438\u043b\u0438 \u043d\u043e\u0432\u0435\u043d\u044c\u043a\u0430\u044f <a href=\"https:\/\/www.amazon.com\/Liquid-Software-Achieve-Trusted-Continuous\/dp\/1981855726\">\u00abLiquid Software: How to Achieve Trusted Continuous Updates in the DevOps World\u00bb<\/a> \u2014 \u0437\u0430\u0445\u0432\u0430\u0442\u0438\u0442\u0435 \u0438\u0445 \u0441 \u0441\u043e\u0431\u043e\u0439 \u043d\u0430 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u044e. \u0412 \u0434\u0438\u0441\u043a\u0443\u0441\u0441\u0438\u043e\u043d\u043d\u044b\u0445 \u0437\u043e\u043d\u0430\u0445 \u043f\u043e\u0441\u043b\u0435 \u0434\u043e\u043a\u043b\u0430\u0434\u043e\u0432 \u043c\u044b \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u0435\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u0430\u0432\u0442\u043e\u0433\u0440\u0430\u0444-\u0441\u0435\u0441\u0441\u0438\u0438 \u0441 \u0430\u0432\u0442\u043e\u0440\u0430\u043c\u0438 \u044d\u0442\u0438\u0445 \u043a\u043d\u0438\u0433.<\/p>\n<p>  \u0422\u043e\u043b\u044c\u043a\u043e \u0432\u0434\u0443\u043c\u0430\u0439\u0442\u0435\u0441\u044c: \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0430\u0432\u0442\u043e\u0433\u0440\u0430\u0444 \u043e\u0442 \u0441\u0430\u043c\u043e\u0433\u043e <a href=\"https:\/\/devoops.ru\/2018\/spb\/talks\/3idrp7cstkccu2caecgouw\/\">\u0414\u0436\u043e\u043d\u0430 \u0423\u0438\u043b\u043b\u0438\u0441\u0430<\/a>!<\/p>\n<p>  \u0410 \u0435\u0449\u0435 \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0439 \u0431\u043e\u043d\u0443\u0441: <b>\u0434\u043e 1 \u043e\u043a\u0442\u044f\u0431\u0440\u044f<\/b> <a href=\"https:\/\/devoops.ru\/tickets\/\">\u0431\u0438\u043b\u0435\u0442<\/a> \u043d\u0430 DevOops 2018 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e \u0441\u043a\u0438\u0434\u043a\u043e\u0439.<\/p><\/blockquote>\n<\/div>\n<p>        <script class=\"js-mediator-script\">!function(e){function t(t,n){if(!(n in e)){for(var r,a=e.document,i=a.scripts,o=i.length;o--;)if(-1!==i[o].src.indexOf(t)){r=i[o];break}if(!r){r=a.createElement(\"script\"),r.type=\"text\/javascript\",r.async=!0,r.defer=!0,r.src=t,r.charset=\"UTF-8\";var d=function(){var e=a.getElementsByTagName(\"script\")[0];e.parentNode.insertBefore(r,e)};\"[object Opera]\"==e.opera?a.addEventListener?a.addEventListener(\"DOMContentLoaded\",d,!1):e.attachEvent(\"onload\",d):d()}}}t(\"\/\/mediator.mail.ru\/script\/2820404\/\",\"_mediator\")}(window);<\/script>     <br \/> \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\/post\/424609\/\"> https:\/\/habr.com\/post\/424609\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html js-mediator-article\">\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u0430\u0437\u0433\u043e\u0432\u043e\u0440 \u043f\u043e\u0439\u0434\u0435\u0442 \u043e DevOps, \u0430 \u0442\u043e\u0447\u043d\u0435\u0435 \u2014 \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u043e\u0431 Ops. \u0413\u043e\u0432\u043e\u0440\u044f\u0442, \u0447\u0442\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e \u043b\u044e\u0434\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u044b \u0443\u0440\u043e\u0432\u043d\u0435\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0432\u043e\u0435\u0433\u043e operations. \u041d\u043e, \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044f \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043c\u0430. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u041d\u0438\u043a\u043e\u043b\u0430\u0439 \u0420\u044b\u0436\u0438\u043a\u043e\u0432 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u0442 \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f Kubernetes.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/11O09O3qYBmWfee2f_8ewuqyj5UoFFyGBf1SO3IfM-BJ_7ZMfx-uy4Gkt1OnMk6AF3LjEX8t0i8oyEC0-SridmVZnjpRgE1JuTL7G1goVl52S49yxufl0xgs5OQmC7wRrVO-uDGH\"\/><\/p>\n<p>  \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0432\u044b\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u044f \u041d\u0438\u043a\u043e\u043b\u0430\u044f \u043d\u0430 \u043e\u0441\u0435\u043d\u043d\u0435\u0439 \u043a\u043e\u043d\u0444\u0435\u0440\u0435\u043d\u0446\u0438\u0438 DevOops 2017. \u041f\u043e\u0434 \u043a\u0430\u0442\u043e\u043c \u2014 \u0432\u0438\u0434\u0435\u043e \u0438 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u0430\u044f \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0430 \u0434\u043e\u043a\u043b\u0430\u0434\u0430.  <\/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-290046","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/290046","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=290046"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/290046\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=290046"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=290046"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=290046"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}