{"id":88,"date":"2024-04-01T07:50:54","date_gmt":"2024-04-01T07:50:54","guid":{"rendered":"https:\/\/oneboxinthecloud.com\/?p=88"},"modified":"2024-09-09T10:09:51","modified_gmt":"2024-09-09T10:09:51","slug":"stretched-cluster-design","status":"publish","type":"post","link":"https:\/\/oneboxinthecloud.com\/index.php\/2024\/04\/01\/stretched-cluster-design\/","title":{"rendered":"Distributed Telco Cloud Architecture &#8211; Part 3 -Stretched cluster design"},"content":{"rendered":"\n<p>In the case of the RAN environment we have to design stretched cluster for the DU workloads.<\/p>\n\n\n\n<p>From TCP RA 3.1 guide, stretched cluster is defined as below<br>If you create a Tanzu Kubernetes cluster where node pools are deployed to different target endpoints (within a single vCenter), it is called a Stretched Cluster. In this scenario, multiple vSphere endpoints are used as target endpoints for different node pools within a single cluster.<\/p>\n\n\n\n<p>There are some conditions that needs to be met while configuring such a topology i.e.<br>When using stretched cluster designs, storage zoning is required if the datastores on each vSphere cluster are unique (as with a vSAN design). This ensures that node pools within a resource pool on a vSphere Cluster or standalone host can consume the appropriate storage for any persistent volume claims the cluster might need.<\/p>\n\n\n\n<p>Without this configuration the DU instantiation will fail.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/storageawaredesignproblem-2-1024x598.png\" alt=\"\" class=\"wp-image-103\" width=\"733\" height=\"428\" srcset=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/storageawaredesignproblem-2-1024x598.png 1024w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/storageawaredesignproblem-2-300x175.png 300w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/storageawaredesignproblem-2-768x449.png 768w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/storageawaredesignproblem-2.png 1205w\" sizes=\"auto, (max-width: 733px) 100vw, 733px\" \/><figcaption>No storage aware configuration (Design credits Hiroshi Ohno san)<\/figcaption><\/figure>\n\n\n\n<p>While enabling multi-zone, we have to ensure that&nbsp;<br>For region: vSphere data center has tags attached for the selected category.&nbsp;<br>For zone: vSphere Cluster or hosts under the vSphere cluster has tags attached for the selected category.<br>Ensure that vSphere Cluster and hosts under vSphere cluster does not share the same tags.<\/p>\n\n\n\n<p>The topology for the same can be drawn like below&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/stretched-cluster-design-topology-0.jpg\" alt=\"\" class=\"wp-image-89\" width=\"890\" height=\"668\" srcset=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/stretched-cluster-design-topology-0.jpg 1024w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/stretched-cluster-design-topology-0-300x225.jpg 300w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/stretched-cluster-design-topology-0-768x576.jpg 768w\" sizes=\"auto, (max-width: 890px) 100vw, 890px\" \/><figcaption>vSphere cluster design logical view<\/figcaption><\/figure>\n\n\n\n<p>&nbsp;<\/p>\n\n\n\n<p>Categories can be defined in vSphere Client &gt; \u2018Tags &amp; Custom Attributes\u2019 &gt; Categories tab<br>e.g. k8s-zone for clusters &amp; individual hosts, k8s-region for datacenter<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"268\" src=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/Tags-n-Custom-attributes-Categories-copy-1024x268.png\" alt=\"\" class=\"wp-image-90\" srcset=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/Tags-n-Custom-attributes-Categories-copy-1024x268.png 1024w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/Tags-n-Custom-attributes-Categories-copy-300x78.png 300w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/Tags-n-Custom-attributes-Categories-copy-768x201.png 768w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/Tags-n-Custom-attributes-Categories-copy.png 1220w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Tags &amp; Custom Attributes Categories<\/figcaption><\/figure>\n\n\n\n<p>Tags can be defined in vSphere Client &gt; \u2018Tags &amp; Custom Attributes\u2019 &gt; Tags tab<br>e.g. Tag region-dc can be defined for vcenter_datacenter &amp; assigned Category k8s-region<br>Tag zone-cls can be defined for vcenter_cluster_vsan_configured &amp; assigned Category k8s-zone<br>Tag zone-host4 can be defined for Host4_local_datastore &amp; assigned Category k8s-zone<br>Tag zone-host5 can be defined for Host5_local_datastore &amp; assigned Category k8s-zone <br>i.e.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/stretched-cluster-design-topology-after-tagging.jpg\" alt=\"\" class=\"wp-image-91\" width=\"891\" height=\"667\" srcset=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/stretched-cluster-design-topology-after-tagging.jpg 1024w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/stretched-cluster-design-topology-after-tagging-300x225.jpg 300w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/stretched-cluster-design-topology-after-tagging-768x576.jpg 768w\" sizes=\"auto, (max-width: 891px) 100vw, 891px\" \/><figcaption>vSphere cluster design logical view with Tags &amp; Categories<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/storageawaredesignsolution-1024x582.png\" alt=\"\" class=\"wp-image-104\" width=\"725\" height=\"412\" srcset=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/storageawaredesignsolution-1024x582.png 1024w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/storageawaredesignsolution-300x171.png 300w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/storageawaredesignsolution-768x437.png 768w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/storageawaredesignsolution.png 1224w\" sizes=\"auto, (max-width: 725px) 100vw, 725px\" \/><figcaption>Storage aware configuration (Diagram credits Hiroshi Ohno san) <\/figcaption><\/figure>\n\n\n\n<p>In the workload cluster, define the zone &amp; region categories in the vSphere-CSI add-on configuration.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/workload-cluster-Add-ons-copy-1024x522.png\" alt=\"\" class=\"wp-image-93\" width=\"731\" height=\"372\" srcset=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/workload-cluster-Add-ons-copy-1024x522.png 1024w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/workload-cluster-Add-ons-copy-300x153.png 300w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/workload-cluster-Add-ons-copy-768x392.png 768w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/workload-cluster-Add-ons-copy.png 1043w\" sizes=\"auto, (max-width: 731px) 100vw, 731px\" \/><figcaption>Workload cluster Add-Ons list<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/vsphere-csi-add-on-configuration-copy-1.png\" alt=\"\" class=\"wp-image-94\" width=\"761\" height=\"636\" srcset=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/vsphere-csi-add-on-configuration-copy-1.png 687w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/vsphere-csi-add-on-configuration-copy-1-300x251.png 300w\" sizes=\"auto, (max-width: 761px) 100vw, 761px\" \/><figcaption>vSphere-CSI configuration<\/figcaption><\/figure>\n\n\n\n<p>This configuration is important before deploying workloads, as in absence of it PV creation will fail and pods will fail to deploy (Error: failed to get shared datastore for topology).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/Failed-to-get-shared-datastore-copy-1024x132.png\" alt=\"\" class=\"wp-image-95\" width=\"749\" height=\"96\" srcset=\"https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/Failed-to-get-shared-datastore-copy-1024x132.png 1024w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/Failed-to-get-shared-datastore-copy-300x39.png 300w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/Failed-to-get-shared-datastore-copy-768x99.png 768w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/Failed-to-get-shared-datastore-copy-1536x199.png 1536w, https:\/\/oneboxinthecloud.com\/wp-content\/uploads\/2024\/04\/Failed-to-get-shared-datastore-copy-2048x265.png 2048w\" sizes=\"auto, (max-width: 749px) 100vw, 749px\" \/><figcaption>Error : failed to get shared datastore<\/figcaption><\/figure>\n\n\n\n<p>Hoping above pointers will help in your lab activities. Cheers \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the case of the RAN environment we have to design stretched cluster for the DU workloads. From TCP RA 3.1 guide, stretched cluster is defined as belowIf you create a Tanzu Kubernetes cluster where node pools are deployed to different target endpoints (within a single vCenter), it is called a Stretched Cluster. In this [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_mi_skip_tracking":false,"footnotes":""},"categories":[6],"tags":[],"class_list":["post-88","post","type-post","status-publish","format-standard","hentry","category-labassist"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/oneboxinthecloud.com\/index.php\/wp-json\/wp\/v2\/posts\/88","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/oneboxinthecloud.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/oneboxinthecloud.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/oneboxinthecloud.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/oneboxinthecloud.com\/index.php\/wp-json\/wp\/v2\/comments?post=88"}],"version-history":[{"count":5,"href":"https:\/\/oneboxinthecloud.com\/index.php\/wp-json\/wp\/v2\/posts\/88\/revisions"}],"predecessor-version":[{"id":122,"href":"https:\/\/oneboxinthecloud.com\/index.php\/wp-json\/wp\/v2\/posts\/88\/revisions\/122"}],"wp:attachment":[{"href":"https:\/\/oneboxinthecloud.com\/index.php\/wp-json\/wp\/v2\/media?parent=88"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/oneboxinthecloud.com\/index.php\/wp-json\/wp\/v2\/categories?post=88"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/oneboxinthecloud.com\/index.php\/wp-json\/wp\/v2\/tags?post=88"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}