{"id":288878,"date":"2018-09-03T10:20:02","date_gmt":"2018-09-03T06:20:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=288878"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=288878","title":{"rendered":"\u041f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 \u043f\u0430\u043a\u0435\u0442\u043d\u044b\u043c \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u043e\u043c \u0434\u043b\u044f Kubernetes \u2014 Helm"},"content":{"rendered":"\n<div data-io-article-url=\"https:\/\/habr.com\/company\/flant\/blog\/420437\/\" class=\"post__text post__text-html js-mediator-article\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ff\/1x\/js\/ff1xjsnvdlnfinirlwb-0p42tlo.png\"><\/p>\n<p>  \u0421\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043d\u0430\u0448\u0435\u0439 <a href=\"https:\/\/habr.com\/company\/flant\/blog\/417079\/\">\u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438<\/a> \u043e\u0431 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u0434\u043b\u044f Kubernetes \u2014 <a href=\"https:\/\/helm.sh\/\"><b>Helm<\/b><\/a>. \u0412 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043c\u044b \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u0442\u0440\u043e\u043d\u0435\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u044b\u043d\u0435\u0448\u043d\u0435\u0433\u043e Helm (<b>\u0432\u0435\u0440\u0441\u0438\u044f 2.x<\/b>), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0438\u043c \u0447\u0430\u0440\u0442\u043e\u0432 \u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435: \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 Helm \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 Kubernetes \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0447\u0430\u0440\u0442\u043e\u0432.<a name=\"habracut\"><\/a><\/p>\n<h2>\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435<\/h2>\n<p>  <b>Helm \u2014 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0447\u0430\u0440\u0442\u0430\u043c\u0438.<\/b><\/p>\n<p>  <b>\u0427\u0430\u0440\u0442<\/b> \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0439 \u043d\u0430\u0431\u043e\u0440 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes. \u041e\u043d \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u0447\u0430\u0440\u0442\u044b \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0438\u0445 \u0438\u0437 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0442\u0430\u043a \u0438 \u0434\u043b\u044f \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445. \u041a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0447\u0430\u0440\u0442 <a href=\"https:\/\/github.com\/helm\/charts\/tree\/master\/stable\/gitlab-ce\">stable\/gitlab-ce<\/a> \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u0442 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0441 <a href=\"https:\/\/github.com\/helm\/charts\/blob\/8bcad6ca54c8580e7ec79012ddca250631047b43\/stable\/gitlab-ce\/requirements.yaml#L1-L7\">\u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c<\/a> \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0447\u0430\u0440\u0442\u043e\u0432 redis \u0438 postgresql.<\/p>\n<p>  \u0427\u0430\u0440\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043d\u0435\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437 \u0432 \u043e\u0434\u043d\u043e\u043c \u0438 \u0442\u043e\u043c \u0436\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435. \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043b\u043e\u0433\u0438\u043a\u0438 \u0432\u044b\u043a\u0430\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u0440\u0430\u0437\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0438 \u0434\u043e\u043b\u0436\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f \u0432 \u043e\u0434\u043d\u043e\u043c \u0447\u0430\u0440\u0442\u0435.<\/p>\n<p>  \u041a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0430\u044f \u0447\u0430\u0441\u0442\u044c Helm \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0447\u0430\u0440\u0442\u0430 \u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0443 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0443\u0441\u044f \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 Kubernetes \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0443 <b>Tiller<\/b>. \u0412 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, Tiller \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u0437\u0430 \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u0439 \u0446\u0438\u043a\u043b \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u043e\u0433\u043e \u0447\u0430\u0440\u0442\u0430, \u0440\u0435\u043b\u0438\u0437\u0430. <i>(\u041d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u043d\u0430\u043f\u043e\u043c\u043d\u044e, \u0447\u0442\u043e \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043a\u0440\u0443\u043f\u043d\u043e\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 Helm \u2014 \u0432\u0435\u0440\u0441\u0438\u0438 3 \u2014 \u0443\u0436\u0435 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 Tiller.)<\/i><\/p>\n<p>  \u0410 \u0442\u0435\u043f\u0435\u0440\u044c \u2014 \u043e\u0431\u043e \u0432\u0441\u0451\u043c \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443.<\/p>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435<\/h2>\n<p>  \u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 Helm \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f Kubernetes. \u041c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 <a href=\"https:\/\/kubernetes.io\/docs\/setup\/minikube\/\">Minikube<\/a> <i>(\u0441\u043c. \u0442\u0430\u043a\u0436\u0435 \u00ab<a href=\"https:\/\/habr.com\/company\/flant\/blog\/333470\/\">\u041d\u0430\u0447\u0430\u043b\u043e \u0440\u0430\u0431\u043e\u0442\u044b \u0432 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Minikube<\/a>\u00bb)<\/i> \u0438\u043b\u0438 \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u043a\u043b\u0430\u0441\u0442\u0435\u0440.<\/p>\n<p>  \u041d\u0430\u0447\u043d\u0451\u043c \u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430: \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c <a href=\"https:\/\/github.com\/kubernetes\/helm\/releases\">\u0440\u0435\u043b\u0438\u0437<\/a>, \u0441\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0438 \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0430\u0440\u0445\u0438\u0432 \u0434\u043b\u044f \u0441\u0432\u043e\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u0438\u0441\u043f\u043e\u043b\u043d\u044f\u0435\u043c\u044b\u0439 \u0444\u0430\u0439\u043b\u2026<\/p>\n<pre><code class=\"bash\">$ curl https:\/\/storage.googleapis.com\/kubernetes-helm\/helm-v2.10.0-linux-amd64.tar.gz | tar -zxv $ sudo mv linux-amd64\/helm \/usr\/local\/bin\/helm <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Tiller \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Tiller \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 <b>\u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 <code>kubectl<\/code><\/b> (<code>kubectl config current-context<\/code>), \u0432 <b>\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u043c\u0451\u043d <code>kube-system<\/code><\/b>, \u043d\u043e \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u043e\u043f\u0446\u0438\u0438 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u044f \u2014 \u043e\u043d\u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432 \u0441\u043f\u0440\u0430\u0432\u043a\u0435 (<code>helm init --help<\/code>). \u0412\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435:<\/p>\n<pre><code class=\"bash\">$ helm init $HELM_HOME has been configured at \/home\/habr\/.helm. (Use --client-only to suppress this message, or --upgrade to upgrade Tiller to the current version.) Happy Helming!  $ kubectl get all --selector=name=tiller --namespace kube-system NAME                               READY     STATUS    RESTARTS   AGE po\/tiller-deploy-df4fdf55d-h5mvh   0\/1       Running   0          5s  NAME                CLUSTER-IP      EXTERNAL-IP   PORT(S)     AGE svc\/tiller-deploy   10.107.191.68   &lt;none&gt;        44134\/TCP   5s  NAME                   DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE deploy\/tiller-deploy   1         1         1            0           5s  NAME                         DESIRED   CURRENT   READY     AGE rs\/tiller-deploy-df4fdf55d   1         1         0         5s <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c Tiller \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0438 \u0433\u043e\u0442\u043e\u0432 \u043a \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044e \u0440\u0435\u043b\u0438\u0437\u0430\u043c\u0438, \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044e \u0441 Kubernetes API.<\/p>\n<p>  <i><b>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435<\/b>: \u041f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438 (\u043e\u043f\u0446\u0438\u044f <code>--upgrade<\/code>) Tiller&#8217;\u0430 \u043c\u043e\u0436\u043d\u043e <b>\u0437\u0430\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u043e\u0431\u0440\u0430\u0437<\/b> \u0432\u043c\u0435\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u043b\u0438\u0437\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u0418\u043c\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u043e\u0431\u0440\u0430\u0437\u0430 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u043f\u0446\u0438\u0435\u0439 <code>--tiller-image<\/code>, \u0430 \u0441 \u043e\u043f\u0446\u0438\u0435\u0439 <code>--canary-image<\/code> \u043f\u0440\u0438 \u0432\u044b\u043a\u0430\u0442\u0435 Tiller \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d canary-\u043e\u0431\u0440\u0430\u0437. \u0421anary-\u043e\u0431\u0440\u0430\u0437 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Tiller, \u0432\u0435\u0440\u0441\u0438\u044f \u043a\u043e\u0434\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0432\u0435\u0442\u043a\u0435 master.<\/i><\/p>\n<p>  \u0421\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0432 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u0445, <code>ConfigMaps<\/code>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u0435 \u0438 \u043f\u0435\u0440\u0435\u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 Tiller&#8217;\u0430 \u043d\u0435 \u043f\u0440\u0438\u0432\u043e\u0434\u044f\u0442 \u043a \u043f\u043e\u0442\u0435\u0440\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0440\u0430\u043d\u0435\u0435 \u0440\u0435\u043b\u0438\u0437\u043e\u0432.<\/p>\n<h2>\u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0447\u0430\u0440\u0442\u043e\u0432<\/h2>\n<p>  \u0420\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0447\u0430\u0440\u0442\u043e\u0432 \u2014 HTTP-\u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0447\u0430\u0440\u0442\u043e\u0432. \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0447\u0430\u0440\u0442\u0430\u0445 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u0444\u0430\u0439\u043b\u0435 <code>index.yaml<\/code>. \u0412 \u043d\u0451\u043c \u0436\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f, \u043e\u0442\u043a\u0443\u0434\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0447\u0430\u0440\u0442 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d. \u0427\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0447\u0430\u0440\u0442\u044b \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0444\u0430\u0439\u043b\u043e\u043c <code>index.yaml<\/code>, \u043d\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442 \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0438\u0445 \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435. \u041e\u0431\u044b\u0447\u043d\u043e \u0444\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u043f\u043b\u043e\u0441\u043a\u043e\u0439 \u0444\u043e\u0440\u043c\u0435:<\/p>\n<pre><code class=\"bash\">. \u251c\u2500\u2500 index.yaml \u251c\u2500\u2500 artifactory-7.3.0.tgz \u251c\u2500\u2500 docker-registry-1.5.2.tgz ... \u2514\u2500\u2500 wordpress-2.1.10.tgz <\/code><\/pre>\n<p>  \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Helm \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 <a href=\"https:\/\/github.com\/helm\/charts\">\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0447\u0430\u0440\u0442\u043e\u0432 Kubernetes<\/a>. \u041e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0442\u0449\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0435 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0447\u0430\u0440\u0442\u044b \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447. \u042d\u0442\u043e\u0442 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438\u043c\u0435\u043d\u0443\u0435\u0442\u0441\u044f <b>stable<\/b>:<\/p>\n<pre><code class=\"bash\">$ helm repo list NAME    URL stable  https:\/\/kubernetes-charts.storage.googleapis.com <\/code><\/pre>\n<p>  \u041f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 <b>\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435<\/b> \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u043d\u0435 \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u0440\u043e\u0431\u043b\u0435\u043c. \u0422\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u2014 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u043a\u0430\u043a \u0438 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0447\u0430\u0440\u0442\u043e\u0432, \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043d\u0430 GitHub Pages. \u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043f\u0440\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0448\u0430\u0433\u0438 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0432 <a href=\"https:\/\/github.com\/helm\/helm\/blob\/master\/docs\/chart_repository.md\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a>.<\/p>\n<p>  \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432 \u0447\u0430\u0440\u0442\u043e\u0432 \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u044b. \u0414\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432\u0435\u0440\u0441\u0438\u0438 \u0447\u0430\u0440\u0442\u043e\u0432 \u0431\u044b\u043b\u0438 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c\u0438, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u0438\u043d\u0434\u0435\u043a\u0441. \u041f\u0440\u0438\u0432\u0435\u0434\u0443 \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0433\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f <a href=\"https:\/\/github.com\/bitnami\/charts\">bitnami<\/a>, \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0447\u0430\u0440\u0442\u043e\u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 Helm:<\/p>\n<pre><code class=\"bash\">$ helm repo add bitnami https:\/\/charts.bitnami.com\/bitnami \"bitnami\" has been added to your repositories  $ helm repo update Hang tight while we grab the latest from your chart repositories... ...Successfully got an update from the \"bitnami\" chart repository ...Successfully got an update from the \"stable\" chart repository Update Complete.  Happy Helming!  $ helm repo remove bitnami \"bitnami\" has been removed from your repositories <\/code><\/pre>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u2014 <b>\u043f\u043e\u0438\u0441\u043a<\/b> \u043f\u043e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u043c. \u0412\u044b\u0437\u043e\u0432 <code>helm search<\/code> \u0431\u0435\u0437 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442 \u0432\u0441\u0435 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u0447\u0430\u0440\u0442\u044b:<\/p>\n<pre><code class=\"bash\">$ helm search NAME                                  CHART VERSION APP VERSION                   DESCRIPTION stable\/acs-engine-autoscaler          2.2.0         2.1.1                         Scales worker nodes within agent pools stable\/aerospike                      0.1.7         v3.14.1.2                     A Helm chart for Aerospike in Kubernetes stable\/anchore-engine                 0.2.1         0.2.4                         Anchore container analysis and policy evaluation engine s... stable\/apm-server                     0.1.0         6.2.4                         The server receives data from the Elastic APM agents and ... stable\/ark                            1.2.1         0.9.1                         A Helm chart for ark stable\/artifactory                    7.3.0         6.1.0                         Universal Repository Manager supporting all major packagi... ... stable\/weave-cloud                    0.2.2         0.2.0                         Weave Cloud is a add-on to Kubernetes which provides Cont... stable\/weave-scope                    0.9.3         1.6.5                         A Helm chart for the Weave Scope cluster visualizer. stable\/wordpress                      2.1.10        4.9.8                         Web publishing platform for building blogs and websites. stable\/xray                           0.4.1         2.3.0                         Universal component scan for security and license invento... stable\/zeppelin                       1.0.1         0.7.2                         Web-based notebook that enables data-driven, interactive ... stable\/zetcd                          0.1.9         0.0.3                         CoreOS zetcd Helm chart for Kubernetes <\/code><\/pre>\n<p>  \u0412 \u043d\u0435\u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u043e\u043b\u0435 <code>keywords<\/code> \u0432 <code>Chart.yaml<\/code> \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442 \u0442\u0435\u0433\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445 \u0447\u0430\u0440\u0442\u043e\u0432:<\/p>\n<pre><code class=\"bash\">$ helm search web NAME                        CHART VERSION APP VERSION             DESCRIPTION stable\/cerebro              0.3.1         0.8.1                   A Helm chart for Cerebro - a web admin tool that replaces... stable\/chronograf           0.4.5         1.3                     Open-source web application written in Go and React.js th... stable\/jasperreports        2.0.4         7.1.0                   The JasperReports server can be used as a stand-alone or ... stable\/joomla               2.0.9         3.8.12                  PHP content management system (CMS) for publishing web co... stable\/kubernetes-dashboard 0.7.2         1.8.3                   General-purpose web UI for Kubernetes clusters stable\/odoo                 2.0.7         11.0.20180815           A suite of web based open source business apps. stable\/phabricator          2.1.9         2018.34.0               Collection of open source web applications that help soft... stable\/redmine              4.1.0         3.4.6                   A flexible project management web application. stable\/rethinkdb            0.1.4         0.1.0                   The open-source database for the realtime web stable\/schema-registry-ui   0.1.0         v0.9.4                  This is a web tool for the confluentinc\/schema-registry i... stable\/superset             0.1.2         0.24.0                  Apache Superset (incubating) is a modern, enterprise-read... stable\/testlink             2.0.3         1.9.17                  Web-based test management system that facilitates softwar... stable\/tomcat               0.1.0         7                       Deploy a basic tomcat application server with sidecar as ... stable\/wordpress            2.1.10        4.9.8                   Web publishing platform for building blogs and websites. ...  $ helm search cms blog NAME              CHART VERSION APP VERSION DESCRIPTION stable\/drupal     1.1.3         8.5.6       One of the most versatile open source content management ... stable\/joomla     2.0.9         3.8.12      PHP content management system (CMS) for publishing web co... stable\/wordpress  2.1.10        4.9.8       Web publishing platform for building blogs and websites<\/code><\/pre>\n<p>  <i><b>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435:<\/b> \u041f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>helm search<\/code> \u043c\u043e\u0436\u043d\u043e \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u0442\u044c\u0441\u044f \u0441 \u043d\u0435\u0441\u0442\u0430\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u043e\u0439 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432: \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u043f\u043e\u0440\u044f\u0434\u043a\u0430 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432.<\/i><\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043a\u0440\u0443\u0433 \u043f\u043e\u0438\u0441\u043a\u043e\u0432 \u0441\u0443\u0437\u0438\u043b\u0441\u044f \u0434\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432, \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0431\u043e\u043b\u0435\u0435 \u0434\u0435\u0442\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u0447\u0430\u0440\u0442\u043e\u0432 \u2014 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u044b <code>helm inspect<\/code>. \u041e\u043d\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0447\u0430\u0440\u0442\u0430 <code>Chart.yaml<\/code>, <code>values.yaml<\/code> \u0438 <code>README.md<\/code>. \u041a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437\u0434\u0435\u043b \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0441 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u043c\u0438 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438: <code>chart<\/code>, <code>values<\/code> \u0438 <code>readme<\/code>.<\/p>\n<p>  \u0412 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 \u0447\u0430\u0440\u0442\u044b \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0447\u0430\u0440\u0442\u044b \u2014 \u0434\u0430\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u044b\u0435 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f <b>production<\/b>. \u041a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u0445\u043e\u0440\u043e\u0448\u0438\u0439 <code>readme<\/code> \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u0443 <a href=\"https:\/\/github.com\/helm\/charts\/blob\/master\/stable\/wordpress\/README.md\">stable\/wordpress<\/a> <i>(\u0434\u043b\u044f \u0435\u0433\u043e \u0432\u044b\u0432\u043e\u0434\u0430 \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0441\u043c. <code>helm inspect readme stable\/wordpress<\/code>)<\/i>.<\/p>\n<p>  \u041f\u043e\u0438\u0441\u043a \u2014 \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0438\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u043d\u0430\u0439\u0442\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043f\u0430\u043a\u0435\u0442\u044b. \u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043f\u0430\u043a\u0435\u0442 \u043d\u0430\u0439\u0434\u0435\u043d, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440.<\/p>\n<h2>\u041f\u0435\u0440\u0432\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/h2>\n<p>  \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0432\u044b\u0431\u0440\u0430\u043d \u0443\u0436\u0435 \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0439 \u0447\u0430\u0440\u0442 <a href=\"https:\/\/github.com\/helm\/charts\/blob\/master\/stable\/wordpress\">stable\/wordpress<\/a>.<\/p>\n<p>  \u0412 \u043d\u0451\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0432 \u0444\u0430\u0439\u043b\u0435 <code>values.yaml<\/code>. \u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0432 YAML-\u0444\u0430\u0439\u043b\u0435, \u0430 \u0437\u0430\u0442\u0435\u043c \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 (\u043e\u043f\u0446\u0438\u0438 <code>-f<\/code>, <code>--values<\/code>). \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 (\u043e\u043f\u0446\u0438\u0438 <code>--set<\/code>, <code>--set-string<\/code> \u0438 <code>--set-file<\/code>). \u0412\u0441\u0435 \u043e\u043f\u0446\u0438\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u043b\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437; \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0432 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0438\u043c\u0435\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u0439 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442 \u043d\u0430\u0434 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438.<\/p>\n<p>  \u041f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0447\u0430\u0440\u0442\u0430 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0438\u043c\u044f \u0440\u0435\u043b\u0438\u0437\u0443 \u043e\u043f\u0446\u0438\u0435\u0439 <code>--name<\/code> \u0438\u043b\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0435 \u0438\u043c\u044f, \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 Helm.<\/p>\n<p>  \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0447\u0430\u0440\u0442 \u0441 <a href=\"https:\/\/github.com\/helm\/charts\/blob\/master\/stable\/wordpress\/values-production.yaml\">\u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439 \u0434\u043b\u044f production<\/a>, \u043f\u043e\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0431\u043b\u043e\u0433\u0430, \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 WordPress \u0432 <code>PersistentVolumeClaim<\/code> <i>(\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043f\u0440\u043e \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0441\u043c. \u0432 <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/persistent-volumes\/\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 Kubernetes<\/a>)<\/i>:<\/p>\n<pre><code class=\"bash\">$ curl https:\/\/raw.githubusercontent.com\/helm\/charts\/master\/stable\/wordpress\/values-production.yaml --output values-production.yaml $ helm install --name habr --set \"wordpressBlogName=Flant's Blog!\" --set \"persistence.enabled=false\" -f values-production.yaml stable\/wordpress NAME:   habr LAST DEPLOYED: Fri Aug 31 15:17:57 2018 NAMESPACE: default STATUS: DEPLOYED  RESOURCES: ==&gt; v1\/Secret NAME            TYPE    DATA  AGE habr-mariadb    Opaque  2     0s habr-wordpress  Opaque  2     0s  ==&gt; v1\/ConfigMap NAME                       DATA  AGE habr-mariadb-init-scripts  1     0s habr-mariadb               1     0s habr-mariadb-tests         1     0s  ==&gt; v1\/Service NAME            TYPE       CLUSTER-IP     EXTERNAL-IP  PORT(S)         AGE habr-mariadb    ClusterIP  10.111.7.232   &lt;none&gt;       3306\/TCP        0s habr-wordpress  ClusterIP  10.106.129.88  &lt;none&gt;       80\/TCP,443\/TCP  0s  ==&gt; v1beta1\/Deployment NAME            DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE habr-wordpress  3        3        3           0          0s  ==&gt; v1beta1\/StatefulSet NAME          DESIRED  CURRENT  AGE habr-mariadb  1        1        0s  ==&gt; v1beta1\/Ingress NAME                  HOSTS            ADDRESS  PORTS  AGE wordpress.local-habr  wordpress.local  80, 443  0s  ==&gt; v1\/Pod(related) NAME                            READY  STATUS             RESTARTS  AGE habr-wordpress-7955b95fd-hh7b9  0\/1    ContainerCreating  0         0s habr-wordpress-7955b95fd-tgsxk  0\/1    ContainerCreating  0         0s habr-wordpress-7955b95fd-xjz74  0\/1    ContainerCreating  0         0s habr-mariadb-0                  0\/1    ContainerCreating  0         0s   NOTES: 1. Get the WordPress URL:    You should be able to access your new WordPress installation through   https:\/\/wordpress.local\/admin  2. Login with the following credentials to see your blog    echo Username: user   echo Password: $(kubectl get secret --namespace default habr-wordpress -o jsonpath=\"{.data.wordpress-password}\" | base64 --decode) <\/code><\/pre>\n<p>  \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u043c \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u043c \u0434\u0430\u043b\u0435\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u044f\u043c \u0438\u0437 \u0431\u043b\u043e\u043a\u0430 <i>NOTES<\/i> \u0432\u044b\u0448\u0435. \u0415\u0441\u043b\u0438 \u0436\u0435 \u0443 \u0432\u0430\u0441 Minikube \u2014 \u043e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 \u0441\u0430\u0439\u0442 \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"bash\">$ minikube service habr-wordpress Waiting, endpoint for service is not ready yet... Opening kubernetes service default\/habr-wordpress in default browser...<\/code><\/pre>\n<p>  \u041f\u043e\u0437\u0434\u0440\u0430\u0432\u043b\u044f\u044e, \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435!<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/on\/bg\/ub\/onbgubke7d2hntrso3asemt5teq.png\"><\/p>\n<p>  \u0420\u0430\u0437\u0432\u0451\u0440\u043d\u0443\u0442\u044b\u0439 \u0447\u0430\u0440\u0442 \u0441 WordPress \u043f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0432\u0441\u0435\u0445 \u0440\u0435\u043b\u0438\u0437\u043e\u0432 Helm:<\/p>\n<pre><code class=\"bash\">$ helm list NAME  REVISION  UPDATED                   STATUS    CHART             APP VERSION NAMESPACE habr  1         Fri Aug 31 15:17:57 2018  DEPLOYED  wordpress-2.1.10  4.9.8       default <\/code><\/pre>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u0448\u0430\u0433\u043e\u043c \u043e\u0431\u043d\u043e\u0432\u0438\u043c \u043d\u0430\u0448 \u0440\u0435\u043b\u0438\u0437 \u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u043e\u0431\u0440\u0430\u0437 \u0441 \u0431\u043b\u043e\u0433\u043e\u043c. \u0414\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u0434\u0440\u0443\u0433\u043e\u0439 \u0442\u0435\u0433 \u0438\u0437 \u0442\u043e\u0433\u043e \u0436\u0435 Docker-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f (<code>4.9.8-ol-7<\/code>):<\/p>\n<pre><code class=\"bash\">$ helm upgrade habr --set \"image.tag=4.9.8-ol-7\" --set \"wordpressBlogName=Flant's Blog!\" --set \"persistence.enabled=false\" -f values-production.yaml stable\/wordpress Release \"habr\" has been upgraded. Happy Helming! LAST DEPLOYED: Fri Aug 31 15:21:08 2018 NAMESPACE: default STATUS: DEPLOYED  RESOURCES: ==&gt; v1\/Service NAME            TYPE       CLUSTER-IP     EXTERNAL-IP  PORT(S)         AGE habr-mariadb    ClusterIP  10.111.7.232   &lt;none&gt;       3306\/TCP        3m habr-wordpress  ClusterIP  10.106.129.88  &lt;none&gt;       80\/TCP,443\/TCP  3m  ==&gt; v1beta1\/Deployment NAME            DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE habr-wordpress  3        4        2           0          3m  ==&gt; v1beta1\/StatefulSet NAME          DESIRED  CURRENT  AGE habr-mariadb  1        1        3m  ==&gt; v1beta1\/Ingress NAME                  HOSTS            ADDRESS  PORTS  AGE wordpress.local-habr  wordpress.local  80, 443  3m  ==&gt; v1\/Pod(related) NAME                             READY  STATUS       RESTARTS  AGE habr-wordpress-66f4fd6b74-gqwhh  0\/1    Pending      0         0s habr-wordpress-66f4fd6b74-mf6vj  0\/1    Pending      0         0s habr-wordpress-7955b95fd-hh7b9   1\/1    Running      2         3m habr-wordpress-7955b95fd-tgsxk   1\/1    Running      2         3m habr-wordpress-7955b95fd-xjz74   0\/1    Terminating  2         3m habr-mariadb-0                   1\/1    Running      0         3m  ==&gt; v1\/Secret NAME            TYPE    DATA  AGE habr-mariadb    Opaque  2     3m habr-wordpress  Opaque  2     3m  ==&gt; v1\/ConfigMap NAME                       DATA  AGE habr-mariadb-init-scripts  1     3m habr-mariadb               1     3m habr-mariadb-tests         1     3m   NOTES: 1. Get the WordPress URL:    You should be able to access your new WordPress installation through   https:\/\/wordpress.local\/admin  2. Login with the following credentials to see your blog    echo Username: user   echo Password: $(kubectl get secret --namespace default habr-wordpress -o jsonpath=\"{.data.wordpress-password}\" | base64 --decode) <\/code><\/pre>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e <b>\u043f\u0440\u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438<\/b> Tiller \u0441\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0447\u0430\u0440\u0442 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u043c \u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 Kubernetes API, \u0430 <b>\u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0440\u0435\u043b\u0438\u0437\u0430 \u043d\u0435 \u0431\u0435\u0440\u0451\u0442\u0441\u044f \u0432 \u0440\u0430\u0441\u0447\u0451\u0442<\/b>. \u0412\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u044d\u0442\u0443 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0438 \u043d\u0435 \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043e\u043a:<\/p>\n<ul>\n<li> \u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0438\u0447\u0435\u043c \u043d\u0435 \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0438\u043d\u0441\u0442\u0430\u043b\u044f\u0446\u0438\u0438: Helm-\u043a\u043b\u0438\u0435\u043d\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 Tiller \u0447\u0430\u0440\u0442 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0430\u0434\u043e \u0431\u044b\u0442\u044c \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u0435\u0435 \u0438 \u043d\u0435 \u0437\u0430\u0431\u044b\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438 \u0444\u0430\u0439\u043b\u044b \u0441 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0434\u0430\u0432\u0430\u043b\u0438\u0441\u044c \u043f\u0440\u0438 \u0438\u043d\u0441\u0442\u0430\u043b\u044f\u0446\u0438\u0438 (\u0438\u043b\u0438 \u043f\u0440\u0438 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0438) \u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043f\u0440\u043e\u0438\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u044b. \u0412 \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0432\u044b\u0448\u0435 \u2014 \u044d\u0442\u043e <code>--set \"wordpressBlogName=Flant's Blog!\" --set \"persistence.enabled=false\" -f values-production.yaml<\/code>.<\/li>\n<li> \u041f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u044b\u043a\u0430\u0442\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 Helm, \u0434\u043e\u043b\u0436\u043d\u044b \u043e\u0431\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c Helm: \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 <code>kubectl<\/code>, \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0443\u0447\u0442\u0435\u043d\u044b Helm \u0438 \u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043a \u043d\u0435\u043e\u0431\u0440\u0430\u0442\u0438\u043c\u044b\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f\u043c.<\/li>\n<\/ul>\n<p>  \u041e\u0442\u0441\u044e\u0434\u0430 \u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0435 \u0437\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435: <b>\u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d<\/b>, \u0430 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043c\u043c\u0438\u0442 \u0432 Git-\u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439, \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0447\u0430\u0440\u0442\u0430 \u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 CI.<\/p>\n<p>  \u0421\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u0440\u0435\u043b\u0438\u0437\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<pre><code class=\"bash\">$ helm status habr LAST DEPLOYED: Fri Aug 31 15:21:08 2018 NAMESPACE: default STATUS: DEPLOYED  RESOURCES: ==&gt; v1\/Secret NAME            TYPE    DATA  AGE habr-mariadb    Opaque  2     4m habr-wordpress  Opaque  2     4m  ==&gt; v1\/ConfigMap NAME                       DATA  AGE habr-mariadb-init-scripts  1     4m habr-mariadb               1     4m habr-mariadb-tests         1     4m  ==&gt; v1\/Service NAME            TYPE       CLUSTER-IP     EXTERNAL-IP  PORT(S)         AGE habr-mariadb    ClusterIP  10.111.7.232   &lt;none&gt;       3306\/TCP        4m habr-wordpress  ClusterIP  10.106.129.88  &lt;none&gt;       80\/TCP,443\/TCP  4m  ==&gt; v1beta1\/Deployment NAME            DESIRED  CURRENT  UP-TO-DATE  AVAILABLE  AGE habr-wordpress  3        4        2           3          4m  ==&gt; v1beta1\/StatefulSet NAME          DESIRED  CURRENT  AGE habr-mariadb  1        1        4m  ==&gt; v1beta1\/Ingress NAME                  HOSTS            ADDRESS  PORTS  AGE wordpress.local-habr  wordpress.local  80, 443  4m  ==&gt; v1\/Pod(related) NAME                             READY  STATUS   RESTARTS  AGE habr-wordpress-66f4fd6b74-gqwhh  0\/1    Pending  0         1m habr-wordpress-66f4fd6b74-mf6vj  1\/1    Running  0         1m habr-wordpress-7955b95fd-hh7b9   1\/1    Running  3         4m habr-wordpress-7955b95fd-tgsxk   1\/1    Running  3         4m habr-mariadb-0                   1\/1    Running  1         4m   NOTES: 1. Get the WordPress URL:    You should be able to access your new WordPress installation through   https:\/\/wordpress.local\/admin  2. Login with the following credentials to see your blog    echo Username: user   echo Password: $(kubectl get secret --namespace default habr-wordpress -o jsonpath=\"{.data.wordpress-password}\" | base64 --decode) <\/code><\/pre>\n<p>  Helm \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 <b>\u043e\u0442\u043a\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0440\u0435\u0432\u0438\u0437\u0438\u0438 \u0440\u0435\u043b\u0438\u0437\u0430<\/b>. \u041d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u0440\u0435\u0432\u0438\u0437\u0438\u0439 \u0434\u0432\u0435:<\/p>\n<pre><code class=\"bash\">$ helm history habr REVISION  UPDATED                   STATUS      CHART             DESCRIPTION 1         Fri Aug 31 15:17:57 2018  SUPERSEDED  wordpress-2.1.10  Install complete 2         Fri Aug 31 15:21:08 2018  DEPLOYED    wordpress-2.1.10  Upgrade complete <\/code><\/pre>\n<p>  \u041e\u0442\u043a\u0430\u0442\u0438\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043a \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c\u0443 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044e:<\/p>\n<pre><code class=\"bash\">$ helm rollback habr 1 Rollback was a success! Happy Helming! <\/code><\/pre>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0440\u0435\u0432\u0438\u0437\u0438\u0439 \u043f\u043e\u043f\u043e\u043b\u043d\u0438\u043b\u0430\u0441\u044c \u043d\u0430 \u043e\u0434\u043d\u0443 \u0437\u0430\u043f\u0438\u0441\u044c:<\/p>\n<pre><code>$ helm history habr REVISION  UPDATED                   STATUS      CHART             DESCRIPTION 1         Fri Aug 31 15:17:57 2018  SUPERSEDED  wordpress-2.1.10  Install complete 2         Fri Aug 31 15:21:08 2018  SUPERSEDED  wordpress-2.1.10  Upgrade complete 3         Fri Aug 31 15:25:06 2018  DEPLOYED    wordpress-2.1.10  Rollback to 1 <\/code><\/pre>\n<p>  \u0421\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442 \u043a \u043a\u043e\u043d\u0446\u0443 \u0438 \u0440\u0435\u043b\u0438\u0437 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f?<\/p>\n<pre><code class=\"bash\">$ helm delete habr release \"habr\" deleted <\/code><\/pre>\n<p>  \u0410 \u0443\u0434\u0430\u043b\u0451\u043d \u043b\u0438 \u043e\u043d \u0432 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438?..<\/p>\n<p>  <b>\u041a\u043e\u043c\u0430\u043d\u0434\u0430 \u0443\u0434\u0430\u043b\u044f\u0435\u0442 Kubernetes-\u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u0440\u0435\u043b\u0438\u0437\u043e\u043c, \u043d\u043e \u043d\u0435 \u0441\u0430\u043c \u0440\u0435\u043b\u0438\u0437<\/b>. \u0412\u0441\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0440\u0435\u043b\u0438\u0437\u0435 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0439, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0438 \u0435\u0433\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u044f:<\/p>\n<pre><code class=\"bash\">$ helm list --all NAME  REVISION  UPDATED                   STATUS  CHART             APP VERSION NAMESPACE habr  3         Fri Aug 31 15:25:06 2018  DELETED wordpress-2.1.10  4.9.8       default <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"bash\">$ helm history habr REVISION  UPDATED                   STATUS      CHART             DESCRIPTION 1         Fri Aug 31 15:17:57 2018  SUPERSEDED  wordpress-2.1.10  Install complete 2         Fri Aug 31 15:21:08 2018  SUPERSEDED  wordpress-2.1.10  Upgrade complete 3         Fri Aug 31 15:25:06 2018  DELETED     wordpress-2.1.10  Deletion complete <\/code><\/pre>\n<p>  <i><b>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435<\/b>: \u041f\u043e \u0437\u0430\u0434\u0443\u043c\u043a\u0435, \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u044b\u0439 \u0440\u0435\u043b\u0438\u0437 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043a \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u043c \u0432\u0435\u0440\u0441\u0438\u044f\u043c, \u043d\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u044f\u0445 \u044d\u0442\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u2014 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438 \u0441\u043c. \u0432 <a href=\"https:\/\/github.com\/helm\/helm\/issues\/3722\">issue #3722<\/a>.<\/i><\/p>\n<p>  \u0414\u043b\u044f \u043f\u043e\u043b\u043d\u043e\u0433\u043e \u0443\u0434\u0430\u043b\u0435\u043d\u0438\u044f \u0440\u0435\u043b\u0438\u0437\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u043f\u0446\u0438\u044f <code>--purge<\/code>:<\/p>\n<pre><code class=\"bash\">$ helm delete --purge habr release \"habr\" deleted <\/code><\/pre>\n<p>  <\/p>\n<h2>\u0420\u0435\u0437\u044e\u043c\u0438\u0440\u0443\u044f<\/h2>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043d\u043e \u043f\u0440\u043e \u0431\u0430\u0437\u043e\u0432\u0443\u044e \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0443 Helm 2, \u0435\u0433\u043e \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0438 \u0438\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e\u0431 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043f\u0440\u0438\u043c\u0438\u0442\u0438\u0432\u0430\u0445, \u0447\u0430\u0440\u0442\u0430\u0445, \u0440\u0435\u043b\u0438\u0437\u0430\u0445 \u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f\u0445 \u0447\u0430\u0440\u0442\u043e\u0432. \u041c\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Helm \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 Kubernetes \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u0440\u0435\u043b\u0438\u0437\u0430 \u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043a\u043e\u043c\u0430\u043d\u0434 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043d\u0438\u043c.<\/p>\n<p>  \u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0446\u0438\u043a\u043b\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0441\u0432\u044f\u0449\u0451\u043d \u0442\u0435\u043c\u0435 <b>\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0433\u043e \u0447\u0430\u0440\u0442\u0430<\/b> \u2014 \u0432 \u043d\u0451\u043c \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043f\u0440\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u0447\u0430\u0440\u0442\u0430, \u0448\u0430\u0431\u043b\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u043e\u0442\u043b\u0430\u0434\u043a\u0438.<\/p>\n<h2>P.S.<\/h2>\n<p>  <\/p>\n<ul>\n<li> \u00ab<a href=\"https:\/\/habr.com\/company\/flant\/blog\/417079\/\">\u041f\u0430\u043a\u0435\u0442\u043d\u044b\u0439 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u0434\u043b\u044f Kubernetes \u2014 Helm: \u043f\u0440\u043e\u0448\u043b\u043e\u0435, \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435, \u0431\u0443\u0434\u0443\u0449\u0435\u0435<\/a>\u00bb;<\/li>\n<li> \u00ab<a href=\"https:\/\/habr.com\/company\/flant\/blog\/336170\/\">\u041f\u0440\u0430\u043a\u0442\u0438\u043a\u0430 \u0441 dapp. \u0427\u0430\u0441\u0442\u044c 2. \u0414\u0435\u043f\u043b\u043e\u0439 Docker-\u043e\u0431\u0440\u0430\u0437\u043e\u0432 \u0432 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Helm<\/a>\u00bb;<\/li>\n<li> \u00ab<a href=\"https:\/\/habr.com\/company\/flant\/blog\/345580\/\">\u0421\u0431\u043e\u0440\u043a\u0430 \u0438 \u0434e\u043f\u043b\u043e\u0439 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0432 Kubernetes \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e dapp \u0438 GitLab CI<\/a>\u00bb;<\/li>\n<li> \u00ab<a href=\"https:\/\/habr.com\/company\/flant\/blog\/345116\/\">\u041b\u0443\u0447\u0448\u0438\u0435 \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0438 CI\/CD \u0441 Kubernetes \u0438 GitLab<\/a>\u00bb <i>(\u043e\u0431\u0437\u043e\u0440 \u0438 \u0432\u0438\u0434\u0435\u043e \u0434\u043e\u043a\u043b\u0430\u0434\u0430)<\/i>.<\/li>\n<\/ul>\n<\/div>\n<p>        <script class=\"js-mediator-script\">!function(e){function t(t,n){if(!(n in e)){for(var r,a=e.document,i=a.scripts,o=i.length;o--;)if(-1!==i[o].src.indexOf(t)){r=i[o];break}if(!r){r=a.createElement(\"script\"),r.type=\"text\/javascript\",r.async=!0,r.defer=!0,r.src=t,r.charset=\"UTF-8\";var d=function(){var e=a.getElementsByTagName(\"script\")[0];e.parentNode.insertBefore(r,e)};\"[object Opera]\"==e.opera?a.addEventListener?a.addEventListener(\"DOMContentLoaded\",d,!1):e.attachEvent(\"onload\",d):d()}}}t(\"\/\/mediator.mail.ru\/script\/2820404\/\",\"_mediator\")}(window);<\/script>     <br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/post\/420437\/\"> https:\/\/habr.com\/post\/420437\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div data-io-article-url=\"https:\/\/habr.com\/company\/flant\/blog\/420437\/\" class=\"post__text post__text-html js-mediator-article\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ff\/1x\/js\/ff1xjsnvdlnfinirlwb-0p42tlo.png\"><\/p>\n<p>  \u0421\u0442\u0430\u0442\u044c\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0435\u043d\u0438\u0435 \u043d\u0430\u0448\u0435\u0439 <a href=\"https:\/\/habr.com\/company\/flant\/blog\/417079\/\">\u043d\u0435\u0434\u0430\u0432\u043d\u0435\u0439 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438<\/a> \u043e\u0431 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043f\u0430\u043a\u0435\u0442\u043d\u043e\u0433\u043e \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440\u0430 \u0434\u043b\u044f Kubernetes \u2014 <a href=\"https:\/\/helm.sh\/\"><b>Helm<\/b><\/a>. \u0412 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043c\u044b \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u0442\u0440\u043e\u043d\u0435\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u044b \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u044b\u043d\u0435\u0448\u043d\u0435\u0433\u043e Helm (<b>\u0432\u0435\u0440\u0441\u0438\u044f 2.x<\/b>), \u0430 \u0442\u0430\u043a\u0436\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u044b\u0445 \u0438\u043c \u0447\u0430\u0440\u0442\u043e\u0432 \u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0435\u0432, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a \u043f\u0440\u0430\u043a\u0442\u0438\u043a\u0435: \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 Helm \u0432 \u043a\u043b\u0430\u0441\u0442\u0435\u0440 Kubernetes \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0447\u0430\u0440\u0442\u043e\u0432.<\/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-288878","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/288878","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=288878"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/288878\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=288878"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=288878"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=288878"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}