{"id":378683,"date":"2024-06-12T15:00:26","date_gmt":"2024-06-12T15:00:26","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=378683"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=378683","title":{"rendered":"<span>\u041e\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0434\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f: \u043f\u0440\u0438\u043c\u0435\u0440 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u043e\u043a\u043e\u0435<\/span>"},"content":{"rendered":"<div><!--[--><img loading=\"lazy\" decoding=\"async\" height=\"1\" src=\"https:\/\/vk.com\/rtrg?p=VK-RTRG-541074-aOhpd&amp;event=habr_devops\" style=\"display:none;\" width=\"1\"><img loading=\"lazy\" decoding=\"async\" height=\"1\" src=\"https:\/\/vk.com\/rtrg?p=VK-RTRG-541074-aOhpd&amp;event=habr_dbaas\" style=\"display:none;\" width=\"1\"><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ne\/1k\/ul\/ne1kulqunfrkuto84lcqgbuz6j0.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/ne\/1k\/ul\/ne1kulqunfrkuto84lcqgbuz6j0.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u041d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0445\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439, \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e \u0438 \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u0432\u0435\u0434\u0435\u0442 \u043a \u0442\u044f\u0436\u0435\u043b\u044b\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0441\u0442\u0430\u0440\u0430\u044e\u0442\u0441\u044f \u00ab\u043e\u0431\u0432\u0435\u0448\u0430\u0442\u044c\u00bb \u0441\u0432\u043e\u0438 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0432\u0441\u0435\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c\u0438 \u043c\u0435\u0440\u0430\u043c\u0438 \u0437\u0430\u0449\u0438\u0442\u044b. \u0412 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u0438\u0431\u0435\u0433\u0430\u044e\u0442 \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u043f\u043e\u043a\u043e\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u044e\u0442, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443, \u043e\u043d \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u0435\u0441\u044f \u043d\u0430 \u043d\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0435\u0439 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0420\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c, \u043a\u0430\u043a \u043a\u043e\u043c\u0430\u043d\u0434\u0430 <a href=\"https:\/\/cloud.vk.com\/\">VK Cloud<\/a> \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u043b\u0430 \u0441\u0435\u0440\u0432\u0438\u0441 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u043e\u043a\u043e\u0435 \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430, \u0447\u0442\u043e \u0432\u043e\u0448\u043b\u043e \u0432 \u0435\u0433\u043e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u0438 \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0440\u0435\u0448\u0435\u043d\u0438\u0435\u043c.<\/p>\n<h2>\u0417\u0430\u043f\u0440\u043e\u0441 \u0438 \u0432\u0432\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<\/h2>\n<p>  \u041c\u043d\u043e\u0433\u0438\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u044b VK Cloud \u0432\u044b\u0431\u0438\u0440\u0430\u044e\u0442 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b \u0434\u043b\u044f \u0441\u0432\u043e\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0435 \u043e\u0431\u043b\u0430\u043a\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043e\u0431\u043b\u0430\u043a\u0430, \u043d\u043e \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0442\u044c \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u0441\u0440\u0435\u0434\u0443 On\u2011Premises, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0430 \u0441\u0432\u043e\u0438\u0445 \u0426\u041e\u0414\u0430\u0445.<\/p>\n<p>  \u0422\u0430\u043a\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0430\u0435\u0442 \u043f\u043e\u043b\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043d\u0430\u0434 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439, \u043d\u043e \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0442\u044c \u044d\u0448\u0435\u043b\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0437\u0430\u0449\u0438\u0442\u0443 \u0447\u0443\u0432\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u043c\u0438 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438.\u00a0<\/p>\n<p>  \u041f\u0440\u0438 \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043d\u0438\u0438 \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u0449\u0438\u0442\u044b \u043e\u0434\u0438\u043d \u0438\u0437 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043e\u0431\u0440\u0430\u0442\u0438\u043b\u0441\u044f \u043a \u043d\u0430\u043c \u0437\u0430 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u043e\u043a\u043e\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u044b \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u0436\u0435 \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 \u0438\u0445 \u043f\u043e\u043f\u0430\u0434\u0430\u043d\u0438\u044f \u0432 \u0440\u0443\u043a\u0438 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a\u043e\u0432.\u00a0<br \/>  \u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0440\u044b\u043d\u043e\u043a \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f, \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0433\u043e \u0437\u0430\u043a\u0440\u044b\u0442\u044c \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u043e\u043a\u043e\u0435 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430.<\/p>\n<h2>\u0421\u0442\u0435\u043a \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0440\u0435\u0448\u0435\u043d\u0438\u044f<\/h2>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043c\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0441\u043d\u043e\u0432\u044b \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0442\u0435\u043a.<\/p>\n<ol>\n<li>\u0423\u0442\u0438\u043b\u0438\u0442\u0430 cryptsetup. \u041e\u043d\u0430 \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0446\u0435\u043b\u0435\u0432\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u043c \u043e\u0431\u043b\u0430\u043a\u0435 VK Cloud, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043d\u0430\u0434\u043e \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435. \u0423\u0442\u0438\u043b\u0438\u0442\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u0414\u043b\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043c\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c aes-xts-plain64 \u0441 \u0434\u043b\u0438\u043d\u043e\u0439 \u043a\u043b\u044e\u0447\u0430 512 \u0431\u0438\u0442.  <\/li>\n<li>\u0423\u0442\u0438\u043b\u0438\u0442\u0430 vaultlocker. \u041e\u043d\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u043d\u0430\u0434 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u043e\u0439 cryptsetup \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u044b cryptsetup \u0438 API-\u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 Vault, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a API Vault \u0447\u0435\u0440\u0435\u0437 POST-\u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0443\u0442\u0438\u043b\u0438\u0442\u0435 cryptsetup \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0440\u0430\u0431\u043e\u0442\u044b.  <\/li>\n<li>\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c Hashicorp Vault. \u0414\u043b\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a \u0441\u0435\u043a\u0440\u0435\u0442\u0430\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0441\u0435\u0442\u0438. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u0434 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0448\u0438\u0444\u0440\u0443\u044e\u0442\u0441\u044f \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 aes gcm, 256 \u0431\u0438\u0442.  <\/li>\n<li>\u0411\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 HashiCorp Consul. \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u0438, \u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u043a\u0438 \u043d\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0433\u0440\u0430\u0444\u0438\u043a\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u0432\u0437\u0430\u0438\u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438 TLS \u0438 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439. \u0412 \u043d\u0430\u0448\u0435\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 HashiCorp Consul \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e\u0433\u043e \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0434\u043b\u044f \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.  <\/li>\n<\/ol>\n<p>  \u0421\u0435\u0440\u0432\u0438\u0441 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u0431\u0430\u0437\u0435 \u044d\u0442\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 \u0438 \u0441\u0445\u0435\u043c\u0443 \u043e\u0431\u043c\u0435\u043d\u0430 \u0434\u0430\u043d\u043d\u044b\u043c\u0438:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/cj\/hi\/uj\/cjhiujdfqfv0k9siq7cada1_nz0.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/cj\/hi\/uj\/cjhiujdfqfv0k9siq7cada1_nz0.jpeg\" data-blurred=\"true\"\/><\/p>\n<h2>\u0410\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445<\/h2>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c\u0441\u044f \u043d\u0430 \u0442\u043e\u043c, \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u2014 \u043e\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0434\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0432\u0441\u0435\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u041f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 web-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0434\u043b\u044f \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u043e\u0441\u0442\u0438 \u044f \u0434\u0430\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u043f\u043e\u0448\u0430\u0433\u043e\u0432\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Company \u0438 \u0435\u0435 \u0443\u0441\u043b\u043e\u0432\u043d\u044b\u043c \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435\u043c, \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b\u043c \u043d\u0430 \u0443\u0441\u043b\u043e\u0432\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u043c \u043e\u0431\u043b\u0430\u043a\u0435 VK Cloud.<\/p>\n<p>  \u0412\u043c\u0435\u0441\u0442\u0435 \u0441 \u0442\u0435\u043c \u0441\u0440\u0430\u0437\u0443 \u043e\u0433\u043e\u0432\u043e\u0440\u044e\u0441\u044c, \u0447\u0442\u043e \u0432 \u0446\u0435\u043b\u043e\u043c \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u043c\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438 \u043d\u0435\u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u0445 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u0430\u0436\u0435 \u043d\u0430 Bare Metal.<\/p>\n<blockquote><p>\u0414\u0438\u0441\u043a\u043b\u0435\u0439\u043c\u0435\u0440: \u0412\u0441\u0435 \u043f\u0435\u0440\u0441\u043e\u043d\u0430\u0436\u0438 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u044b\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u044b\u043c\u0438, \u0430 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f \u2014 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u043c\u0438. \u0412\u0441\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u044b \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u0430\u043c\u0438!<\/p><\/blockquote>\n<p>  \u0418\u0442\u0430\u043a, \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0438\u043c.\u00a0<\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Hashicorp Consul<\/h3>\n<p>  <b>1. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Hashicorp Consul<\/b><\/p>\n<p>  <b>1.1.<\/b> \u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442 consul_1.17.0_linux_amd64.zip \u043d\u0430 VM s001tst-hcv01.company.local (10.2.92.40), \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"plaintext\">unzip \u043f\u0443\u0442\u044c\/\u0434\u043e\/\u0444\u0430\u0439\u043b\u0430\/consul_1.17.0_linux_amd64.zip sudo mv \u043f\u0443\u0442\u044c\/\u0434\u043e\/\u0444\u0430\u0439\u043b\u0430\/consul \/usr\/local\/bin\/ sudo chown a001-consul:a001-consul \/usr\/local\/bin\/consul sudo chmod +x \/usr\/local\/bin\/consul <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438:<\/p>\n<pre><code class=\"plaintext\">mkdir -p \/etc\/consul mkdir -p \/etc\/consul.d\/scripts mkdir -p \/etc\/consul.d\/certs mkdir \/var\/consul mkdir \/var\/log\/consul mkdir -p \/var\/consul\/data chown a001-consul:a001-consul \/var\/consul -R chown a001-consul:a001-consul \/etc\/consul.d \u2013R chown a001-consul:a001-consul \/etc\/consul.d\/certs -R chown a001-consul:a001-consul \/etc\/consul -R chown a001-consul:a001-consul \/var\/log\/consul -R <\/code><\/pre>\n<p>  \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0439 \u043a\u043b\u044e\u0447:<\/p>\n<pre><code class=\"plaintext\">consul keygen <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 encrypt \u0432\u0430\u0436\u043d\u043e \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c.<\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438:<\/p>\n<pre><code class=\"plaintext\">sudo touch \/etc\/consul.d\/config.json <\/code><\/pre>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"json\">{ \u00a0\u00a0\u00a0\u00a0\"node_name\": \"s001tst-hcc01.company.local\", \u00a0\u00a0\u00a0\u00a0\"bootstrap_expect\": 1, \u00a0\u00a0\u00a0\u00a0\"client_addr\": \"0.0.0.0\", \u00a0\u00a0\u00a0\u00a0\"datacenter\": \"vkdc1\", \u00a0\u00a0\u00a0\u00a0\"data_dir\": \"\/var\/consul\", \u00a0\u00a0\u00a0\u00a0\"domain\": \"\", \u00a0\u00a0\u00a0\u00a0\"enable_script_checks\": true, \u00a0\u00a0\u00a0\u00a0\"disable_update_check\": true, \u00a0\u00a0\u00a0\u00a0\"dns_config\": { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"enable_truncate\": true, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"only_passing\": true \u00a0\u00a0\u00a0\u00a0}, \"ports\": { \u00a0\u00a0\u00a0\u00a0\"http\": -1, \u00a0\u00a0\u00a0\u00a0\"https\": 8501 }, \u00a0\u00a0\u00a0\u00a0\"enable_syslog\": true, \u00a0\u00a0\u00a0\u00a0\"encrypt\": \" \/\/\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 encrypt, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u0440\u0430\u043d\u0435\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 consul keygen\/\/\", \u00a0\u00a0\u00a0\u00a0\"leave_on_terminate\": true, \"rejoin_after_leave\": true, \u00a0\u00a0\u00a0\u00a0\"server\": true, \u00a0\u00a0\u00a0\u00a0\"start_join\": [ \u00a0\u00a0\u00a0\u00a0\"s001tst-hcc01.company.local\" \u00a0\u00a0\u00a0\u00a0], \u00a0\u00a0\u00a0\u00a0\"ui_config\": { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"enabled\": false \u00a0\u00a0\u00a0\u00a0} }<\/code><\/pre>\n<p>  <b>1.2. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430<\/b><\/p>\n<p>  \u0420\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u043c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b:<\/p>\n<pre><code class=\"plaintext\">s001tst-hcc01.company.local.pem s001tst-hcc01.company.local.crt s001tst-hcc01.company.local.key <\/code><\/pre>\n<p>  \u043f\u043e \u043f\u0443\u0442\u0438 \/etc\/consul.d\/certs\/<\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/consul.d\/config.json \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"json\">{ \u00a0\u00a0\u00a0\u00a0\"tls\": { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"defaults\": { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"ca_file\": \"\/etc\/consul.d\/certs\/s001tst-hcc01.company.local.pem\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"cert_file\": \"\/etc\/consul.d\/certs\/s001tst-hcc01.company.local.crt\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"key_file\": \"\/etc\/consul.d\/certs\/s001tst-hcc01.company.local.key\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"verify_outgoing\": true, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"verify_incoming\": false \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"internal_rpc\": { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"verify_server_hostname\": true \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} \u00a0\u00a0\u00a0\u00a0}, \u00a0\u00a0\u00a0\u00a0\"auto_encrypt\": { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"allow_tls\": true \u00a0\u00a0\u00a0\u00a0}<\/code><\/pre>\n<p>  <b>1.3. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/b><\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/consul.d\/config.json \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"json\">{ \u00a0\u00a0\u00a0\u00a0\"log_file\": \"\/var\/log\/consul\/consul.log\", \u00a0\u00a0\u00a0\u00a0\"log_level\": \"DEBUG\", \u00a0\u00a0\u00a0\u00a0\"log_json\": false, \u00a0\u00a0\u00a0\u00a0\"log_rotate_duration\": \"24h\", \u00a0\u00a0\u00a0\u00a0\"log_rotate_max_files\": -1, \u00a0\u00a0\u00a0\u00a0}<\/code><\/pre>\n<p>  <b>1.4. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a DB \u043f\u043e \u0442\u043e\u043a\u0435\u043d\u0443<\/b><\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/consul.d\/config.json \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"json\">acl { \"enabled\" = \"true\" \"default_policy\" = \"deny\" \"down_policy\" = \"extend-cache\" \"tokens\": { \"agent\": \"&lt;AGENT_TOKEN>\" }<\/code><\/pre>\n<p>  <b>1.5. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 Consul Agent<\/b><\/p>\n<p>  \u0420\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u043c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 <code>s001tst-hcv01.company.local.pem<\/code> \u043f\u043e \u043f\u0443\u0442\u0438 <code>\/etc\/consul.d\/certs\/.<\/code><\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u00abclient.json\u00bb \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>sudo touch \/etc\/consul\/client.json<\/code><\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \/etc\/consul\/client.json \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"json\">{ \u00a0\u00a0\u00a0\u00a0\"tls\": { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"defaults\": { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"ca_file\": \"\/etc\/consul\/certs\/s001tst-hcc01.company.local.pem\", \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"verify_outgoing\": true, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"verify_incoming\": false \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0}, \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"internal_rpc\": { \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"verify_server_hostname\": true \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0} \u00a0\u00a0\u00a0\u00a0}, \u00a0\u00a0\"auto_encrypt\": { \u00a0\u00a0\u00a0\u00a0\"tls\": true \u00a0\u00a0}, \u00a0\u00a0\"server\": false, \u00a0\u00a0\"datacenter\": \"VKDC1\", \u00a0\u00a0\"node_name\": \"s001tst-hcc01.company.local\", \u00a0\u00a0\"data_dir\": \"\/var\/consul\/data\", \u00a0\u00a0\"bind_addr\": \"10.2.92.40\", \u00a0\u00a0\"client_addr\": \"127.0.0.1\", \u00a0\u00a0\"disable_update_check\": true, \u00a0\u00a0\"retry_join\": [\"s001tst-hcc01.company.local\"], \u00a0\u00a0\"encrypt\": \"\/\/\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 encrypt, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u0440\u0430\u043d\u0435\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 consul keygen\/\/\", \u00a0\u00a0\"log_level\": \"DEBUG\", \u00a0\u00a0\"enable_syslog\": true, \u00a0\u00a0} }<\/code><\/pre>\n<p>  <b>1.6. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Consul \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0436\u0431\u044b<\/b><\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u00abconsul.service\u00bb \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>sudo touch \/etc\/systemd\/system\/consul.service<\/code>.<\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/systemd\/system\/consul.service \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"json\">[Unit] Description=Consul Startup process After=network.target \u00a0 [Service] User= a001-consul Group= a001-consul Type=simple ExecStart=\/bin\/bash -c '\/usr\/local\/bin\/consul agent -config-dir \/etc\/consul.d\/' TimeoutStartSec=0 \u00a0 [Install] WantedBy=default.target <\/code><\/pre>\n<p>  <b>\u041d\u0430\u0441\u0442\u043e\u0439\u043a\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 Consul Agent \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0436\u0431\u044b<\/b><\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u00abconsul-agent.service\u00bb \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>sudo touch \/etc\/systemd\/system\/consul-agent.service<\/code>.<\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/systemd\/system\/consul-agent.service<br \/>   \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"json\">[Unit] Description=Consul client agent Requires=network-online.target After=network-online.target [Service] User=a001-consul Group=a001-consul PIDFile=\/var\/run\/consul\/consul.pid PermissionsStartOnly=true ExecStartPre=-\/bin\/mkdir -p \/var\/run\/consul ExecStartPre=\/bin\/chown -R a001-consul:a001-consul \/var\/run\/consul ExecStart=\/usr\/local\/bin\/consul agent \\ -config-file=\/etc\/consul\/client.json \\ -pid-file=\/var\/run\/consul\/consul.pid ExecReload=\/bin\/kill -HUP $MAINPID KillMode=process KillSignal=SIGTERM Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target <\/code><\/pre>\n<p>  <b>1.7. \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a Consul Agent \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0436\u0431\u044b<\/b><\/p>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>consul validate \/etc\/consul.d<\/code> \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043d\u0435\u0442 \u043e\u0448\u0438\u0431\u043e\u043a<\/p>\n<p>  \u041f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"plaintext\">sudo systemctl daemon-reload sudo systemctl enable consul sudo systemctl enable consul-agent sudo systemctl start consul sudo systemctl start consul-agent <\/code><\/pre>\n<p>  \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0447\u0442\u043e \u0441\u043b\u0443\u0436\u0431\u044b \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b, \u043f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"plaintext\">sudo systemctl status consul sudo systemctl status consul -agent <\/code><\/pre>\n<p>  \u0421\u0442\u0430\u0442\u0443\u0441 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u00abactive\u00bb.<\/p>\n<p>  <b>1.8. \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0442\u043e\u043a\u0435\u043d\u043e\u0432 \u0438 \u043f\u043e\u043b\u0438\u0441\u0438<\/b><\/p>\n<p>  \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u043f\u043e \u0442\u043e\u043a\u0435\u043d\u0443:<\/p>\n<pre><code class=\"plaintext\">export CONSUL_HTTP_ADDR=https:\/\/s001tst-hcc01.company.local:8501 consul acl bootstrap <\/code><\/pre>\n<p>  \u0412\u0430\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u0442\u043e\u043a\u0435\u043d\u044b: AccessorID \u0438 SecretID, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043e\u0447\u043d\u044b\u043c \u0442\u043e\u043a\u0435\u043d\u043e\u043c, \u0442\u043e\u043a\u0435\u043d\u043e\u043c \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430.<\/p>\n<pre><code class=\"plaintext\">export CONSUL_HTTP_TOKEN=\u00ab\/\/SECRET_ID, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 \u0432\u044b\u0448\u0435\/\/\u00bb consul acl token create -description \"Agent token for node hcc01\" -node-identity \"s001tst-hcc01.company.local:VKDC1\" <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u00abAgent token for node hcc01\u00bb.<\/p>\n<p>  \u0412\u043d\u043e\u0441\u0438\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0442\u043e\u043a\u0435\u043d \u0432 \u0444\u0430\u0439\u043b\u0435 \/etc\/consul.d\/config.json \u0432 \u0441\u0442\u0440\u043e\u043a\u0443 \u00abagent\u00bb: &#171;&lt;AGENT_TOKEN>&#187;<\/p>\n<p>  <b>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0442\u043e\u043a\u0435\u043d \u0438 \u043f\u043e\u043b\u0438\u0441\u0438 \u0434\u043b\u044f Vault<\/b><\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b vault-policy.hcl:<\/p>\n<pre><code class=\"plaintext\">touch vault-policy.hcl <\/code><\/pre>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u0444\u0430\u0439\u043b vault-policy.hcl \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"plaintext\">service \"vault\" { policy = \"write\" } key_prefix \"vault\/\" { policy = \"write\" } agent_prefix \"\" { policy = \"read\" } session_prefix \"\" { policy = \"write\" } path \"vaultlocker\/*\" { \u00a0\u00a0capabilities = [\"create\", \"read\", \"update\", \"delete\", \"list\"] } <\/code><\/pre>\n<p>  \u041f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"plaintext\">consul acl policy create -name vault-service -rules @vault-policy.hcl consul acl token create -description \"Vault Service Token\" -policy-name vault-service consul acl policy create -name vault-policy -rules @vault-policy.hcl consul acl token create -description \"Token for Vault Service\" -policy-name vault-policy rm vault-policy.hcl <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Token for Vault Service.<\/p>\n<p>  \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0439 \u0442\u043e\u043a\u0435\u043d \u043f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 Vault \u043a Consul.<\/p>\n<p>  <b>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0442\u043e\u043a\u0435\u043d \u0438 \u043f\u043e\u043b\u0438\u0441\u0438 \u0434\u043b\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 Prometheus<\/b><\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b monitoring-policy.hcl \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>touch monitoring-policy.hcl<\/code>.<\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u0444\u0430\u0439\u043b monitoring-policy.hcl \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"plaintext\">node_prefix \"\" { policy = \"read\" } service \"consul\" { policy = \"read\" } agent_prefix \"\" { policy = \"read\" } session_prefix \"\" { policy = \"read\" } <\/code><\/pre>\n<p>  \u041f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"plaintext\">consul acl policy create \u2013description \"Consul ACL for Prometheus\" -name monitoring-policy -rules @monitoring-policy.hcl consul acl token create -description \"Consul Token for Prometheus\" -policy-name monitoring-policy rm monitoring-policy.hcl <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Consul Token for Prometheus \u2014 \u044d\u0442\u043e\u0442 \u0442\u043e\u043a\u0435\u043d \u0431\u0443\u0434\u0435\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u043e\u0442 \u0418\u0411.<\/p>\n<p>  <b>2. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Hashicorp Vault<\/b><\/p>\n<p>  <b>2.1. \u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442<\/b> vault_1.15.2_linux_amd64.zip \u043d\u0430 VM s001tst-hcv01.company.local (10.2.92.40), \u043f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"plaintext\">unzip vault_1.15.2_linux_amd64.zip mv \u043f\u0443\u0442\u044c\/\u0434\u043e\/\u0444\u0430\u0439\u043b\u0430\/vault \/usr\/local\/bin\/ chown a001-vault:a001-vault \/usr\/local\/bin\/vault chmod +x \/usr\/local\/bin\/vault <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438:<\/p>\n<pre><code class=\"plaintext\">sudo mkdir -p \/etc\/vault sudo mkdir -p \/var\/log\/vault chown a001-vault:a001-vault \/etc\/vault -R chown a001-vault:a001-vault \/var\/log\/vault -R <\/code><\/pre>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>sudo touch \/etc\/vault\/config.json<\/code> \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u00abconfig.json\u00bb.<\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"plaintext\">{ \"listener\": [{ \"tcp\": { \"address\" : \"0.0.0.0:8200\", } }], \"api_addr\": \"https:\/\/s001tst-hcv01.company.local:8200\", }, \"max_lease_ttl\": \"10h\", \"default_lease_ttl\": \"10h\", \"ui\":false } <\/code><\/pre>\n<p>  <b>2.2. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430<\/b><\/p>\n<p>  \u041f\u043e\u0434\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 s001tst-hcv01.company.local.crt, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043a \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0443 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 CA.<\/p>\n<p>  \u0420\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u043c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b <code>s001tst-hcv01.company.local.crt<\/code> \u0438 <code> s001tst-hcv01.company.local.key<\/code> \u043f\u043e \u043f\u0443\u0442\u0438 \/etc\/certs\/.<\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/vault\/config.json \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"json\">\"listener\": [{ \"tcp\": { \"tls_cert_file\" = \"\/etc\/certs\/s001tst-hcv01.company.local.crt\" \"tls_key_file\" = \"\/etc\/certs\/s001tst-hcv01.company.local.key\" \"tls_min_version\" = \"tls12\" \"tls_disable\" : 0,  }<\/code><\/pre>\n<p>  <b>2.3. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f<\/b><\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/vault\/config.json \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"plaintext\">log_level = \"info\" <\/code><\/pre>\n<p>  \u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435:<\/p>\n<pre><code class=\"plaintext\">vault audit enable file file_path=\"\/var\/log\/vault\/vault-audit.log\" <\/code><\/pre>\n<p>  \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443:<\/p>\n<pre><code class=\"plaintext\">vault audit list -detailed <\/code><\/pre>\n<p>  <b>2.4. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430<\/b><\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/vault\/config.json \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"json\">telemetry { \u00a0\u00a0prometheus_retention_time = \"8h\" \u00a0\u00a0disable_hostname = true \u00a0\u00a0enable_hostname_label = \"true\" \u00a0\u00a0metrics_prefix = \"vault\" } <\/code><\/pre>\n<p>  <b>\u0412 Vault \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u043e\u043b\u0438\u0441\u0435\u0440 \u0438 \u0442\u043e\u043a\u0435\u043d \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 Prometheus:<\/b><\/p>\n<p>  \u041f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"plaintext\">cat &lt;&lt;EOF > metrics.hcl path \"\/sys\/metrics\"\u00a0 {capabilities = [\"read\"]}\u00a0 EOF vault policy write prometheus-metrics - metrics.hcl vault token create \\ \u00a0\u00a0-field=token \\ \u00a0\u00a0-policy prometheus-metrics <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u00abVault Token for Prometheus\u00bb \u2014 \u044d\u0442\u043e\u0442 \u0442\u043e\u043a\u0435\u043d \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u044c\u0441\u044f \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u0418\u0411.\u00a0<\/p>\n<p>  <b>2.5. \u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a db Consul \u043f\u043e \u0442\u043e\u043a\u0435\u043d\u0443<\/b><\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/vault\/config.json \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"json\">\"storage\": { \u00a0\u00a0\"consul\" : { \u00a0\u00a0\"address\" : \"https:\/\/s001tst-hcc01.company.local:8501\", \u00a0\u00a0\"path\": \"vault\", \u00a0\u00a0\"token\": \"\/\/Token for Vault Service \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0432 \u043f.1.7\/\/\" \u00a0\u00a0} } <\/code><\/pre>\n<p>  <b>2.6. \u0417\u0430\u043f\u0443\u0441\u043a \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0436\u0431\u044b<\/b><\/p>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>sudo touch \/etc\/systemd\/system\/vault.service<\/code> \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u00abvault.service\u00bb.<\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/systemd\/system\/vault.service \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"json\">[Unit] Description=vault service Requires=network-online.target After=network-online.target ConditionFileNotEmpty=\/etc\/vault\/config.json  [Service] User=a001-vault Group=a001-vault ProtectSystem=full ProtectHome=read-only PrivateTmp=yes PrivateDevices=yes SecureBits=keep-caps StartLimitInterval=60 StartLimitIntervalSec=60 StartLimitBurst=3 AmbientCapabilities=CAP_IPC_LOCK Capabilities=CAP_IPC_LOCK+ep CapabilityBoundingSet=CAP_SYSLOG CAP_IPC_LOCK NoNewPrivileges=yes RestartSec=5 TimeoutStopSec=30 LimitNOFILE=65536 LimitMEMLOCK=infinity EnvironmentFile=-\/etc\/sysconfig\/vault Environment=GOMAXPROCS=2 Restart=on-failure ExecStart=\/usr\/local\/bin\/vault server -config=\/etc\/vault\/config.json ExecReload=\/bin\/kill --signal HUP $MAINPID StandardOutput=\/var\/log\/vault\/output.log StandardError=\/var\/log\/vault\/error.log LimitMEMLOCK=infinity ExecReload=\/bin\/kill -HUP $MAINPID KillSignal=SIGINT\u00a0 KillMode=process\u00a0  [Install] WantedBy=multi-user.target  StartLimitIntervalSec=60 StartLimitBurst=3 <\/code><\/pre>\n<p>  <b>2.7. \u0417\u0430\u043f\u0443\u0441\u043a \u0441\u043b\u0443\u0436\u0431\u044b<\/b><\/p>\n<pre><code class=\"plaintext\">sudo systemctl daemon-reload sudo systemctl enable vault sudo systemctl start vaul <\/code><\/pre>\n<p>  \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>sudo systemctl status vault<\/code>, \u0447\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0441\u043b\u0443\u0436\u0431\u044b \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u044b. \u0421\u0442\u0430\u0442\u0443\u0441 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u00abactive\u00bb.<\/p>\n<p>  \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e Vault \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043a\u043b\u044e\u0447\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"plaintext\">vault operator init <\/code><\/pre>\n<p>  \u0412\u044b\u0432\u043e\u0434 \u044d\u0442\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0432\u0430\u0436\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043b\u044e\u0447\u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f.<\/p>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440 \u0432\u044b\u0432\u043e\u0434\u0430:<\/p>\n<pre><code class=\"plaintext\">Unseal Key 1: qqqqqqqqqqqqqqqqqqqqqqqqqqqqq Unseal Key 2: wwwwwwwwwwwwwwwwwwww Unseal Key 3: eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee Unseal Key 4: rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr Unseal Key 5: tttttttttttttttttttttttttttttttttttttttttttttttttttr Initial Root Token: yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy <\/code><\/pre>\n<p>  \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u043a\u0443 (unsealing) \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 Vault, \u043f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"plaintext\">vault operator unseal \u00ab\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Unseal Key 1\u00bb vault operator unseal \u00ab\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Unseal Key 2\u00bb vault operator unseal \u00ab\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Unseal Key 3\u00bb <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API Vault, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443:\u00a0<\/p>\n<pre><code class=\"plaintext\">export VAULT_TOKEN=\/\/\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Initial Root Token\/\/ <\/code><\/pre>\n<p>  \u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u043e \u043f\u0430\u0440\u043e\u043b\u044e \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f:<\/p>\n<pre><code class=\"plaintext\">vault auth enable userpass vault write auth\/userpass\/users\/a001-vault-adm policies=default password=\u00ab\u041f\u0430\u0440\u043e\u043b\u044c \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438\u00bb <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0441\u0435\u043a\u0440\u0435\u0442\u043e\u0432:<\/p>\n<pre><code class=\"plaintext\">vault secrets enable -path=vaultlocker kv <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443:<\/p>\n<pre><code class=\"plaintext\">cat &lt;&lt;EOF > vaultlocker.hcl > path \"\/vault\/*\" { > capabilities = [\"create\", \"read\", \"update\", \"delete\", \"list\"] > } > EOF vault policy write vaultlocker vaultlocker.hcl rm vaultlocker.hcl <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435:<\/p>\n<pre><code class=\"plaintext\">vault auth enable approle vault write auth\/approle\/role\/vaultlocker bound_cidr_list=10.24.14.22\/32,10.24.13.139\/32 token_bound_cidrs=10.24.14.22\/32,10.24.13.139\/32 policies=vaultlocker vault write auth\/approle\/role\/vaultlocker bind_secret_id=false <\/code><\/pre>\n<p>  \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 approle-id \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u2014 \u0435\u0433\u043e \u043c\u043e\u0436\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u0418\u0411.<\/p>\n<p>  <b>\u0421\u043a\u0440\u0438\u043f\u0442 \u043f\u043e \u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435:<\/b><\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u00abcreds.txt\u00bb, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"plaintext\">mkdir \/etc\/autounseal mkdir -p \/var\/log\/vault\/unseal chown a001-vault-unseal:a001-vault-unseal \/etc\/autounseal -R chown a001-vault-unseal:a001-vault-unseal \/var\/log\/vault\/unseal -R touch \/etc\/autounseal\/creds.txt chmod 700 \/etc\/autounseal\/creds.txt <\/code><\/pre>\n<p>  \u0412\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0432 \u0444\u0430\u0439\u043b \/etc\/autounseal\/creds.txt \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0435\u0439:<\/p>\n<pre><code class=\"plaintext\">Unseal Key 1 Unseal Key 2 Unseal Key 3 <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u00abautounseal.sh\u00bb \u0438 \u0434\u0435\u043b\u0430\u0435\u043c \u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u043c, \u043f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"plaintext\">touch \/etc\/autounseal\/autounseal.sh chown a001-vault-unseal:a001-vault-unseal \/etc\/autounseal\/autounseal.sh chmod 700 \/etc\/autounseal\/autounseal.sh <\/code><\/pre>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/autounseal\/autounseal.sh \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"bash\">#!\/bin\/bash  echo \"Vault autounseal \u0437\u0430\u043f\u0443\u0449\u0435\u043d\" >> \/var\/log\/vault\/unseal\/unseal.log   export VAULT_ADDR=https:\/\/s001tst-hcv01.company.local:8200  # \u041f\u0443\u0442\u044c \u043a \u0444\u0430\u0439\u043b\u0443 \u0441 \u043a\u043b\u044e\u0447\u0430\u043c\u0438 CREDENTIALS_FILE=\"\/etc\/autounseal\/creds.txt\"  # \u041f\u0443\u0442\u044c \u043a \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443 Vault VAULT_EXECUTABLE=\"\/usr\/local\/bin\/vault\"  if [[ ! -f \"$CREDENTIALS_FILE\" ]]; then \u00a0\u00a0\u00a0\u00a0echo \"\u0424\u0430\u0439\u043b \u043a\u043b\u044e\u0447\u0435\u0439 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d: $CREDENTIALS_FILE\" >> \/var\/log\/vault\/unseal\/unseal.log \u00a0\u00a0\u00a0\u00a0exit 1 fi  if [[ ! -x \"$VAULT_EXECUTABLE\" ]]; then \u00a0\u00a0\u00a0\u00a0echo \"Vault \u043d\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0438\u043b\u0438 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d \u0432 PATH\" >> \/var\/log\/vault\/unseal\/unseal.log \u00a0\u00a0\u00a0\u00a0exit 1 fi echo \"HELLO\" echo $VAULT_EXECUTABLE echo $CREDENTIALS_FILE # \u0427\u0438\u0442\u0430\u0435\u043c \u043a\u043b\u044e\u0447\u0438 \u0438 \u043a\u043b\u0430\u0434\u0435\u043c \u0438\u0445 \u0432 Vault \u0434\u043b\u044f \u0441\u043d\u044f\u0442\u0438\u044f \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u043a\u0438 sleep 40 while read -r key; do \u00a0\u00a0\u00a0\u00a0echo \"Unsealing Vault...\" \u00a0\u00a0\u00a0\u00a0echo $key \u00a0\u00a0\u00a0\u00a0echo $VAULT_EXECUTABLE operator unseal $key \u00a0\u00a0\u00a0\u00a0$VAULT_EXECUTABLE operator unseal $key done &lt; \"$CREDENTIALS_FILE\" echo \"Vault autounseal \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\" >> \/var\/log\/vault\/unseal\/unseal.log <\/code><\/pre>\n<p>  <b>\u0417\u0430\u043f\u0443\u0441\u043a \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0436\u0431\u044b<\/b><\/p>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>sudo touch \/etc\/systemd\/system\/autounseal.service<\/code> \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u00abautounseal.service\u00bb.<\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/systemd\/system\/autounseal.service \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"plaintext\">[Unit] Description=Vault autounseal After=network.target network-online.target vault.service  [Service] User=a001-vault-unseal Group=a001-vault-unseal Type=simple ExecStart=\/bin\/bash -c 'VAULT_ADDR=https:\/\/s001tst-hcv01.company.local:8200 exec \/etc\/autounseal\/autounseal.sh'  [Install] WantedBy=multi-user.target \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u043b\u0443\u0436\u0431\u044b, \u043f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b: sudo systemctl daemon-reload sudo systemctl enable autounseal sudo systemctl start autounseal <\/code><\/pre>\n<p>  \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u0430\u0432\u0442\u043e\u0440\u0430\u0441\u043f\u0435\u0447\u0430\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430. <\/p>\n<p>  \u041f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c VM s001tst-hcv01.company.local, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443: <code>vault status<\/code>.<\/p>\n<p>  \u0412 \u0432\u044b\u0432\u043e\u0434\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c:<\/p>\n<pre><code class=\"plaintext\">Unseal Progress 3\/5 Sealed false <\/code><\/pre>\n<p>  <b>3. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Fluent-bit<\/b><\/p>\n<p>  <b>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 Fluent-bit<\/b><\/p>\n<p>  \u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0430\u0440\u0442\u0435\u0444\u0430\u043a\u0442 \u043d\u0430 VM, \u043f\u043e\u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"plaintext\">unzip fluent-bit-rpm.zip yum localinstall fluent-bit.rpm <\/code><\/pre>\n<p>  <b>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a \u043e\u0442 \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u043e\u0439 \u0443\u0447\u0435\u0442\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438<\/b><\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/fluent-bit\/etc\/fluent-bit.conf \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"plaintext\">[SERVICE] user a001-fluenbit <\/code><\/pre>\n<p>  <b>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u043b\u043e\u0433\u0438\u0440\u0443\u0435\u043c\u044b\u0445 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432 SIEM<\/b><\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/fluent-bit\/fluent-bit.conf \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"plaintext\">[INPUT] \u00a0\u00a0\u00a0\u00a0Name\u00a0 \u00a0 \u00a0 \u00a0 tail \u00a0\u00a0\u00a0\u00a0Tag \u00a0 \u00a0 \u00a0 Consul \u00a0\u00a0\u00a0\u00a0Path\u00a0 \u00a0 \u00a0 \u00a0 \/var\/log\/consul\/consul.log  [INPUT] \u00a0\u00a0\u00a0\u00a0Name\u00a0 \u00a0 \u00a0 \u00a0 tail \u00a0\u00a0\u00a0\u00a0Tag \u00a0 \u00a0 \u00a0 Vault-audit \u00a0\u00a0\u00a0\u00a0Path\u00a0 \u00a0 \u00a0 \u00a0 \/var\/log\/vault\/vault-audit.log  [INPUT] \u00a0\u00a0\u00a0\u00a0Name\u00a0 \u00a0 \u00a0 \u00a0 tail \u00a0\u00a0\u00a0\u00a0Tag \u00a0 \u00a0 \u00a0 Vault-stdout \u00a0\u00a0\u00a0\u00a0Path\u00a0 \u00a0 \u00a0 \u00a0 \/var\/log\/vault\/output.log  [INPUT] \u00a0\u00a0\u00a0\u00a0Name\u00a0 \u00a0 \u00a0 \u00a0 tail \u00a0\u00a0\u00a0\u00a0Tag \u00a0 \u00a0 \u00a0 Vault-stderr \u00a0\u00a0\u00a0\u00a0Path\u00a0 \u00a0 \u00a0 \u00a0 \/var\/log\/vault\/error.log  [INPUT] \u00a0\u00a0\u00a0\u00a0Name\u00a0 \u00a0 \u00a0 \u00a0 tail \u00a0\u00a0\u00a0\u00a0Tag \u00a0 \u00a0 \u00a0 Vault-unseal-stdout \u00a0\u00a0\u00a0\u00a0Path\u00a0 \u00a0 \u00a0 \u00a0 \/var\/log\/vault\/unseal\/output.log  [INPUT] \u00a0\u00a0\u00a0\u00a0Name\u00a0 \u00a0 \u00a0 \u00a0 tail \u00a0\u00a0\u00a0\u00a0Tag \u00a0 \u00a0 \u00a0 Vault-unseal-stderr \u00a0\u00a0\u00a0\u00a0Path\u00a0 \u00a0 \u00a0 \u00a0 \/var\/log\/vault\/unseal\/error.log  INPUT] \u00a0\u00a0\u00a0\u00a0Name\u00a0 \u00a0 \u00a0 \u00a0 tail \u00a0\u00a0\u00a0\u00a0Tag \u00a0 \u00a0 \u00a0 Vault-unseal \u00a0\u00a0\u00a0\u00a0Path\u00a0 \u00a0 \u00a0 \u00a0 \/var\/log\/vault\/unseal\/unseal.log  [OUTPUT] \u00a0\u00a0\u00a0\u00a0name \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 syslog \u00a0\u00a0\u00a0\u00a0match\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Vault-audit, Vault-stdout, Vault-stderr, Vault-unseal-stdout, Vault-unseal-stderr, Vault-unseal \u00a0\u00a0\u00a0\u00a0host \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 10.2.16.90 \u00a0\u00a0\u00a0\u00a0port \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 514 \u00a0\u00a0\u00a0\u00a0mode \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 udp \u00a0\u00a0\u00a0\u00a0syslog_format\u00a0 \u00a0 \u00a0 \u00a0 rfc5424 \u00a0\u00a0\u00a0\u00a0syslog_maxsize \u00a0 \u00a0 \u00a0 2048 \u00a0\u00a0\u00a0\u00a0syslog_hostname_key\u00a0 s001tst-hcv01.company.local \u00a0\u00a0\u00a0\u00a0syslog_appname_key \u00a0 Vault \u00a0\u00a0\u00a0\u00a0syslog_procid_key\u00a0 \u00a0 procid \u00a0\u00a0\u00a0\u00a0syslog_msgid_key \u00a0 \u00a0 msgid\u00a0 \u00a0\u00a0\u00a0\u00a0syslog_sd_key\u00a0 \u00a0 \u00a0 \u00a0 uls@0 \u00a0\u00a0\u00a0\u00a0syslog_message_key \u00a0 log  [OUTPUT] \u00a0\u00a0\u00a0\u00a0name \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 syslog \u00a0\u00a0\u00a0\u00a0match\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 Consul \u00a0\u00a0\u00a0\u00a0host \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 10.2.16.90 \u00a0\u00a0\u00a0\u00a0port \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 514 \u00a0\u00a0\u00a0\u00a0mode \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 udp \u00a0\u00a0\u00a0\u00a0syslog_format\u00a0 \u00a0 \u00a0 \u00a0 rfc5424 \u00a0\u00a0\u00a0\u00a0syslog_maxsize \u00a0 \u00a0 \u00a0 2048 \u00a0\u00a0\u00a0\u00a0syslog_hostname_key\u00a0 s001tst-hcc01.company.local \u00a0\u00a0\u00a0\u00a0syslog_appname_key \u00a0 Vault \u00a0\u00a0\u00a0\u00a0syslog_procid_key\u00a0 \u00a0 procid \u00a0\u00a0\u00a0\u00a0syslog_msgid_key \u00a0 \u00a0 msgid\u00a0 \u00a0\u00a0\u00a0\u00a0syslog_sd_key\u00a0 \u00a0 \u00a0 \u00a0 uls@0 \u00a0\u00a0\u00a0\u00a0syslog_message_key \u00a0 log <\/code><\/pre>\n<p>  <b>\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0437\u0430\u043f\u0443\u0441\u043a<\/b><\/p>\n<p>  \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"plaintext\">systemctl enable fluent-bit systemctl start fluent-bit <\/code><\/pre>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e \u0441\u0435\u0440\u0432\u0438\u0441 \u0437\u0430\u043f\u0443\u0449\u0435\u043d, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>systemctl status fluent-bit<\/code>. \u0421\u0442\u0430\u0442\u0443\u0441 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u00abactive\u00bb.\u2003<\/p>\n<h3>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Vaultlocker<\/h3>\n<p>  <b>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Vaultlocker \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438.<\/b><\/p>\n<p>  \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043f\u0430\u043a\u0435\u0442\u044b \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0438\u0437 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f:<\/p>\n<pre><code class=\"plaintext\">epel-release 7-11 python3-pip 9.0.3-8.el7 cruptsetup <\/code><\/pre>\n<p>  \u0417\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438:<\/p>\n<pre><code class=\"plaintext\">python3 3.6.8-19.el7_9 python3-libs 3.6.8-19.el7_9 python3-setuptools 39.2.0-10.el7 <\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c Vaultlocker:<\/p>\n<pre><code class=\"plaintext\">pip3 install vaultlocker --index-url=https:\/\/repo-test.company.local\/api\/pypi\/pypi-remote\/simple --trusted-host repo-test.company.local -v <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043a\u0430\u0442\u0430\u043b\u043e\u0433\u0438:<\/p>\n<pre><code class=\"plaintext\">sudo mkdir \/etc\/vaultlocker <\/code><\/pre>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u00abvaultlocker.conf\u00bb, \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre><code class=\"plaintext\">sudo touch \/etc\/vaultlocker\/vaultlocker.conf <\/code><\/pre>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/etc\/vaultlocker\/vaultlocker.conf \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"plaintext\">[vault] url = https:\/\/s001tst-hcv01.company.local:8200 approle = \/\/\u0417\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0443 \u0418\u0411 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 Approle-ID\/\/ secret_id = yyy-ttt-rrr-eee-www (\u043b\u044e\u0431\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u043d\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438) backend = \/vaultlocker ca_bundle=\/\u043f\u0443\u0442\u044c\/\u0434\u043e\/\u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0433\u043e CA. <\/code><\/pre>\n<p>  <\/p>\n<h3>\u0410\u043a\u0442\u0438\u0432\u0430\u0446\u0438\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u043e\u0432 \u0441 \u041f\u0414<\/h3>\n<p>  \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 VM \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0439.<\/p>\n<p>  <b>\u0412 \u0430\u0434\u043c\u0438\u043d \u043f\u0430\u043d\u0435\u043b\u0438 VK Cloud:<\/b><\/p>\n<ol>\n<li>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0434\u0438\u0441\u043a \u0434\u043b\u044f \u0411\u0414 \u0441 \u043d\u0443\u0436\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438.  <\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0440\u0430\u0437\u0434\u0435\u043b\u043e\u0432.  <\/li>\n<li>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443.  <\/li>\n<li>\u041f\u0440\u0435\u043c\u043e\u043d\u0442\u0438\u0440\u0443\u0435\u043c \u0434\u0438\u0441\u043a\u0438 \u043a \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 VM.  <\/li>\n<\/ol>\n<p>  <b>\u041d\u0430 VM:<\/b><\/p>\n<p>  \u041e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>Systemctl stop docker.service docker.socket<\/code>.<\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \/tmpdb, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e:<\/p>\n<pre><code class=\"plaintext\">mkdir \/tempdb rsync -arv \/\/\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f\/\/ \/tempdb <\/code><\/pre>\n<p>  \u0423\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f \u0432 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u0438 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438, \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0441\u043e \u0432\u0441\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c:<\/p>\n<pre><code class=\"plaintext\">rm -rf \/\/\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f\/\/\u00a0 <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0434\u0438\u0441\u043a\u043e\u0432 \u0441 \u0438\u0445 UDID:<\/p>\n<pre><code class=\"plaintext\">ls -lash \/dev\/disk\/by-uuid\/ <\/code><\/pre>\n<p>  \u0428\u0438\u0444\u0440\u0443\u0435\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0439 \u0434\u0438\u0441\u043a \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code class=\"plaintext\">vaultlocker encrypt --uuid \/\/uuid \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0433\u043e \u0434\u0438\u0441\u043a\u0430\/\/ \/\/\u043f\u0443\u0442\u044c \u0434\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0430 \u0434\u0438\u0441\u043a\u0430\/\/ <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d \u0441\u0435\u0440\u0432\u0438\u0441 \u00abvaultlocker-decrypt@.service\u00bb.<\/p>\n<p>  \u041f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043d\u0430 \u0434\u0438\u0441\u043a\u0435 \/dev\/mapper\/crypt-uuid. \u0417\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0434\u0438\u0441\u043a \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>cryptsetup close crypt-\/\/uuid\/\/<\/code>.<\/p>\n<p>  \u041f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \/usr\/local\/lib\/systemd\/system\/vaultlocker-decrypt@.service \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u0432\u0438\u0434\u0443:<\/p>\n<pre><code class=\"plaintext\">[Unit] Description=vaultlocker retrieve: %i DefaultDependencies=no After=networking.service Before=\/\/\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430\/\/ [Service]  Type=oneshot KillMode=none Environment=VAULTLOCKER_TIMEOUT=10000 ExecStart=\/bin\/sh -c 'vaultlocker --retry $VAULTLOCKER_TIMEOUT decrypt %i &amp;&amp; \/usr\/bin\/mount \/dev\/mapper\/crypt-%i \/\/\u0423\u043a\u0430\u0437\u0430\u0442\u044c \u0448\u0438\u0444\u0440\u0443\u0435\u043c\u0443\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e\/\/' <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0438\u0441 vaultlocker-decrypt@.service. \u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438. \u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438.<\/p>\n<p>  \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \/tmpdb:<\/p>\n<pre><code class=\"plaintext\">rsync \u2013arv \/tempdb \/\/ \u0423\u043a\u0430\u0437\u0430\u0442\u044c \u0448\u0438\u0444\u0440\u0443\u0435\u043c\u0443\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \/\/ <\/code><\/pre>\n<p>  \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>Systemctl start docker.service<\/code>.<\/p>\n<p>  \u0423\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0441 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0435\u0439 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \/tmpdb \u0441\u043e \u0432\u0441\u0435\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>rm -rf \/tmpdb<\/code>.<\/p>\n<h3>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u0440\u0438\u043a<\/h3>\n<p>  \u0420\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0442\u043e\u043a\u0435\u043d\u043e\u0432 \u00abConsul Token for Prometheus\u00bb \u0438 \u00abVault Token for Prometheus\u00bb \u0438 CA \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 s001tst-hcc01 \u0438 s001tst-hcv01 \u0432 \u0441\u0435\u043a\u0440\u0435\u0442\u0430\u0445 \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u0430 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 k8s Test (\u0422\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 (TEST)).<\/p>\n<p>  \u0412 \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u0435 \u0432 Prometheus Operator \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u0440\u0438\u043a Consul \u0438 Vaut.\u00a0<\/p>\n<p>  \u041f\u0440\u0438\u043c\u0435\u0440 scrape_configs \u0444\u0430\u0439\u043b\u043e\u0432:<\/p>\n<ul>\n<li>Hasicorp Cosul:  <\/li>\n<\/ul>\n<p>  <\/p>\n<pre><code class=\"plaintext\">scrape_configs: \u00a0\u00a0- job_name: Consul \u00a0\u00a0\u00a0\u00a0metrics_path: \"\/v1\/agent\/metrics\" \u00a0\u00a0\u00a0\u00a0scheme: https \u00a0\u00a0\u00a0\u00a0tls_config: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ca_file: \/etc\/prometheus\/s001tst-hcc01.company.local.pem \u00a0\u00a0\u00a0\u00a0bearer_token_file: \/etc\/prometheus\/prometheus-token-consul \u00a0\u00a0\u00a0\u00a0static_configs: \u00a0\u00a0\u00a0\u00a0- targets: [s001tst-hcc01.company.local:8501'] <\/code><\/pre>\n<p>  <\/p>\n<ul>\n<li>Hasicorp Vault:  <\/li>\n<\/ul>\n<p>  <\/p>\n<pre><code class=\"plaintext\"># prometheus.yml scrape_configs: \u00a0\u00a0- job_name: 'Vault' \u00a0\u00a0\u00a0\u00a0metrics_path: \"\/v1\/sys\/metrics\" \u00a0\u00a0\u00a0\u00a0scheme: https \u00a0\u00a0\u00a0\u00a0tls_config: \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ca_file: \/etc\/prometheus\/s001tst-hcv01.company.local.pem \u00a0\u00a0\u00a0\u00a0bearer_token_file: \/etc\/prometheus\/prometheus-token \u00a0\u00a0\u00a0\u00a0static_configs: \u00a0\u00a0\u00a0\u00a0- targets: ['vault_server_ip:8200'] <\/code><\/pre>\n<p>  \u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0440\u0438\u043a \u043e\u0442 Consul \u0438 Vault \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430.<\/p>\n<h2>\u0418\u0442\u043e\u0433\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/h2>\n<p>  \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043c\u044b \u0441\u043c\u043e\u0433\u043b\u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0441\u0435\u0440\u0432\u0438\u0441 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0430\u0434\u0435\u0436\u043d\u043e \u0437\u0430\u0449\u0438\u0449\u0430\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u0435\u0433\u043e \u0434\u0438\u0441\u043a\u0430\u0445. \u0427\u0442\u043e \u0432\u0430\u0436\u043d\u043e, \u043d\u0430\u043c \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0432\u044b\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0439 \u0438 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0430 \u0434\u043b\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u0430.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ic\/_i\/ir\/ic_iirx3fqbmofqtcsmgnwtmuwo.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ic\/_i\/ir\/ic_iirx3fqbmofqtcsmgnwtmuwo.png\"\/><br \/>  <i>\u0414\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u043a\u043b\u044e\u0447\u0430 \u0434\u043b\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u0430<\/i><\/p>\n<p>  \u0412 \u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0435 \u0434\u0438\u0441\u043a\u0430 \u0438 \u0435\u0433\u043e \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0442\u043e\u0436\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u0431\u0435\u0437 \u00ab\u043a\u043e\u0441\u0442\u044b\u043b\u0435\u0439\u00bb \u0438 \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0439: \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u044d\u0442\u0430\u043f\u044b \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u043c\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043d\u0430 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u043e\u0431\u043b\u0430\u0447\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b VK Cloud, \u0430 \u0441\u0430\u043c\u0443 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u2014 \u0432 \u043a\u043e\u043d\u0442\u0443\u0440\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/6e\/6m\/gq\/6e6mgq3bfb1qduqt956rlkctstk.png\" data-src=\"https:\/\/habrastorage.org\/webt\/6e\/6m\/gq\/6e6mgq3bfb1qduqt956rlkctstk.png\"\/><br \/>  <i>\u0414\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0434\u0435\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438 \u0438 \u043c\u043e\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0438\u0441\u043a\u0430<\/i><\/p>\n<p>  \u0414\u043b\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432 \u0431\u044b\u043b\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u044b \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 VLAN \u0438 \u043f\u043e\u0434\u0441\u0435\u0442\u044c. \u0414\u043b\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u043a Consul \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e \u0442\u043e\u043a\u0435\u043d\u0443, \u0430 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430\u043c\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0437\u0430\u0449\u0438\u0449\u0435\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432.<\/p>\n<p>  \u0412\u0430\u0436\u043d\u043e, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u044b \u043a \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u043c\u0443 \u0441\u0435\u0440\u0432\u0438\u0441\u0443 \u0442\u043e\u0436\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u044b: \u0438 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0435, \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u044b \u043c\u043e\u0433\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043d\u0435\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u044f \u043f\u0440\u0430\u0432 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0438 \u043f\u043e\u043b\u043d\u043e\u043c\u043e\u0447\u0438\u0439.<\/p>\n<h2>\u0412\u043c\u0435\u0441\u0442\u043e \u0432\u044b\u0432\u043e\u0434\u043e\u0432<\/h2>\n<p>  \u041f\u0440\u0438 \u0443\u043c\u0435\u043b\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441 \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u043f\u043e\u043a\u043e\u044f \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0438\u0437 \u00ab\u043f\u043e\u0434\u0440\u0443\u0447\u043d\u044b\u0445 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u0432\u00bb \u0432 \u0432\u0438\u0434\u0435 \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u2014 \u043d\u0435 \u043d\u0430\u0434\u043e \u0443\u0433\u043b\u0443\u0431\u043b\u044f\u0442\u044c\u0441\u044f \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441 \u043d\u0443\u043b\u044f \u0438 \u0438\u0437\u043e\u0431\u0440\u0435\u0442\u0430\u0442\u044c \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434. \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043f\u0443\u043b \u0437\u0430\u0434\u0430\u0447 \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0432\u044b\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043d\u0438\u044e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438, \u043e\u0442\u043b\u0430\u0434\u043a\u0435 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432, \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432\u0441\u0435\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u043a\u0438 \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u044f\u043c.<\/p>\n<p>  \u0420\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0440\u0432\u0438\u0441 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0432\u0441\u0435\u0445 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u0439 \u0437\u0430\u043a\u0430\u0437\u0447\u0438\u043a\u0430 \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0441\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u043c\u043e\u0433\u043b\u043e \u0438 \u0442\u043e, \u0447\u0442\u043e \u043a\u0430\u043a \u0447\u0430\u0441\u0442\u043d\u043e\u0435, \u0442\u0430\u043a \u0438 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0435 \u043e\u0431\u043b\u0430\u043a\u043e VK Cloud \u043b\u0435\u0433\u043a\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0441\u043e \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043c\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c\u0438 \u0438 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\u043c\u0438, \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u044f \u0441\u043b\u043e\u0436\u043d\u044b\u0445 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0435\u043a.<\/p><\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><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\/ru\/articles\/820617\/\"> https:\/\/habr.com\/ru\/articles\/820617\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><img loading=\"lazy\" decoding=\"async\" height=\"1\" src=\"https:\/\/vk.com\/rtrg?p=VK-RTRG-541074-aOhpd&amp;event=habr_devops\" style=\"display:none;\" width=\"1\"><img loading=\"lazy\" decoding=\"async\" height=\"1\" src=\"https:\/\/vk.com\/rtrg?p=VK-RTRG-541074-aOhpd&amp;event=habr_dbaas\" style=\"display:none;\" width=\"1\"><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w780q1\/webt\/ne\/1k\/ul\/ne1kulqunfrkuto84lcqgbuz6j0.jpeg\" data-src=\"https:\/\/habrastorage.org\/webt\/ne\/1k\/ul\/ne1kulqunfrkuto84lcqgbuz6j0.jpeg\" data-blurred=\"true\"\/><\/p>\n<p>  \u041d\u0430\u0440\u0443\u0448\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0445, \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0445\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0439, \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e \u0438 \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e \u0432\u0435\u0434\u0435\u0442 \u043a \u0442\u044f\u0436\u0435\u043b\u044b\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f\u043c. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0441\u0442\u0430\u0440\u0430\u044e\u0442\u0441\u044f \u00ab\u043e\u0431\u0432\u0435\u0448\u0430\u0442\u044c\u00bb \u0441\u0432\u043e\u0438 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0432\u0441\u0435\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u043c\u0438 \u043c\u0435\u0440\u0430\u043c\u0438 \u0437\u0430\u0449\u0438\u0442\u044b. \u0412 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u0438\u0431\u0435\u0433\u0430\u044e\u0442 \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u043f\u043e\u043a\u043e\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u044e\u0442, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0437\u043b\u043e\u0443\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0438\u043a \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443, \u043e\u043d \u043d\u0435 \u0441\u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0438\u0435\u0441\u044f \u043d\u0430 \u043d\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u0431\u0435\u0437 \u043a\u043b\u044e\u0447\u0435\u0439 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u0438.  <\/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-378683","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/378683","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=378683"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/378683\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=378683"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=378683"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=378683"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}