{"id":8447,"date":"2020-06-03T13:23:04","date_gmt":"2020-06-03T13:23:04","guid":{"rendered":"https:\/\/sterling.com\/?p=8447"},"modified":"2020-06-03T13:23:04","modified_gmt":"2020-06-03T13:23:04","slug":"application-scalability-tanzu-kubernetes","status":"publish","type":"post","link":"https:\/\/sterling.com\/stargazer\/?p=8447","title":{"rendered":"Provide Application Scalability using VMware Tanzu Kubernetes Grid"},"content":{"rendered":"<p>Written by Billy Downing<\/p>\n<h2><span style=\"font-size: 18pt;\">What is the driving need for dynamic application scalability?<\/span><\/h2>\n<p>Dynamic response to demand for a given application has become a standard expectation for performance during times of stress. A fundamental cloud ability is elasticity, in terms of resources needed to support a performant application during times of elevated usages, as well as, dormant lulls. Several reasons exist for this requirement in application design. Here are a few:<\/p>\n<p>Resource utilization (Cost)<\/p>\n<ul>\n<li>As resources are now directly associated with cost in a cloud-native architecture, it is paramount to maintain usage based on actual need at any given time rather than\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0overprovisioning resources which sit idle a majority of the time.<\/li>\n<\/ul>\n<p>Application Performance<\/p>\n<ul>\n<li>Expectations for application uptime and performance can determine the overall adoption of success of an application given the sea of alternatives that likely exist. Manual intervention at times of stress is not feasible due to the speed at which traffic bursts may occur coupled with the potential complexity associated with scaling an application out without proper automation in place.<\/li>\n<\/ul>\n<p>Application Resiliency<\/p>\n<ul>\n<li>As components of an application become overwhelmed, there is the chance of failure under load. The ability to dynamically scale an application to meet demand affords each process the predictable performance expectations set by administrators and developers based on known success metrics. (I.E, process A is performant up to 80% CPU utilization, etc.)<\/li>\n<\/ul>\n<p>Kubernetes natively supports the ability to dynamically scale application horizontally, through creation of pods within an autoscale group based on predetermined metrics for load discovered through K8s metrics services, or third party.<\/p>\n<h2><span style=\"font-size: 18pt;\">What is Tanzu Kubernetes Grid<\/span><\/h2>\n<p>Tanzu Kubernetes Grid is VMware&#8217;s offering to support automated provisioning of best-practices based Kubernetes clusters with known-good components across a myriad of platforms. In short, TKG is VMware\u2019s upstream K8s conformant deployment bundling native K8s with the necessary add-on services required.\u00a0 These include integration with NSX-T (for on-prem deployments) for North\/South routing, Calico for east\/west, ClusterAPI for lifecycle management, and various authentication and security services as well. TKG clusters can be deployed in several ways.\u00a0 ClusterAPI enabled K8\u2019s cluster, using a normal Kubernetes manifest through the TKG UI\/CLI using K-IN-D (Kubernetes in Docker), or directly through Tanzu Mission Control to various cloud providers.<\/p>\n<p>Regardless of the deployment method, the end result is a best-practice built Kubernetes infrastructure that supports the dynamic creation of all the expected K8s objects (deployments, pods, services, etc.). This includes the deployment of additional Kubernetes clusters through ClusterAPI and the ability to then manage and scale those clusters as needed.<\/p>\n<h2><span style=\"font-size: 18pt;\">Kubernetes Autoscaling on a TKG Cluster<\/span><\/h2>\n<p>In this example, I am using vSphere 7 with Kubernetes coupled with a guest TKG cluster running a simple web application with a basic topology shown in Figure 1.<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"wp-image-8450 alignleft\" src=\"https:\/\/sterling.com\/stargazer\/wp-content\/uploads\/2020\/05\/Figure-1.png\" alt=\"\" width=\"437\" height=\"385\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em><span style=\"font-size: 8pt;\">figure 1<\/span><\/em><\/p>\n<p>In this case, I deployed my TKG cluster using the already established Supervisor cluster as the ClusterAPI endpoint with a simple K8\u2019s manifest (Figure 2). I then, applied it using the normal kubectl apply syntax. Therefore, the TKG cluster is treated much like any other Kubernetes object would within the cluster. In terms of VMware, it is shown in the UI as an independent object (Figure 3). All within the \u2018prod\u2019 namespace.<\/p>\n<p><img decoding=\"async\" class=\" wp-image-8451 alignleft\" src=\"https:\/\/sterling.com\/stargazer\/wp-content\/uploads\/2020\/05\/Figure-2.png\" alt=\"\" width=\"455\" height=\"591\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em><span style=\"font-size: 8pt;\">figure 2\u00a0 &#8211; TKG Cluster Declarative Manifest<\/span><\/em><\/p>\n<p><img decoding=\"async\" class=\" wp-image-8452 alignleft\" src=\"https:\/\/sterling.com\/stargazer\/wp-content\/uploads\/2020\/05\/Figure-3.png\" alt=\"\" width=\"502\" height=\"495\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em><span style=\"font-size: 8pt;\">figure 3 &#8211; TKG Cluster and Native Pods within vSphere 7 UI<\/span><\/em><\/p>\n<p>In this case, I have a simple web application written in Go, and a busy-box pod that will be used to generate traffic. For this demonstration, I have set the resource limits and requests very low on my deployment to allow for fast scaling of objects within my autoscale group once any sort of load occurs. Figure 4 provides the container spec for the web front end and its associated resource limits and requests.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-8453 alignleft\" src=\"https:\/\/sterling.com\/stargazer\/wp-content\/uploads\/2020\/05\/Figure-4.png\" alt=\"\" width=\"486\" height=\"382\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><em><span style=\"font-size: 8pt;\">Figure 4- Front End Container Spec within Deployment<\/span><\/em><\/p>\n<p>Figure 5 shows a quick review of the pods currently running on the TKG cluster, note the amount of gofigure-fe pods supporting the front end that are running.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-8457 alignleft\" src=\"https:\/\/sterling.com\/stargazer\/wp-content\/uploads\/2020\/05\/Figure-5-1.png\" alt=\"\" width=\"948\" height=\"148\" \/><\/p>\n<p><em><span style=\"font-size: 8pt;\">f<\/span><\/em><em><span style=\"font-size: 8pt;\">igure 5- Pods Running<\/span><\/em><\/p>\n<p>At this point there is no traffic hitting the application. Therefore, as shown below in Figures 6 and 7 (using the k8s metric server), we can see the autoscale group has no load. The pods are for the most part, sitting idle. In this case I have defined a low threshold of just 10% utilization before new pods should be spun up, with a minimum of one pod and maximum of 10 pods. Before any load, as expected, the current replica amount is just one.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-8455 alignleft\" src=\"https:\/\/sterling.com\/stargazer\/wp-content\/uploads\/2020\/05\/Figure-6.png\" alt=\"\" width=\"830\" height=\"148\" \/><\/p>\n<p style=\"text-align: left;\"><em><span style=\"font-size: 8pt;\">figure 6 &#8211; Metric Server Output of pod CPU Load<\/span><\/em><\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: left;\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-8456 alignleft\" src=\"https:\/\/sterling.com\/stargazer\/wp-content\/uploads\/2020\/05\/Figure-7.png\" alt=\"\" width=\"1278\" height=\"122\" \/><span style=\"font-size: 8pt;\"><em>figure 7- Autoscale group metrics<\/em><\/span><\/p>\n<p>Now we\u2019ll generate traffic to start hitting the front end, which in this case is a Virtual IP hosted by an NSX-T load balancer (could be an AWS ALB as well) to have our application take on some stress and begin deploying more pods to handle the load. To accomplish this in a test environment, a simple while loop from the busy-box pod to continuously hit the main page of the web app will suffice.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-8458 alignleft\" src=\"https:\/\/sterling.com\/stargazer\/wp-content\/uploads\/2020\/05\/Figure-8.png\" alt=\"\" width=\"854\" height=\"96\" \/><span style=\"font-size: 8pt;\"><em>f<\/em><\/span><span style=\"font-size: 8pt;\"><em>igure 8-\u00a0 Load Generator<\/em><\/span><\/p>\n<p>Now we can see load hitting our application and based on that load we see the subsequent pods being creating and being added as endpoint behind the service to distribute the load. Figure 9 is a repeat of the previous autoscale group showing a successful scale out of the application. It has managed to deploy an additional six pods making seven in total to keep the load of each pod below the 10% CPU utilization target.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-8459 size-full\" src=\"https:\/\/sterling.com\/stargazer\/wp-content\/uploads\/2020\/05\/Figure-9.png\" alt=\"application successfully scaled\" width=\"1208\" height=\"122\" \/><\/p>\n<p><em><span style=\"font-size: 8pt;\">figure 9-\u00a0 Application successfully scaled<\/span><\/em><\/p>\n<p>Furthermore, we can see the new pods running, their respective CPU load, and each of them coming up as endpoints attached to the existing load balancer service in Figures 10 and 11. All done dynamically without intervention, set off by a spike in load.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-8460 alignleft\" src=\"https:\/\/sterling.com\/stargazer\/wp-content\/uploads\/2020\/05\/Figure-10.png\" alt=\"\" width=\"969\" height=\"454\" \/><\/p>\n<p><span style=\"font-size: 8pt;\"><em>figure 10 &#8211; New pods and pod CPU usage<\/em><\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-8461 alignleft\" src=\"https:\/\/sterling.com\/stargazer\/wp-content\/uploads\/2020\/05\/Figure-11.png\" alt=\"\" width=\"1110\" height=\"143\" \/><\/p>\n<p><span style=\"font-size: 8pt;\"><em>figure 11 &#8211;\u00a0 New pods added to service as endpoints to distrubute traffic<\/em><\/span><\/p>\n<p>Once the demand ceases and the CPU of each pod begins to decrease, pods will begin being deleted until the minimum number of pods is met again to provide the necessary elasticity we\u2019d expect from out cloud native applications.<\/p>\n<h2><span style=\"font-size: 18pt;\">Business driver for solution specific to TKG<\/span><\/h2>\n<p>Tanzu Kubernetes Grid provides the mechanism to deploy and maintain best practice-based Kubernetes clusters, which provide the platform for these add-on services to utilize horizontal pod autoscaling. Horizontal or vertical pod autoscaling does require platform tools that are not deployed to a Kubernetes cluster out of the box. For example, using Kubeadm. TKG aggregates all the tools necessary, ClusterAPI, Kubeadm, Calico, Authentication, etc. for a scalable solution without dealing with the inertia of unique k8s cluster designs.<\/p>\n<h2><span style=\"font-size: 18pt;\">Conclusion<\/span><\/h2>\n<p>Overall, what we demonstrated is the ability to deploy a best practice conformant Kubernetes cluster using Tanzu Kubernetes Grid to facilitate the platform and enable our application to autoscale based on demand. This is becoming a must-have feature for applications today as demand is increasingly associated with cost. The ability to meet any demand or spike in load, with an automated scaling response not only benefits the performance and resilience of the application, but also lessens the cost over time as the need to overprovision is no longer necessary.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Written by Billy Downing What is the driving need for dynamic application scalability? Dynamic response to demand for a given application has become a standard expectation for performance during times [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":8449,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,13,11,17],"tags":[23,24,25,26,27],"class_list":["post-8447","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcements","category-blog","category-news","category-security","tag-kubernetes","tag-tanzu","tag-tanzulanding","tag-vmware","tag-vsphere"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Provide Application Scalability using VMware Tanzu Kubernetes Grid - Sterling<\/title>\n<meta name=\"description\" content=\"Demonstrate the ability to deploy a best practice conformant Kubernetes cluster using Tanzu Kubernetes Grid to enable our application to autoscale based on demand.\" \/>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Provide Application Scalability using VMware Tanzu Kubernetes Grid - Sterling\" \/>\n<meta property=\"og:description\" content=\"Demonstrate the ability to deploy a best practice conformant Kubernetes cluster using Tanzu Kubernetes Grid to enable our application to autoscale based on demand.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sterling.com\/stargazer\/?p=8447\" \/>\n<meta property=\"og:site_name\" content=\"Sterling\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/facebook.com\/SterlingComp\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-03T13:23:04+00:00\" \/>\n<meta name=\"author\" content=\"Sterling\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@sterlingcomp\" \/>\n<meta name=\"twitter:site\" content=\"@sterlingcomp\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sterling\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?p=8447#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?p=8447\"},\"author\":{\"name\":\"Sterling\",\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/#\\\/schema\\\/person\\\/b812a18f3a1e77cd0925429d1546e49d\"},\"headline\":\"Provide Application Scalability using VMware Tanzu Kubernetes Grid\",\"datePublished\":\"2020-06-03T13:23:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?p=8447\"},\"wordCount\":1248,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?p=8447#primaryimage\"},\"thumbnailUrl\":\"\",\"keywords\":[\"kubernetes\",\"tanzu\",\"tanzulanding\",\"vmware\",\"vsphere\"],\"articleSection\":[\"Announcements\",\"Blog\",\"News\",\"Security\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?p=8447\",\"url\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?p=8447\",\"name\":\"Provide Application Scalability using VMware Tanzu Kubernetes Grid - Sterling\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?p=8447#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?p=8447#primaryimage\"},\"thumbnailUrl\":\"\",\"datePublished\":\"2020-06-03T13:23:04+00:00\",\"description\":\"Demonstrate the ability to deploy a best practice conformant Kubernetes cluster using Tanzu Kubernetes Grid to enable our application to autoscale based on demand.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?p=8447#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?p=8447\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?p=8447#primaryimage\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?p=8447#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Provide Application Scalability using VMware Tanzu Kubernetes Grid\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/#website\",\"url\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/\",\"name\":\"Sterling\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/#organization\",\"name\":\"Sterling\",\"url\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/Sterling-Computers-Logo-TM.png\",\"contentUrl\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/wp-content\\\/uploads\\\/2023\\\/03\\\/Sterling-Computers-Logo-TM.png\",\"width\":399,\"height\":145,\"caption\":\"Sterling\"},\"image\":{\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"http:\\\/\\\/facebook.com\\\/SterlingComp\\\/\",\"https:\\\/\\\/x.com\\\/sterlingcomp\",\"https:\\\/\\\/www.instagram.com\\\/sterlingcomputers\\\/\",\"http:\\\/\\\/youtube.com\\\/@sterlingcomp\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/sterling-computers\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/#\\\/schema\\\/person\\\/b812a18f3a1e77cd0925429d1546e49d\",\"name\":\"Sterling\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/49107847cab9312fecfc9475e27da24373a491ca9faf45408ea019ad846f2c44?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/49107847cab9312fecfc9475e27da24373a491ca9faf45408ea019ad846f2c44?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/49107847cab9312fecfc9475e27da24373a491ca9faf45408ea019ad846f2c44?s=96&d=mm&r=g\",\"caption\":\"Sterling\"},\"url\":\"https:\\\/\\\/sterling.com\\\/stargazer\\\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Provide Application Scalability using VMware Tanzu Kubernetes Grid - Sterling","description":"Demonstrate the ability to deploy a best practice conformant Kubernetes cluster using Tanzu Kubernetes Grid to enable our application to autoscale based on demand.","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Provide Application Scalability using VMware Tanzu Kubernetes Grid - Sterling","og_description":"Demonstrate the ability to deploy a best practice conformant Kubernetes cluster using Tanzu Kubernetes Grid to enable our application to autoscale based on demand.","og_url":"https:\/\/sterling.com\/stargazer\/?p=8447","og_site_name":"Sterling","article_publisher":"http:\/\/facebook.com\/SterlingComp\/","article_published_time":"2020-06-03T13:23:04+00:00","author":"Sterling","twitter_card":"summary_large_image","twitter_creator":"@sterlingcomp","twitter_site":"@sterlingcomp","twitter_misc":{"Written by":"Sterling","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/sterling.com\/stargazer\/?p=8447#article","isPartOf":{"@id":"https:\/\/sterling.com\/stargazer\/?p=8447"},"author":{"name":"Sterling","@id":"https:\/\/sterling.com\/stargazer\/#\/schema\/person\/b812a18f3a1e77cd0925429d1546e49d"},"headline":"Provide Application Scalability using VMware Tanzu Kubernetes Grid","datePublished":"2020-06-03T13:23:04+00:00","mainEntityOfPage":{"@id":"https:\/\/sterling.com\/stargazer\/?p=8447"},"wordCount":1248,"commentCount":0,"publisher":{"@id":"https:\/\/sterling.com\/stargazer\/#organization"},"image":{"@id":"https:\/\/sterling.com\/stargazer\/?p=8447#primaryimage"},"thumbnailUrl":"","keywords":["kubernetes","tanzu","tanzulanding","vmware","vsphere"],"articleSection":["Announcements","Blog","News","Security"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/sterling.com\/stargazer\/?p=8447","url":"https:\/\/sterling.com\/stargazer\/?p=8447","name":"Provide Application Scalability using VMware Tanzu Kubernetes Grid - Sterling","isPartOf":{"@id":"https:\/\/sterling.com\/stargazer\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sterling.com\/stargazer\/?p=8447#primaryimage"},"image":{"@id":"https:\/\/sterling.com\/stargazer\/?p=8447#primaryimage"},"thumbnailUrl":"","datePublished":"2020-06-03T13:23:04+00:00","description":"Demonstrate the ability to deploy a best practice conformant Kubernetes cluster using Tanzu Kubernetes Grid to enable our application to autoscale based on demand.","breadcrumb":{"@id":"https:\/\/sterling.com\/stargazer\/?p=8447#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sterling.com\/stargazer\/?p=8447"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sterling.com\/stargazer\/?p=8447#primaryimage","url":"","contentUrl":""},{"@type":"BreadcrumbList","@id":"https:\/\/sterling.com\/stargazer\/?p=8447#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sterling.com\/stargazer\/"},{"@type":"ListItem","position":2,"name":"Provide Application Scalability using VMware Tanzu Kubernetes Grid"}]},{"@type":"WebSite","@id":"https:\/\/sterling.com\/stargazer\/#website","url":"https:\/\/sterling.com\/stargazer\/","name":"Sterling","description":"","publisher":{"@id":"https:\/\/sterling.com\/stargazer\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sterling.com\/stargazer\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/sterling.com\/stargazer\/#organization","name":"Sterling","url":"https:\/\/sterling.com\/stargazer\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/sterling.com\/stargazer\/#\/schema\/logo\/image\/","url":"https:\/\/sterling.com\/stargazer\/wp-content\/uploads\/2023\/03\/Sterling-Computers-Logo-TM.png","contentUrl":"https:\/\/sterling.com\/stargazer\/wp-content\/uploads\/2023\/03\/Sterling-Computers-Logo-TM.png","width":399,"height":145,"caption":"Sterling"},"image":{"@id":"https:\/\/sterling.com\/stargazer\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/facebook.com\/SterlingComp\/","https:\/\/x.com\/sterlingcomp","https:\/\/www.instagram.com\/sterlingcomputers\/","http:\/\/youtube.com\/@sterlingcomp","https:\/\/www.linkedin.com\/company\/sterling-computers"]},{"@type":"Person","@id":"https:\/\/sterling.com\/stargazer\/#\/schema\/person\/b812a18f3a1e77cd0925429d1546e49d","name":"Sterling","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/49107847cab9312fecfc9475e27da24373a491ca9faf45408ea019ad846f2c44?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/49107847cab9312fecfc9475e27da24373a491ca9faf45408ea019ad846f2c44?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/49107847cab9312fecfc9475e27da24373a491ca9faf45408ea019ad846f2c44?s=96&d=mm&r=g","caption":"Sterling"},"url":"https:\/\/sterling.com\/stargazer\/?author=2"}]}},"_links":{"self":[{"href":"https:\/\/sterling.com\/stargazer\/index.php?rest_route=\/wp\/v2\/posts\/8447","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sterling.com\/stargazer\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sterling.com\/stargazer\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sterling.com\/stargazer\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sterling.com\/stargazer\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8447"}],"version-history":[{"count":0,"href":"https:\/\/sterling.com\/stargazer\/index.php?rest_route=\/wp\/v2\/posts\/8447\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sterling.com\/stargazer\/index.php?rest_route=\/"}],"wp:attachment":[{"href":"https:\/\/sterling.com\/stargazer\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sterling.com\/stargazer\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=8447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sterling.com\/stargazer\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=8447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}