{"id":465837,"date":"2025-07-03T09:28:57","date_gmt":"2025-07-03T09:28:57","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=465837"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=465837","title":{"rendered":"<span>OpenBao: \u043d\u0435\u043c\u043d\u043e\u0433\u043e enterprise&#8217;\u043d\u044b\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u043f\u0440\u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438 \u0441\u0435\u043a\u0440\u0435\u0442\u0430\u043c\u0438<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0421\u0438\u043c\u0438\u0433\u0438\u043d \u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u0438 \u044f \u044f\u0432\u043b\u044f\u044e\u0441\u044c \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u043c \u043f\u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044e DevOps-\u043f\u0440\u0430\u043a\u0442\u0438\u043a \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f  \u0432 \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0438 \u0441\u0438\u0441\u0442\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0432 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438.  \u041c\u044b \u043f\u0440\u0438\u0441\u0442\u0430\u043b\u044c\u043d\u043e \u0441\u043b\u0435\u0434\u0438\u043c \u0437\u0430 \u0441\u0443\u0434\u044c\u0431\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 <a href=\"https:\/\/openbao.org\/\" rel=\"noopener noreferrer nofollow\">openbao<\/a> \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043d\u0435\u0439 \u043d\u0430\u0437\u0430\u0434, \u0437\u0430\u0432\u0435\u0437\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f\u043c Habr.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u0432\u044b \u043d\u0435 \u0441\u043b\u044b\u0448\u0430\u043b\u0438 \u043e\u0431 openbao, \u0442\u043e \u0432\u043e\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0430\u043a\u0442\u044b:<\/p>\n<ul>\n<li>\n<p>OpenBao \u044d\u0442\u043e \u0444\u043e\u0440\u043a \u043e\u0442 \u043a\u043e\u043c\u043c\u0438\u0442\u0430 hashicorp vault (<a href=\"https:\/\/github.com\/hashicorp\/vault\/commit\/8993802145833ab01d49c6070d787a9eccb81546\" rel=\"noopener noreferrer nofollow\"><code>8993802<\/code><\/a>) \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 1.14.8  1.14.9, \u0434\u043e \u0441\u043c\u0435\u043d\u044b \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0441\u0442\u0430\u0442\u0443\u0441 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430 CNCF<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0443\u044e\u0442 api-\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 vault \u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u044e\u0442 \u0435\u0451 \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043f\u0443\u043d\u043a\u0442 \u0432\u044b\u0448\u0435, \u043f\u0440\u043e\u0435\u043a\u0442 \u0431\u0443\u0434\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0434\u043e\u0440\u043e\u0436\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0443 \u0438 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 hashicorp vault<\/p>\n<\/li>\n<li>\n<p>\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e MPL 2.0<\/p>\n<\/li>\n<li>\n<p>\u0418 \u043a\u0430\u043a \u0432\u0441\u0435 \u043c\u044b \u043b\u044e\u0431\u0438\u043c &#8212; \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0431\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u0441\u043c\u0441<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0434\u0443\u043a\u0442 \u0434\u043e\u043b\u0433\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0431\u044b\u043b \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0431\u0435\u0437 UI \u0442.\u043a. \u043e\u0442\u0442\u0443\u0434\u0430 \u0432\u044b\u0447\u0438\u0449\u0430\u043b\u0438 \u0432\u0435\u0441\u044c enterpris&#8217;\u043d\u044b\u0439 \u043a\u043e\u0434 vault, \u043d\u043e \u0432 \u0430\u043f\u0440\u0435\u043b\u0435 \u0437\u0430\u0432\u0435\u0437\u043b\u0438 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u043d\u0435\u0441\u043a\u0443\u0447\u043d\u044b\u0439 UI<\/p>\n<\/li>\n<li>\n<p>\u0411\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 bank-vaults <a href=\"https:\/\/github.com\/bank-vaults\/vault-operator\" rel=\"noopener noreferrer nofollow\">webhook<\/a> \u0438 \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u043a\u043e\u0441\u0442\u044b\u043b\u044f\u043c\u0438 \u0441 <a href=\"https:\/\/github.com\/bank-vaults\/vault-operator\" rel=\"noopener noreferrer nofollow\">vault-operator<\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u0430\u043c \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0441\u0442\u0430\u0442\u0443\u0441\u0435 GA <\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 HA-mode, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0431\u044d\u043a\u0435\u043d\u0434\u044b raft \u0438 postgresql<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437 \u043c\u0438\u043d\u0443\u0441\u043e\u0432: \u043a\u0430\u043a \u0438 \u0443 \u043c\u043d\u043e\u0433\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 open-source, \u0431\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432\u0438\u0434\u0435\u043d \u043d\u0435\u0432\u043e\u043e\u0440\u0443\u0436\u0451\u043d\u043d\u044b\u043c \u0432\u0437\u0433\u043b\u044f\u0434\u043e\u043c<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442 \u0437\u0430\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u0437\u043e\u0440.<\/p>\n<pre><code># \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u0432 kubernetes # \u0431\u0435\u0440\u0451\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0435\u043b\u0438\u0437\u043d\u044b\u0439 helm-\u0447\u0430\u0440\u0442, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442  git clone https:\/\/github.com\/openbao\/openbao-helm.git -b openbao-0.16.1  # \u0412 \u043a\u043e\u043d\u0444\u0438\u0433\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u043c UI, raft \u0438 HA \u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443  helm upgrade --install --create-namespace -n openbao openbao .  # \u043f\u043e\u0434\u043e\u0436\u0434\u0435\u043c \u043c\u0438\u043d\u0443\u0442\u0443 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0442\u0430\u0442\u0443\u0441\u044b \u043f\u043e\u0434\u043e\u0432  kubectl -n openbao get pods NAME                                      READY   STATUS    RESTARTS   AGE openbao-0                                 0\/1     Running   0          73s openbao-1                                 0\/1     Running   0          73s openbao-2                                 0\/1     Running   0          73s openbao-agent-injector-665bb59f4c-jzcbz   1\/1     Running   0          74s<\/code><\/pre>\n<p>\u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0432 \u0447\u0430\u0440\u0442\u0435 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0442\u0443\u0442 \u0442\u0435\u0431\u0435 \u0438 <code>securityContext<\/code> , \u0438 <code>seccomp<\/code> \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c.  \u042d\u0442\u0430\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043d \u0438 \u043f\u043e\u0440\u0430 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0435 \ud83d\ude42 <\/p>\n<pre><code># \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0441\u0435\u043a\u0440\u0435\u0442\u043e\u0432  kubectl -n openbao exec -it openbao-0 -- bao operator init  # \u0432 \u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0442\u0432\u0435\u0442, \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u043d\u0430 vault (\u044f \u0434\u0443\u043c\u0430\u044e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0443\u0434\u0438\u0432\u0438\u043b\u0441\u044f)  Unseal Key 1: ufTrcKoD05iKSjb5lEck2hFC7gtsJd2xKcXScH5MEb2w Unseal Key 2: lL7vyLN2wN92fGj0zp9VhzEO1fQjS6UVwaDqodg\/0Z9F Unseal Key 3: OvqnFKKCn\/ZL2OkaVeBApLeOtqzOmaeqxiCCgnQ7yKXz Unseal Key 4: v1Xk+RfmQ6y8EEj5hiPg3cK8CGUrKQCHcE5jokh7ZE7I Unseal Key 5: UlY+Df53ZemRQAx+rYJEN2WwCHydwp97B7YiU26rlTUo  Initial Root Token: s.7skMvkFLIPuI2wu0QYr8npZJ  # \u0434\u0430\u043b\u0435\u0435 \u043c\u044b \u0442\u0440\u0438\u0436\u0434\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 unseal \u0441 \u0442\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043a\u043b\u044e\u0447\u0430\u043c\u0438   kubectl -n openbao exec -it openbao-0 -- bao operator unseal ufTrcKoD05iKSjb5lEck2hFC7gtsJd2xKcXScH5M Eb2w kubectl -n openbao exec -it openbao-0 -- bao operator unseal lL7vyLN2wN92fGj0zp9VhzEO1fQjS6UVwaDqodg\/0Z9F  kubectl -n openbao exec -it openbao-0 -- bao operator unseal OvqnFKKCn\/ZL2OkaVeBApLeOtqzOmaeqxiCCgnQ7yKXz Key                     Value ---                     ----- Seal Type               shamir Initialized             true Sealed                  false Total Shares            5 Threshold               3 Version                 2.3.1 Build Date              2025-06-25T19:20:49Z Storage Type            raft Cluster Name            vault-cluster-ad72fc67 Cluster ID              e0424c9f-d43c-0796-2ec3-59447f04799b HA Enabled              true HA Cluster              https:\/\/openbao-0.openbao-internal:8201 HA Mode                 active Active Since            2025-07-01T03:00:33.973435832Z Raft Committed Index    30 Raft Applied Index      30<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043b\u0438 \u043f\u0435\u0440\u0432\u0443\u044e \u043d\u043e\u0434\u0443, \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e raft-\u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0441\u0430\u043c \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f, \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043d\u043e\u0434\u044b \u0432\u0440\u0443\u0447\u043d\u0443\u044e (\u043b\u0438\u0431\u043e \u0441\u0440\u0430\u0437\u0443 <a href=\"https:\/\/developer.hashicorp.com\/vault\/tutorials\/kubernetes\/kubernetes-raft-deployment-guide\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c<\/a> <code>retry_join<\/code> \u0432 \u0445\u0435\u043b\u043c \u0447\u0430\u0440\u0442\u0435)<\/p>\n<pre><code># \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c  kubectl -n openbao exec -ti openbao-0 -- vault login s.7skMvkFLIPuI2wu0QYr8npZJ Success! You are now authenticated. The token information displayed below is already stored in the token helper. You do NOT need to run \"bao login\" again. Future OpenBao requests will automatically use this token.  Key                  Value ---                  ----- token                s.7skMvkFLIPuI2wu0QYr8npZJ token_accessor       V7bgfs3Zq7bjXqb5DC0c7dbv token_duration       \u221e token_renewable      false token_policies       [\"root\"] identity_policies    [] policies             [\"root\"]  # \u043d\u0435\u043b\u043e\u0432\u043a\u043e \u0432\u044b\u0448\u043b\u043e, \u043f\u043e \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 vault login. \u043d\u043e \u044d\u0442\u043e \u0432\u0441\u0451 \u0435\u0449\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 ;) # \u0434\u0430\u043b\u0435\u0435 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043e\u0441\u0435\u0434\u0435\u0439 \u043f\u043e raft  kubectl -n openbao exec -ti openbao-0 -- \/bin\/bao operator raft list-peers Node         Address                            State     Voter ----         -------                            -----     ----- openbao-0    openbao-0.openbao-internal:8201    leader    true  # \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u043d\u043e\u0434\u044b  kubectl -n openbao exec -it openbao-1 -- bao operator raft join http:\/\/openbao-0.openbao-internal:8200 Key       Value ---       ----- Joined    true  kubectl -n openbao exec -it openbao-2 -- bao operator raft join http:\/\/openbao-0.openbao-internal:8200  Key       Value ---       ----- Joined    true  # \u0434\u0430\u043b\u0435\u0435 \u0431\u0435\u0440\u0451\u043c \u043a\u043b\u044e\u0447\u0438 \u0432\u043b\u0430\u0441\u0442\u0438 \u0438 \u043d\u0430\u0434 1 \u0438 2 \u043f\u043e\u0434\u043e\u043c \u0442\u0440\u0438\u0436\u0434\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c unseal  for index in 1 2; do kubectl -n openbao exec -it openbao-$index -- bao operator unseal lL7vyLN2wN92fGj0zp9VhzEO1fQjS6UVwaDqodg\/0Z9F ; done  for index in 1 2; do kubectl -n openbao exec -it openbao-$index -- bao operator unseal UlY+Df53ZemRQAx+rYJEN2WwCHydwp97B7YiU26rlTUo ; done  for index in 1 2; do kubectl -n openbao exec -it openbao-$index -- bao operator unseal v1Xk+RfmQ6y8EEj5hiPg3cK8CGUrKQCHcE5jokh7ZE7I ; done  # \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c. \u0447\u0442\u043e \u0432\u0441\u0435 \u0432 \u0441\u0431\u043e\u0440\u0435  kubectl -n openbao exec -ti openbao-0 -- bao operator raft list-peers Node         Address                            State       Voter ----         -------                            -----       ----- openbao-0    openbao-0.openbao-internal:8201    leader      true openbao-1    openbao-1.openbao-internal:8201    follower    true openbao-2    openbao-2.openbao-internal:8201    follower    true<\/code><\/pre>\n<p>\u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c HA \u043f\u043e\u043a\u0430 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u043a\u0430\u043a \u0438 \u0432 vault: \u0435\u0441\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440-\u043b\u0438\u0434\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u043b\u0430\u044e\u0442 \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442 \u043d\u0430 \u043d\u0435\u0433\u043e (<s>\u043a\u0430\u043a \u0438 \u043c\u043d\u043e\u0433\u0438\u0435 \u043d\u0430\u0448\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0438<\/s>)<\/p>\n<p>\u0412\u0441\u0451, \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e OpenBao \u0433\u043e\u0442\u043e\u0432 \u043a \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044e (\u0435\u0441\u043b\u0438 \u0432\u044b \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435 \u043f\u0440\u043e\u0434, \u043d\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0439\u0442\u0435 \u0432\u0430\u0448\u0438 \u043a\u043b\u044e\u0447\u0438 \u0432 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u043d\u0430 habr \ud83d\ude42 \u041f\u043e\u0441\u043b\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u0434\u0430\u0439\u0442\u0435 3 \u043a\u043b\u044e\u0447\u0430 \u044d\u043b\u044c\u0444\u0430\u043c, 5 \u0433\u043d\u043e\u043c\u0430\u043c &#8230; \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435, \u0447\u0442\u043e\u0431\u044b \u0443 \u0432\u0430\u0441 \u0432 \u0441\u0443\u043c\u043c\u0435 \u0431\u044b\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u0432\u043e\u043b\u0442, \u0435\u0441\u043b\u0438 \u043e\u043d \u0437\u0430\u043f\u0430\u043a\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432.<\/p>\n<p>\u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u043a\u0430 \u043c\u044b \u0438\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u043b\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e, \u0432 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u043c\u044b \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u043b\u0438  `<a href=\"https:\/\/www.google.ru\/search?newwindow=1&amp;sca_esv=8ff83a0cf2859f3b&amp;q=503+Service+unavailable&amp;spell=1&amp;sa=X&amp;ved=2ahUKEwiNgaHE1pqOAxV4FhAIHcMJPBYQkeECKAB6BAgOEAE\" rel=\"noopener noreferrer nofollow\">503 Service\u00a0<strong><em>unavailable<\/em><\/strong><\/a>`, \u044d\u0442\u043e \u0434\u043b\u044f \u0442\u0435\u0445 \u043a\u0442\u043e \u043b\u044e\u0431\u0438\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c\/\u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0438\u0437 UI &#8212; \u043f\u043e\u043a\u0430 \u0442\u0430\u043a\u043e\u0439 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u0442.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0441 \u043e\u0436\u0438\u0434\u0430\u0435\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0435 \u043e\u043a\u043d\u043e:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f59\/d4b\/99d\/f59d4b99d8aab983d4fedfcb06bf0ece.png\" width=\"677\" height=\"516\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/f59\/d4b\/99d\/f59d4b99d8aab983d4fedfcb06bf0ece.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/f59\/d4b\/99d\/f59d4b99d8aab983d4fedfcb06bf0ece.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0411\u0435\u0440\u0451\u043c \u043d\u0430\u0448 root-\u0442\u043e\u043a\u0435\u043d \u0438 \u043b\u043e\u0433\u0438\u043d\u0438\u043c\u0441\u044f:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/29b\/1a9\/b21\/29b1a9b21c877ece49e9d43a44190879.png\" width=\"1096\" height=\"507\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/29b\/1a9\/b21\/29b1a9b21c877ece49e9d43a44190879.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/29b\/1a9\/b21\/29b1a9b21c877ece49e9d43a44190879.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p>\u0421\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0432\u043e\u043b\u0442, \u0442\u0430\u043c \u0431\u044b\u043b \u0447\u0451\u0440\u043d\u044b\u0439 \u0444\u0440\u0435\u0439\u043c, \u0430 \u0442\u0443\u0442 \u0437\u0435\u043b\u0451\u043d\u044b\u0439 \ud83d\ude42<\/p>\n<p>\u0418\u0442\u0430\u043a \u0430\u043a\u0442 2, \u043d\u0430 \u0441\u0446\u0435\u043d\u0435 \u0442\u0435 \u0436\u0435 \u0438 \u0432\u044b\u0445\u043e\u0434\u044f\u0442 <code>namespaces<\/code> , \u0441\u0430\u043c \u0430\u043d\u043e\u043d\u0441 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0431\u044b\u043b \u0432 <a href=\"https:\/\/openbao.org\/blog\/namespaces-announcement\/\" rel=\"noopener noreferrer nofollow\">\u0431\u043b\u043e\u0433\u0435 <\/a>openbao, \u0441 \u0442\u0435\u0445 \u043f\u043e\u0440 \u044f \u0441\u0438\u0434\u0435\u043b \u0432 \u0437\u0430\u0441\u0430\u0434\u0435 \u0438 \u0436\u0434\u0430\u043b \u0440\u0435\u043b\u0438\u0437\u0430.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0442\u043e <code>namespaces<\/code> &#8212; \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0440\u0435\u0437\u0430\u0442\u044c \u0432\u043e\u043b\u0442 \u0432 \u0432\u043e\u043b\u0442\u0435 \u0438 \u0434\u0430\u0436\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437 \u0432 \u0432\u043e\u043b\u0442\u0435, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 <code>root<\/code> , secret-\u0434\u0432\u0438\u0436\u043a\u0438, \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438, \u043c\u0435\u0442\u043e\u0434\u044b \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438&#8230; <\/p>\n<p>\u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u0441 \u0438\u0445 \u0436\u0435 \u0431\u043b\u043e\u0433\u0430, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u0442\u043e\u043c: <\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/993\/da0\/e21\/993da0e21bca421ac66f3076d888b09d.png\" width=\"731\" height=\"765\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/993\/da0\/e21\/993da0e21bca421ac66f3076d888b09d.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/993\/da0\/e21\/993da0e21bca421ac66f3076d888b09d.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/figure>\n<p> \u041a\u043e\u0433\u0434\u0430 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e:<\/p>\n<ul>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0435\u043a\u0440\u0435\u0442\u0430\u043c\u0438 \u0438 \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u0441\u0440\u0430\u0437\u0443 \u0432\u0441\u0435\u0445 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443 \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0451\u043c\u0441\u044f \u0441 \u0441\u0430\u0431\u043e\u0442\u0430\u0436\u0435\u043c<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u0441\u0442\u0430\u0440\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u0433\u0438\u0431\u0440\u0438\u0434\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442 \u043c\u043d\u043e\u0433\u043e \u0434\u0435\u043d\u0435\u0433, <s>\u0430 \u0438\u0445 \u0442\u0435\u0445\u043b\u0438\u0434 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0431\u043e\u043a\u0441\u043e\u043c, \u0430 \u0443 \u0442\u0435\u0431\u044f \u0438\u0437 \u0441\u043f\u043e\u0440\u0442\u0438\u0432\u043d\u044b\u0445 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0439 4\u0439 \u0440\u0430\u0437\u0440\u044f\u0434 \u043f\u043e \u0448\u0430\u0445\u043c\u0430\u0442\u0430\u043c \u0432 \u0448\u043a\u043e\u043b\u0435<\/s> \u0438 \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u0430\u0436\u0443\u0442 \u043e\u0442\u0441\u0442\u0430\u0442\u044c \u043e\u0442 \u043d\u0438\u0445<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437 \u043f\u043e\u0437\u0438\u0442\u0438\u0432\u043d\u043d\u043e\u0433\u043e: \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b-\u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u0434\u0430\u0432\u0430\u0442\u044c \u0438\u043c \u0432 \u0442\u0435\u0441\u0442 \u043f\u043e\u0434\u043e\u0431\u043d\u0443\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0441\u0435\u043a\u0440\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u043e\u043c \u0432\u043d\u0435\u0441\u0442\u0438 \u0432 \u043e\u0431\u0449\u0438\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0435\u0441\u0442\u044c \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u043a\u0440\u0435\u0442\u0430\u043c\u0438. \u0415\u0441\u043b\u0438 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u043f\u0443\u043d\u043a\u0442\u0435 \u0438\u043c\u0435\u043b\u043e\u0441\u044c \u0432\u0432\u0438\u0434\u0443 \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0447\u0430\u0442\u044c \u0432\u043d\u0435\u0434\u0440\u044f\u0442\u044c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0445\u043e\u0442\u044c \u043a\u0430\u043a-\u0442\u043e, \u0442\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u0430 \u043a \u043c\u0430\u0448\u0438\u043d\u0435, \u043f\u043e \u0432\u0430\u0448\u0435\u0439 \u0437\u0430\u044f\u0432\u043a\u0435 \u0441\u0435\u0440\u0432\u0438\u0441 \u0432\u044b\u043f\u0438\u0441\u0430\u043b \u0432 vault, \u0432\u0430\u043c ssh-\u0434\u043e\u0441\u0442\u0443\u043f \u0441 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043f\u0430\u0440\u043e\u043b\u0435\u043c \u0438 \u043f\u043e\u0442\u043e\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0442\u043e\u0437\u0432\u0430\u043b \u0435\u0433\u043e)<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 <a href=\"https:\/\/developer.hashicorp.com\/vault\/docs\/enterprise\/namespaces\/namespace-structure#deployment-considerations\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 <\/a>\u043a \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c\u0443 <code>vault<\/code> \u0435\u0441\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u044b\u0441\u043b\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a\u0443\u044e \u0432\u044b\u0433\u043e\u0434\u0443 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438<\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0432\u0441\u0451 \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0431\u0430\u043b\u0430\u043d\u0441\u0443 \u0441\u0438\u043b: \u0441 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u0430\u043c\u0438\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0442\u044c \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u043a\u0430\u0436\u0434\u044b\u0435 5 \u043c\u0438\u043d\u0443\u0442 \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c. \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0443\u0436\u043d\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430 \u043e\u0434\u0438\u043d root-\u0442\u043e\u043a\u0435\u043d, \u0447\u0442\u043e\u0431\u044b <s>\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0432\u0441\u0435\u043c\u0438<\/s>, \u0447\u0438\u0442\u0430\u0442\u044c\/\u043f\u0438\u0441\u0430\u0442\u044c\/\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u0433\u0438\u0442\u0435\/\u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0435\u0449\u0435 \u0434\u0430\u0442\u044c \u0441\u043e\u0441\u0435\u0434\u0443 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u0430\u043a \u0443 \u0432\u0430\u0441 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0430\u043f\u043e\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430.<\/p>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a \u0441\u0443\u0442\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u043d\u0443\u0430\u043b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043d\u0430\u043d\u0442 <code>teams<\/code> , \u0430 \u0432 \u043d\u0451\u043c <code>team1<\/code> \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code># \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043d\u0435\u043a\u0438\u0439 \u0442\u0435\u043d\u0430\u043d\u0442   kubectl -n openbao exec -ti openbao-0 -- bao namespace create teams Key                Value ---                ----- custom_metadata    map[] id                 c5qncb locked             false path               teams\/ tainted            false uuid               dd011b49-37fc-4399-afba-3c70e5e08287  kubectl -n openbao exec -ti openbao-0 -- bao namespace create -ns teams team1 Key                Value ---                ----- custom_metadata    map[] id                 o3GJpH locked             false path               teams\/team1\/ tainted            false uuid               885d32a3-a2da-21c9-40a4-0034cdfc6aef<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f, \u0432 UI \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443:<\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/68c\/fd4\/121\/68cfd412117ba978910cfd18470aab74.png\" alt=\"UI \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u043e\u0432\" title=\"UI \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u043e\u0432\" width=\"1344\" height=\"651\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/68c\/fd4\/121\/68cfd412117ba978910cfd18470aab74.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/68c\/fd4\/121\/68cfd412117ba978910cfd18470aab74.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>UI \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u043e\u0432<\/figcaption><\/div>\n<\/figure>\n<p>\u0421\u043b\u0435\u0432\u0430 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u0434\u0435\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u043e\u0432, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u043c\u0441\u044f \u0432 <code>teams<\/code> , \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0436\u0430\u0442\u0438\u044f \u043d\u0430\u0441 \u043e\u0436\u0438\u0434\u0430\u0435\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0435 \u043e\u043a\u043d\u043e<\/p>\n<figure class=\"\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/742\/795\/fff\/742795ffffa84ad9819434de8cccdf48.png\" alt=\"\u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043b\u043e\u0433\u0438\u043d\u0430 \u0432 \u0442\u0435\u043d\u0430\u043d\u0442\" title=\"\u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043b\u043e\u0433\u0438\u043d\u0430 \u0432 \u0442\u0435\u043d\u0430\u043d\u0442\" width=\"474\" height=\"422\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/742\/795\/fff\/742795ffffa84ad9819434de8cccdf48.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/742\/795\/fff\/742795ffffa84ad9819434de8cccdf48.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u041f\u0440\u0438\u0433\u043b\u0430\u0448\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043b\u043e\u0433\u0438\u043d\u0430 \u0432 \u0442\u0435\u043d\u0430\u043d\u0442<\/figcaption><\/div>\n<\/figure>\n<p>\u0412\u043e\u0442 \u0442\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0432\u043d\u0443\u0442\u0440\u0438, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f, \u0447\u0442\u043e \u0438\u0437 \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u0430 teams, \u043c\u044b \u0443\u0436\u0435 \u043d\u0435 \u0432\u0438\u0434\u0438\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043f\u0440\u043e <code>raft<\/code> \u0438 \u0442\u0430\u043a\u0436\u0435 \u043d\u0435 \u043c\u043e\u0436\u0435\u043c  <s>\u0442\u044e\u043b\u0435\u043d\u044c<\/s>  \u0437\u0430\u043f\u0435\u0447\u0430\u0442\u0430\u0442\u044c Openbao` (<code>seal openbao)<\/code><\/p>\n<figure class=\"full-width\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4be\/444\/57e\/4be44457e434e1df14df4b0cc0cef7ca.png\" alt=\"\u0412\u0438\u0434 \u0438\u0437\u043d\u0443\u0442\u0440\u0438 \u0442\u0435\u043d\u0430\u043d\u0442\u0430\" title=\"\u0412\u0438\u0434 \u0438\u0437\u043d\u0443\u0442\u0440\u0438 \u0442\u0435\u043d\u0430\u043d\u0442\u0430\" width=\"1335\" height=\"663\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/4be\/444\/57e\/4be44457e434e1df14df4b0cc0cef7ca.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4be\/444\/57e\/4be44457e434e1df14df4b0cc0cef7ca.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>\u0412\u0438\u0434 \u0438\u0437\u043d\u0443\u0442\u0440\u0438 \u0442\u0435\u043d\u0430\u043d\u0442\u0430<\/figcaption><\/div>\n<\/figure>\n<pre><code># \u0434\u0430\u043b\u0435\u0435 \u044f \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0443\u0441\u044c \u0432\u043d\u0443\u0442\u0440\u044c \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u0430, \u0447\u0442\u043e\u0431\u044b \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434  kubectl -n openbao exec -ti openbao-0 -- \/bin\/sh  \/ $ bao namespace list Keys ---- teams\/  \/ $ bao namespace scan Keys ---- teams\/ teams\/team1\/  # \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u043d\u0435\u043d\u044c\u043a\u043e  # \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u043c userpass  bao auth enable -path rootuserpass userpass  Success! Enabled userpass auth method at: rootuserpass\/  \/ $ bao auth list Path             Type        Accessor                  Description                Version ----             ----        --------                  -----------                ------- rootuserpass\/    userpass    auth_userpass_20de5797    n\/a                        n\/a token\/           token       auth_token_5d75a77e       token based credentials    n\/a userpass\/        userpass    auth_userpass_4eda1230    n\/a                        n\/a  # \u0430 \u0432\u043e\u0442 \u0432 \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u0435 teams \u043e\u043d \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u043b\u0441\u044f, \u0442.\u043a. \u0442\u0430\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 auth  bao auth list -ns teams  Path      Type        Accessor               Description                Version ----      ----        --------               -----------                ------- token\/    ns_token    auth_token_a834dcbc    token based credentials    n\/a  bao auth enable -path teamsuserpass -ns teams  userpass  Success! Enabled userpass auth method at: teamsuserpass\/  bao auth list -ns teams Path              Type        Accessor                  Description                Version ----              ----        --------                  -----------                ------- teamsuserpass\/    userpass    auth_userpass_abc1479e    n\/a                        n\/a token\/            ns_token    auth_token_a834dcbc       token based credentials    n\/a  # \u0434\u0430, \u043d\u043e   bao auth list -ns teams\/team1  Path      Type        Accessor               Description                Version ----      ----        --------               -----------                ------- token\/    ns_token    auth_token_512f6e2c    token based credentials    n\/a<\/code><\/pre>\n<p>\u0418\u0437 \u043c\u0438\u043d\u0443\u0441\u043e\u0432 \u0442\u043e, \u0447\u0442\u043e auth \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e namespace \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e, \u0438\u0437 \u043f\u043b\u044e\u0441\u043e\u0432: \u0435\u0441\u043b\u0438 \u0432\u044b \u043a\u0440\u0438\u0432\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043f\u043e\u0441\u0442\u0440\u0430\u0434\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0442\u0435\u043d\u0430\u043d\u0442, \u0430 \u043d\u0435 \u0432\u0435\u0441\u044c <code>vault<\/code><\/p>\n<p>\u0414\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 vault \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0432\u044b \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0435 <code>-ns $ns<\/code> <code>-namespace $ns<\/code>\u043a \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c, \u0438\u043b\u0438 \u0436\u0435 \u044d\u043a\u0441\u043f\u043e\u0440\u0442\u0438\u0440\u0443\u0435\u0442\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e <code>BAO_NAMESPACE<\/code>.<\/p>\n<p>\u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 secret-engines \u0438 \u043c\u044b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u044b \u0432 \u043f\u0443\u0442\u0438 <code>ns1\/ns2\/kv\/data\/secret<\/code><\/p>\n<pre><code>bao secrets enable -path root-storage kv Success! Enabled the kv secrets engine at: root-storage\/  bao secrets list  Path             Type         Accessor              Description ----             ----         --------              ----------- cubbyhole\/       cubbyhole    cubbyhole_89f7854d    per-token private secret storage identity\/        identity     identity_5fccfa23     identity store root-storage\/    kv           kv_ce8ed3db           n\/a sys\/             system       system_700a4a07       system endpoints used for control, policy and debugging  bao secrets enable -path team-storage -ns teams kv Success! Enabled the kv secrets engine at: team-storage\/  bao secrets list -ns teams Path             Type            Accessor              Description ----             ----            --------              ----------- cubbyhole\/       ns_cubbyhole    cubbyhole_ead9aa21    per-token private secret storage identity\/        ns_identity     identity_2581dce4     identity store sys\/             ns_system       system_618cbfdb       system endpoints used for control, policy and debugging team-storage\/    kv              kv_787e719b           n\/a  bao kv put teams\/team-storage\/subpath\/secret value=secret Success! Data written to: teams\/team-storage\/subpath\/secret  bao kv get  teams\/team-storage\/subpath\/secret  ==== Data ==== Key      Value ---      ----- value    secret<\/code><\/pre>\n<p>\u0427\u0442\u043e \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u043e\u043b\u0438\u0442\u0438\u043a:<\/p>\n<ul>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f \u0432 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u043c \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u0435 \u0438 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0433\u0440\u0430\u043d\u0443\u043b\u044f\u0440\u043d\u043e \u043d\u0430\u0440\u0435\u0437\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u043d\u0430 \u043d\u0438\u0436\u0435\u043b\u0435\u0436\u0430\u0449\u0438\u0439, \u0442\u043e \u043f\u043e\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0435\u0433\u043e \u0438\u043c\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:    <code>teams\/sys\/policies\/*<\/code> \u0438\u043b\u0438 <code>teams\/team1\/sys\/policies\/*<\/code><\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043c\u0441\u044f \u0432\u043e \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u043c \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u0435 \u0438 \u0445\u043e\u0442\u0438\u043c \u043d\u0430\u0437\u043d\u0430\u0447\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0435\u0433\u043e, \u0442\u043e \u0432\u0435\u0441\u044c \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u043a\u0430\u043a \u043f\u0440\u0438 \u043e\u0431\u044b\u0447\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u0435 \u0431\u0435\u0437 \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u043e\u0432 (\u043c\u044b \u043d\u0435 \u0437\u043d\u0430\u0435\u043c, \u0447\u0442\u043e \u043d\u0430\u0434 \u043d\u0430\u043c\u0438 \u043a\u0442\u043e-\u0442\u043e \u0435\u0441\u0442\u044c)<\/p>\n<\/li>\n<\/ul>\n<p>\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0443\u0432\u044b, \u0434\u043e\u0435\u0445\u0430\u043b\u0430 \u0435\u0449\u0435 \u043d\u0435 \u0432\u0441\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u043b\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0432 \u043a\u0430\u043a\u043e\u043c \u0442\u043e\u0447\u043d\u043e \u043e\u0431\u044a\u0451\u043c\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044f. \u041f\u043e\u043a\u0430 \u043c\u043e\u0436\u043d\u043e \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043f\u043e \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c\u0443 vault \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b. \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 \u043f\u043e\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438, \u043c\u044b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u043c \u0441\u0442\u0430\u0442\u044c\u044e.<\/p>\n<p>\u0418\u0437 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0445 \u043f\u0435\u0440\u0441\u043f\u0435\u043a\u0442\u0438\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0433\u0443\u0442 \u043d\u0430\u0441 \u043e\u0436\u0438\u0434\u0430\u0442\u044c: &#171;Looking ahead, the namespaces working group is actively exploring improvements such as namespace sealing, non-hierarchical namespaces, per-namespace storage backends, and plugin isolation&#187; <\/p>\n<p>\u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 6 \u043c\u0435\u0441\u044f\u0446\u0435\u0432 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u043b\u0441\u044f \u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0432\u0441\u0451 \u0435\u0449\u0435 \u0434\u0435\u0440\u0436\u0430\u0442 \u0442\u0435\u043c\u043f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0437\u044b\u0432\u0430\u044e \u0432\u0430\u0441 \u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430 \u0441\u0443\u0434\u044c\u0431\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u0432\u0434\u0440\u0443\u0433 \u0435\u0449\u0435 \u0437\u0430\u0432\u0435\u0437\u0443\u0442 \u0447\u0442\u043e-\u0442\u043e \u044d\u043d\u0442\u0435\u0440\u043f\u0440\u0430\u0439\u0437\u043d\u043e\u0435, \u0437\u0430 \u0447\u0442\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043f\u043b\u0430\u0442\u0438\u0442\u044c \ud83d\ude42 \u0438 \u043d\u0430\u043c \u044d\u0442\u043e \u043f\u0440\u0438\u0433\u043e\u0434\u0438\u0442\u0441\u044f.<\/p>\n<p>\u0417\u0430\u043e\u0434\u043d\u043e \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0442\u044c \u043f\u0440\u0438\u0432\u0435\u0442 \u0441\u0432\u043e\u0435\u043c\u0443  \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0443 \u0438 \u044d\u043a\u0441-\u043a\u043e\u043b\u043b\u0435\u0433\u0435 \u043f\u043e \u041c\u0422\u0421 \u041d\u0430\u0442\u0438\u0433\u0443: <a class=\"mention\" href=\"\/users\/nat0892\">@Nat0892<\/a>  \u043a\u0430\u043a \u0442\u0435\u0431\u0435 \u0442\u0430\u043a\u043e\u0435? \u0411\u0443\u0434\u0435\u0448\u044c <a href=\"https:\/\/habr.com\/ru\/companies\/ru_mts\/articles\/861822\/\" rel=\"noopener noreferrer nofollow\">\u043c\u0435\u043d\u044f\u0442\u044c vault<\/a> \u043d\u0430 openbao ?)<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/923672\/\"> https:\/\/habr.com\/ru\/articles\/923672\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0421\u0438\u043c\u0438\u0433\u0438\u043d \u0415\u0432\u0433\u0435\u043d\u0438\u0439 \u0438 \u044f \u044f\u0432\u043b\u044f\u044e\u0441\u044c \u043a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043e\u043c \u043f\u043e \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044e DevOps-\u043f\u0440\u0430\u043a\u0442\u0438\u043a \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u044f  \u0432 \u043f\u043e\u0434\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c \u0438 \u0441\u0438\u0441\u0442\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439 \u0432 \u0444\u0438\u043d\u0430\u043d\u0441\u043e\u0432\u043e\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438.  \u041c\u044b \u043f\u0440\u0438\u0441\u0442\u0430\u043b\u044c\u043d\u043e \u0441\u043b\u0435\u0434\u0438\u043c \u0437\u0430 \u0441\u0443\u0434\u044c\u0431\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 <a href=\"https:\/\/openbao.org\/\" rel=\"noopener noreferrer nofollow\">openbao<\/a> \u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043d\u0435\u0439 \u043d\u0430\u0437\u0430\u0434, \u0437\u0430\u0432\u0435\u0437\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044f\u043c Habr.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u0434\u043e \u044d\u0442\u043e\u0433\u043e \u0432\u044b \u043d\u0435 \u0441\u043b\u044b\u0448\u0430\u043b\u0438 \u043e\u0431 openbao, \u0442\u043e \u0432\u043e\u0442 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0444\u0430\u043a\u0442\u044b:<\/p>\n<ul>\n<li>\n<p>OpenBao \u044d\u0442\u043e \u0444\u043e\u0440\u043a \u043e\u0442 \u043a\u043e\u043c\u043c\u0438\u0442\u0430 hashicorp vault (<a href=\"https:\/\/github.com\/hashicorp\/vault\/commit\/8993802145833ab01d49c6070d787a9eccb81546\" rel=\"noopener noreferrer nofollow\"><code>8993802<\/code><\/a>) \u043c\u0435\u0436\u0434\u0443 \u0432\u0435\u0440\u0441\u0438\u044f\u043c\u0438 1.14.8  1.14.9, \u0434\u043e \u0441\u043c\u0435\u043d\u044b \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u0441\u0442\u0430\u0442\u0443\u0441 \u0443\u0447\u0430\u0441\u0442\u043d\u0438\u043a\u0430 CNCF<\/p>\n<\/li>\n<li>\n<p>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0434\u0435\u043a\u043b\u0430\u0440\u0438\u0440\u0443\u044e\u0442 api-\u0441\u043e\u0432\u043c\u0435\u0441\u0442\u0438\u043c\u043e\u0441\u0442\u044c \u0441 vault \u0438 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u044e\u0442 \u0435\u0451 \u043f\u0440\u0438\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f<\/p>\n<\/li>\n<li>\n<p>\u041d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u043f\u0443\u043d\u043a\u0442 \u0432\u044b\u0448\u0435, \u043f\u0440\u043e\u0435\u043a\u0442 \u0431\u0443\u0434\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u0443\u044e \u0434\u043e\u0440\u043e\u0436\u043d\u0443\u044e \u043a\u0430\u0440\u0442\u0443 \u0438 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 hashicorp vault<\/p>\n<\/li>\n<li>\n<p>\u041b\u0438\u0446\u0435\u043d\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e MPL 2.0<\/p>\n<\/li>\n<li>\n<p>\u0418 \u043a\u0430\u043a \u0432\u0441\u0435 \u043c\u044b \u043b\u044e\u0431\u0438\u043c &#8212; \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0431\u0435\u0437 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u0438 \u0438 \u0441\u043c\u0441<\/p>\n<\/li>\n<li>\n<p>\u041f\u0440\u043e\u0434\u0443\u043a\u0442 \u0434\u043e\u043b\u0433\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0431\u044b\u043b \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0431\u0435\u0437 UI \u0442.\u043a. \u043e\u0442\u0442\u0443\u0434\u0430 \u0432\u044b\u0447\u0438\u0449\u0430\u043b\u0438 \u0432\u0435\u0441\u044c enterpris&#8217;\u043d\u044b\u0439 \u043a\u043e\u0434 vault, \u043d\u043e \u0432 \u0430\u043f\u0440\u0435\u043b\u0435 \u0437\u0430\u0432\u0435\u0437\u043b\u0438 \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u044b\u0439 \u043d\u0435\u0441\u043a\u0443\u0447\u043d\u044b\u0439 UI<\/p>\n<\/li>\n<li>\n<p>\u0411\u0435\u0437 \u043f\u0440\u043e\u0431\u043b\u0435\u043c \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 bank-vaults <a href=\"https:\/\/github.com\/bank-vaults\/vault-operator\" rel=\"noopener noreferrer nofollow\">webhook<\/a> \u0438 \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u043a\u043e\u0441\u0442\u044b\u043b\u044f\u043c\u0438 \u0441 <a href=\"https:\/\/github.com\/bank-vaults\/vault-operator\" rel=\"noopener noreferrer nofollow\">vault-operator<\/a><\/p>\n<\/li>\n<li>\n<p>\u0421\u0430\u043c \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0441\u0442\u0430\u0442\u0443\u0441\u0435 GA <\/p>\n<\/li>\n<li>\n<p>\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 HA-mode, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0431\u044d\u043a\u0435\u043d\u0434\u044b raft \u0438 postgresql<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437 \u043c\u0438\u043d\u0443\u0441\u043e\u0432: \u043a\u0430\u043a \u0438 \u0443 \u043c\u043d\u043e\u0433\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 open-source, \u0431\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0435\u0439. \u041e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u0438\u044f \u0432\u0438\u0434\u0435\u043d \u043d\u0435\u0432\u043e\u043e\u0440\u0443\u0436\u0451\u043d\u043d\u044b\u043c \u0432\u0437\u0433\u043b\u044f\u0434\u043e\u043c<\/p>\n<\/li>\n<\/ul>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u0440\u043e\u0435\u043a\u0442 \u0437\u0430\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043e\u0431\u0437\u043e\u0440.<\/p>\n<pre><code># \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0431\u0443\u0434\u0435\u043c \u0432 kubernetes # \u0431\u0435\u0440\u0451\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0440\u0435\u043b\u0438\u0437\u043d\u044b\u0439 helm-\u0447\u0430\u0440\u0442, \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0439 \u043d\u0430 \u0442\u0435\u043a\u0443\u0449\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442  git clone https:\/\/github.com\/openbao\/openbao-helm.git -b openbao-0.16.1  # \u0412 \u043a\u043e\u043d\u0444\u0438\u0433\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u043c UI, raft \u0438 HA \u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443  helm upgrade --install --create-namespace -n openbao openbao .  # \u043f\u043e\u0434\u043e\u0436\u0434\u0435\u043c \u043c\u0438\u043d\u0443\u0442\u0443 \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u0442\u0430\u0442\u0443\u0441\u044b \u043f\u043e\u0434\u043e\u0432  kubectl -n openbao get pods NAME                                      READY   STATUS    RESTARTS   AGE openbao-0                                 0\/1     Running   0          73s openbao-1                                 0\/1     Running   0          73s openbao-2                                 0\/1     Running   0          73s openbao-agent-injector-665bb59f4c-jzcbz   1\/1     Running   0          74s<\/code><\/pre>\n<p>\u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0432 \u0447\u0430\u0440\u0442\u0435 \u043e\u0447\u0435\u043d\u044c \u043c\u043d\u043e\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432, \u0442\u0443\u0442 \u0442\u0435\u0431\u0435 \u0438 <code>securityContext<\/code> , \u0438 <code>seccomp<\/code> \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c.  \u042d\u0442\u0430\u043f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0451\u043d \u0438 \u043f\u043e\u0440\u0430 \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u043a\u0435 \ud83d\ude42 <\/p>\n<pre><code># \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u043d\u0430\u0448\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0441\u0435\u043a\u0440\u0435\u0442\u043e\u0432  kubectl -n openbao exec -it openbao-0 -- bao operator init  # \u0432 \u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u043e\u0442\u0432\u0435\u0442, \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0436\u0438\u0439 \u043d\u0430 vault (\u044f \u0434\u0443\u043c\u0430\u044e \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u0443\u0434\u0438\u0432\u0438\u043b\u0441\u044f)  Unseal Key 1: ufTrcKoD05iKSjb5lEck2hFC7gtsJd2xKcXScH5MEb2w Unseal Key 2: lL7vyLN2wN92fGj0zp9VhzEO1fQjS6UVwaDqodg\/0Z9F Unseal Key 3: OvqnFKKCn\/ZL2OkaVeBApLeOtqzOmaeqxiCCgnQ7yKXz Unseal Key 4: v1Xk+RfmQ6y8EEj5hiPg3cK8CGUrKQCHcE5jokh7ZE7I Unseal Key 5: UlY+Df53ZemRQAx+rYJEN2WwCHydwp97B7YiU26rlTUo  Initial Root Token: s.7skMvkFLIPuI2wu0QYr8npZJ  # \u0434\u0430\u043b\u0435\u0435 \u043c\u044b \u0442\u0440\u0438\u0436\u0434\u044b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c \u043a\u043e\u043c\u0430\u043d\u0434\u0443 unseal \u0441 \u0442\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u043a\u043b\u044e\u0447\u0430\u043c\u0438   kubectl -n openbao exec -it openbao-0 -- bao operator unseal ufTrcKoD05iKSjb5lEck2hFC7gtsJd2xKcXScH5M Eb2w kubectl -n openbao exec -it openbao-0 -- bao operator unseal lL7vyLN2wN92fGj0zp9VhzEO1fQjS6UVwaDqodg\/0Z9F  kubectl -n openbao exec -it openbao-0 -- bao operator unseal OvqnFKKCn\/ZL2OkaVeBApLeOtqzOmaeqxiCCgnQ7yKXz Key                     Value ---                     ----- Seal Type               shamir Initialized             true Sealed                  false Total Shares            5 Threshold               3 Version                 2.3.1 Build Date              2025-06-25T19:20:49Z Storage Type            raft Cluster Name            vault-cluster-ad72fc67 Cluster ID              e0424c9f-d43c-0796-2ec3-59447f04799b HA Enabled              true HA Cluster              https:\/\/openbao-0.openbao-internal:8201 HA Mode                 active Active Since            2025-07-01T03:00:33.973435832Z Raft Committed Index    30 Raft Applied Index      30<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u043b\u0438 \u043f\u0435\u0440\u0432\u0443\u044e \u043d\u043e\u0434\u0443, \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c, \u0447\u0442\u043e raft-\u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u0441\u0430\u043c \u043d\u0435 \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f, \u043d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u043d\u043e\u0434\u044b \u0432\u0440\u0443\u0447\u043d\u0443\u044e (\u043b\u0438\u0431\u043e \u0441\u0440\u0430\u0437\u0443 <a href=\"https:\/\/developer.hashicorp.com\/vault\/tutorials\/kubernetes\/kubernetes-raft-deployment-guide\" rel=\"noopener noreferrer nofollow\">\u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c<\/a> <code>retry_join<\/code> \u0432 \u0445\u0435\u043b\u043c \u0447\u0430\u0440\u0442\u0435)<\/p>\n<pre><code># \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u043c  kubectl -n openbao exec -ti openbao-0 -- vault login s.7skMvkFLIPuI2wu0QYr8npZJ Success! You are now authenticated. The token information displayed below is already stored in the token helper. You do NOT need to run \"bao login\" again. Future OpenBao requests will automatically use this token.  Key                  Value ---                  ----- token                s.7skMvkFLIPuI2wu0QYr8npZJ token_accessor       V7bgfs3Zq7bjXqb5DC0c7dbv token_duration       \u221e token_renewable      false token_policies       [\"root\"] identity_policies    [] policies             [\"root\"]  # \u043d\u0435\u043b\u043e\u0432\u043a\u043e \u0432\u044b\u0448\u043b\u043e, \u043f\u043e \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438 vault login. \u043d\u043e \u044d\u0442\u043e \u0432\u0441\u0451 \u0435\u0449\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 ;) # \u0434\u0430\u043b\u0435\u0435 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u0441\u043e\u0441\u0435\u0434\u0435\u0439 \u043f\u043e raft  kubectl -n openbao exec -ti openbao-0 -- \/bin\/bao operator raft list-peers Node         Address                            State     Voter ----         -------                            -----     ----- openbao-0    openbao-0.openbao-internal:8201    leader    true  # \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u043d\u043e\u0434\u044b  kubectl -n openbao exec -it openbao-1 -- bao operator raft join http:\/\/openbao-0.openbao-internal:8200 Key       Value ---       ----- Joined    true  kubectl -n openbao exec -it openbao-2 -- bao operator raft join http:\/\/openbao-0.openbao-internal:8200  Key       Value ---       ----- Joined    true  # \u0434\u0430\u043b\u0435\u0435 \u0431\u0435\u0440\u0451\u043c \u043a\u043b\u044e\u0447\u0438 \u0432\u043b\u0430\u0441\u0442\u0438 \u0438 \u043d\u0430\u0434 1 \u0438 2 \u043f\u043e\u0434\u043e\u043c \u0442\u0440\u0438\u0436\u0434\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c unseal  for index in 1 2; do kubectl -n openbao exec -it openbao-$index -- bao operator unseal lL7vyLN2wN92fGj0zp9VhzEO1fQjS6UVwaDqodg\/0Z9F ; done  for index in 1 2; do kubectl -n openbao exec -it openbao-$index -- bao operator unseal UlY+Df53ZemRQAx+rYJEN2WwCHydwp97B7YiU26rlTUo ; done  for index in 1 2; do kubectl -n openbao exec -it openbao-$index -- bao operator unseal v1Xk+RfmQ6y8EEj5hiPg3cK8CGUrKQCHcE5jokh7ZE7I ; done  # \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c. \u0447\u0442\u043e \u0432\u0441\u0435 \u0432 \u0441\u0431\u043e\u0440\u0435  kubectl -n openbao exec -ti openbao-0 -- bao operator raft list-peers Node         Address                            State       Voter ----         -------                            -----       ----- openbao-0    openbao-0.openbao-internal:8201    leader      true openbao-1    openbao-1.openbao-internal:8201    follower    true openbao-2    openbao-2.openbao-internal:8201    follower    true<\/code><\/pre>\n<p>\u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c HA \u043f\u043e\u043a\u0430 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u043a\u0430\u043a \u0438 \u0432 vault: \u0435\u0441\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440-\u043b\u0438\u0434\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u044b, \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u043b\u0430\u044e\u0442 \u0440\u0435\u0434\u0438\u0440\u0435\u043a\u0442 \u043d\u0430 \u043d\u0435\u0433\u043e (<s>\u043a\u0430\u043a \u0438 \u043c\u043d\u043e\u0433\u0438\u0435 \u043d\u0430\u0448\u0438 \u043a\u043e\u043b\u043b\u0435\u0433\u0438<\/s>)<\/p>\n<p>\u0412\u0441\u0451, \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e OpenBao \u0433\u043e\u0442\u043e\u0432 \u043a \u0443\u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044e (\u0435\u0441\u043b\u0438 \u0432\u044b \u0433\u043e\u0442\u043e\u0432\u0438\u0442\u0435 \u043f\u0440\u043e\u0434, \u043d\u0435 \u043f\u0443\u0431\u043b\u0438\u043a\u0443\u0439\u0442\u0435 \u0432\u0430\u0448\u0438 \u043a\u043b\u044e\u0447\u0438 \u0432 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u043d\u0430 habr \ud83d\ude42 \u041f\u043e\u0441\u043b\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0440\u0430\u0437\u0434\u0430\u0439\u0442\u0435 3 \u043a\u043b\u044e\u0447\u0430 \u044d\u043b\u044c\u0444\u0430\u043c, 5 \u0433\u043d\u043e\u043c\u0430\u043c &#8230; \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435, \u0447\u0442\u043e\u0431\u044b \u0443 \u0432\u0430\u0441 \u0432 \u0441\u0443\u043c\u043c\u0435 \u0431\u044b\u043b\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u0432\u043e\u043b\u0442, \u0435\u0441\u043b\u0438 \u043e\u043d \u0437\u0430\u043f\u0430\u043a\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432.<\/p>\n<p>\u0421\u0442\u043e\u0438\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u043a\u0430 \u043c\u044b \u0438\u0437 \u043a\u043e\u043d\u0441\u043e\u043b\u0438 \u0432\u0440\u0443\u0447\u043d\u0443\u044e \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u043b\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e, \u0432 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 \u043c\u044b \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u043b\u0438  `<a href=\"https:\/\/www.google.ru\/search?newwindow=1&amp;sca_esv=8ff83a0cf2859f3b&amp;q=503+Service+unavailable&amp;spell=1&amp;sa=X&amp;ved=2ahUKEwiNgaHE1pqOAxV4FhAIHcMJPBYQkeECKAB6BAgOEAE\" rel=\"noopener noreferrer nofollow\">503 Service\u00a0<strong><em>unavailable<\/em><\/strong><\/a>`, \u044d\u0442\u043e \u0434\u043b\u044f \u0442\u0435\u0445 \u043a\u0442\u043e \u043b\u044e\u0431\u0438\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c\/\u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u0438\u0437 UI &#8212; \u043f\u043e\u043a\u0430 \u0442\u0430\u043a\u043e\u0439 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043d\u0435\u0442.<\/p>\n<p>\u0422\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0441 \u043e\u0436\u0438\u0434\u0430\u0435\u0442 \u0432\u043e\u0442 \u0442\u0430\u043a\u043e\u0435 \u043e\u043a\u043d\u043e:<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0411\u0435\u0440\u0451\u043c \u043d\u0430\u0448 root-\u0442\u043e\u043a\u0435\u043d \u0438 \u043b\u043e\u0433\u0438\u043d\u0438\u043c\u0441\u044f:<\/p>\n<figure class=\"full-width\"><\/figure>\n<p>\u0421\u043e\u0432\u0441\u0435\u043c \u043d\u0435 \u043f\u043e\u0445\u043e\u0436\u0435 \u043d\u0430 \u0432\u043e\u043b\u0442, \u0442\u0430\u043c \u0431\u044b\u043b \u0447\u0451\u0440\u043d\u044b\u0439 \u0444\u0440\u0435\u0439\u043c, \u0430 \u0442\u0443\u0442 \u0437\u0435\u043b\u0451\u043d\u044b\u0439 \ud83d\ude42<\/p>\n<p>\u0418\u0442\u0430\u043a \u0430\u043a\u0442 2, \u043d\u0430 \u0441\u0446\u0435\u043d\u0435 \u0442\u0435 \u0436\u0435 \u0438 \u0432\u044b\u0445\u043e\u0434\u044f\u0442 <code>namespaces<\/code> , \u0441\u0430\u043c \u0430\u043d\u043e\u043d\u0441 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0431\u044b\u043b \u0432 <a href=\"https:\/\/openbao.org\/blog\/namespaces-announcement\/\" rel=\"noopener noreferrer nofollow\">\u0431\u043b\u043e\u0433\u0435 <\/a>openbao, \u0441 \u0442\u0435\u0445 \u043f\u043e\u0440 \u044f \u0441\u0438\u0434\u0435\u043b \u0432 \u0437\u0430\u0441\u0430\u0434\u0435 \u0438 \u0436\u0434\u0430\u043b \u0440\u0435\u043b\u0438\u0437\u0430.<\/p>\n<p>\u0415\u0441\u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438, \u0442\u043e <code>namespaces<\/code> &#8212; \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0440\u0435\u0437\u0430\u0442\u044c \u0432\u043e\u043b\u0442 \u0432 \u0432\u043e\u043b\u0442\u0435 \u0438 \u0434\u0430\u0436\u0435 \u0435\u0449\u0435 \u0440\u0430\u0437 \u0432 \u0432\u043e\u043b\u0442\u0435, \u0443 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 <code>root<\/code> , secret-\u0434\u0432\u0438\u0436\u043a\u0438, \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438, \u043c\u0435\u0442\u043e\u0434\u044b \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438&#8230; <\/p>\n<p>\u041a\u0430\u0440\u0442\u0438\u043d\u043a\u0443 \u0432\u043e\u0437\u044c\u043c\u0451\u043c \u0441 \u0438\u0445 \u0436\u0435 \u0431\u043b\u043e\u0433\u0430, \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043c\u0438\u043a\u0440\u043e\u0432\u043e\u043b\u0442\u043e\u043c: <\/p>\n<figure class=\"full-width\"><\/figure>\n<p> \u041a\u043e\u0433\u0434\u0430 \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u043e:<\/p>\n<ul>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0441\u0435\u043a\u0440\u0435\u0442\u0430\u043c\u0438 \u0438 \u043f\u0440\u0438 \u043f\u043e\u043f\u044b\u0442\u043a\u0435 \u0441\u0440\u0430\u0437\u0443 \u0432\u0441\u0435\u0445 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0443 \u043c\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0451\u043c\u0441\u044f \u0441 \u0441\u0430\u0431\u043e\u0442\u0430\u0436\u0435\u043c<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u044d\u0442\u043e \u0441\u0442\u0430\u0440\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 \u0441 \u0433\u0438\u0431\u0440\u0438\u0434\u043d\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0438\u043d\u043e\u0441\u0438\u0442 \u043c\u043d\u043e\u0433\u043e \u0434\u0435\u043d\u0435\u0433, <s>\u0430 \u0438\u0445 \u0442\u0435\u0445\u043b\u0438\u0434 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u0431\u043e\u043a\u0441\u043e\u043c, \u0430 \u0443 \u0442\u0435\u0431\u044f \u0438\u0437 \u0441\u043f\u043e\u0440\u0442\u0438\u0432\u043d\u044b\u0445 \u0434\u043e\u0441\u0442\u0438\u0436\u0435\u043d\u0438\u0439 4\u0439 \u0440\u0430\u0437\u0440\u044f\u0434 \u043f\u043e \u0448\u0430\u0445\u043c\u0430\u0442\u0430\u043c \u0432 \u0448\u043a\u043e\u043b\u0435<\/s> \u0438 \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u0430\u0436\u0443\u0442 \u043e\u0442\u0441\u0442\u0430\u0442\u044c \u043e\u0442 \u043d\u0438\u0445<\/p>\n<\/li>\n<li>\n<p>\u0418\u0437 \u043f\u043e\u0437\u0438\u0442\u0438\u0432\u043d\u043d\u043e\u0433\u043e: \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u044b-\u044d\u043d\u0442\u0443\u0437\u0438\u0430\u0441\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u0434\u0430\u0432\u0430\u0442\u044c \u0438\u043c \u0432 \u0442\u0435\u0441\u0442 \u043f\u043e\u0434\u043e\u0431\u043d\u0443\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u044e \u0434\u043b\u044f \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u044f \u043a\u0430\u043a\u0438\u0445-\u043b\u0438\u0431\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0441\u0435\u043a\u0440\u0435\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0442\u043e\u043c \u0432\u043d\u0435\u0441\u0442\u0438 \u0432 \u043e\u0431\u0449\u0438\u0439 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442<\/p>\n<\/li>\n<li>\n<p>\u0415\u0441\u043b\u0438 \u0443 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0435\u0441\u0442\u044c \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0441\u0435\u043a\u0440\u0435\u0442\u0430\u043c\u0438. \u0415\u0441\u043b\u0438 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u043f\u0443\u043d\u043a\u0442\u0435 \u0438\u043c\u0435\u043b\u043e\u0441\u044c \u0432\u0432\u0438\u0434\u0443 \u0431\u043e\u043b\u044c\u0448\u0435 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u043f\u043e\u0442\u0440\u0435\u0431\u043d\u043e\u0441\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0447\u0430\u0442\u044c \u0432\u043d\u0435\u0434\u0440\u044f\u0442\u044c \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0445\u043e\u0442\u044c \u043a\u0430\u043a-\u0442\u043e, \u0442\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u044b \u0433\u043e\u0432\u043e\u0440\u0438\u043c \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u0438\u043b\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u043f\u0440\u0430\u0432\u0430 \u043a \u043c\u0430\u0448\u0438\u043d\u0435, \u043f\u043e \u0432\u0430\u0448\u0435\u0439 \u0437\u0430\u044f\u0432\u043a\u0435 \u0441\u0435\u0440\u0432\u0438\u0441 \u0432\u044b\u043f\u0438\u0441\u0430\u043b \u0432 vault, \u0432\u0430\u043c ssh-\u0434\u043e\u0441\u0442\u0443\u043f \u0441 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043f\u0430\u0440\u043e\u043b\u0435\u043c \u0438 \u043f\u043e\u0442\u043e\u043c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043e\u0442\u043e\u0437\u0432\u0430\u043b \u0435\u0433\u043e)<\/p>\n<\/li>\n<\/ul>\n<p>\u0412 <a href=\"https:\/\/developer.hashicorp.com\/vault\/docs\/enterprise\/namespaces\/namespace-structure#deployment-considerations\" rel=\"noopener noreferrer nofollow\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 <\/a>\u043a \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b\u044c\u043d\u043e\u043c\u0443 <code>vault<\/code> \u0435\u0441\u0442\u044c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u044b\u0441\u043b\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a\u0443\u044e \u0432\u044b\u0433\u043e\u0434\u0443 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0439 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438<\/p>\n<p>\u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0432\u0441\u0451 \u0441\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043a \u0431\u0430\u043b\u0430\u043d\u0441\u0443 \u0441\u0438\u043b: \u0441 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u0430\u0442\u044c \u043a\u043e\u043c\u0430\u043d\u0434\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0441\u0430\u043c\u0438\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u0438 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0442\u044c \u0434\u043e\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0438\u0445 \u043a\u0430\u0436\u0434\u044b\u0435 5 \u043c\u0438\u043d\u0443\u0442 \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0430\u043c. \u0421 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0443\u0436\u043d\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u0430 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0430 \u043e\u0434\u0438\u043d root-\u0442\u043e\u043a\u0435\u043d, \u0447\u0442\u043e\u0431\u044b <s>\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0432\u0441\u0435\u043c\u0438<\/s>, \u0447\u0438\u0442\u0430\u0442\u044c\/\u043f\u0438\u0441\u0430\u0442\u044c\/\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u0433\u0438\u0442\u0435\/\u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0438 \u0435\u0449\u0435 \u0434\u0430\u0442\u044c \u0441\u043e\u0441\u0435\u0434\u0443 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043a\u0430\u043a \u0443 \u0432\u0430\u0441 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0430\u043f\u043e\u043a \u0443\u0441\u0442\u0440\u043e\u0435\u043d\u0430.<\/p>\n<p>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a \u0441\u0443\u0442\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u043d\u0443\u0430\u043b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0442\u0435\u043d\u0430\u043d\u0442 <code>teams<\/code> , \u0430 \u0432 \u043d\u0451\u043c <code>team1<\/code> \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0439 \u043a\u043e\u043c\u0430\u043d\u0434\u044b:<\/p>\n<pre><code># \u0441\u043e\u0437\u0434\u0430\u0451\u043c \u043d\u0435\u043a\u0438\u0439 \u0442\u0435\u043d\u0430\u043d\u0442   kubectl -n openbao exec -ti openbao-0 -- bao namespace create teams Key                Value ---                ----- custom_metadata    map[] id                 c5qncb locked             false path               teams\/ tainted            false uuid               dd011b49-37fc-4399-afba-3c70e5e08287  kubectl -n openbao exec -ti openbao-0 -- bao namespace create -ns teams team1 Key                Value ---                ----- custom_metadata    map[] id                 o3GJpH locked             false path               teams\/team1\/ tainted            false uuid               885d32a3-a2da-21c9-40a4-0034cdfc6aef<\/code><\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f, \u0432 UI \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u0442\u044c \u0442\u0430\u043a\u0443\u044e \u043a\u0430\u0440\u0442\u0438\u043d\u0443:<\/p>\n<figure class=\"full-width\">\n<div><figcaption>UI \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u043e\u0432<\/figcaption><\/div>\n<\/figure>\n<p>\u0421\u043b\u0435\u0432\u0430 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u0434\u0435\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u0435\u0439\u043c\u0441\u043f\u0435\u0439\u0441\u043e\u0432, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0438\u043c\u0441\u044f \u0432 <code>teams<\/code> ,<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\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-465837","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/465837","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=465837"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/465837\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=465837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=465837"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=465837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}