{"id":229464,"date":"2020-06-02T03:15:00","date_gmt":"2020-06-02T10:15:00","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/visualstudio\/?p=229464"},"modified":"2020-06-02T15:18:15","modified_gmt":"2020-06-02T22:18:15","slug":"introducing-local-process-with-kubernetes-for-visual-studio%e2%80%af2019","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/visualstudio\/introducing-local-process-with-kubernetes-for-visual-studio%e2%80%af2019\/","title":{"rendered":"Introducing Local Process with Kubernetes for Visual Studio\u202f2019"},"content":{"rendered":"<p><span data-contrast=\"auto\">Today, we\u2019re proud\u202fto announce the Local Process with Kubernetes preview feature in Visual Studio 2019 16.7 Preview 2.<\/span><span data-contrast=\"auto\">\u202f\u202f<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">\u202f<\/span><span data-contrast=\"auto\">Local Process with Kubernetes allows you to write, test and debug your\u202f.NET\u202fmicroservice code on your development workstation while connected to your Kubernetes cluster with the rest of your application or services.\u202f<\/span><span data-contrast=\"auto\">\u202f<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-229466 size-full\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/05\/local_process_with_kubernetes.gif\" alt=\"Image local process with kubernetes\" width=\"1774\" height=\"447\" \/><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000; font-size: 18pt;\">Develop Microservice Apps Faster\u202f\u202f\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">A typical developer workflow for developing microservice applications that target Kubernetes involves modifying code, building a container image and deploying that image to a Kubernetes cluster.\u202f All this\u202fis necessary\u202fto see the changes manifest. The complexity of this workflow many times a day impedes developers\u2019 ability to perform the core of the inner loop tasks.\u202fHowever, this\u202fprocess\u202fcan be\u202fgreatly simplified.<\/span><span data-contrast=\"none\">\u202f\u202f<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><span data-contrast=\"none\">\u202f\u202f<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"none\">Local Process with Kubernetes extends the Kubernetes perimeter to your development workstation, allowing you to sidestep the operational complexities of\u202fbuilding and\u202fsyncing your code into the cluster to test, debug and rapidly iterate.\u202f\u202f<\/span><span data-contrast=\"none\">\u202f\u202f<\/span><\/p>\n<p><span data-contrast=\"none\">With this workflow, there\u202fis no need for extra assets, such as a\u202f<\/span><span data-contrast=\"none\">Dockerfile<\/span><span data-contrast=\"none\">\u202for Kubernetes manifests.\u202fYou can simply\u202frun\u202fyour code natively on your development workstation while connected to the Kubernetes cluster, allowing\u202fyou to test your code changes in the context of the larger application.<\/span><span data-contrast=\"none\">\u202f\u202f<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"font-size: 18pt; color: #000000;\">Simplifying\u202fMicroservice\u202fDevelopment\u202f\u202f \u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Microservice applications are comprised of many\u202fservices, often calling each other.\u202f Each service\u202fhas\u202fits own configuration\u202fand dependencies,\u202fmaking running the application locally\u202ftime consuming and complex<\/span><span data-contrast=\"auto\">.<\/span><span data-contrast=\"auto\">\u202f<\/span><span data-contrast=\"auto\">\u202f<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">By using Local Process with Kubernetes to connect your development workstation to your Kubernetes cluster, you eliminate the need to manually<\/span><span data-contrast=\"auto\">\u202f<\/span><span data-contrast=\"auto\">source,\u202fconfigure\u202fand compile\u202fexternal dependencies on your development\u202fworkstation<\/span><span data-contrast=\"auto\">.<\/span><span data-contrast=\"auto\">\u202f\u202f<\/span><span data-contrast=\"auto\">\u202f<\/span><span data-contrast=\"auto\">\u202f<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Additionally, environment variables, connection strings and volumes from the cluster are\u202finherited by\u202fyour microservice code running locally.\u202f<\/span><span data-contrast=\"auto\">\u202f\u202f<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #000000; font-size: 18pt;\">Easy\u202fDebugging\u202f\u202f\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Integrated into the Visual Studio development environment as an additional Debug Profile, Local Process with Kubernetes creates the connection to your Kubernetes cluster to allow an easy F5 debug experience.\u202f\u202fBy running your usual debug profile with the added cluster configuration, you can\u202fdebug your\u202fcode as you normally would\u202fwhile taking advantage\u202fof the speed and flexibility of local debugging.<\/span><span data-contrast=\"auto\">\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span data-contrast=\"auto\"><img decoding=\"async\" class=\"wp-image-229467 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-content\/uploads\/sites\/4\/2020\/05\/Untitled3.png\" alt=\"Local Process with Kubernetes\" width=\"1270\" height=\"388\" \/><\/span><\/p>\n<p><span data-contrast=\"auto\">\u202f<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<h3><span style=\"color: #000000; font-size: 18pt;\">Developing and testing\u202fend-to-end\u202f\u202f\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Local Process with Kubernetes enables testing\u202fend-to-end\u202fduring development time.\u202f<\/span><span data-contrast=\"auto\">\u202f<\/span><span data-contrast=\"auto\">Select\u202fan existing service in the cluster to route to your development machine where an instance of that service is running locally.\u202f\u202f\u202f<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Requests<\/span><span data-contrast=\"auto\">\u202f<\/span><span data-contrast=\"auto\">initiated\u202fthrough the frontend of the application running in Kubernetes\u202fwill\u202froute between services running in the cluster until\u202fthe service you specified to redirect\u202fis called<\/span><span data-contrast=\"auto\">.<\/span><span data-contrast=\"auto\">\u202f<\/span><span data-contrast=\"auto\">\u202f<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><span data-contrast=\"auto\">\u202f<\/span> <span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #000000;\"><span style=\"font-size: 18pt;\">Let us know about your experience!\u202f\u202f<\/span>\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">We\u2019d love to hear about your experience with Local Process with Kubernetes and where we can improve.\u202f<\/span><span data-contrast=\"auto\">\u202f<\/span><span data-contrast=\"auto\">For issues or comments, please visit\u202four\u202f<\/span><a href=\"https:\/\/aka.ms\/localprocesswithk8s-gh\"><span data-contrast=\"none\">GitHub\u202fissues page<\/span><\/a><span data-contrast=\"auto\">.<\/span><span data-contrast=\"auto\">\u202f<\/span><span data-contrast=\"auto\">\u202f<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:240}\">\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Local Process with Kubernetes allows you to write, test and debug your\u202f.NET\u202fmicroservice code on your development workstation while connected to your Kubernetes cluster with the rest of your application or services.\u202f\u202f<\/p>\n","protected":false},"author":30566,"featured_media":229467,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1412,155],"tags":[],"class_list":["post-229464","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development","category-visual-studio"],"acf":[],"blog_post_summary":"<p>Local Process with Kubernetes allows you to write, test and debug your\u202f.NET\u202fmicroservice code on your development workstation while connected to your Kubernetes cluster with the rest of your application or services.\u202f\u202f<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/229464","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=229464"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/posts\/229464\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media\/229467"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/media?parent=229464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/categories?post=229464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/visualstudio\/wp-json\/wp\/v2\/tags?post=229464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}