{"id":309378,"date":"2020-09-03T09:00:24","date_gmt":"2020-09-03T09:00:24","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=309378"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2020-09-03T09:00:24","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=309378","title":{"rendered":"\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f Kubernetes \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Eclipse JKube"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/517352\/\">25 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 Java \u043f\u043e\u0448\u043b\u0430 \u0432 \u0448\u0438\u0440\u043e\u043a\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0441\u043a\u0438\u0435 \u043c\u0430\u0441\u0441\u044b, \u0447\u0442\u043e\u0431\u044b \u0432 \u0438\u0442\u043e\u0433\u0435 \u0441\u0442\u0430\u0442\u044c \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0442\u0435\u0445 \u0441\u0442\u0435\u0440\u0436\u043d\u0435\u0439, \u0432\u043e\u043a\u0440\u0443\u0433 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u0441\u0442\u0435\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u043d\u043e\u0433\u0438\u0435 \u043b\u044e\u0434\u0438 \u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u0434\u043e\u043b\u0433\u0438\u0435 \u0433\u043e\u0434\u044b \u0445\u0440\u0430\u043d\u0438\u0432\u0448\u0438\u0435 \u0432\u0435\u0440\u043d\u043e\u0441\u0442\u044c Java, \u0437\u0430\u043d\u044f\u0442\u044b \u0442\u0435\u043c, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044f\u0442 \u0438\u043b\u0438 \u0434\u0443\u043c\u0430\u044e\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 <a href=\"https:\/\/developers.redhat.com\/topics\/kubernetes\">Kubernetes<\/a> \u0438\u043b\u0438 \u0435\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0435, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a <a href=\"https:\/\/developers.redhat.com\/products\/openshift\/getting-started\">Red Hat OpenShift<\/a> \u0438\u043b\u0438 <a href=\"https:\/\/aws.amazon.com\/eks\/\">Amazon EKS<\/a>.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/-1\/u6\/mr\/-1u6mrzarovwedeemsxcrufxhko.png\" width=\"100%\"><\/p>\n<p>  \u0423\u0432\u044b, Kubernetes \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u0440\u0443\u0442\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0438 \u0432\u0432\u043e\u0434\u0438\u0442 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0439 \u0434\u043b\u044f Java-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/github.com\/eclipse\/jkube\">Eclipse JKube<\/a>, \u0447\u0442\u043e\u0431\u044b \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u044d\u0442\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 Kubernetes \u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u043c\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0431\u0435\u0437\u0431\u043e\u043b\u0435\u0437\u043d\u0435\u043d\u043d\u0443\u044e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u043d\u0430 \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e\u0439 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b Java. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u043c\u044b \u043f\u043e\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u0442\u044c Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 OpenShift \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043b\u0430\u0433\u0438\u043d\u0430 OpenShift Maven.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h3>\u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 Java-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438<\/h3>\n<p>  \u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 <a href=\"https:\/\/developers.redhat.com\/topics\/enterprise-java\/\">Java<\/a> (\u0420\u0438\u0441.1) \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442, \u0447\u0442\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u0438\u0448\u0435\u0442 \u043a\u043e\u0434, \u043f\u043e\u0442\u043e\u043c \u0441\u043e\u0437\u0434\u0430\u0435\u0442 \u0435\u0434\u0438\u043d\u0438\u0446\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0432 \u0432\u0438\u0434\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 JAR \u0438\u043b\u0438 WAR, \u0430 \u0437\u0430\u0442\u0435\u043c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u0435\u0442 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u044d\u0442\u0438 \u0444\u0430\u0439\u043b\u044b \u043d\u0430 \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0438\u043b\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0412 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442 Maven \u0438\u0437 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 IDE, \u0432\u0440\u043e\u0434\u0435 IntelliJ \u0438\u043b\u0438 Eclipse, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043f\u0440\u0438\u0432\u044b\u043a\u043b\u0438 \u0432\u043d\u043e\u0441\u0438\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043a\u043e\u0434 \u0438 \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0432\u0441\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u0434 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0435\u0433\u043e \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/gv\/rw\/p9\/gvrwp9dim3posizf4sdz_-aj6po.png\"><\/div>\n<p>  <i>\u0420\u0438\u0441. 1. \u0422\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 Java-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438.<\/i><\/p>\n<h3>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 Java-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u043b\u044f \u043e\u0431\u043b\u0430\u043a\u0430<\/h3>\n<p>  \u041f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u043a \u043e\u0431\u043b\u0430\u0447\u043d\u044b\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c \u0432 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u0432\u044b\u0448\u0435 \u0441\u0445\u0435\u043c\u0443 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f Kubernetes \u0438 <a href=\"https:\/\/developers.redhat.com\/topics\/containers\/\">\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u044b<\/a>. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043d\u0430\u0434\u043e \u0443\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 <a href=\"https:\/\/developers.redhat.com\/blog\/2020\/06\/08\/commit-to-excellence-java-in-containers\/\">\u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043d\u044b\u0435 \u043e\u0431\u0440\u0430\u0437\u044b<\/a> \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c Kubernetes-\u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u044b, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u044d\u0442\u0438 \u043e\u0431\u0440\u0430\u0437\u044b. \u0417\u0430\u0442\u0435\u043c \u044d\u0442\u0438 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u044b \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043a \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d-\u0441\u0435\u0440\u0432\u0435\u0440\u0443, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 Kubernetes. \u0412 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, Kubernetes \u0431\u0435\u0440\u0435\u0442 \u044d\u0442\u0438 \u043e\u0431\u0440\u0430\u0437\u044b \u0438\u0437 \u0440\u0435\u0435\u0441\u0442\u0440\u0430 \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0442\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f\u043c, \u0447\u0442\u043e \u043c\u044b \u043f\u0440\u043e\u043f\u0438\u0441\u0430\u043b\u0438 \u0432 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0430\u0445, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u044b\u0447\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u043e\u0439 \u0444\u0430\u0439\u043b\u044b YAML.<\/p>\n<p>  \u041c\u0435\u0442\u0430\u043c\u043e\u0440\u0444\u043e\u0437\u0430 \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 Java-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0435 \u043a \u043e\u0431\u043b\u0430\u043a\u0443 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u0430 \u043d\u0430 \u0420\u0438\u0441. 2.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/hw\/sv\/wf\/hwsvwfrgcqzfsfzqsljvmszxdxs.png\"><\/div>\n<p>  <i>\u0420\u0438\u0441. 2. \u041f\u0440\u043e\u0446\u0435\u0441\u0441 Java-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u043b\u044f \u043e\u0431\u043b\u0430\u043a\u0430.<\/i><\/p>\n<h3>Eclipse JKube<\/h3>\n<p>  \u041f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 Kubernetes \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0438 \u043c\u043d\u043e\u0433\u0438\u0445 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u044d\u0442\u043e \u043d\u0435\u0440\u0432\u0438\u0440\u0443\u0435\u0442, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u0438 \u0445\u043e\u0442\u044f\u0442 \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u0441\u0432\u043e\u0435\u0439 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u2013 \u043b\u043e\u0433\u0438\u043a\u043e\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u2013 \u0430 \u043d\u0435 \u0442\u0435\u043c, \u043a\u0430\u043a \u0438\u0445 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u0442\u044c. \u0418 \u0437\u0434\u0435\u0441\u044c \u0432 \u0438\u0433\u0440\u0443 \u0432\u0441\u0442\u0443\u043f\u0430\u0435\u0442 <a href=\"https:\/\/github.com\/eclipse\/jkube\">Eclipse JKube<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u044b (<a href=\"https:\/\/github.com\/eclipse\/jkube\/tree\/master\/jkube-kit\">JKube Kit<\/a> \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 <a href=\"https:\/\/github.com\/eclipse\/jkube\/tree\/master\/kubernetes-maven-plugin\">Kubernetes Maven Plugin<\/a> \u0438\u043b\u0438 <a href=\"https:\/\/github.com\/eclipse\/jkube\/tree\/master\/openshift-maven-plugin\">OpenShift Maven Plugin<\/a>), \u0447\u0442\u043e\u0431\u044b \u0431\u0435\u0437 \u043b\u0438\u0448\u043d\u0438\u0445 \u0443\u0441\u0438\u043b\u0438\u0439 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u043c\u0438 \u0438 Kubernetes, \u0441\u043b\u0435\u0434\u0443\u044f \u0441\u0445\u0435\u043c\u0435 \u043d\u0430 \u0420\u0438\u0441. 2.<\/p>\n<p>  \u0412 \u043e\u0441\u0442\u0430\u0432\u0448\u0435\u0439\u0441\u044f \u0447\u0430\u0441\u0442\u0438 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043c\u044b \u043f\u043e\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 Java-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0432 \u0441\u0440\u0435\u0434\u0435 Kubernetes, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Eclipse JKube \u0441 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u043c Kubernetes Maven Plugin.<\/p>\n<h3>\u041f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u043b\u044f \u043e\u0431\u043b\u0430\u043a\u0430 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Eclipse JKube<\/h3>\n<p>  \u0420\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043b\u0435\u0433\u043a\u0430 \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0441\u0445\u0435\u043c\u0443 Java-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u043b\u044f \u043e\u0431\u043b\u0430\u043a\u0430 \u0441 \u0420\u0438\u0441.2, \u0432\u0432\u0435\u0434\u044f \u0432 \u043d\u0435\u0435 Eclipse JKube \u0438 Kubernetes Maven Plugin, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0420\u0438\u0441. 3.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/-1\/u6\/mr\/-1u6mrzarovwedeemsxcrufxhko.png\"><\/div>\n<p>  <i>\u0420\u0438\u0441. 3. \u041f\u0440\u043e\u0446\u0435\u0441\u0441 Java-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u043b\u044f \u043e\u0431\u043b\u0430\u043a\u0430 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Eclipse JKube.<\/i><\/p>\n<p>  \u041a\u0430\u043a \u043c\u044b \u0432\u0438\u0434\u0438\u043c, \u0437\u0434\u0435\u0441\u044c \u0432\u0441\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u043f\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044e \u0441 Kubernetes \u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u043c\u0438 (\u043d\u0430 \u0441\u0445\u0435\u043c\u0435 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u044b \u043a\u0440\u0430\u0441\u043d\u044b\u043c) \u0437\u0430\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f goal-\u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438 Eclipse JKube \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u044b \u0432 \u0422\u0430\u0431\u043b. 1.<\/p>\n<p>  <i>\u0422\u0430\u0431\u043b. 1. \u0417\u0430\u0434\u0430\u0447\u0438 Eclipse JKube \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/i><\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<th>\u0417\u0430\u0434\u0430\u0447\u0430<\/th>\n<th>\u042d\u0442\u0430\u043f<\/th>\n<th>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/th>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.eclipse.org\/jkube\/docs\/kubernetes-maven-plugin#jkube:build\">k8s:build<\/a><\/td>\n<td>PRE_INTEGRATION_TEST<\/td>\n<td>\u0421\u0431\u043e\u0440\u043a\u0430 docker-\u043e\u0431\u0440\u0430\u0437\u043e\u0432<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.eclipse.org\/jkube\/docs\/kubernetes-maven-plugin#jkube:push\">k8s:push<\/a><\/td>\n<td>INSTALL<\/td>\n<td>\u041e\u0442\u043f\u0440\u0430\u0432\u043a\u0430 docker-\u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0432 \u0440\u0435\u0435\u0441\u0442\u0440<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.eclipse.org\/jkube\/docs\/kubernetes-maven-plugin#jkube:resource\">k8s:resource<\/a><\/td>\n<td>PROCESS_RESOURCES<\/td>\n<td>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u043e\u0432 K8s<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.eclipse.org\/jkube\/docs\/kubernetes-maven-plugin#jkube:apply\">k8s:apply<\/a><\/td>\n<td>COMPILE<\/td>\n<td>\u041f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u043e\u0432 \u043a K8s<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.eclipse.org\/jkube\/docs\/kubernetes-maven-plugin#jkube:undeploy\">k8s:undeploy<\/a><\/td>\n<td>UNDEPLOY<\/td>\n<td>\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 K8s, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c k8s:apply \u0438 k8s:deploy<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  <b>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/b> \u0415\u0441\u043b\u0438 \u0432\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u0442\u0435, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 \u044d\u0442\u0438 \u0436\u0435\u0441\u0442\u043a\u0438\u0435 \u0434\u0435\u0444\u043e\u043b\u0442\u044b (opinionated defaults), \u0442\u043e \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c Eclipse JKube \u043f\u043e\u0434 \u0441\u0435\u0431\u044f, \u0431\u043b\u0430\u0433\u043e \u043e\u043d \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 <a href=\"https:\/\/www.eclipse.org\/jkube\/docs\/kubernetes-maven-plugin#_xml_configuration\">XML<\/a> \u0438 <a href=\"https:\/\/www.eclipse.org\/jkube\/docs\/kubernetes-maven-plugin#_resource_fragments\">\u0440\u0435\u0441\u0443\u0440\u0441\u044b<\/a>.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Eclipse JKube \u0438 Kubernetes Maven Plugin \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u043c\u0438.<\/p>\n<h3>\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u0435\u043c Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Eclipse JKube<\/h3>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0435 Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 <a href=\"https:\/\/kubernetes.io\/docs\/setup\/learning-environment\/minikube\/\">Minikube<\/a> \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Eclipse JKube. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Kubernetes Maven Plugin, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0437\u0430\u0434\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0431\u0435\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u0443\u044e \u0431\u044b \u0442\u043e \u043d\u0438 \u0431\u044b\u043b\u043e \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e.<\/p>\n<p>  \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c <a href=\"https:\/\/github.com\/rohanKanojia\/eclipse-jkube-demo-project\">\u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0433\u0435\u043d\u0435\u0440\u0430\u0442\u043e\u0440 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0439 \u0447\u0438\u0441\u0435\u043b<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b\u0434\u0430\u0435\u0442 JSON-output \u043d\u0430 endpoint\u2019\u0435 \/random:<\/p>\n<pre><code class=\"plaintext\">~\/work\/repos\/eclipse-jkube-demo-project : $ curl localhost:8080\/random | jq .   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100    45    0    45    0     0    818      0 --:--:-- --:--:-- --:--:--   818 {   &quot;id&quot;: &quot;e80a4d10-c79b-4b9a-aaac-7c286cb37f3c&quot; } <\/code><\/pre>\n<p>  <b>\u0428\u0430\u0433 1. \u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c Kubernetes Maven Plugin<\/b><\/p>\n<p>  Kubernetes Maven Plugin \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 <a href=\"https:\/\/search.maven.org\/search?q=g:org.eclipse.jkube%20AND%20a:kubernetes-maven-plugin\">Maven Central Repository<\/a>. \u0414\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f Eclipse JKube \u043d\u0430\u0434\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c Kubernetes Maven Plugin \u0432 \u0441\u0432\u043e\u0439 pom.xml \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438:<\/p>\n<pre><code class=\"plaintext\">&lt;plugin&gt;      &lt;groupId&gt;org.eclipse.jkube&lt;\/groupId&gt;      &lt;artifactId&gt;kubernetes-maven-plugin&lt;\/artifactId&gt;      &lt;version&gt;${jkube.version}&lt;\/version&gt;  &lt;\/plugin&gt; <\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0432\u043c\u0435\u0441\u0442\u043e \u0447\u0438\u0441\u0442\u043e\u0433\u043e Kubernetes \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f OpenShift, \u0442\u043e pom.xml \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"plaintext\">&lt;plugin&gt;      &lt;groupId&gt;org.eclipse.jkube&lt;\/groupId&gt;      &lt;artifactId&gt;openshift-maven-plugin&lt;\/artifactId&gt;      &lt;version&gt;${jkube.version}&lt;\/version&gt;  &lt;\/plugin&gt; <\/code><\/pre>\n<p>  <b>\u0428\u0430\u0433 2. \u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c docker-\u043e\u0431\u0440\u0430\u0437<\/b><\/p>\n<p>  JAR-\u0444\u0430\u0439\u043b \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 mvn package, \u0430 \u0437\u0430\u0442\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c goal-\u0437\u0430\u0434\u0430\u0447\u0443 mvn k8s:build, \u0447\u0442\u043e\u0431\u044b \u0441\u043e\u0431\u0440\u0430\u0442\u044c docker-\u043e\u0431\u0440\u0430\u0437 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043c\u044b \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438 \u0438\u043c\u044f \u043e\u0431\u0440\u0430\u0437\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432\u043e\u0442 \u044d\u0442\u043e\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430:<\/p>\n<pre><code class=\"plaintext\">&lt;jkube.generator.name&gt;docker.io\/rohankanojia\/random-generator:${project.version}&lt;\/jkube.generator.name&gt; <\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u043e\u0431\u0440\u0430\u0437, \u043d\u0430\u0434\u043e \u0443\u0431\u0435\u0434\u0438\u0442\u044c\u0441\u044f, \u0447\u0442\u043e\u0431\u044b docker-\u0434\u0435\u043c\u043e\u043d \u0431\u044b\u043b \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e \u044d\u043a\u0441\u043f\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d. \u042d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439:<\/p>\n<pre><code class=\"plaintext\">$ eval $(minikube docker-env) <\/code><\/pre>\n<p>  \u0417\u0430\u0442\u0435\u043c \u0432\u0432\u043e\u0434\u0438\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 mvn k8s:build, \u0438 \u0432\u043e\u0442 \u0447\u0442\u043e \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043f\u0440\u0438 \u0441\u0431\u043e\u0440\u043a\u0435 docker-\u043e\u0431\u0440\u0430\u0437\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e build-\u0437\u0430\u0434\u0430\u0447\u0438 Eclipse JKube:<\/p>\n<pre><code class=\"plaintext\">~\/work\/repos\/eclipse-jkube-demo-project : $ mvn k8s:build [INFO] Scanning for projects... [INFO]  [INFO] ----------------------&lt; meetup:random-generator &gt;----------------------- [INFO] Building random-generator 0.0.1 [INFO] --------------------------------[ jar ]--------------------------------- [INFO]  [INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:build (default-cli) @ random-generator --- [INFO] k8s: Running in Kubernetes mode [INFO] k8s: Building Docker image in Kubernetes mode [INFO] k8s: Running generator spring-boot [INFO] k8s: spring-boot: Using Docker image quay.io\/jkube\/jkube-java-binary-s2i:0.0.7 as base \/ builder [INFO] k8s: [docker.io\/rohankanojia\/random-generator:0.0.1] &quot;spring-boot&quot;: Created docker-build.tar in 251 milliseconds [INFO] k8s: [docker.io\/rohankanojia\/random-generator:0.0.1] &quot;spring-boot&quot;: Built image sha256:a20e5 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time:  5.053 s [INFO] Finished at: 2020-08-10T11:28:23+05:30 [INFO] ------------------------------------------------------------------------ ~\/work\/repos\/eclipse-jkube-demo-project : $ <\/code><\/pre>\n<p>  <b>\u0428\u0430\u0433 3. \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043e\u0431\u0440\u0430\u0437 \u0432 \u0440\u0435\u0435\u0441\u0442\u0440 docker<\/b><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u044b \u0441\u043e\u0431\u0440\u0430\u043b\u0438 docker-\u043e\u0431\u0440\u0430\u0437 \u043f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u043c push-\u0440\u0435\u0435\u0441\u0442\u0440\u0435 (\u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u044d\u0442\u043e docker.io), \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u044d\u0442\u043e\u0442 \u043e\u0431\u0440\u0430\u0437 \u0432 \u0440\u0435\u0435\u0441\u0442\u0440. \u0412\u043e\u0442 \u0447\u0442\u043e \u0432\u044b\u0432\u0435\u0434\u0435\u0442\u0441\u044f \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043c Eclipse JKube \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c push-\u0437\u0430\u0434\u0430\u0447\u0443 mvn k8s:push:<\/p>\n<pre><code class=\"plaintext\">~\/work\/repos\/eclipse-jkube-demo-project : $ mvn k8s:push [INFO] Scanning for projects... [INFO]  [INFO] ----------------------&lt; meetup:random-generator &gt;----------------------- [INFO] Building random-generator 0.0.1 [INFO] --------------------------------[ jar ]--------------------------------- [INFO]  [INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:push (default-cli) @ random-generator --- [INFO] k8s: Running in Kubernetes mode [INFO] k8s: Building Docker image in Kubernetes mode [INFO] k8s: Running generator spring-boot [INFO] k8s: spring-boot: Using Docker image quay.io\/jkube\/jkube-java-binary-s2i:0.0.7 as base \/ builder [INFO] k8s: The push refers to repository [docker.io\/rohankanojia\/random-generator] 5dcd9556710f: Layer already exists  b7139ad07aa8: Layer already exists  b6f081e4b2b6: Layer already exists  d8e1f35641ac: Layer already exists  [INFO] k8s: 0.0.1: digest: sha256:9f9eda2a13b8cab1d2c9e474248500145fc09e2922fe3735692f9bda4c76002d size: 1162 [INFO] k8s: Pushed docker.io\/rohankanojia\/random-generator:0.0.1 in 7 seconds  [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time:  11.222 s [INFO] Finished at: 2020-08-10T11:35:37+05:30 [INFO] ------------------------------------------------------------------------ ~\/work\/repos\/eclipse-jkube-demo-project : $  <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043e\u0431\u0440\u0430\u0437\u0430 \u043d\u0430\u0434\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u043e\u043d \u043f\u043e\u043f\u0430\u043b \u0432 \u0440\u0435\u0435\u0441\u0442\u0440. \u0412 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0438\u0434\u0438\u043c \u0435\u0433\u043e \u0432 Docker Hub, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0430 \u0420\u0438\u0441. 4.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/q8\/fu\/hu\/q8fuhu4bbucldnwmddlwx4bghmi.png\"><\/div>\n<p>  <i>\u0420\u0438\u0441. 4. \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0432 \u0440\u0435\u0435\u0441\u0442\u0440 \u043e\u0431\u0440\u0430\u0437 \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0432 Docker Hub.<\/i><\/p>\n<p>  <b>\u0428\u0430\u0433 4. \u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u044b Kubernetes-\u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0434\u043b\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/b><\/p>\n<p>  \u0418\u0442\u0430\u043a, \u043e\u0431\u0440\u0430\u0437 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u044b \u0441\u043e\u0431\u0440\u0430\u043b\u0438, \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0434\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c Kubernetes-\u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u044b. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 Eclipse JKube \u0435\u0441\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0436\u0435\u0441\u0442\u043a\u0438\u0435 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u044b \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043e\u0442\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u044f\u0441\u044c \u043e\u0442 \u043d\u0438\u0436\u0435\u043b\u0435\u0436\u0430\u0449\u0435\u0433\u043e Java-\u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0430 (<a href=\"https:\/\/developers.redhat.com\/topics\/spring-boot\">Spring Boot<\/a>, <a href=\"https:\/\/developers.redhat.com\/products\/quarkus\/getting-started\">Quarkus<\/a>, Vert.x \u0438\u043b\u0438 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0439). \u0422\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 XML-\u0444\u0430\u0439\u043b \u0438 \u043f\u043e\u043b\u043e\u0436\u0438\u0432 raw-\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b (\u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0433\u043e \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432) \u0432 \u043f\u0430\u043f\u043a\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f src\/main\/jkube. \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u0430\u0448\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u044b.<\/p>\n<p>  \u0412 \u043d\u0430\u0448\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u0441\u0435 \u043a\u0430\u043a \u0435\u0441\u0442\u044c, \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 Eclipse JKube \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442 \u0434\u043b\u044f \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u0438 \u0434\u043b\u044f \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0441 \u0442\u0438\u043f\u043e\u043c ClusterIP. \u0410 \u0443\u0436\u0435 \u043f\u043e\u0442\u043e\u043c \u043c\u044b \u043c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442 \u0441\u0435\u0440\u0432\u0438\u0441\u0430, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0442\u0438\u043f\u0430 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u043d\u0430 NodePort. \u041f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u0435\u0444\u043e\u043b\u0442\u043d\u043e\u0435 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0433\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430:<\/p>\n<pre><code class=\"plaintext\">&lt;jkube.enricher.jkube-service.type&gt;NodePort&lt;\/jkube.enricher.jkube-service.type&gt; <\/code><\/pre>\n<p>  \u0412\u043e\u0442 \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043c Eclipse JKube \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c resource-\u0437\u0430\u0434\u0430\u0447\u0443 mvn k8s:resource.<\/p>\n<pre><code class=\"plaintext\">~\/work\/repos\/eclipse-jkube-demo-project : $ mvn k8s:resource [INFO] Scanning for projects... [INFO]  [INFO] ----------------------&lt; meetup:random-generator &gt;----------------------- [INFO] Building random-generator 0.0.1 [INFO] --------------------------------[ jar ]--------------------------------- [INFO]  [INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:resource (default-cli) @ random-generator --- [INFO] k8s: Running generator spring-boot [INFO] k8s: spring-boot: Using Docker image quay.io\/jkube\/jkube-java-binary-s2i:0.0.7 as base \/ builder [INFO] k8s: jkube-controller: Adding a default Deployment [INFO] k8s: jkube-service: Adding a default service 'random-generator' with ports [8080] [INFO] k8s: jkube-healthcheck-spring-boot: Adding readiness probe on port 8080, path='\/actuator\/health', scheme='HTTP', with initial delay 10 seconds [INFO] k8s: jkube-healthcheck-spring-boot: Adding liveness probe on port 8080, path='\/actuator\/health', scheme='HTTP', with initial delay 180 seconds [INFO] k8s: jkube-revision-history: Adding revision history limit to 2 [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time:  3.344 s [INFO] Finished at: 2020-08-10T11:38:11+05:30 [INFO] ------------------------------------------------------------------------ ~\/work\/repos\/eclipse-jkube-demo-project : $ ls target\/classes\/META-INF\/jkube\/kubernetes random-generator-deployment.yml  random-generator-service.yml ~\/work\/repos\/eclipse-jkube-demo-project : $ cat target\/classes\/META-INF\/jkube\/kubernetes\/random-generator-deployment.yml | head -n10 --- apiVersion: apps\/v1 kind: Deployment metadata:   annotations:     jkube.io\/git-url: git@github.com:rohanKanojia\/eclipse-jkube-demo-project.git     jkube.io\/git-commit: 1ef9ef2ef7a6fcbf8eb64c293f26f9c42d026512     jkube.io\/git-branch: master     jkube.io\/scm-url: https:\/\/github.com\/spring-projects\/spring-boot\/spring-boot-starter-parent\/random-generator     jkube.io\/scm-tag: HEAD ~\/work\/repos\/eclipse-jkube-demo-project : $ <\/code><\/pre>\n<p>  <b>\u0428\u0430\u0433 5. \u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes<\/b><\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0443 \u043d\u0430\u0441 \u0432\u0441\u0435 \u0433\u043e\u0442\u043e\u0432\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f: \u043c\u044b \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0435\u0433\u043e \u043e\u0431\u0440\u0430\u0437 \u0438 \u0437\u0430\u0442\u0435\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u044b \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432. \u0422\u0435\u043f\u0435\u0440\u044c \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0441\u0451 \u044d\u0442\u043e \u043a \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443 Kubernetes. \u0414\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043e\u0439 kubectl apply -f, \u043d\u043e \u043f\u043b\u0430\u0433\u0438\u043d \u0438 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0437\u0430 \u043d\u0430\u0441. \u0412\u043e\u0442 \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u044b \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043c Eclipse JKube \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c apply-\u0437\u0430\u0434\u0430\u0447\u0443 mvn k8s:apply:<\/p>\n<pre><code class=\"plaintext\">~\/work\/repos\/eclipse-jkube-demo-project : $ mvn k8s:apply [INFO] Scanning for projects... [INFO]  [INFO] ----------------------&lt; meetup:random-generator &gt;----------------------- [INFO] Building random-generator 0.0.1 [INFO] --------------------------------[ jar ]--------------------------------- [INFO]  [INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:apply (default-cli) @ random-generator --- [INFO] k8s: Using Kubernetes at https:\/\/192.168.39.145:8443\/ in namespace default with manifest \/home\/rohaan\/work\/repos\/eclipse-jkube-demo-project\/target\/classes\/META-INF\/jkube\/kubernetes.yml  [INFO] k8s: Using namespace: default [INFO] k8s: Creating a Service from kubernetes.yml namespace default name random-generator [INFO] k8s: Created Service: target\/jkube\/applyJson\/default\/service-random-generator.json [INFO] k8s: Creating a Deployment from kubernetes.yml namespace default name random-generator [INFO] k8s: Created Deployment: target\/jkube\/applyJson\/default\/deployment-random-generator.json [INFO] k8s: HINT: Use the command `kubectl get pods -w` to watch your pods start up [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time:  7.306 s [INFO] Finished at: 2020-08-10T11:40:57+05:30 [INFO] ------------------------------------------------------------------------ ~\/work\/repos\/eclipse-jkube-demo-project : $ kubectl get pods -w NAME                                                     READY   STATUS             RESTARTS   AGE random-generator-58b7847d7f-9m9df                        0\/1     Running            0          7s random-generator-58b7847d7f-9m9df                        1\/1     Running            0          17s ^C~\/work\/repos\/eclipse-jkube-demo-project : $ kubectl get svc NAME                                    TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)           AGE io-openliberty-sample-getting-started   NodePort    10.110.4.104    &lt;none&gt;        9080:30570\/TCP    44h kubernetes                              ClusterIP   10.96.0.1       &lt;none&gt;        443\/TCP           18d random-generator                        NodePort    10.97.172.147   &lt;none&gt;        8080:32186\/TCP    22s ~\/work\/repos\/eclipse-jkube-demo-project : $ curl `minikube ip`:32186\/random | jq .   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100    45    0    45    0     0   1800      0 --:--:-- --:--:-- --:--:--  1875 {   &quot;id&quot;: &quot;42e5571f-a20f-44b3-8184-370356581d10&quot; } <\/code><\/pre>\n<p>  <b>\u0428\u0430\u0433 6. \u0414\u0435\u043b\u0430\u0435\u043c undeploy \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u0437 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430 Kubernetes<\/b><\/p>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0437\u0430\u0434\u0430\u0447\u0430 undeploy, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u043e\u0441\u0442\u043e \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u0432\u0441\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u044b \u043d\u0430 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u0448\u0430\u0433\u0435, \u0442\u043e \u0435\u0441\u0442\u044c \u043f\u0440\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 apply. \u0412\u043e\u0442 \u0447\u0442\u043e \u043c\u044b \u0443\u0432\u0438\u0434\u0438\u043c \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435 \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u043c Eclipse JKube \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c undeploy-\u0437\u0430\u0434\u0430\u0447\u0443 mvn k8s:undeploy:<\/p>\n<pre><code class=\"plaintext\">~\/work\/repos\/eclipse-jkube-demo-project : $ kubectl get all NAME                                    READY   STATUS    RESTARTS   AGE pod\/random-generator-58b7847d7f-9m9df   1\/1     Running   0          5m21s  NAME                       TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE service\/kubernetes         ClusterIP   10.96.0.1       &lt;none&gt;        443\/TCP          18d service\/random-generator   NodePort    10.97.172.147   &lt;none&gt;        8080:32186\/TCP   5m21s  NAME                               READY   UP-TO-DATE   AVAILABLE   AGE deployment.apps\/random-generator   1\/1     1            1           5m21s  NAME                                          DESIRED   CURRENT   READY   AGE replicaset.apps\/random-generator-58b7847d7f   1         1         1       5m21s ~\/work\/repos\/eclipse-jkube-demo-project : $ mvn k8s:undeploy [INFO] Scanning for projects... [INFO]  [INFO] ----------------------&lt; meetup:random-generator &gt;----------------------- [INFO] Building random-generator 0.0.1 [INFO] --------------------------------[ jar ]--------------------------------- [INFO]  [INFO] --- kubernetes-maven-plugin:1.0.0-rc-1:undeploy (default-cli) @ random-generator --- [INFO] k8s: Using Kubernetes at https:\/\/192.168.39.145:8443\/ in namespace default with manifest \/home\/rohaan\/work\/repos\/eclipse-jkube-demo-project\/target\/classes\/META-INF\/jkube\/kubernetes.yml  [INFO] k8s: Using namespace: default [INFO] k8s: Deleting resource Deployment default\/random-generator [INFO] k8s: Deleting resource Service default\/random-generator [INFO] k8s: HINT: Use the command `kubectl get pods -w` to watch your pods start up [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time:  3.412 s [INFO] Finished at: 2020-08-10T11:46:22+05:30 [INFO] ------------------------------------------------------------------------ ~\/work\/repos\/eclipse-jkube-demo-project : $ kubectl get pods -w ^C~\/work\/repos\/eclipse-jkube-demo-project : $ kubectl get all NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE service\/kubernetes   ClusterIP   10.96.0.1    &lt;none&gt;        443\/TCP   18d ~\/work\/repos\/eclipse-jkube-demo-project : $ <\/code><\/pre>\n<p>  <\/p>\n<h3>\u0427\u0442\u043e \u0435\u0449\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441 Eclipse JKube<\/h3>\n<p>  \u0418\u0442\u0430\u043a, \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 goal-\u0437\u0430\u0434\u0430\u0447\u0438 Eclipse JKube \u0438 Kubernetes Maven Plugin, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u044e\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0434\u043b\u044f \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Kubernetes. \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0435 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u044d\u0442\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u0441 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u044b, \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u043e\u0442 \u0442\u0430\u043a:<\/p>\n<pre><code class=\"plaintext\">&lt;plugin&gt;      &lt;groupId&gt;org.eclipse.jkube&lt;\/groupId&gt;      &lt;artifactId&gt;kubernetes-maven-plugin&lt;\/artifactId&gt;      &lt;version&gt;${project.version}&lt;\/version&gt;      &lt;executions&gt;          &lt;execution&gt;              &lt;goals&gt;                   &lt;goal&gt;build&lt;\/goal&gt;                   &lt;goal&gt;resource&lt;\/goal&gt;                   &lt;goal&gt;apply&lt;\/goal&gt;              &lt;\/goals&gt;          &lt;\/execution&gt;      &lt;\/executions&gt; &lt;\/plugin&gt; <\/code><\/pre>\n<p>  \u041d\u0430\u0434\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0447\u0442\u043e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u043b\u0438 \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0435 goal-\u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u0432 Eclipse JKube \u0438 Kubernetes Maven Plugin, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u043c \u0432 \u0422\u0430\u0431\u043b.2 \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0433\u0443\u0442 \u0432\u0430\u043c \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u044c\u0441\u044f.<\/p>\n<p>  <i>\u0422\u0430\u0431\u043b. 2. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 goal-\u0437\u0430\u0434\u0430\u0447\u0438 Eclipse JKube.<\/i><\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<th>\u0417\u0430\u0434\u0430\u0447\u0430<\/th>\n<th>\u042d\u0442\u0430\u043f<\/th>\n<th>\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435<\/th>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.eclipse.org\/jkube\/docs\/kubernetes-maven-plugin#jkube:log\">k8s:log<\/a><\/td>\n<td>VALIDATE<\/td>\n<td>\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0432 \u043e\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430 Kubernetes.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.eclipse.org\/jkube\/docs\/kubernetes-maven-plugin#jkube:debug\">k8s:debug<\/a><\/td>\n<td>PACKAGE<\/td>\n<td>\u041e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u043e\u0433\u043e \u043f\u043e\u0440\u0442\u0430, \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u043e\u0442\u043b\u0430\u0434\u043a\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u043d\u0430 Kubernetes, \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438\u0437 IDE.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.eclipse.org\/jkube\/docs\/kubernetes-maven-plugin#jkube:deploy\">k8s:deploy<\/a><\/td>\n<td>INSTALL<\/td>\n<td>\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u043e\u0440\u043a\u0430 \u0434\u043b\u044f Install-\u0437\u0430\u0434\u0430\u0447\u0438 \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043c\u0430\u043d\u0438\u0444\u0435\u0441\u0442\u043e\u0432 \u043a \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0443 Kubernetes \u0442\u043e\u0447\u043d\u043e \u0442\u0430\u043a \u0436\u0435, \u043a\u0430\u043a \u0432 \u0441\u043b\u0443\u0447\u0430\u0435 apply-\u0437\u0430\u0434\u0430\u0447\u0438.<\/td>\n<\/tr>\n<tr>\n<td><a href=\"https:\/\/www.eclipse.org\/jkube\/docs\/kubernetes-maven-plugin#jkube:watch\">k8s:watch<\/a><\/td>\n<td>PACKAGE<\/td>\n<td>\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0433\u043e\u0440\u044f\u0447\u0435\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0437\u0430 \u0441\u0447\u0435\u0442 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f \u0435\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0438\u043c\u0435\u043d.<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  <\/p>\n<h3>\u0420\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435 Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 Red Hat OpenShift \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e OpenShift Maven Plugin<\/h3>\n<p>  \u0414\u043b\u044f \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438\u0437 \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 Red Hat OpenShift \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u043c \u043f\u043b\u0430\u0433\u0438\u043d <a href=\"https:\/\/www.eclipse.org\/jkube\/docs\/openshift-maven-plugin\">OpenShift Maven<\/a>. \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0437\u0430\u0434\u0430\u0447 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u0441 k8s \u043d\u0430 oc. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043f\u043b\u0430\u0433\u0438\u043d Kubernetes Maven \u0434\u0435\u043b\u0430\u0435\u0442 <a href=\"https:\/\/www.docker.com\/get-started\">docker<\/a>-\u0441\u0431\u043e\u0440\u043a\u0438, \u0430 \u043f\u043b\u0430\u0433\u0438\u043d OpenShift Maven \u2013 \u0441\u0431\u043e\u0440\u043a\u0438 <a href=\"https:\/\/docs.openshift.com\/enterprise\/3.0\/using_images\/s2i_images\/index.html\">S2I<\/a>. \u041c\u044b \u043d\u0435 \u0432\u043d\u043e\u0441\u0438\u043c \u0432 \u043d\u0430\u0448 \u043f\u0440\u043e\u0435\u043a\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439, \u0437\u0430 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 jkube.generator.name, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043e\u043d\u043e \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0435 \u0432 \u0440\u0435\u0435\u0441\u0442\u0440 (\u043d\u0430 \u044d\u0442\u0430\u043f\u0435 \u0441\u0431\u043e\u0440\u043a\u0438 OpenShift \u0440\u0430\u0437\u043c\u0435\u0449\u0430\u0435\u0442 \u043e\u0431\u0440\u0430\u0437 \u0432 \u0441\u0432\u043e\u0435\u043c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u043c \u0440\u0435\u0435\u0441\u0442\u0440\u0435). \u0418 \u0432\u043e\u0442 \u0447\u0442\u043e \u043f\u043e\u044f\u0432\u0438\u0442\u0441\u044f \u043d\u0430 \u044d\u043a\u0440\u0430\u043d\u0435, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u043d\u0430\u0448 \u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043c\u044b, \u043a\u0441\u0442\u0430\u0442\u0438, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c goal-\u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0435 \u043f\u043e \u043e\u0434\u043d\u043e\u0439, \u0430 \u0432\u0441\u0435 \u0441\u0440\u0430\u0437\u0443:<\/p>\n<pre><code class=\"plaintext\">~\/work\/repos\/eclipse-jkube-demo-project : $ mvn oc:build oc:resource oc:apply [INFO] Scanning for projects... [INFO]  [INFO] ----------------------&lt; meetup:random-generator &gt;----------------------- [INFO] Building random-generator 0.0.1 [INFO] --------------------------------[ jar ]--------------------------------- [INFO]  [INFO] --- openshift-maven-plugin:1.0.0-rc-1:build (default-cli) @ random-generator --- [INFO] oc: Using OpenShift build with strategy S2I [INFO] oc: Running in OpenShift mode [INFO] oc: Running generator spring-boot [INFO] oc: spring-boot: Using Docker image quay.io\/jkube\/jkube-java-binary-s2i:0.0.7 as base \/ builder [INFO] oc: [random-generator:0.0.1] &quot;spring-boot&quot;: Created docker source tar \/home\/rohaan\/work\/repos\/eclipse-jkube-demo-project\/target\/docker\/random-generator\/0.0.1\/tmp\/docker-build.tar [INFO] oc: Adding to Secret pullsecret-jkube [INFO] oc: Using Secret pullsecret-jkube [INFO] oc: Creating BuildServiceConfig random-generator-s2i for Source build [INFO] oc: Creating ImageStream random-generator [INFO] oc: Starting Build random-generator-s2i [INFO] oc: Waiting for build random-generator-s2i-1 to complete... [INFO] oc: Caching blobs under &quot;\/var\/cache\/blobs&quot;. [INFO] oc: Getting image source signatures [INFO] oc: Copying blob sha256:cf0f3ebe9f536c782ab3835049cfbd9a663761ded9370791ef6ea3965c823aad [INFO] oc: Copying blob sha256:57de4da701b511cba33bbdc424757f7f3b408bea741ca714ace265da9b59191a [INFO] oc: Copying blob sha256:f320f94d91a064281f5127d5f49954b481062c7d56cce3b09910e471cf849050 [INFO] oc: Copying config sha256:52d6788fcfdd39595264d34a3959464a5dabc1d4ef0ae188802b20fc2d6a857b [INFO] oc: Writing manifest to image destination [INFO] oc: Storing signatures [INFO] oc: Generating dockerfile with builder image quay.io\/jkube\/jkube-java-binary-s2i:0.0.7 [INFO] oc: STEP 1: FROM quay.io\/jkube\/jkube-java-binary-s2i:0.0.7 [INFO] oc: STEP 2: LABEL &quot;io.openshift.build.source-location&quot;=&quot;\/tmp\/build\/inputs&quot;       &quot;io.openshift.build.image&quot;=&quot;quay.io\/jkube\/jkube-java-binary-s2i:0.0.7&quot; [INFO] oc: STEP 3: ENV JAVA_APP_DIR=&quot;\/deployments&quot;     OPENSHIFT_BUILD_NAME=&quot;random-generator-s2i-1&quot;     OPENSHIFT_BUILD_NAMESPACE=&quot;default&quot; [INFO] oc: STEP 4: USER root [INFO] oc: STEP 5: COPY upload\/src \/tmp\/src [INFO] oc: STEP 6: RUN chown -R 1000:0 \/tmp\/src [INFO] oc: STEP 7: USER 1000 [INFO] oc: STEP 8: RUN \/usr\/local\/s2i\/assemble [INFO] oc: INFO S2I source build with plain binaries detected [INFO] oc: INFO S2I binary build from fabric8-maven-plugin detected [INFO] oc: INFO Copying binaries from \/tmp\/src\/deployments to \/deployments ... [INFO] oc: random-generator-0.0.1.jar [INFO] oc: INFO Copying deployments from deployments to \/deployments... [INFO] oc: '\/tmp\/src\/deployments\/random-generator-0.0.1.jar' -&gt; '\/deployments\/random-generator-0.0.1.jar' [INFO] oc: STEP 9: CMD \/usr\/local\/s2i\/run [INFO] oc: STEP 10: COMMIT temp.builder.openshift.io\/default\/random-generator-s2i-1:48795e41 [INFO] oc: time=&quot;2020-08-10T06:37:49Z&quot; level=info msg=&quot;Image operating system mismatch: image uses \\&quot;\\&quot;, expecting \\&quot;linux\\&quot;&quot; [INFO] oc: time=&quot;2020-08-10T06:37:49Z&quot; level=info msg=&quot;Image architecture mismatch: image uses \\&quot;\\&quot;, expecting \\&quot;amd64\\&quot;&quot; [INFO] oc: Getting image source signatures [INFO] oc: Copying blob sha256:d8e1f35641acb80b562f70cf49911341dfbe8c86f4d522b18efbf3732aa74223 [INFO] oc: Copying blob sha256:b6f081e4b2b6de8be4b1dec132043d14c121e968384dd624fb69c2c07b482edb [INFO] oc: Copying blob sha256:b7139ad07aa8ce4ed5a132f7c5cc9f1de0f5099b5e155027a23d57f7fbe78b16 [INFO] oc: Copying blob sha256:98972fc90a1108315cc5b05b2c691a0849a149727a7b81e76bc847ac2c6d9714 [INFO] oc: Copying config sha256:27aaadaf28e24856a66db962b88118b8222b61d79163dceeeed869f7289bc230 [INFO] oc: Writing manifest to image destination [INFO] oc: Storing signatures [INFO] oc: --&gt; 27aaadaf28e [INFO] oc: 27aaadaf28e24856a66db962b88118b8222b61d79163dceeeed869f7289bc230 [INFO] oc: Getting image source signatures [INFO] oc:  [INFO] oc: Pushing image image-registry.openshift-image-registry.svc:5000\/default\/random-generator:0.0.1 ... [INFO] oc: Copying blob sha256:f320f94d91a064281f5127d5f49954b481062c7d56cce3b09910e471cf849050 [INFO] oc: Copying blob sha256:cf0f3ebe9f536c782ab3835049cfbd9a663761ded9370791ef6ea3965c823aad [INFO] oc: Copying blob sha256:57de4da701b511cba33bbdc424757f7f3b408bea741ca714ace265da9b59191a [INFO] oc: Copying blob sha256:98972fc90a1108315cc5b05b2c691a0849a149727a7b81e76bc847ac2c6d9714 [INFO] oc: Copying config sha256:27aaadaf28e24856a66db962b88118b8222b61d79163dceeeed869f7289bc230 [INFO] oc: Writing manifest to image destination [INFO] oc: Storing signatures [INFO] oc: Successfully pushed image-registry.openshift-image-registry.svc:5000\/default\/random-generator@sha256:aa9e1a380c04ef9174ba56459c13d44420ebe653ebf32884d60fe4306b17306d [INFO] oc: Push successful [INFO] oc: Build random-generator-s2i-1 in status Complete [INFO] oc: Found tag on ImageStream random-generator tag: sha256:aa9e1a380c04ef9174ba56459c13d44420ebe653ebf32884d60fe4306b17306d [INFO] oc: ImageStream random-generator written to \/home\/rohaan\/work\/repos\/eclipse-jkube-demo-project\/target\/random-generator-is.yml [INFO]  [INFO] --- openshift-maven-plugin:1.0.0-rc-1:resource (default-cli) @ random-generator --- [INFO] oc: Using docker image name of namespace: default [INFO] oc: Running generator spring-boot [INFO] oc: spring-boot: Using Docker image quay.io\/jkube\/jkube-java-binary-s2i:0.0.7 as base \/ builder [INFO] oc: jkube-controller: Adding a default DeploymentConfig [INFO] oc: jkube-service: Adding a default service 'random-generator' with ports [8080] [INFO] oc: jkube-healthcheck-spring-boot: Adding readiness probe on port 8080, path='\/actuator\/health', scheme='HTTP', with initial delay 10 seconds [INFO] oc: jkube-healthcheck-spring-boot: Adding liveness probe on port 8080, path='\/actuator\/health', scheme='HTTP', with initial delay 180 seconds [INFO] oc: jkube-revision-history: Adding revision history limit to 2 [INFO]  [INFO] --- openshift-maven-plugin:1.0.0-rc-1:apply (default-cli) @ random-generator --- [INFO] oc: Using OpenShift at https:\/\/api.crc.testing:6443\/ in namespace default with manifest \/home\/rohaan\/work\/repos\/eclipse-jkube-demo-project\/target\/classes\/META-INF\/jkube\/openshift.yml  [INFO] oc: OpenShift platform detected [INFO] oc: Using project: default [INFO] oc: Creating a Service from openshift.yml namespace default name random-generator [INFO] oc: Created Service: target\/jkube\/applyJson\/default\/service-random-generator.json [INFO] oc: Creating a DeploymentConfig from openshift.yml namespace default name random-generator [INFO] oc: Created DeploymentConfig: target\/jkube\/applyJson\/default\/deploymentconfig-random-generator.json [INFO] oc: Creating Route default:random-generator host: null [INFO] oc: HINT: Use the command `oc get pods -w` to watch your pods start up [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time:  01:07 min [INFO] Finished at: 2020-08-10T12:08:00+05:30 [INFO] ------------------------------------------------------------------------ ~\/work\/repos\/eclipse-jkube-demo-project : $ oc get pods -w NAME                           READY     STATUS      RESTARTS   AGE random-generator-1-deploy      1\/1       Running     0          14s random-generator-1-vnrm9       0\/1       Running     0          11s random-generator-s2i-1-build   0\/1       Completed   0          1m random-generator-1-vnrm9   1\/1       Running   0         24s random-generator-1-deploy   0\/1       Completed   0         28s ~\/work\/repos\/eclipse-jkube-demo-project : $ oc get routes NAME                HOST\/PORT                                    PATH      SERVICES            PORT      TERMINATION   WILDCARD random-generator    random-generator-default.apps-crc.testing              random-generator    8080                    None ~\/work\/repos\/eclipse-jkube-demo-project : $ curl random-generator-default.apps-crc.testing\/random    % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current                                  Dload  Upload   Total   Spent    Left  Speed 100    45    0    45    0     0   1666      0 --:--:-- --:--:-- --:--:--  1730 {   &quot;id&quot;: &quot;d80052d9-2f92-43cb-b9eb-d7cffb879798&quot; } ~\/work\/repos\/eclipse-jkube-demo-project : $ <\/code><\/pre>\n<p>  <\/p>\n<h3>\u0412\u0438\u0434\u0435\u043e-\u0443\u0440\u043e\u043a<\/h3>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0443\u0437\u043d\u0430\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c Kubernetes-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Eclipse JKube, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0432\u0438\u0434\u0435\u043e-\u0443\u0440\u043e\u043a \u043f\u043e \u0431\u044b\u0441\u0442\u0440\u043e\u043c\u0443 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 Spring Boot \u043d\u0430 Minikube:<\/p>\n<div class=\"oembed\">\n<div>\n<div style=\"left: 0; width: 100%; height: 0; position: relative; padding-bottom: 56.25%;\"><iframe src=\"https:\/\/www.youtube.com\/embed\/z1-EX-G3bpc?rel=0&amp;showinfo=1&amp;hl=en-US\" style=\"border: 0; top: 0; left: 0; width: 100%; height: 100%; position: absolute;\" allowfullscreen scrolling=\"no\" allow=\"encrypted-media; accelerometer; gyroscope; picture-in-picture\"><\/iframe><\/div>\n<\/div>\n<\/div>\n<p>  <\/p>\n<h3>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h3>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u0438, \u043a\u0430\u043a Eclipse JKube \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u0435\u0442 \u0436\u0438\u0437\u043d\u044c Java-\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 Kubernetes. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u043e Eclipse JKube \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043d\u0430 <a href=\"https:\/\/www.eclipse.org\/jkube\/\">\u0441\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430<\/a> \u0438 \u043d\u0430 <a href=\"https:\/\/github.com\/eclipse\/jkube\">GitHub<\/a>.<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/517352\/\"> https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/517352\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/company\/redhatrussia\/blog\/517352\/\">25 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 Java \u043f\u043e\u0448\u043b\u0430 \u0432 \u0448\u0438\u0440\u043e\u043a\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u0441\u043a\u0438\u0435 \u043c\u0430\u0441\u0441\u044b, \u0447\u0442\u043e\u0431\u044b \u0432 \u0438\u0442\u043e\u0433\u0435 \u0441\u0442\u0430\u0442\u044c \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0442\u0435\u0445 \u0441\u0442\u0435\u0440\u0436\u043d\u0435\u0439, \u0432\u043e\u043a\u0440\u0443\u0433 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u0442\u0440\u043e\u044f\u0442\u0441\u044f \u0441\u0442\u0435\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u043d\u043e\u0433\u0438\u0435 \u043b\u044e\u0434\u0438 \u0438 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438, \u0434\u043e\u043b\u0433\u0438\u0435 \u0433\u043e\u0434\u044b \u0445\u0440\u0430\u043d\u0438\u0432\u0448\u0438\u0435 \u0432\u0435\u0440\u043d\u043e\u0441\u0442\u044c Java, \u0437\u0430\u043d\u044f\u0442\u044b \u0442\u0435\u043c, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044f\u0442 \u0438\u043b\u0438 \u0434\u0443\u043c\u0430\u044e\u0442 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 <a href=\"https:\/\/developers.redhat.com\/topics\/kubernetes\">Kubernetes<\/a> \u0438\u043b\u0438 \u0435\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u043d\u044b\u0435, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a <a href=\"https:\/\/developers.redhat.com\/products\/openshift\/getting-started\">Red Hat OpenShift<\/a> \u0438\u043b\u0438 <a href=\"https:\/\/aws.amazon.com\/eks\/\">Amazon EKS<\/a>.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/-1\/u6\/mr\/-1u6mrzarovwedeemsxcrufxhko.png\" width=\"100%\"><\/p>\n<p>  \u0423\u0432\u044b, Kubernetes \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043a\u0440\u0443\u0442\u043e\u0439 \u043a\u0440\u0438\u0432\u043e\u0439 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f \u0438 \u0432\u0432\u043e\u0434\u0438\u0442 \u0435\u0449\u0435 \u043e\u0434\u0438\u043d \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0432 \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u044b\u0439 \u0434\u043b\u044f Java-\u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0441\u0442\u043e\u0432 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043c\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c <a href=\"https:\/\/github.com\/eclipse\/jkube\">Eclipse JKube<\/a>, \u0447\u0442\u043e\u0431\u044b \u0443\u043f\u0440\u043e\u0441\u0442\u0438\u0442\u044c \u044d\u0442\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 Kubernetes \u0438 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430\u043c\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0442\u044c \u0431\u0435\u0437\u0431\u043e\u043b\u0435\u0437\u043d\u0435\u043d\u043d\u0443\u044e \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u044e \u043d\u0430 \u043e\u0431\u043b\u0430\u0447\u043d\u0443\u044e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 \u0441 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435\u043c \u043f\u0440\u0438\u0432\u044b\u0447\u043d\u043e\u0439 \u044d\u043a\u043e\u0441\u0438\u0441\u0442\u0435\u043c\u044b Java. \u0411\u043e\u043b\u0435\u0435 \u0442\u043e\u0433\u043e, \u043c\u044b \u043f\u043e\u043a\u0430\u0436\u0435\u043c, \u043a\u0430\u043a \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u0442\u044c Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 OpenShift \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043f\u043b\u0430\u0433\u0438\u043d\u0430 OpenShift Maven.  <\/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-309378","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/309378","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=309378"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/309378\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=309378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=309378"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=309378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}