{"id":230651,"date":"2020-09-21T12:00:29","date_gmt":"2020-09-21T19:00:29","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=230651"},"modified":"2020-09-21T12:06:33","modified_gmt":"2020-09-21T19:06:33","slug":"bridge-to-kubernetes-ga","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/bridge-to-kubernetes-ga\/","title":{"rendered":"Bridge to Kubernetes GA"},"content":{"rendered":"<p><span data-contrast=\"auto\">We are\u00a0<\/span><span data-contrast=\"auto\">super\u00a0<\/span><span data-contrast=\"auto\">excited to announce General Availability of <\/span><span data-contrast=\"auto\">Bridge to Kubernetes<\/span><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Formerly known as Local Process with Kubernetes,\u00a0<\/span><span data-contrast=\"auto\">Bridge to Kubernetes is an\u00a0<\/span><span data-contrast=\"auto\">iterative development tool<\/span><span data-contrast=\"auto\">\u00a0offered in\u00a0<\/span><a href=\"https:\/\/aka.ms\/bridge-to-k8s-vs-extension\"><span data-contrast=\"none\">Visual Studio<\/span><\/a><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">and\u00a0<\/span><a href=\"https:\/\/aka.ms\/bridge-to-k8s-vsc-extension\"><span data-contrast=\"none\">VS Code<\/span><\/a><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">that<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">allows developers to write, test and debug microservice code on<\/span><span data-contrast=\"auto\">\u00a0their<\/span><span data-contrast=\"auto\">\u00a0development workstations while\u00a0<\/span><span data-contrast=\"auto\">consuming dependencies and\u202finheriting existing\u202fconfiguration from a Kubernetes environment<\/span><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-230660 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/connect-graphic-non-isolated.gif\" alt=\"Image connect graphic non isolated\" width=\"1774\" height=\"447\" \/><\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">Simplifying\u202fMicroservice\u202fDevelopment\u202f\u202f \u202f<\/span><span data-ccp-props=\"{&quot;335559738&quot;:40}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Microservice applications are comprised of many\u202fservices, often calling each other. Each service\u202fhas\u202fits own configuration\u202fand dependencies,\u202fmaking setting up and running the application locally\u202ftime-consuming and complex.\u202f\u202f<\/span><span data-ccp-props=\"{&quot;134233118&quot;:true}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">By using Bridge to Kubernetes to connect your development workstation to your Kubernetes cluster, you eliminate the need to manually\u202fsource,\u202fconfigure\u202fand compile\u202fexternal dependencies on your development\u202fworkstation. Environment variables, connection strings and volumes from the cluster are\u202finherited and available to your microservice code running locally.<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-230661 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/bridge_menu.png\" alt=\"Image bridge menu\" width=\"1163\" height=\"391\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/bridge_menu.png 1163w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/bridge_menu-300x101.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/bridge_menu-1024x344.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/bridge_menu-768x258.png 768w\" sizes=\"(max-width: 1163px) 100vw, 1163px\" \/><\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">Develop Microservice Apps Faster\u202f\u202f\u202f<\/span><span data-ccp-props=\"{&quot;335559738&quot;:40}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Bridge to Kubernetes<\/span><span data-contrast=\"auto\">\u00a0extends the Kubernetes perimeter to your development workstation, allowing you to sidestep operational complexities of\u202fbuilding and\u202f<\/span><span data-contrast=\"auto\">deploying\u00a0<\/span><span data-contrast=\"auto\">your code into the cluster to test, debug and rapidly iterate.\u202f\u202f\u202f\u202f<\/span><span data-ccp-props=\"{&quot;134233118&quot;:true}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Docker and Kubernetes configurations<\/span><span data-contrast=\"auto\"> are not required<\/span><span data-contrast=\"auto\">\u00a0when using Bridge to Kubernetes<\/span><span data-contrast=\"auto\">.<\/span><span data-contrast=\"auto\">\u202f<\/span><span data-contrast=\"auto\">Si<\/span><span data-contrast=\"auto\">mply\u202frun<\/span><span data-contrast=\"auto\">\u00a0code natively on your development workstation\u00a0<\/span><span data-contrast=\"auto\">using familiar development tools and practices,\u00a0<\/span><span data-contrast=\"auto\">while connected to the Kubernetes cluster,\u00a0<\/span><span data-contrast=\"auto\">allowing\u202fyou<\/span><span data-contrast=\"auto\">\u00a0to develop<\/span><span data-contrast=\"auto\">, test and debug<\/span><span data-contrast=\"auto\">\u00a0in the context of the larger application<\/span><span data-contrast=\"auto\">.<\/span><span data-ccp-props=\"{&quot;134233118&quot;:true}\">\u00a0<\/span><\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">D<\/span><span data-contrast=\"none\">ebugging\u00a0<\/span><span data-contrast=\"none\">and testing\u202fend-to-end\u202f<\/span><span data-ccp-props=\"{&quot;335559738&quot;:40}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Bridge to Kubernetes<\/span><span data-contrast=\"auto\">\u00a0enables<\/span><span data-contrast=\"auto\">\u00a0debugging and<\/span><span data-contrast=\"auto\">\u00a0testing\u202fend-to-end\u202f<\/span><span data-contrast=\"auto\">in the context of the larger application<\/span><span data-contrast=\"auto\">.<\/span><span data-contrast=\"auto\">\u00a0Select<\/span><span data-contrast=\"auto\">\u202fan existing service in the cluster to route to your development machine where an instance of that service is running locally.<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"none\">R<\/span><span data-contrast=\"none\">equests initiated through the application running in Kubernetes will route between services running in the cluster. When the service you are debugging is called, the request is redirected to your development machine to your locally running version. Your local changes are\u00a0<\/span><span data-contrast=\"none\">executed,<\/span><span data-contrast=\"none\">\u00a0and the request is completed transparently for the other services.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-230708 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/connection.png\" alt=\"Image connection\" width=\"1325\" height=\"267\" data-wp-editing=\"1\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/connection.png 1325w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/connection-300x60.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/connection-1024x206.png 1024w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/connection-768x155.png 768w\" sizes=\"(max-width: 1325px) 100vw, 1325px\" \/><\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">Work in\u00a0<\/span><span data-contrast=\"none\">i<\/span><span data-contrast=\"none\">solation in a shared development environment<\/span><span data-ccp-props=\"{&quot;335559738&quot;:40}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">In clusters where developers are working\u00a0<\/span><span data-contrast=\"auto\">together\u00a0<\/span><span data-contrast=\"auto\">on the\u00a0<\/span><span data-contrast=\"auto\">same\u00a0<\/span><span data-contrast=\"auto\">application<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">at the same time<\/span><span data-contrast=\"auto\">,<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">th<\/span><span data-contrast=\"auto\">ere is a\u00a0<\/span><span data-contrast=\"auto\">significant\u00a0<\/span><span data-contrast=\"auto\">risk of<\/span><span data-contrast=\"auto\">\u00a0interfering with another\u00a0<\/span><span data-contrast=\"auto\">developers&#8217;<\/span><span data-contrast=\"auto\">\u00a0debugging<\/span><span data-contrast=\"auto\">\u00a0session<\/span><span data-contrast=\"auto\">.<\/span><span data-contrast=\"auto\">\u00a0 This is because there is only one copy of each service deployed to\u00a0<\/span><span data-contrast=\"auto\">the application namespace.\u00a0<\/span><span data-contrast=\"auto\">To enable developers to\u00a0<\/span><span data-contrast=\"auto\">work more effectively together and\u00a0<\/span><span data-contrast=\"auto\">isolate their\u00a0<\/span><span data-contrast=\"auto\">inner loop<\/span><span data-contrast=\"auto\">\u00a0from the rest of the team<\/span><span data-contrast=\"auto\">,\u00a0<\/span><span data-contrast=\"auto\">they need\u00a0<\/span><span data-contrast=\"auto\">a<\/span><span data-contrast=\"auto\">\u00a0copy of the service to work on exclusively.\u00a0\u00a0<\/span><span data-ccp-props=\"{&quot;134233118&quot;:true}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Bridge to Kubernetes supports working in isolation in a shared cluster. By selecting the work in isolation mode during configuration, Bridge to Kubernetes will setup the isolated service, as well as a specific subdomain URL to make sure that only traffic using that URL is redirected to your development workstation.<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span data-contrast=\"none\">Public Previews<\/span><span data-ccp-props=\"{&quot;335559738&quot;:240}\">\u00a0<\/span><\/h2>\n<h3><span data-contrast=\"none\">Support for a<\/span><span data-contrast=\"none\">ny Kubernetes<\/span><span data-ccp-props=\"{&quot;335559738&quot;:40}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Bridge to Kubernetes is expanding support\u00a0<\/span><span data-contrast=\"auto\">to\u00a0<\/span><span data-contrast=\"auto\">any Kubernetes.<\/span><span data-contrast=\"auto\">\u00a0\u00a0<\/span><span data-contrast=\"auto\">Whether<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">you<\/span><span data-contrast=\"auto\">\u2019<\/span><span data-contrast=\"auto\">r<\/span><span data-contrast=\"auto\">e<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">connecting to\u00a0<\/span><span data-contrast=\"auto\">you<\/span><span data-contrast=\"auto\">r<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">dev<\/span><span data-contrast=\"auto\">elopment<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">cluster\u00a0<\/span><span data-contrast=\"auto\">running in the cloud<\/span><span data-contrast=\"auto\">, or to your<\/span><span data-contrast=\"auto\">\u00a0local\u00a0<\/span><span data-contrast=\"auto\">Kubernetes<\/span><span data-contrast=\"auto\">\u00a0cluster, Bridge to Kubernetes is\u00a0<\/span><span data-contrast=\"auto\">available<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">for your\u00a0<\/span><span data-contrast=\"auto\">end-to-end debugging\u00a0<\/span><span data-contrast=\"auto\">scenario<\/span><span data-contrast=\"auto\">s<\/span><span data-contrast=\"auto\">.<\/span><\/p>\n<div>\n<div data-tid=\"messageBodyContainer\">\n<div data-tid=\"messageBodyContent\">\n<p><em>Support for Bridge to Kubernetes on any Kubernetes cluster is initially available in the <a href=\"https:\/\/aka.ms\/bridge-to-k8s-vsc-extension\">VS Code<\/a> experience and soon after in <a href=\"https:\/\/aka.ms\/bridge-to-k8s-vs-extension\">Visual Studio<\/a>.<\/em><\/p>\n<h3>Increase confidence in pull requests with review apps<\/h3>\n<p>Bridge to Kubernetes lets you work in isolation from colleagues using the same cluster and namespace by leveraging our new routing technology. You can also apply the isolation capability outside the Bridge to Kubernetes experience, such as directly from a GitHub pull request. You can test changes from a PR directly in Kubernetes before the pull request is merged into the main branch of your repo. Having a running application to review changes of a pull request can increase confidence in proposed code changes. Testing your changes in the running application can also help other team members, such as product managers and designers, see the results of the development work even in the early stages.<\/p>\n<p>For more information, including how to get started with the pull request review apps, see <a href=\"https:\/\/aka.ms\/pull-request-flow\">here<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-230662 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/Screen-Shot-2020-09-16-at-2.51.03-PM.png\" alt=\"Image Screen Shot 2020 09 16 at 2 51 03 PM\" width=\"948\" height=\"315\" srcset=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/Screen-Shot-2020-09-16-at-2.51.03-PM.png 948w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/Screen-Shot-2020-09-16-at-2.51.03-PM-300x100.png 300w, https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/09\/Screen-Shot-2020-09-16-at-2.51.03-PM-768x255.png 768w\" sizes=\"(max-width: 948px) 100vw, 948px\" \/><\/p>\n<h3 aria-level=\"2\"><span data-contrast=\"none\">Get started today and let us know about your experience!\u202f\u202f\u202f<\/span><span data-ccp-props=\"{&quot;335559738&quot;:40}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Start debugging your Kubernetes applications today using Bridge to Kubernetes. Download the extension<\/span><span data-contrast=\"auto\">s<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">from the\u00a0<\/span><a href=\"https:\/\/aka.ms\/bridge-to-k8s-vs-extension\"><span data-contrast=\"none\">Visual Studio<\/span><\/a><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">an<\/span><span data-contrast=\"auto\">d\u00a0<\/span><a href=\"https:\/\/aka.ms\/bridge-to-k8s-vsc-extension\"><span data-contrast=\"none\">VS Code<\/span><\/a><span data-contrast=\"auto\">\u00a0marketplaces<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">and\u00a0<\/span><span data-contrast=\"auto\">follow<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">the\u00a0<\/span><a href=\"https:\/\/aka.ms\/bridge-to-k8s-vs-quickstart\"><span data-contrast=\"none\">quick<\/span><span data-contrast=\"none\">starts <\/span><\/a><span data-contrast=\"auto\">on how to use Bridge to Kubernetes.<\/span><span data-ccp-props=\"{}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">We\u2019d love to hear about your experience with\u00a0<\/span><span data-contrast=\"auto\">Bridge to Kubernetes<\/span><span data-contrast=\"auto\">\u00a0and where we can improve.\u202f\u202fFor issues<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">o<\/span><span data-contrast=\"auto\">r<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">comments,<\/span><span data-contrast=\"auto\">\u00a0<\/span><span data-contrast=\"auto\">please visit\u202four\u202f<\/span><a href=\"https:\/\/aka.ms\/mindaro-issues\"><span data-contrast=\"none\">GitHub\u202fissues page<\/span><\/a><span data-contrast=\"none\">.<\/span><span data-ccp-props=\"{&quot;134233118&quot;:true}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>We are\u00a0super\u00a0excited to announce General Availability of Bridge to Kubernetes.\u00a0 Formerly known as Local Process with Kubernetes,\u00a0Bridge to Kubernetes is an\u00a0iterative development tool\u00a0offered in\u00a0Visual Studio\u00a0and\u00a0VS Code\u00a0that\u00a0allows developers to write, test and debug microservice code on\u00a0their\u00a0development workstations while\u00a0consuming dependencies and\u202finheriting existing\u202fconfiguration from a Kubernetes environment.\u00a0 Simplifying\u202fMicroservice\u202fDevelopment\u202f\u202f \u202f\u00a0 Microservice applications are comprised of many\u202fservices, often calling each [&hellip;]<\/p>\n","protected":false},"author":30566,"featured_media":230729,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[155],"tags":[],"class_list":["post-230651","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-visual-studio"],"acf":[],"blog_post_summary":"<p>We are\u00a0super\u00a0excited to announce General Availability of Bridge to Kubernetes.\u00a0 Formerly known as Local Process with Kubernetes,\u00a0Bridge to Kubernetes is an\u00a0iterative development tool\u00a0offered in\u00a0Visual Studio\u00a0and\u00a0VS Code\u00a0that\u00a0allows developers to write, test and debug microservice code on\u00a0their\u00a0development workstations while\u00a0consuming dependencies and\u202finheriting existing\u202fconfiguration from a Kubernetes environment.\u00a0 Simplifying\u202fMicroservice\u202fDevelopment\u202f\u202f \u202f\u00a0 Microservice applications are comprised of many\u202fservices, often calling each [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/230651","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/users\/30566"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/comments?post=230651"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/230651\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/230729"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=230651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=230651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=230651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}