{"id":2311,"date":"2020-03-30T14:03:07","date_gmt":"2020-03-30T12:03:07","guid":{"rendered":"https:\/\/geko2.factoryfy.com\/?p=1614"},"modified":"2021-11-07T22:09:23","modified_gmt":"2021-11-07T21:09:23","slug":"secretos-externos-kubernetes","status":"publish","type":"post","link":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/","title":{"rendered":"Secretos externos de Kubernetes"},"content":{"rendered":"<p>En este post hablaremos de los <strong><a href=\"https:\/\/geko.cloud\/es\/que-es-kubernetes\/\">Kubernetes<\/a> external secrets<\/strong>. Es un proyecto desarrollado por el equipo de ingenieros de <a href=\"https:\/\/es.godaddy.com\/engineering\/2019\/04\/16\/kubernetes-external-secrets\/\"><strong>GoDaddy<\/strong><\/a> que permite utilizar un sistema de gesti\u00f3n de <em>secrets<\/em> externo para agregar o a\u00f1adir de forma completamente segura a tu cl\u00faster de <a href=\"https:\/\/geko.cloud\/es\/que-es-kubernetes\/\">Kubernetes<\/a> nuevos <em>secrets<\/em>. A d\u00eda de hoy, existe soporte para los siguientes backends:<\/p>\n<ul>\n<li>AWS Secrets Manager<\/li>\n<li>AWS System Manager<\/li>\n<li>GCP Secret Manager<\/li>\n<li>Azure Key Vault<\/li>\n<li>Hashicorp Vault<\/li>\n<\/ul>\n<p>Con los <em>external secrets<\/em>, podr\u00e1s utilizar los <em>secrets<\/em> creados y almacenados en tu backends externos dentro de tu cl\u00faster de <a href=\"https:\/\/geko.cloud\/es\/que-es-kubernetes\/\">Kubernetes<\/a>, de tal forma que podr\u00e1s gestionar de forma centralizada los <em>secrets<\/em> que necesitan tus aplicaciones, CICD, etc. Con este enfoque, evitar\u00e1s almacenar <em>secrets<\/em> en diferentes lugares y guardar datos confidenciales en tus repositorios de c\u00f3digo.<\/p>\n<figure id=\"attachment_5382\" aria-describedby=\"caption-attachment-5382\" style=\"width: 800px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-5382 size-large\" src=\"https:\/\/geko.cloud\/wp-content\/uploads\/2020\/03\/architecture-aws-1024x394.png\" alt=\"architecture aws\" width=\"800\" height=\"308\" srcset=\"https:\/\/geko.cloud\/wp-content\/uploads\/2020\/03\/architecture-aws-1024x394.png 1024w, https:\/\/geko.cloud\/wp-content\/uploads\/2020\/03\/architecture-aws-300x115.png 300w, https:\/\/geko.cloud\/wp-content\/uploads\/2020\/03\/architecture-aws-768x296.png 768w, https:\/\/geko.cloud\/wp-content\/uploads\/2020\/03\/architecture-aws-1536x591.png 1536w, https:\/\/geko.cloud\/wp-content\/uploads\/2020\/03\/architecture-aws.png 1990w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><figcaption id=\"caption-attachment-5382\" class=\"wp-caption-text\">Figure 1. External secrets architecture<\/figcaption><\/figure>\n<p>Descripci\u00f3n figura 1. :<\/p>\n<ol>\n<li>El ExternalSecrets controller se agrega al k8s cl\u00faster<\/li>\n<li>El Controller busca ExternalSecrets usando la API de <a href=\"https:\/\/geko.cloud\/es\/que-es-kubernetes\/\">Kubernetes<\/a><\/li>\n<li>El Controller usa los ExternalSecrets para obtener datos secretos de proveedores externos (por ejemplo, AWS Secrets Manager)<\/li>\n<li>El Controller inserta y\/o actualiza los Secrets, los pods pueden acceder a los namespaces con normalidad.<\/li>\n<\/ol>\n<p>Utilizamos este software en diferentes clientes y funciona a la perfecci\u00f3n.<\/p>\n<p>Ahora, te mostraremos un ejemplo usando la infraestructura cloud de AWS (EKS) y ver\u00e1s cu\u00e1n f\u00e1cil es implementar este servicio.<\/p>\n<h2>Secret creation<\/h2>\n<p>En primer lugar, crearemos el secreto mismo. Para este ejemplo, usaremos<strong> AWS Secrets Manager<\/strong> y crearemos el secreto usando <strong>Cloudformation<\/strong>:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block\">\n<pre class=\"CodeMirror\" data-setting=\"{\">AWSTemplateFormatVersion: '2010-09-09'\r\nDescription: Secrets definitions\r\n\r\nParameters:\r\n  EnvName:\r\n    Description: 'Environment name'\r\n    Type: String\r\n\r\nResources:\r\n  DBCredentials:\r\n    Type: 'AWS::SecretsManager::Secret'\r\n    Properties:\r\n      Name: !Sub DB-${EnvName}\r\n      Description:\r\n        Fn::Join:\r\n        - ' - '\r\n        - - 'DB credentials'\r\n          - !Ref EnvName\r\n      SecretString: '\r\n        {\r\n          \"user\": \"myappuser\",\r\n          \"password\": \"changeme\"\r\n        } '<\/pre>\n<\/div>\n<p>En este ejemplo, hemos creado el <em>secret<\/em> con el valor de contrase\u00f1a &#8216;changeme&#8217; y deber\u00e1s cambiarlo despu\u00e9s de la creaci\u00f3n del <em>secret<\/em>. \u00a1Recuerda que este archivo yaml se almacenar\u00e1 en tu proveedor Git preferido y no es recomendable almacenar contrase\u00f1as en repositorios de c\u00f3digo! \ud83d\ude09<\/p>\n<p><em><strong>TIP: <\/strong>puede cambiar la contrase\u00f1a manualmente a trav\u00e9s de la consola de AWS por primera vez y despu\u00e9s de eso, por ejemplo, puedes implementar una rotaci\u00f3n autom\u00e1tica de contrase\u00f1a. En este caso, aseg\u00farate de que la contrase\u00f1a configurada en el servicio tambi\u00e9n cambie. Para la rotaci\u00f3n de contrase\u00f1a de AWS RDS (que usamos en este ejemplo), <a href=\"https:\/\/aws.amazon.com\/blogs\/security\/rotate-amazon-rds-database-credentials-automatically-with-aws-secrets-manager\/\">lee esto.<\/a><\/em><\/p>\n<h2>Deployment<\/h2>\n<p>Una vez que hayamos creado el <em>secret<\/em> con el valor de contrase\u00f1a correcto, instalaremos external secrets en nuestro cl\u00faster EKS. Lo instalaremos a trav\u00e9s del paquete helm de la siguiente manera:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block\">\n<pre class=\"CodeMirror\" data-setting=\"{\"># En primer lugar, agregamos el repo external-secrets de helm: \r\nhelm repo add external-secrets https:\/\/godaddy.github.io\/kubernetes-external-secrets\/\r\n\r\n# E instalamos el paquete de helm. En este caso lo instalamos en el namespace kube-system, pero puedes instalarlo donde quieras.\r\nhelm upgrade --install \r\n    --namespace kube-system \r\n    external-secrets external-secrets\/kubernetes-external-secrets\r\n\r\n<\/pre>\n<\/div>\n<p>Probablemente, necesitar\u00e1s configurar el helm chart con los valores apropiados en el fichero <strong>values<\/strong>. Puedes revisarlos en <a href=\"https:\/\/github.com\/godaddy\/kubernetes-external-secrets\/tree\/master\/charts\/kubernetes-external-secrets\">helm chart docs<\/a>.<\/p>\n<p>Podemos verificar que el pod est\u00e1 en ejecuci\u00f3n:<\/p>\n<pre>$ kubectl get pod external-secrets-598f9cb66f-m5xn5 -n kube-system\r\nNAME                               READY  STATUS   RESTARTS  AGE\r\nexternal-secrets-598f9cb66f-m5xn5  1\/1    Running  0         97d<\/pre>\n<h2>External secrets object creation<\/h2>\n<p>Ha llegado el momento de crear el objeto ExternalSecret:<\/p>\n<div class=\"wp-block-codemirror-blocks code-block \">\n<pre class=\"CodeMirror\" data-setting=\"{\">apiVersion: 'kubernetes-client.io\/v1'\r\nkind: ExternalSecret\r\nmetadata:\r\n  name: db-app-credentials\r\n  namespace: your_namespace\r\nspec:\r\n  backendType: secretsManager\r\n  # optional: specify role to assume when retrieving the data\r\n  roleArn: arn:aws:iam::123456789012:role\/secrets-readonly-example\r\n  data:\r\n    - key: DB-\r\n      name: user\r\n    - key: DB-\r\n      name: password\r\n<\/pre>\n<\/div>\n<p>Debido a que estamos ejecutando el k8s en EKS hay que tener en cuenta que usamos un roleArn que permite el acceso a AWS Secrets Manager. Tambien puedes otorgar acceso a los workers de EKS definiendo y configurando un node instance role.<\/p>\n<p>En caso de que tu cl\u00faster se ejecute fuera de AWS, GCP o Azure, puedes pasar las credenciales como variables de entorno cuando despliegas el chart de helm (echa un vistazo a las opciones del values.yaml)<\/p>\n<p>Unos segundos despu\u00e9s de haber creado el objeto ExternalSecret, un nuevo secret de k8s se crear\u00e1 en el <em>namespace<\/em> indicado.<\/p>\n<pre>$ kubectl get secret db-app-credentials -n your_namespace\u00a0\r\nNAME\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0   TYPE\u00a0 \u00a0 DATA\u00a0 \u00a0 \u00a0AGE\r\ndb-app-credentials              Opaque\u00a0 2\u00a0 \u00a0 \u00a0 \u00a0 23m\r\n<\/pre>\n<p><span style=\"font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif;\">El contenido del <em>secret<\/em> ser\u00e1 algo parecido a esto:\u00a0<\/span><\/p>\n<pre>$ kubectl get secret db-app-credentials-n your_namespace -o yaml\r\napiVersion: v1\r\ndata:\r\n  password: sgdhfh7w98JHGFsq1shdgA==\r\n  user: bXlhcHB1c2VyCg==\r\nkind: Secret\r\nmetadata:\r\n  creationTimestamp: \"2020-03-30T10:26:34Z\"\r\n  name: db-app-credentials\r\n  namespace: your_namespace\r\n  ownerReferences:\r\n  - apiVersion: kubernetes-client.io\/v1\r\n    controller: true\r\n    kind: ExternalSecret\r\n    name: db-app-credentials\r\n    uid: 8a69iac3-2007-11ea-ae84-0awqa0e278d8\r\n  resourceVersion: \"14684195\"\r\n  selfLink: \/api\/v1\/namespaces\/your_namespace\/secrets\/db-app-credentials\r\n  uid: aeha168b-2007-11ea-ae84-0a0ath7278d8\r\ntype: Opaque<\/pre>\n<p>A partir de ahora, cada vez que actualices el <em>secret<\/em> en el backend, el <em>secret<\/em> se actualizar\u00e1 tambi\u00e9n en el cl\u00faster de k8s.<\/p>\n<h2>Apuntes finales:<\/h2>\n<p>Puedes configurar el intervalo de sondeo o <em>poll interval<\/em> (la fecuencia en la que External Secrets se sincronizara con el backend para actualizar nuevos cambios o nuevos secrets). Por favor, ten en cuenta que muchos proveedores cloud cobran por cada s<em>ecret access<\/em> o llamadas a las API.<\/p>\n<p>Es importante saber que los external secrets de <a href=\"https:\/\/geko.cloud\/es\/que-es-kubernetes\/\">Kubernetes<\/a> solo realizan upserts (inserts o updates). En ning\u00fan caso se eliminar\u00e1n secrets del cl\u00faster k8s en caso de falla o problemas de acceso\/sincronizaci\u00f3n con el backend.<\/p>\n<p>\u00a1\u00a1Eso es todo!! \ud83d\ude42 Para obtener m\u00e1s informaci\u00f3n, puedes visitar el repositorio de <a href=\"https:\/\/github.com\/godaddy\/kubernetes-external-secrets\">secretos externos de Github.<\/a><\/p>\n<hr \/>\n<p>Espero que hayas disfrutado de este post y te animo a que <a href=\"https:\/\/geko.cloud\/es\/blog\/\">revises nuestro blog para leer otrosposts<\/a> que puedan ser de tu inter\u00e9s. <a href=\"https:\/\/geko.cloud\/es\/contacto\/\">No dudes en contactarnos<\/a> si deseas que te ayudemos en tus proyectos.<\/p>\n<p>\u00a1Nos vemos en la pr\u00f3xima entrada!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En este post hablaremos de los Kubernetes external secrets. Es un proyecto desarrollado por el equipo de ingenieros de GoDaddy que permite utilizar un sistema de gesti\u00f3n de secrets externo para agregar o a\u00f1adir de forma completamente segura a tu cl\u00faster de Kubernetes nuevos secrets. A d\u00eda de hoy, existe soporte para los siguientes backends: [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":2313,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[18],"tags":[37],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Secretos externos de Kubernetes<\/title>\n<meta name=\"description\" content=\"C\u00f3mo enlazar tus secretos de Kubernetes con los sistemas de gesti\u00f3n de secretos m\u00e1s populares en AWS, GCP, Azure o Hashicorp Vault\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Secretos externos de Kubernetes\" \/>\n<meta property=\"og:description\" content=\"C\u00f3mo enlazar tus secretos de Kubernetes con los sistemas de gesti\u00f3n de secretos m\u00e1s populares en AWS, GCP, Azure o Hashicorp Vault\" \/>\n<meta property=\"og:url\" content=\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/\" \/>\n<meta property=\"og:site_name\" content=\"Geko Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-30T12:03:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-11-07T21:09:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/geko.cloud\/wp-content\/uploads\/post.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jose Luis S\u00e1nchez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@geko_cloud\" \/>\n<meta name=\"twitter:site\" content=\"@geko_cloud\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/\"},\"author\":{\"name\":\"Jose Luis S\u00e1nchez\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/person\/d06aff498ebfbc75b5010ebe92af41ed\"},\"headline\":\"Secretos externos de Kubernetes\",\"datePublished\":\"2020-03-30T12:03:07+00:00\",\"dateModified\":\"2021-11-07T21:09:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/\"},\"wordCount\":749,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/geko.cloud\/es\/#organization\"},\"image\":{\"@id\":\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/post.png\",\"keywords\":[\"Kubernetes\"],\"articleSection\":[\"Labs\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/\",\"url\":\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/\",\"name\":\"Secretos externos de Kubernetes\",\"isPartOf\":{\"@id\":\"https:\/\/geko.cloud\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/post.png\",\"datePublished\":\"2020-03-30T12:03:07+00:00\",\"dateModified\":\"2021-11-07T21:09:23+00:00\",\"description\":\"C\u00f3mo enlazar tus secretos de Kubernetes con los sistemas de gesti\u00f3n de secretos m\u00e1s populares en AWS, GCP, Azure o Hashicorp Vault\",\"breadcrumb\":{\"@id\":\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#primaryimage\",\"url\":\"https:\/\/geko.cloud\/wp-content\/uploads\/post.png\",\"contentUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/post.png\",\"width\":1024,\"height\":768,\"caption\":\"AWS Vault Google Azure logo\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/geko.cloud\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Secretos externos de Kubernetes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/geko.cloud\/es\/#website\",\"url\":\"https:\/\/geko.cloud\/es\/\",\"name\":\"Geko Cloud\",\"description\":\"Servicios de consultor\u00eda cloud y devops\",\"publisher\":{\"@id\":\"https:\/\/geko.cloud\/es\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/geko.cloud\/es\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/geko.cloud\/es\/#organization\",\"name\":\"Geko Cloud\",\"url\":\"https:\/\/geko.cloud\/es\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png\",\"contentUrl\":\"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png\",\"width\":1650,\"height\":809,\"caption\":\"Geko Cloud\"},\"image\":{\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/geko_cloud\",\"https:\/\/www.instagram.com\/gekocloud\/\",\"https:\/\/www.linkedin.com\/company\/gekocloud\",\"https:\/\/www.youtube.com\/channel\/UC5EFLCqUM7fEaXSa_0nWowQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/person\/d06aff498ebfbc75b5010ebe92af41ed\",\"name\":\"Jose Luis S\u00e1nchez\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/geko.cloud\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ebfd055d4dba456220c682523fcc237c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ebfd055d4dba456220c682523fcc237c?s=96&d=mm&r=g\",\"caption\":\"Jose Luis S\u00e1nchez\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Secretos externos de Kubernetes","description":"C\u00f3mo enlazar tus secretos de Kubernetes con los sistemas de gesti\u00f3n de secretos m\u00e1s populares en AWS, GCP, Azure o Hashicorp Vault","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/","og_locale":"es_ES","og_type":"article","og_title":"Secretos externos de Kubernetes","og_description":"C\u00f3mo enlazar tus secretos de Kubernetes con los sistemas de gesti\u00f3n de secretos m\u00e1s populares en AWS, GCP, Azure o Hashicorp Vault","og_url":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/","og_site_name":"Geko Cloud","article_published_time":"2020-03-30T12:03:07+00:00","article_modified_time":"2021-11-07T21:09:23+00:00","og_image":[{"width":1024,"height":768,"url":"https:\/\/geko.cloud\/wp-content\/uploads\/post.png","type":"image\/png"}],"author":"Jose Luis S\u00e1nchez","twitter_card":"summary_large_image","twitter_creator":"@geko_cloud","twitter_site":"@geko_cloud","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#article","isPartOf":{"@id":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/"},"author":{"name":"Jose Luis S\u00e1nchez","@id":"https:\/\/geko.cloud\/es\/#\/schema\/person\/d06aff498ebfbc75b5010ebe92af41ed"},"headline":"Secretos externos de Kubernetes","datePublished":"2020-03-30T12:03:07+00:00","dateModified":"2021-11-07T21:09:23+00:00","mainEntityOfPage":{"@id":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/"},"wordCount":749,"commentCount":0,"publisher":{"@id":"https:\/\/geko.cloud\/es\/#organization"},"image":{"@id":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/post.png","keywords":["Kubernetes"],"articleSection":["Labs"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/","url":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/","name":"Secretos externos de Kubernetes","isPartOf":{"@id":"https:\/\/geko.cloud\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#primaryimage"},"image":{"@id":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/post.png","datePublished":"2020-03-30T12:03:07+00:00","dateModified":"2021-11-07T21:09:23+00:00","description":"C\u00f3mo enlazar tus secretos de Kubernetes con los sistemas de gesti\u00f3n de secretos m\u00e1s populares en AWS, GCP, Azure o Hashicorp Vault","breadcrumb":{"@id":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#primaryimage","url":"https:\/\/geko.cloud\/wp-content\/uploads\/post.png","contentUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/post.png","width":1024,"height":768,"caption":"AWS Vault Google Azure logo"},{"@type":"BreadcrumbList","@id":"https:\/\/geko.cloud\/es\/secretos-externos-kubernetes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/geko.cloud\/es\/"},{"@type":"ListItem","position":2,"name":"Secretos externos de Kubernetes"}]},{"@type":"WebSite","@id":"https:\/\/geko.cloud\/es\/#website","url":"https:\/\/geko.cloud\/es\/","name":"Geko Cloud","description":"Servicios de consultor\u00eda cloud y devops","publisher":{"@id":"https:\/\/geko.cloud\/es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/geko.cloud\/es\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/geko.cloud\/es\/#organization","name":"Geko Cloud","url":"https:\/\/geko.cloud\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/","url":"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png","contentUrl":"https:\/\/geko.cloud\/wp-content\/uploads\/2021\/10\/geko_logo-positivo.png","width":1650,"height":809,"caption":"Geko Cloud"},"image":{"@id":"https:\/\/geko.cloud\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/geko_cloud","https:\/\/www.instagram.com\/gekocloud\/","https:\/\/www.linkedin.com\/company\/gekocloud","https:\/\/www.youtube.com\/channel\/UC5EFLCqUM7fEaXSa_0nWowQ"]},{"@type":"Person","@id":"https:\/\/geko.cloud\/es\/#\/schema\/person\/d06aff498ebfbc75b5010ebe92af41ed","name":"Jose Luis S\u00e1nchez","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/geko.cloud\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ebfd055d4dba456220c682523fcc237c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ebfd055d4dba456220c682523fcc237c?s=96&d=mm&r=g","caption":"Jose Luis S\u00e1nchez"}}]}},"_links":{"self":[{"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/posts\/2311"}],"collection":[{"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/comments?post=2311"}],"version-history":[{"count":6,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/posts\/2311\/revisions"}],"predecessor-version":[{"id":5384,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/posts\/2311\/revisions\/5384"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/media\/2313"}],"wp:attachment":[{"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/media?parent=2311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/categories?post=2311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/geko.cloud\/es\/wp-json\/wp\/v2\/tags?post=2311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}