{"id":33618,"date":"2018-06-06T19:16:45","date_gmt":"2018-06-06T16:16:45","guid":{"rendered":"https:\/\/www.altoros.com\/blog\/?p=33618"},"modified":"2018-07-23T12:59:04","modified_gmt":"2018-07-23T09:59:04","slug":"deploying-services-to-cloud-foundry-is-easier-with-kubernetes","status":"publish","type":"post","link":"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/","title":{"rendered":"Deploying Services to Cloud Foundry Using Kubernetes: Less BOSH, More Freedom"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-transparent ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#A_common_way_to_deploy_services_on_Cloud_Foundry\" >A common way to deploy services on Cloud Foundry<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#Using_Kubernetes_to_host_services\" >Using Kubernetes to host services<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#Related_slides\" >Related slides<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#Further_reading\" >Further reading<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"A_common_way_to_deploy_services_on_Cloud_Foundry\"><\/span>A common way to deploy services on Cloud Foundry<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In Cloud Foundry environments, services are commonly deployed as BOSH releases. Service brokers can then be implemented either on top of BOSH or on top of Cloud Foundry. While this is a common method for deploying services in Cloud Foundry, what happens when a BOSH release for a particular service isn&#8217;t available? In this case, a developer will have to create his or her own BOSH release.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2018\/06\/Kubernetes-Cloud-Foundry-deploying-services.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2018\/06\/Kubernetes-Cloud-Foundry-deploying-services.png\" alt=\"\" width=\"640\" class=\"aligncenter size-full wp-image-33624\" \/><\/a><small>User applications are bound to services through service brokers (<a href=\"https:\/\/www.slideshare.net\/altoros\/building-a-services-marketplace-on-kubernetes-100664606\" rel=\"noopener\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<p>This is not necessarily a problem, and the process is <a href=\"https:\/\/bosh.io\/docs\/\/create-release\/\" rel=\"noopener\" target=\"_blank\">well documented<\/a>. However, it requires an understanding of BOSH fundamentals, such as what jobs and packages are, how Monit works, etc. Naturally, learning all of these takes time.<\/p>\n<p>At KubeCon 2018, we introduced attendees with an alternative method of deploying services to Cloud Foundry using Kubernetes. The demonstrated approach aims at saving both time and effort as it doesn&#8217;t entail BOSH-specific expertise.<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Using_Kubernetes_to_host_services\"><\/span>Using Kubernetes to host services<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>So, one may deploy services to Kubernetes as a <a href=\"https:\/\/kubernetes.io\/docs\/concepts\/workloads\/controllers\/replicaset\/\" rel=\"noopener\" target=\"_blank\">ReplicaSet<\/a>. Additionally, a service broker can also be <a href=\"https:\/\/www.altoros.com\/blog\/creating-a-sample-service-broker-for-cloud-foundry-with-pythons-flask\/\">developed and deployed<\/a>. This enables developers to register the service broker to the Cloud Foundry marketplace, create a service instance, and then bind a user application to this service instance.<\/p>\n<p><center><a href=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2018\/06\/KubeCon-2018-Kubernetes-Cloud-Foundry-deploying-services-alternate-method.png\"><img decoding=\"async\" src=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2018\/06\/KubeCon-2018-Kubernetes-Cloud-Foundry-deploying-services-alternate-method.png\" alt=\"\" width=\"640\" class=\"aligncenter size-full wp-image-33634\" \/><\/a><small>Using Kubernetes to deploy services to Cloud Foundry (<a href=\"https:\/\/www.slideshare.net\/altoros\/building-a-services-marketplace-on-kubernetes-100664606\" rel=\"noopener\" target=\"_blank\">Image credit<\/a>)<\/small><\/center><\/p>\n<p>Below, you will find the approach illustrated step by step.<\/p>\n<p><b>Step 1.<\/b><\/p>\n<p>First, one needs to clone a sample application.<\/p>\n<pre style=\"padding-left: 30px;\">\r\n$ git clone https:\/\/github.com\/cloudfoundry-samples\/cf-sample-app-nodejs.git\r\n$ cd cf-sample-app-nodejs \r\n$ cf push\r\n<\/pre>\n<p><b>Step 2.<\/b><\/p>\n<p>To deploy a service to Kubernetes, one may use Helm. In this instance, <a href=\"https:\/\/github.com\/cloudfoundry-community\/mariadb-boshrelease\" rel=\"noopener\" target=\"_blank\">MariaDB<\/a> has been chosen, since it didn&#8217;t have a working BOSH release yet.<\/p>\n<pre style=\"padding-left: 30px;\">\r\n$ helm search mariadb\r\n$ helm install \\\r\n--name mariadb \\\r\n--namespace mariadb \\\r\n--set service.type=LoadBalancer \\\r\nstable\/mariadb\r\n<\/pre>\n<p><b>Step 3.<\/b><\/p>\n<p>After that, it&#8217;s time to clone the service broker. The service broker shown below was forked from the <a href=\"https:\/\/github.com\/cloudfoundry-attic\/cf-mysql-broker\" rel=\"noopener\" target=\"_blank\">CF MySQL Broker<\/a>. It now includes a Docker file.<\/p>\n<pre style=\"padding-left: 30px;\">\r\n$ git clone https:\/\/github.com\/axelaris\/cf-mysql-broker.git\r\n$ cd cf-mysql-broker\r\n<\/pre>\n<p><b>Step 4.<\/b><\/p>\n<p>Next, a Docker image is created and run in a container locally. Then, the container is pushed into a repository.<\/p>\n<pre style=\"padding-left: 30px;\">\r\n$ docker build . -t baber\/cf-mysql-broker:latest\r\n$ docker run --rm -d -p 8080:8080 \\\r\n-e VAR_HOST=$MARIADB_IP \\\r\n-e VAR_PASS=$MARIADB_ROOT_PASSWORD \\\r\n baber\/cf-mysql-broker:latest\r\n$ docker push baber\/cf-mysql-broker:latest\r\n<\/pre>\n<p><b>Step 5.<\/b><\/p>\n<p>The repository is used to deploy the service broker on Kubernetes. Its IP address is also exposed to make it available externally.<\/p>\n<pre style=\"padding-left: 30px;\">\r\n$ kubectl run broker --image=baber\/cf-mysql-broker:latest --port=8080 \\\r\n--env=\"VAR_PASS=$MARIADB_ROOT_PASSWORD\" \\\r\n--env=\"VAR_HOST=$MARIADB_IP\"\r\n$ kubectl expose deployment broker --type=\"LoadBalancer\"\r\n<\/pre>\n<p><b>Step 6.<\/b><\/p>\n<p>Finally, a service broker is created and is granted access in Cloud Foundry. Afterwards, a service instance is created and used to bind the sample application. On restaging, the application is bound to the service and deployed on Kubernetes.<\/p>\n<pre style=\"padding-left: 30px;\">\r\n$ cf csb mariadb cc secret http:\/\/IP:8080\r\n$ cf enable-service-access p-mysql-local\r\n$ cf create-service p-mysql-local 5mb my-maria\r\n$ cf bind-service cf-nodejs my-maria\r\n$ cf restage cf-nodejs\r\n<\/pre>\n<p>Relying on this method, developers not familiar with BOSH can still deploy services to Cloud Foundry even if there is no available BOSH release.<\/p>\n<p>Want details? Visit our upcoming <a href=\"https:\/\/www.eventbrite.com\/e\/training-kubernetes-deep-dive-nyc-tickets-45928373000?aff=blog\" rel=\"noopener\" target=\"_blank\">training<\/a>!<\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Related_slides\"><\/span>Related slides<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><center><iframe loading=\"lazy\" src=\"\/\/www.slideshare.net\/slideshow\/embed_code\/key\/Ao3KtZwzRggamM\" width=\"595\" height=\"485\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen><\/iframe><\/center><\/p>\n<p>&nbsp;<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Further_reading\"><\/span>Further reading<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/creating-a-sample-service-broker-for-cloud-foundry-with-pythons-flask\/\">Creating a Sample Service Broker for Cloud Foundry with Python\u2019s Flask<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/using-logsearch-for-hybrid-cloud-foundry-and-kubernetes-deployments\/\">Using Logsearch for Hybrid Cloud Foundry and Kubernetes Deployments<\/a><\/li>\n<li><a href=\"https:\/\/www.altoros.com\/blog\/configuring-uaa-to-provide-a-single-entry-point-for-kubernetes-and-cloud-foundry\/\">Configuring UAA to Provide a Single Entry Point for Kubernetes and Cloud Foundry<\/a><\/li>\n<\/ul>\n<hr \/>\n<p><center><small>This blog post was written by <a href=\"https:\/\/www.altoros.com\/blog\/author\/carlo\/\">Carlo Gutierrez<\/a> and <a href=\"https:\/\/www.altoros.com\/blog\/author\/alex-zakharov\/\">Alexey Zakharov<\/a> with assistance from <a href=\"https:\/\/www.altoros.com\/blog\/author\/sophie.turol\/\">Sophie Turol<\/a>.<\/small><\/center><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A common way to deploy services on Cloud Foundry<\/p>\n<p>In Cloud Foundry environments, services are commonly deployed as BOSH releases. Service brokers can then be implemented either on top of BOSH or on top of Cloud Foundry. While this is a common method for deploying services in Cloud Foundry, what happens [&#8230;]<\/p>\n","protected":false},"author":40,"featured_media":33723,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"content-type":"","footnotes":"","_links_to":"","_links_to_target":""},"categories":[214],"tags":[873,912,206],"class_list":["post-33618","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-cloud-native","tag-kubernetes","tag-oss-cloud-foundry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Deploying Services to Cloud Foundry Using Kubernetes: Less BOSH, More Freedom | Altoros<\/title>\n<meta name=\"description\" content=\"Using Kubernetes to host services, developers can deploy services on Cloud Foundry without the need for BOSH releases.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deploying Services to Cloud Foundry Using Kubernetes: Less BOSH, More Freedom | Altoros\" \/>\n<meta property=\"og:description\" content=\"A common way to deploy services on Cloud Foundry In Cloud Foundry environments, services are commonly deployed as BOSH releases. Service brokers can then be implemented either on top of BOSH or on top of Cloud Foundry. While this is a common method for deploying services in Cloud Foundry, what happens [...]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/\" \/>\n<meta property=\"og:site_name\" content=\"Altoros\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-06T16:16:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-07-23T09:59:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2018\/06\/KubeCon-2018-Kubernetes-Cloud-Foundry-deploying-services-v1.gif\" \/>\n\t<meta property=\"og:image:width\" content=\"640\" \/>\n\t<meta property=\"og:image:height\" content=\"360\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/gif\" \/>\n<meta name=\"author\" content=\"Alexey Zakharov\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alexey Zakharov\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/\",\"name\":\"Deploying Services to Cloud Foundry Using Kubernetes: Less BOSH, More Freedom | Altoros\",\"isPartOf\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2018\/06\/KubeCon-2018-Kubernetes-Cloud-Foundry-deploying-services-v1.gif\",\"datePublished\":\"2018-06-06T16:16:45+00:00\",\"dateModified\":\"2018-07-23T09:59:04+00:00\",\"author\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/673368fe7e3d4fe7e27f311625fa6ca3\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#primaryimage\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2018\/06\/KubeCon-2018-Kubernetes-Cloud-Foundry-deploying-services-v1.gif\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2018\/06\/KubeCon-2018-Kubernetes-Cloud-Foundry-deploying-services-v1.gif\",\"width\":640,\"height\":360},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.altoros.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deploying Services to Cloud Foundry Using Kubernetes: Less BOSH, More Freedom\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#website\",\"url\":\"https:\/\/www.altoros.com\/blog\/\",\"name\":\"Altoros\",\"description\":\"Insight\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.altoros.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/673368fe7e3d4fe7e27f311625fa6ca3\",\"name\":\"Alexey Zakharov\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/02\/alexei-zaharov-v1-150x150.jpg\",\"contentUrl\":\"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/02\/alexei-zaharov-v1-150x150.jpg\",\"caption\":\"Alexey Zakharov\"},\"description\":\"Alexey Zakharov is a Cloud Foundry\/DevOps Engineer at Altoros. His main focus areas are cloud automation, virtualization, and training DevOps engineers in all things cloud. As a part of the Cloud Foundry team at Altoros, Alexey has built multiple CF environments. He is also a contributor to and big fan of Logsearch, a solution that can aggregate all CF logs together.\",\"url\":\"https:\/\/www.altoros.com\/blog\/author\/alex-zakharov\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Deploying Services to Cloud Foundry Using Kubernetes: Less BOSH, More Freedom | Altoros","description":"Using Kubernetes to host services, developers can deploy services on Cloud Foundry without the need for BOSH releases.","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:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/","og_locale":"en_US","og_type":"article","og_title":"Deploying Services to Cloud Foundry Using Kubernetes: Less BOSH, More Freedom | Altoros","og_description":"A common way to deploy services on Cloud Foundry In Cloud Foundry environments, services are commonly deployed as BOSH releases. Service brokers can then be implemented either on top of BOSH or on top of Cloud Foundry. While this is a common method for deploying services in Cloud Foundry, what happens [...]","og_url":"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/","og_site_name":"Altoros","article_published_time":"2018-06-06T16:16:45+00:00","article_modified_time":"2018-07-23T09:59:04+00:00","og_image":[{"width":640,"height":360,"url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2018\/06\/KubeCon-2018-Kubernetes-Cloud-Foundry-deploying-services-v1.gif","type":"image\/gif"}],"author":"Alexey Zakharov","twitter_misc":{"Written by":"Alexey Zakharov","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/","url":"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/","name":"Deploying Services to Cloud Foundry Using Kubernetes: Less BOSH, More Freedom | Altoros","isPartOf":{"@id":"https:\/\/www.altoros.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#primaryimage"},"image":{"@id":"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2018\/06\/KubeCon-2018-Kubernetes-Cloud-Foundry-deploying-services-v1.gif","datePublished":"2018-06-06T16:16:45+00:00","dateModified":"2018-07-23T09:59:04+00:00","author":{"@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/673368fe7e3d4fe7e27f311625fa6ca3"},"breadcrumb":{"@id":"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#primaryimage","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2018\/06\/KubeCon-2018-Kubernetes-Cloud-Foundry-deploying-services-v1.gif","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2018\/06\/KubeCon-2018-Kubernetes-Cloud-Foundry-deploying-services-v1.gif","width":640,"height":360},{"@type":"BreadcrumbList","@id":"https:\/\/www.altoros.com\/blog\/deploying-services-to-cloud-foundry-is-easier-with-kubernetes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.altoros.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Deploying Services to Cloud Foundry Using Kubernetes: Less BOSH, More Freedom"}]},{"@type":"WebSite","@id":"https:\/\/www.altoros.com\/blog\/#website","url":"https:\/\/www.altoros.com\/blog\/","name":"Altoros","description":"Insight","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.altoros.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/673368fe7e3d4fe7e27f311625fa6ca3","name":"Alexey Zakharov","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.altoros.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/02\/alexei-zaharov-v1-150x150.jpg","contentUrl":"https:\/\/www.altoros.com\/blog\/wp-content\/uploads\/2017\/02\/alexei-zaharov-v1-150x150.jpg","caption":"Alexey Zakharov"},"description":"Alexey Zakharov is a Cloud Foundry\/DevOps Engineer at Altoros. His main focus areas are cloud automation, virtualization, and training DevOps engineers in all things cloud. As a part of the Cloud Foundry team at Altoros, Alexey has built multiple CF environments. He is also a contributor to and big fan of Logsearch, a solution that can aggregate all CF logs together.","url":"https:\/\/www.altoros.com\/blog\/author\/alex-zakharov\/"}]}},"_links":{"self":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/33618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/comments?post=33618"}],"version-history":[{"count":77,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/33618\/revisions"}],"predecessor-version":[{"id":34620,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/posts\/33618\/revisions\/34620"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media\/33723"}],"wp:attachment":[{"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/media?parent=33618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/categories?post=33618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.altoros.com\/blog\/wp-json\/wp\/v2\/tags?post=33618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}