{"id":4535,"date":"2020-09-14T14:20:09","date_gmt":"2020-09-14T14:20:09","guid":{"rendered":"https:\/\/beta.bluetab.net\/?p=4535"},"modified":"2024-03-05T17:32:10","modified_gmt":"2024-03-05T17:32:10","slug":"espiando-a-tu-kubernetes-con-kubewath","status":"publish","type":"post","link":"https:\/\/bluetab.co.uk\/es\/espiando-a-tu-kubernetes-con-kubewath\/","title":{"rendered":"Espiando a tu kubernetes con kubewatch"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"4535\" class=\"elementor elementor-4535\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3046955e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3046955e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-16c872e\" data-id=\"16c872e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-79a4e728 elementor-widget elementor-widget-heading\" data-id=\"79a4e728\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Espiando a tu Kubernetes con Kubewatch<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-505bc46 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"505bc46\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-2cb5c300\" data-id=\"2cb5c300\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5e8741f elementor-position-left elementor-vertical-align-middle elementor-widget elementor-widget-image-box\" data-id=\"5e8741f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image-box.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-image-box-wrapper\"><figure class=\"elementor-image-box-img\"><a href=\"https:\/\/www.linkedin.com\/company\/bluetab-solutions\/?viewAsMember=true\" target=\"_blank\" tabindex=\"-1\"><img decoding=\"async\" data-src=\"https:\/\/bluetab.net\/wp-content\/uploads\/2020\/10\/avatarP-bluetab.jpg.png\" title=\"\" alt=\"\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" class=\"lazyload\" \/><\/a><\/figure><div class=\"elementor-image-box-content\"><h4 class=\"elementor-image-box-title\"><a href=\"https:\/\/www.linkedin.com\/company\/bluetab-solutions\/?viewAsMember=true\" target=\"_blank\">Bluetab<\/a><\/h4><\/div><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-64e7b265\" data-id=\"64e7b265\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-18f121f2 elementor-share-buttons--view-icon elementor-share-buttons--skin-minimal elementor-share-buttons--shape-circle elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons\" data-id=\"18f121f2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"share-buttons.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-grid\" role=\"list\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_twitter\" role=\"button\" tabindex=\"0\" aria-label=\"Compartir en twitter\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-twitter\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_linkedin\" role=\"button\" tabindex=\"0\" aria-label=\"Compartir en linkedin\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-linkedin\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-5001db9d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"5001db9d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-narrow\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-37984c26\" data-id=\"37984c26\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-690d1785 elementor-widget elementor-widget-theme-post-featured-image elementor-widget-image\" data-id=\"690d1785\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"theme-post-featured-image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"512\" src=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2-1024x512.png\" class=\"attachment-large size-large wp-image-17852\" alt=\"\" srcset=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2-1024x512.png 1024w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2-300x150.png 300w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2-768x384.png 768w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2.png 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-484f8e7a elementor-widget elementor-widget-text-editor\" data-id=\"484f8e7a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Desde la\u00a0<strong>Pr\u00e1ctica Cloud<\/strong>\u00a0queremos impulsar la adopci\u00f3n de la nube como forma de trabajo en el mundo de IT. Para ayudar en esta tarea, vamos a publicar multitud de art\u00edculos de buenas pr\u00e1cticas y casos de uso, otros hablar\u00e1n aquellos servicios clave dentro de la nube.<\/p>\n<p>En esta ocasi\u00f3n hablaremos de\u00a0<strong>Kubewatch<\/strong>.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9ddccd9 elementor-widget elementor-widget-spacer\" data-id=\"9ddccd9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c503294 elementor-widget elementor-widget-heading\" data-id=\"c503294\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bfQu\u00e9 es Kubewath?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-536427b elementor-widget elementor-widget-text-editor\" data-id=\"536427b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Kubewatch es una utilidad desarrollada por\u00a0<strong>Bitnami Labs<\/strong>\u00a0que permite el env\u00edo de notificaciones a distintos sistemas de comunicaci\u00f3n.<\/p>\n<p>Los webhooks soportados son:<\/p>\n<ul>\n<li><em>Slack<\/em><\/li>\n<li><em>Hipchat<\/em><\/li>\n<li><em>Mattermost<\/em><\/li>\n<li><em>Flock<\/em><\/li>\n<li><em>Webhook<\/em><\/li>\n<li><em>Smtp<\/em><\/li>\n<\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ee13248 elementor-widget elementor-widget-spacer\" data-id=\"ee13248\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-89682a9 elementor-widget elementor-widget-heading\" data-id=\"89682a9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Integraci\u00f3n de kubewatch con Slack<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-670af7b elementor-widget elementor-widget-text-editor\" data-id=\"670af7b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Las im\u00e1genes disponibles est\u00e1n publicadas en el GitHub de\u00a0<a href=\"https:\/\/hub.docker.com\/r\/bitnami\/kubewatch\">bitnami\/kubewatch<\/a><\/p>\n<p>Si quer\u00e9is, pod\u00e9is descargaros la \u00faltima versi\u00f3n para probarla en vuestro entorno local:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2a6c07a elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"2a6c07a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>$ docker pull bitnami\/kubewatch <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c2504be elementor-widget elementor-widget-text-editor\" data-id=\"c2504be\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Una vez dentro del contenedor pod\u00e9is jugar con las opciones:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-85a227a elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"85a227a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>$ kubewatch -h\r\n\r\nKubewatch: A watcher for Kubernetes\r\n\r\nkubewatch is a Kubernetes watcher that publishes notifications\r\nto Slack\/hipchat\/mattermost\/flock channels. It watches the cluster\r\nfor resource changes and notifies them through webhooks.\r\n\r\nsupported webhooks:\r\n - slack\r\n - hipchat\r\n - mattermost\r\n - flock\r\n - webhook\r\n - smtp\r\n\r\nUsage:\r\n  kubewatch [flags]\r\n  kubewatch [command]\r\n\r\nAvailable Commands:\r\n  config      modify kubewatch configuration\r\n  resource    manage resources to be watched\r\n  version     print version\r\n\r\nFlags:\r\n  -h, --help   help for kubewatch\r\n\r\nUse &quot;kubewatch [command] --help&quot; for more information about a command. <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2056a5b elementor-widget elementor-widget-spacer\" data-id=\"2056a5b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-170db51 elementor-widget elementor-widget-heading\" data-id=\"170db51\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u00bfDe qu\u00e9 tipos de recursos podemos obtener notificaciones?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-893b1cd elementor-widget elementor-widget-text-editor\" data-id=\"893b1cd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/controllers\/deployment\/\">Deployments<\/a><\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/controllers\/replicationcontroller\/\">Replication controllers<\/a><\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/controllers\/replicaset\/\">ReplicaSets<\/a><\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/controllers\/daemonset\/\">DaemonSets<\/a><\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/service\/\">Services<\/a><\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/pods\/pod\/\">Pods<\/a><\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/controllers\/job\/\">Jobs<\/a><\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/configuration\/secret\/\">Secrets<\/a><\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-pod-configmap\/\">Config<\/a><a href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-pod-configmap\/\">M<\/a><a href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-pod-configmap\/\">aps<\/a><\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/persistent-volumes\/\">Persiste<\/a><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/persistent-volumes\/\">nt<\/a>\u00a0<a href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/persistent-volumes\/\">volum<\/a><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/storage\/persistent-volumes\/\">es<\/a><\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/working-with-objects\/namespaces\/\">Namespaces<\/a><\/li>\n<li><a href=\"https:\/\/kubernetes.io\/docs\/concepts\/services-networking\/ingress-controllers\/\">Ingress controllers<\/a><\/li>\n<\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-acd71b3 elementor-widget elementor-widget-spacer\" data-id=\"acd71b3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f1fbe39 elementor-widget elementor-widget-heading\" data-id=\"f1fbe39\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u00bfCu\u00e1ndo recibiremos una notificaci\u00f3n?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e338e31 elementor-widget elementor-widget-text-editor\" data-id=\"e338e31\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>En cuanto haya una acci\u00f3n sobre alg\u00fan objeto de kubernetes, as\u00ed como creaci\u00f3n, destrucci\u00f3n o actualizaci\u00f3n.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ea1374d elementor-widget elementor-widget-spacer\" data-id=\"ea1374d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cb910b2 elementor-widget elementor-widget-heading\" data-id=\"cb910b2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Configuraci\u00f3n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e7a7eb0 elementor-widget elementor-widget-text-editor\" data-id=\"e7a7eb0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>En primer lugar, crearemos un canal de slack y le asociaremos un webhook. Para ello, iremos a la secci\u00f3n de Apps de Slack, buscaremos \u201c<strong>Incoming WebHooks<\/strong>\u201d y pulsaremos \u201cAdd to Slack\u201d:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d041ab0 elementor-widget elementor-widget-image\" data-id=\"d041ab0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"378\" data-src=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_add_incoming_webhooks-1024x378.png\" class=\"attachment-large size-large wp-image-4538 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_add_incoming_webhooks-1024x378.png 1024w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_add_incoming_webhooks-300x111.png 300w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_add_incoming_webhooks-768x284.png 768w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_add_incoming_webhooks.png 1381w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/378;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e98628 elementor-widget elementor-widget-text-editor\" data-id=\"5e98628\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>En el caso de no tener a\u00fan un canal creado para este prop\u00f3sito daremos de alta uno nuevo:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e7aff91 elementor-widget elementor-widget-image\" data-id=\"e7aff91\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"551\" height=\"540\" data-src=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_create_channel.png\" class=\"attachment-large size-large wp-image-4540 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_create_channel.png 551w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_create_channel-300x294.png 300w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_create_channel-75x75.png 75w\" data-sizes=\"(max-width: 551px) 100vw, 551px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 551px; --smush-placeholder-aspect-ratio: 551\/540;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8613ae elementor-widget elementor-widget-text-editor\" data-id=\"a8613ae\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>En este ejemplo, el canal a crear se llamar\u00e1\u00a0<strong>\u201ck8s-notifications\u201d<\/strong>. Posteriormente debemos configurar el webhook, yendo para ello al panel de \u201cIncoming WebHooks\u201d y a\u00f1adiendo una nueva configuraci\u00f3n donde tendremos que seleccionar el nombre del canal al que queremos enviar notificaciones. Una vez seleccionado, la configuraci\u00f3n nos devolver\u00e1 una\u00a0<strong>\u00abWebhook URL\u00bb<\/strong>\u00a0que ser\u00e1 la que utilicemos para configurar Kubewatch. Opcionalmente, tenemos la posibilidad de seleccionar el icono (opci\u00f3n\u00a0<strong>\u00abCustomize Icon\u00bb<\/strong>) con el que visualizaremos la recepci\u00f3n de eventos y el nombre con el que llegar\u00e1n (opci\u00f3n\u00a0<strong>\u201cCustomize Name\u201d<\/strong>).<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a6fda5 elementor-widget elementor-widget-image\" data-id=\"7a6fda5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"654\" data-src=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_configure_webhook-1024x654.png\" class=\"attachment-large size-large wp-image-4542 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_configure_webhook-1024x654.png 1024w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_configure_webhook-300x192.png 300w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_configure_webhook-768x491.png 768w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_configure_webhook.png 1387w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/654;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1d86de7 elementor-widget elementor-widget-text-editor\" data-id=\"1d86de7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>En este punto ya estamos listos para configurar los recursos de kubernetes. En el\u00a0<a href=\"https:\/\/github.com\/bitnami-labs\/kubewatch\">GitHub de Kubewatch<\/a>\u00a0tenemos algunos ejemplos de manifiestos y tambi\u00e9n la opci\u00f3n de instalaci\u00f3n por\u00a0<a href=\"https:\/\/helm.sh\/docs\/intro\/install\/\">Helm<\/a>. Sin embargo, aqu\u00ed construiremos los nuestros propios.<\/p>\n<p>En primer lugar, crearemos un fichero \u201ckubewatch-configmap.yml\u201d con el ConfigMap que servir\u00e1 para configurar el contenedor de kubewatch:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fdf1658 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"fdf1658\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>apiVersion: v1\r\nkind: ConfigMap\r\nmetadata:\r\n  name: kubewatch\r\ndata:\r\n  .kubewatch.yaml: |\r\n    handler:\r\n      webhook:\r\n        url: https:\/\/hooks.slack.com\/services\/&lt;your_webhook&gt;\r\n    resource:\r\n      deployment: true\r\n      replicationcontroller: true\r\n      replicaset: false\r\n      daemonset: true\r\n      services: true\r\n      pod: false\r\n      job: false\r\n      secret: true\r\n      configmap: true\r\n      persistentvolume: true\r\n      namespace: false <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-127e396 elementor-widget elementor-widget-text-editor\" data-id=\"127e396\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Simplemente tendremos que activar con\u00a0<strong>\u201ctrue\u201d<\/strong>\u00a0o desactivar con\u00a0<strong>\u00abfalse\u00bb<\/strong>\u00a0los tipos de recursos sobre los que queremos recibir notificaciones. Asimismo, establecemos la url del Incomming Webhook que dimos de alta previamente.<\/p>\n<p>Ahora, para que nuestro contenedor tenga acceso a los recursos de kubernetes a trav\u00e9s de su\u00a0<a href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/kubernetes-api\/\">api<\/a>\u00a0vamos a dar de alta el fichero\u00a0<strong>\u201ckubewatch-service-account.yml\u201d<\/strong>\u00a0con un Service Account, un Cluster Role y un Cluster Role Binding:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1857fa3 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"1857fa3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>kind: ClusterRole\r\napiVersion: rbac.authorization.k8s.io\/v1\r\nmetadata:\r\n  name: kubewatch\r\nrules:\r\n- apiGroups: [&quot;*&quot;]\r\n  resources: [&quot;pods&quot;, &quot;pods\/exec&quot;, &quot;replicationcontrollers&quot;, &quot;namespaces&quot;, &quot;deployments&quot;, &quot;deployments\/scale&quot;, &quot;services&quot;, &quot;daemonsets&quot;, &quot;secrets&quot;, &quot;replicasets&quot;, &quot;persistentvolumes&quot;]\r\n  verbs: [&quot;get&quot;, &quot;watch&quot;, &quot;list&quot;]\r\n---\r\napiVersion: v1\r\nkind: ServiceAccount\r\nmetadata:\r\n  name: kubewatch\r\n  namespace: default\r\n---\r\napiVersion: rbac.authorization.k8s.io\/v1beta1\r\nkind: ClusterRoleBinding\r\nmetadata:\r\n  name: kubewatch\r\nroleRef:\r\n  apiGroup: rbac.authorization.k8s.io\r\n  kind: ClusterRole\r\n  name: kubewatch\r\nsubjects:\r\n  - kind: ServiceAccount\r\n    name: kubewatch\r\n    namespace: default <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e4ae399 elementor-widget elementor-widget-text-editor\" data-id=\"e4ae399\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Por \u00faltimo, crearemos un fichero\u00a0<strong>\u201ckubewatch.yml\u201d<\/strong>\u00a0para desplegar la aplicaci\u00f3n:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-60e138a elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"60e138a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>apiVersion: v1\r\nkind: Pod\r\nmetadata:\r\n  name: kubewatch\r\n  namespace: default\r\nspec:\r\n  serviceAccountName: kubewatch\r\n  containers:\r\n  - image: bitnami\/kubewatch:0.0.4\r\n    imagePullPolicy: Always\r\n    name: kubewatch\r\n    envFrom:\r\n      - configMapRef:\r\n          name: kubewatch\r\n    volumeMounts:\r\n    - name: config-volume\r\n      mountPath: \/opt\/bitnami\/kubewatch\/.kubewatch.yaml\r\n      subPath: .kubewatch.yaml\r\n  - image: bitnami\/kubectl:1.16.3\r\n    args:\r\n      - proxy\r\n      - &quot;-p&quot;\r\n      - &quot;8080&quot;\r\n    name: proxy\r\n    imagePullPolicy: Always\r\n  restartPolicy: Always\r\n  volumes:\r\n  - name: config-volume\r\n    configMap:\r\n      name: kubewatch\r\n      defaultMode: 0755 <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3a4309 elementor-widget elementor-widget-text-editor\" data-id=\"d3a4309\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Vemos que el valor de la clave \u201c<strong>mountPath<\/strong>\u201d ser\u00e1 la ruta del fichero donde se escribir\u00e1 la configuraci\u00f3n de nuestro ConfigMap dentro del contenedor (<strong>\/opt\/bitnami\/kubewatch\/.kubewatch.yaml<\/strong>). Podemos ampliar\u00a0<a href=\"https:\/\/kubernetes.io\/docs\/tasks\/configure-pod-container\/configure-pod-configmap\/\">aqu\u00ed<\/a>\u00a0la informaci\u00f3n sobre c\u00f3mo montar configuraciones en kubernetes. En este ejemplo, vemos que nuestro despliegue del aplicativo ser\u00e1 a trav\u00e9s de un \u00fanico pod. Evidentemente, en un sistema productivo tendr\u00edamos que definir un Deployment con el n\u00famero de r\u00e9plicas que consideremos convenientes para tenerlo as\u00ed siempre activo, aun en caso de p\u00e9rdida del pod.<\/p>\n<p>Una vez listos los manifiestos vamos a\u00a0<a href=\"https:\/\/kubectl.docs.kubernetes.io\/pages\/app_management\/apply.html\">aplicarlos<\/a>\u00a0a nuestro cl\u00faster:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6398efe elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"6398efe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>$ kubectl apply  -f kubewatch-configmap.yml -f kubewatch-service-account.yml -f kubewatch.yml <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2dec9f7 elementor-widget elementor-widget-text-editor\" data-id=\"2dec9f7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>En unos pocos segundos tendremos listo el servicio:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c06e697 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"c06e697\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>$ kubectl get pods |grep -w kubewatch\r\n\r\nkubewatch                                  2\/2     Running     0          1m <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9936659 elementor-widget elementor-widget-text-editor\" data-id=\"9936659\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>El pod de kubewatch tiene asociado dos contenedores:\u00a0<strong>kubewatch<\/strong>\u00a0y\u00a0<strong>kube-proxy<\/strong>, este \u00faltimo para atacar a la API.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9d5f9a3 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"9d5f9a3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>$   kubectl get pod kubewatch  -o jsonpath=&#039;{.spec.containers[*].name}&#039;\r\n\r\nkubewatch proxy <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e5358fa elementor-widget elementor-widget-text-editor\" data-id=\"e5358fa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Verificamos a trav\u00e9s de los logs que ambos contenedores han levantado correctamente y sin mensajes de error:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b1f55c elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"4b1f55c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>$ kubectl logs kubewatch kubewatch\r\n\r\n==&gt; Config file exists...\r\nlevel=info msg=&quot;Starting kubewatch controller&quot; pkg=kubewatch-daemonset\r\nlevel=info msg=&quot;Starting kubewatch controller&quot; pkg=kubewatch-service\r\nlevel=info msg=&quot;Starting kubewatch controller&quot; pkg=&quot;kubewatch-replication controller&quot;\r\nlevel=info msg=&quot;Starting kubewatch controller&quot; pkg=&quot;kubewatch-persistent volume&quot;\r\nlevel=info msg=&quot;Starting kubewatch controller&quot; pkg=kubewatch-secret\r\nlevel=info msg=&quot;Starting kubewatch controller&quot; pkg=kubewatch-deployment\r\nlevel=info msg=&quot;Starting kubewatch controller&quot; pkg=kubewatch-namespace\r\n... <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc20aaa elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"dc20aaa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>$ kubectl logs kubewatch proxy\r\n\r\nStarting to serve on 127.0.0.1:8080 <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-240ee40 elementor-widget elementor-widget-text-editor\" data-id=\"240ee40\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Podr\u00edamos igualmente acceder al contenedor de kubewatch para probar la cli, ver la configuraci\u00f3n, etc\u00e9tera:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bd69d65 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"bd69d65\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>$  kubectl exec -it kubewatch -c kubewatch \/bin\/bash <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3ebb454 elementor-widget elementor-widget-spacer\" data-id=\"3ebb454\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5fc17b4 elementor-widget elementor-widget-heading\" data-id=\"5fc17b4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u00a1Ya tenemos listo nuestro notificador de eventos!<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9d5d5c4 elementor-widget elementor-widget-text-editor\" data-id=\"9d5d5c4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Ahora toca probar. Utilizaremos, por ejemplo, la creaci\u00f3n de un deployment para testear el correcto funcionamiento:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eb2e5ac elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"eb2e5ac\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>$ kubectl create deployment nginx-testing --image=nginx\r\n$ kubectl logs -f  kubewatch kubewatch\r\n\r\nlevel=info msg=&quot;Processing update to deployment: default\/nginx-testing&quot; pkg=kubewatch-deployment <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a1650b elementor-widget elementor-widget-text-editor\" data-id=\"7a1650b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Los logs ya nos avisan que se ha detectado el nuevo evento, as\u00ed que vamos a nuestro canal de slack para verificarlo:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-db58345 elementor-widget elementor-widget-image\" data-id=\"db58345\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"1024\" height=\"89\" data-src=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_show_notification-1024x89.png\" class=\"attachment-large size-large wp-image-4546 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_show_notification-1024x89.png 1024w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_show_notification-300x26.png 300w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_show_notification-768x67.png 768w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_show_notification-1536x134.png 1536w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/slack_show_notification.png 1546w\" data-sizes=\"(max-width: 1024px) 100vw, 1024px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 1024px; --smush-placeholder-aspect-ratio: 1024\/89;\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8bc5f40 elementor-widget elementor-widget-spacer\" data-id=\"8bc5f40\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fae4d2f elementor-widget elementor-widget-heading\" data-id=\"fae4d2f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">\u00a1El evento ha sido notificado correctamente!<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0f4262f elementor-widget elementor-widget-text-editor\" data-id=\"0f4262f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Ya podemos eliminar el deployment de prueba:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1b6c36a elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"1b6c36a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>$ kubectl delete deploy nginx-testing <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-667208c elementor-widget elementor-widget-spacer\" data-id=\"667208c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b0df04 elementor-widget elementor-widget-heading\" data-id=\"4b0df04\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Conclusiones<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc4efa1 elementor-widget elementor-widget-text-editor\" data-id=\"dc4efa1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Evidentemente, Kubewatch no suple a los sistemas b\u00e1sicos de alerta y monitorizaci\u00f3n que todo orquestador productivo debe mantener, pero nos proporciona una manera f\u00e1cil y eficaz de\u00a0<strong>ampliar nuestro control<\/strong>\u00a0sobre la creaci\u00f3n y modificaci\u00f3n de los\u00a0<strong>recursos en kubernetes<\/strong>. En este caso de ejemplo, hemos realizado una configuraci\u00f3n de kubewatch transversal a todo el cl\u00faster,\u00a0<strong>\u201cespiando\u201d<\/strong>\u00a0todo tipo de eventos, algunos quiz\u00e1 inservibles si mantenemos una plataforma como servicio, pues nos enterar\u00edamos de cada uno de los pods creados, eliminados o actualizados por cada equipo de desarrollo en su propio namespace, lo cual es usual, leg\u00edtimo y no aporta valor. Quiz\u00e1 sea m\u00e1s conveniente\u00a0<strong>filtrar<\/strong>\u00a0por los namespaces sobre cual queremos recibir notificaciones, como por ejemplo de\u00a0<a href=\"https:\/\/kubernetes.io\/docs\/concepts\/overview\/working-with-objects\/namespaces\/\">kube-system<\/a>, que es donde albergaremos generalmente nuestros servicios administrativos y donde solo los administradores deben tener acceso. En ese caso, simplemente tendremos que especificar el\u00a0<strong>namespace<\/strong>\u00a0en nuestro ConfigMap:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3695c60 elementor-widget elementor-widget-elementor-syntax-highlighter\" data-id=\"3695c60\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"elementor-syntax-highlighter.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<pre><code class='language-python'>apiVersion: v1\r\nkind: ConfigMap\r\nmetadata:\r\n  name: kubewatch\r\ndata:\r\n  .kubewatch.yaml: |\r\n    namespace: &quot;kube-system&quot;\r\n    handler:\r\n      webhook:\r\n        url: https:\/\/hooks.slack.com\/services\/&lt;your_webhook&gt;\r\n    resource:\r\n      deployment: true\r\n      replicationcontroller: true\r\n      replicaset: false <\/code><\/pre><script>\nif (!document.getElementById('syntaxed-prism')) {\n\tvar my_awesome_script = document.createElement('script');\n\tmy_awesome_script.setAttribute('src','https:\/\/bluetab.co.uk\/wp-content\/plugins\/syntax-highlighter-for-elementor\/assets\/prism2.js');\n\tmy_awesome_script.setAttribute('id','syntaxed-prism');\n\tdocument.body.appendChild(my_awesome_script);\n} else {\n\twindow.Prism && Prism.highlightAll();\n}\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eadc7ce elementor-widget elementor-widget-text-editor\" data-id=\"eadc7ce\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Otra utilidad interesante puede ser \u201cescuchar\u201d a nuestro cl\u00faster tras un\u00a0<strong>ajuste signicativo de la configuraci\u00f3n<\/strong>\u00a0como, por ejemplo, de nuestra estrategia de\u00a0<strong>autoescalado<\/strong>, herramientas de integraci\u00f3n, etc\u00e9tera, pues siempre nos notificar\u00e1 los scale up y scale down, pudiendo ser interesante sobre todo en un momento inicial. En definitiva, Kubewatch ampl\u00eda el control sobre los cl\u00fasteres, siendo nosotros quienes decidamos el alcance que le damos. En sucesivos art\u00edculos veremos c\u00f3mo gestionar los logs y las m\u00e9tricas de forma productiva.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0698fcf elementor-widget elementor-widget-spacer\" data-id=\"0698fcf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-1693191a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1693191a\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-127713e5\" data-id=\"127713e5\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-470c1f27 elementor-widget elementor-widget-heading\" data-id=\"470c1f27\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h5 class=\"elementor-heading-title elementor-size-default\">\u00bfQuieres saber m\u00e1s de lo que ofrecemos y ver otros casos de \u00e9xito?<\/h5>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-509a00e5 elementor-align-center elementor-widget elementor-widget-button\" data-id=\"509a00e5\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"\/es\/\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">DESCUBRE BLUETAB<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-7eb3e627 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7eb3e627\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-78e17f55\" data-id=\"78e17f55\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap\">\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-9447e9c\" data-id=\"9447e9c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-675b1657 elementor-share-buttons--view-icon elementor-share-buttons--skin-minimal elementor-share-buttons--shape-circle elementor-grid-0 elementor-share-buttons--color-official elementor-widget elementor-widget-share-buttons\" data-id=\"675b1657\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"share-buttons.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-grid\" role=\"list\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_twitter\" role=\"button\" tabindex=\"0\" aria-label=\"Compartir en twitter\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-twitter\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-grid-item\" role=\"listitem\">\n\t\t\t\t\t\t<div class=\"elementor-share-btn elementor-share-btn_linkedin\" role=\"button\" tabindex=\"0\" aria-label=\"Compartir en linkedin\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-share-btn__icon\">\n\t\t\t\t\t\t\t\t<i class=\"fab fa-linkedin\" aria-hidden=\"true\"><\/i>\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-257ff3c5 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"257ff3c5\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-52c5c823\" data-id=\"52c5c823\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f67eefc elementor-widget elementor-widget-text-editor\" data-id=\"f67eefc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><b>SOLUCIONES, <\/b>SOMOS EXPERTOS<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-439af902 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"439af902\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-3fef30da\" data-id=\"3fef30da\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-731175bf elementor-cta--skin-cover elementor-cta--valign-middle elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action\" data-id=\"731175bf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<a class=\"elementor-cta\" href=\"\/es\/soluciones\/data-strategy\/\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg lazyload\" style=\"background-image:inherit;\" role=\"img\" aria-label=\"strategy-opt\" data-bg-image=\"url(https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/10\/strategy-opt.jpg)\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h5 class=\"elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow\">\n\t\t\t\t\t\tDATA STRATEGY\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-1fb13c1\" data-id=\"1fb13c1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3fe0436f elementor-cta--skin-cover elementor-cta--valign-middle elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action\" data-id=\"3fe0436f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<a class=\"elementor-cta\" href=\"\/es\/soluciones\/data-fabric\/\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg lazyload\" style=\"background-image:inherit;\" role=\"img\" aria-label=\"fabric-opt\" data-bg-image=\"url(https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/10\/fabric-opt.jpg)\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h5 class=\"elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow\">\n\t\t\t\t\t\tDATA FABRIC\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-inner-column elementor-element elementor-element-41393a4c\" data-id=\"41393a4c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3c1d2203 elementor-cta--skin-cover elementor-cta--valign-middle elementor-animated-content elementor-bg-transform elementor-bg-transform-zoom-in elementor-widget elementor-widget-call-to-action\" data-id=\"3c1d2203\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"call-to-action.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<a class=\"elementor-cta\" href=\"\/es\/soluciones\/augmented-analytics\/\">\n\t\t\t\t\t<div class=\"elementor-cta__bg-wrapper\">\n\t\t\t\t<div class=\"elementor-cta__bg elementor-bg lazyload\" style=\"background-image:inherit;\" role=\"img\" aria-label=\"AUGMENTED-ANALYTICS-opt\" data-bg-image=\"url(https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/10\/AUGMENTED-ANALYTICS-opt.jpg)\"><\/div>\n\t\t\t\t<div class=\"elementor-cta__bg-overlay\"><\/div>\n\t\t\t<\/div>\n\t\t\t\t\t\t\t<div class=\"elementor-cta__content\">\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<h5 class=\"elementor-cta__title elementor-cta__content-item elementor-content-item elementor-animated-item--grow\">\n\t\t\t\t\t\tAUGMENTED ANALYTICS\t\t\t\t\t<\/h5>\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-top-column elementor-element elementor-element-4d8edc4c\" data-id=\"4d8edc4c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-21e55aa9 elementor-widget elementor-widget-text-editor\" data-id=\"21e55aa9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Te puede interesar<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2b0defcf elementor-posts--align-left elementor-grid-1 elementor-posts--thumbnail-left elementor-hidden-phone elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-widget elementor-widget-posts\" data-id=\"2b0defcf\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;classic_row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:32,&quot;sizes&quot;:[]},&quot;classic_columns&quot;:&quot;1&quot;,&quot;classic_columns_tablet&quot;:&quot;2&quot;,&quot;classic_columns_mobile&quot;:&quot;1&quot;,&quot;classic_row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;classic_row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"posts.classic\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid\" role=\"list\">\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-17868 post type-post status-publish format-standard has-post-thumbnail category-blog-es category-practices category-tech entry\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/bluetab.co.uk\/es\/usando-los-grandes-modelos-de-lenguaje-en-informacion-privada\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"150\" data-src=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/03\/chatgpt-300x150.png\" class=\"attachment-medium size-medium wp-image-17966 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/03\/chatgpt-300x150.png 300w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/03\/chatgpt-1024x512.png 1024w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/03\/chatgpt-768x384.png 768w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/03\/chatgpt.png 1200w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/150;\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/bluetab.co.uk\/es\/usando-los-grandes-modelos-de-lenguaje-en-informacion-privada\/\" >\n\t\t\t\tUsando los Grandes Modelos de Lenguaje en informaci\u00f3n privada\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-date\">\n\t\t\tmarzo 11, 2024\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/bluetab.co.uk\/es\/usando-los-grandes-modelos-de-lenguaje-en-informacion-privada\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Usando los Grandes Modelos de Lenguaje en informaci\u00f3n privada\" tabindex=\"-1\" >\n\t\t\tLEER M\u00c1S\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-14012 post type-post status-publish format-standard has-post-thumbnail category-blog category-blog-es category-outstanding category-tech entry\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/bluetab.co.uk\/es\/modelos-de-entrega-de-servicios-en-la-nube\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"200\" data-src=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2022\/06\/cloud-service-data-security-concept-2021-08-26-16-18-12-utc-300x200.jpg\" class=\"attachment-medium size-medium wp-image-14036 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2022\/06\/cloud-service-data-security-concept-2021-08-26-16-18-12-utc-300x200.jpg 300w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2022\/06\/cloud-service-data-security-concept-2021-08-26-16-18-12-utc-1024x683.jpg 1024w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2022\/06\/cloud-service-data-security-concept-2021-08-26-16-18-12-utc-768x512.jpg 768w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2022\/06\/cloud-service-data-security-concept-2021-08-26-16-18-12-utc-1536x1024.jpg 1536w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2022\/06\/cloud-service-data-security-concept-2021-08-26-16-18-12-utc-2048x1365.jpg 2048w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/200;\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/bluetab.co.uk\/es\/modelos-de-entrega-de-servicios-en-la-nube\/\" >\n\t\t\t\tMODELOS DE ENTREGA DE SERVICIOS EN LA NUBE\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-date\">\n\t\t\tjunio 27, 2022\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/bluetab.co.uk\/es\/modelos-de-entrega-de-servicios-en-la-nube\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre MODELOS DE ENTREGA DE SERVICIOS EN LA NUBE\" tabindex=\"-1\" >\n\t\t\tLEER M\u00c1S\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-18376 post type-post status-publish format-standard has-post-thumbnail category-blog-es category-practices category-tech entry\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/bluetab.co.uk\/es\/arboles-de-decision-en-aws\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"150\" data-src=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/06\/AWS-Jeanpier-300x150.png\" class=\"attachment-medium size-medium wp-image-18445 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/06\/AWS-Jeanpier-300x150.png 300w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/06\/AWS-Jeanpier-1024x512.png 1024w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/06\/AWS-Jeanpier-768x384.png 768w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/06\/AWS-Jeanpier.png 1200w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/150;\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/bluetab.co.uk\/es\/arboles-de-decision-en-aws\/\" >\n\t\t\t\tEmpoderando a las decisiones en diversos sectores con \u00e1rboles de decisi\u00f3n en AWS\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-date\">\n\t\t\tjunio 4, 2024\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/bluetab.co.uk\/es\/arboles-de-decision-en-aws\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Empoderando a las decisiones en diversos sectores con \u00e1rboles de decisi\u00f3n en AWS\" tabindex=\"-1\" >\n\t\t\tLEER M\u00c1S\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-361c4358 elementor-posts--align-left elementor-grid-1 elementor-hidden-desktop elementor-hidden-tablet elementor-grid-tablet-2 elementor-grid-mobile-1 elementor-posts--thumbnail-top elementor-widget elementor-widget-posts\" data-id=\"361c4358\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;classic_row_gap&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:32,&quot;sizes&quot;:[]},&quot;classic_columns&quot;:&quot;1&quot;,&quot;classic_columns_tablet&quot;:&quot;2&quot;,&quot;classic_columns_mobile&quot;:&quot;1&quot;,&quot;classic_row_gap_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;classic_row_gap_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"posts.classic\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-posts-container elementor-posts elementor-posts--skin-classic elementor-grid\" role=\"list\">\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-20730 post type-post status-publish format-standard has-post-thumbnail category-blog-es category-noticias entry\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/bluetab.co.uk\/es\/bluetab-y-la-universidad-ceu-san-pablo-colaboran-para-formar-lideres-en-analitica-de-datos\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"300\" data-src=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2025\/10\/universidad-ceu-300x300.png\" class=\"attachment-medium size-medium wp-image-20732 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2025\/10\/universidad-ceu-300x300.png 300w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2025\/10\/universidad-ceu-1024x1024.png 1024w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2025\/10\/universidad-ceu-150x150.png 150w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2025\/10\/universidad-ceu-768x768.png 768w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2025\/10\/universidad-ceu-75x75.png 75w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2025\/10\/universidad-ceu.png 1080w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/300;\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/bluetab.co.uk\/es\/bluetab-y-la-universidad-ceu-san-pablo-colaboran-para-formar-lideres-en-analitica-de-datos\/\" >\n\t\t\t\tBluetab y la Universidad CEU San Pablo colaboran para formar l\u00edderes en anal\u00edtica de datos\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-date\">\n\t\t\toctubre 30, 2025\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/bluetab.co.uk\/es\/bluetab-y-la-universidad-ceu-san-pablo-colaboran-para-formar-lideres-en-analitica-de-datos\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Bluetab y la Universidad CEU San Pablo colaboran para formar l\u00edderes en anal\u00edtica de datos\" tabindex=\"-1\" >\n\t\t\tLEER M\u00c1S\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-18275 post type-post status-publish format-standard has-post-thumbnail category-blog-es category-tech entry\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/bluetab.co.uk\/es\/finops\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"150\" data-src=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/05\/finops-300x150.png\" class=\"attachment-medium size-medium wp-image-18324 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/05\/finops-300x150.png 300w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/05\/finops-1024x512.png 1024w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/05\/finops-768x384.png 768w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2024\/05\/finops.png 1200w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/150;\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/bluetab.co.uk\/es\/finops\/\" >\n\t\t\t\tFinOps\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-date\">\n\t\t\tmayo 20, 2024\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/bluetab.co.uk\/es\/finops\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre FinOps\" tabindex=\"-1\" >\n\t\t\tLEER M\u00c1S\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<article class=\"elementor-post elementor-grid-item post-12323 post type-post status-publish format-standard has-post-thumbnail category-blog-es category-tech entry\" role=\"listitem\">\n\t\t\t\t<a class=\"elementor-post__thumbnail__link\" href=\"https:\/\/bluetab.co.uk\/es\/mi-experiencia-en-big-data-i\/\" tabindex=\"-1\" >\n\t\t\t<div class=\"elementor-post__thumbnail\"><img decoding=\"async\" width=\"300\" height=\"169\" data-src=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2021\/10\/emanuel-300x169.png\" class=\"attachment-medium size-medium wp-image-12353 lazyload\" alt=\"\" data-srcset=\"https:\/\/bluetab.co.uk\/wp-content\/uploads\/2021\/10\/emanuel-300x169.png 300w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2021\/10\/emanuel-1024x576.png 1024w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2021\/10\/emanuel-768x432.png 768w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2021\/10\/emanuel-1536x864.png 1536w, https:\/\/bluetab.co.uk\/wp-content\/uploads\/2021\/10\/emanuel-2048x1152.png 2048w\" data-sizes=\"(max-width: 300px) 100vw, 300px\" src=\"data:image\/svg+xml;base64,PHN2ZyB3aWR0aD0iMSIgaGVpZ2h0PSIxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjwvc3ZnPg==\" style=\"--smush-placeholder-width: 300px; --smush-placeholder-aspect-ratio: 300\/169;\" \/><\/div>\n\t\t<\/a>\n\t\t\t\t<div class=\"elementor-post__text\">\n\t\t\t\t<h3 class=\"elementor-post__title\">\n\t\t\t<a href=\"https:\/\/bluetab.co.uk\/es\/mi-experiencia-en-big-data-i\/\" >\n\t\t\t\tMi experiencia en el mundo de Big Data &#8211; Parte I\t\t\t<\/a>\n\t\t<\/h3>\n\t\t\t\t<div class=\"elementor-post__meta-data\">\n\t\t\t\t\t<span class=\"elementor-post-date\">\n\t\t\toctubre 14, 2021\t\t<\/span>\n\t\t\t\t<\/div>\n\t\t\n\t\t<a class=\"elementor-post__read-more\" href=\"https:\/\/bluetab.co.uk\/es\/mi-experiencia-en-big-data-i\/\" aria-label=\"M\u00e1s informaci\u00f3n sobre Mi experiencia en el mundo de Big Data &#8211; Parte I\" tabindex=\"-1\" >\n\t\t\tLEER M\u00c1S\t\t<\/a>\n\n\t\t\t\t<\/div>\n\t\t\t\t<\/article>\n\t\t\t\t<\/div>\n\t\t\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-43f660be elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"43f660be\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-219bdb1c\" data-id=\"219bdb1c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-40db03e9 elementor-widget elementor-widget-spacer\" data-id=\"40db03e9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Espiando a tu Kubernetes con Kubewatch Bluetab Share on twitter Share on linkedin Desde la&nbsp;Pr\u00e1ctica Cloud&nbsp;queremos impulsar la adopci\u00f3n de la nube como forma de<\/p>\n","protected":false},"author":1,"featured_media":17852,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"elementor_header_footer","format":"standard","meta":{"inline_featured_image":false,"_uag_custom_page_level_css":"","_genesis_hide_title":false,"_genesis_hide_breadcrumbs":false,"_genesis_hide_singular_image":false,"_genesis_hide_footer_widgets":false,"_genesis_custom_body_class":"","_genesis_custom_post_class":"","_genesis_layout":"content-sidebar","footnotes":""},"categories":[21,667,631],"tags":[],"class_list":{"0":"post-4535","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-blog-es","8":"category-practices","9":"category-tech","10":"entry"},"uagb_featured_image_src":{"full":["https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2.png",1200,600,false],"thumbnail":["https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2-150x150.png",150,150,true],"medium":["https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2-300x150.png",300,150,true],"medium_large":["https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2-768x384.png",768,384,true],"large":["https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2-1024x512.png",1024,512,true],"1536x1536":["https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2.png",1200,600,false],"2048x2048":["https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2.png",1200,600,false],"sidebar-featured":["https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2-75x75.png",75,75,true],"genesis-singular-images":["https:\/\/bluetab.co.uk\/wp-content\/uploads\/2020\/09\/enlaces-linkedin-2-702x526.png",702,526,true]},"uagb_author_info":{"display_name":"Bluetab","author_link":"https:\/\/bluetab.co.uk\/es\/author\/user\/"},"uagb_comment_info":0,"uagb_excerpt":"Espiando a tu Kubernetes con Kubewatch Bluetab Share on twitter Share on linkedin Desde la&nbsp;Pr\u00e1ctica Cloud&nbsp;queremos impulsar la adopci\u00f3n de la nube como forma de","_links":{"self":[{"href":"https:\/\/bluetab.co.uk\/es\/wp-json\/wp\/v2\/posts\/4535","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bluetab.co.uk\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bluetab.co.uk\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bluetab.co.uk\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bluetab.co.uk\/es\/wp-json\/wp\/v2\/comments?post=4535"}],"version-history":[{"count":11,"href":"https:\/\/bluetab.co.uk\/es\/wp-json\/wp\/v2\/posts\/4535\/revisions"}],"predecessor-version":[{"id":7353,"href":"https:\/\/bluetab.co.uk\/es\/wp-json\/wp\/v2\/posts\/4535\/revisions\/7353"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/bluetab.co.uk\/es\/wp-json\/wp\/v2\/media\/17852"}],"wp:attachment":[{"href":"https:\/\/bluetab.co.uk\/es\/wp-json\/wp\/v2\/media?parent=4535"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bluetab.co.uk\/es\/wp-json\/wp\/v2\/categories?post=4535"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bluetab.co.uk\/es\/wp-json\/wp\/v2\/tags?post=4535"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}