PageSourceSearch

https://www.civo.com/docs/assets/js/07236e4a.36cb028a.js

js civo.com collected 2026-10-02 04:02:20 UTC 22,450 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkcivo_documentation=self.webpackChunkcivo_documentation||[]).push([[6523],{680:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/cluster-building-7bbdd81b02356e16764338cd36ec2a8e.png"},1470:(e,n,t)=>{t.d(n,{A:()=>k});var r=t(6540),o=t(8215),i=t(7559),s=t(3104),a=t(6347),l=t(205),c=t(7485),u=t(1682),d=t(9466);function h(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw new Error(`Docusaurus error: Bad <Tabs> child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the <Tabs> component should be <TabItem>, and every <TabItem> should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:n,children:t}=e;return(0,r.useMemo)((()=>{const e=n??function(e){return h(e).map((({props:{value:e,label:n,attributes:t,default:r}})=>({value:e,label:n,attributes:t,default:r})))}(t);return function(e){const n=(0,u.XI)(e,((e,n)=>e.value===n.value));if(n.length>0)throw new Error(`Docusaurus error: Duplicate values "${n.map((e=>e.value)).join(", ")}" found in <Tabs>. Every value needs to be unique.`)}(e),e}),[n,t])}function m({value:e,tabValues:n}){return n.some((n=>n.value===e))}function f({queryString:e=!1,groupId:n}){const t=(0,a.W6)(),o=function({queryString:e=!1,groupId:n}){if("string"==typeof e)return e;if(!1===e)return null;if(!0===e&&!n)throw new Error('Docusaurus error: The <Tabs> component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:e,groupId:n});return[(0,c.aZ)(o),(0,r.useCallback)((e=>{if(!o)return;const n=new URLSearchParams(t.location.search);n.set(o,e),t.replace({...t.location,search:n.toString()})}),[o,t])]}function g(e){const{defaultValue:n,queryString:t=!1,groupId:o}=e,i=p(e),[s,a]=(0,r.useState)((()=>function({defaultValue:e,tabValues:n}){if(0===n.length)throw new Error("Docusaurus error: the <Tabs> component requires at least one <TabItem> children component");if(e){if(!m({value:e,tabValues:n}))throw new Error(`Docusaurus error: The <Tabs> has a defaultValue "${e}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return e}const t=n.find((e=>e.default))??n[0];if(!t)throw new Error("Unexpected error: 0 tabValues");return t.value}({defaultValue:n,tabValues:i}))),[c,u]=f({queryString:t,groupId:o}),[h,g]=function({groupId:e}){const n=function(e){return e?`docusaurus.tab.${e}`:null}(e),[t,o]=(0,d.Dv)(n);return[t,(0,r.useCallback)((e=>{n&&o.set(e)}),[n,o])]}({groupId:o}),b=(()=>{const e=c??h;return m({value:e,tabValues:i})?e:null})();(0,l.A)((()=>{b&&a(b)}),[b]);return{selectedValue:s,selectValue:(0,r.useCallback)((e=>{if(!m({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);a(e),u(e),g(e)}),[u,g,i]),tabValues:i}}var b=t(2303);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var x=t(4848);function w({className:e,block:n,selectedValue:t,selectValue:r,tabValues:i}){const a=[],{blockElementScrollPositionUntilNextRender:l}=(0,s.a_)(),c=e=>{const n=e.currentTarget,o=a.indexOf(n),s=i[o].value;s!==t&&(l(n),r(s))},u=e=>{let n=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const t=a.indexOf(e.currentTarget)+1;n=a[t]??a[0];break}case"ArrowLeft":{const t=a.indexOf(e.currentTarget)-1;n=a[t]??a[a.length-1];break}}n?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.A)("tabs",{"tabs--block":n},e),children:i.map((({value:e,label:n,attributes:r})=>(0,x.jsx)("li",{role:"tab",tabIndex:t===e?0:-1,"aria-selected":t===e,ref:e=>{a.push(e)},onKeyDown:u,onClick:c,...r,className:(0,o.A)("tabs__item",v.tabItem,r?.className,{"tabs__item--active":t===e}),children:n??e},e)))})}function j({lazy:e,children:n,selectedValue:t}){const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(e){const e=i.find((e=>e.props.value===t));return e?(0,r.cloneElement)(e,{className:(0,o.A)("margin-top--md",e.props.className)}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:i.map(((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==t})))})}function y(e){const n=g(e);return(0,x.jsxs)("div",{className:(0,o.A)(i.G.tabs.container,"tabs-container",v.tabList),
1children:[(0,x.jsx)(w,{...n,...e}),(0,x.jsx)(j,{...n,...e})]})}function k(e){const n=(0,b.A)();return(0,x.jsx)(y,{...e,children:h(e.children)},String(n))}},2152:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/cluster-info-f0bbf149e1639430dbf77aefe9a43459.png"},2939:(e,n,t)=>{t.d(n,{A:()=>r});const r=t.p+"assets/images/create-kubernetes-cluster-page-fd6928d990aa8ffececddeda5c823c38.png"},8453:(e,n,t)=>{t.d(n,{R:()=>s,x:()=>a});var r=t(6540);const o={},i=r.createContext(o);function s(e){const n=r.useContext(i);return r.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(o):e.components||o:s(e.components),r.createElement(i.Provider,{value:n},e.children)}},8558:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>u,contentTitle:()=>c,default:()=>p,frontMatter:()=>l,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"kubernetes/create-a-cluster","title":"Creating a Kubernetes cluster","description":"Create and customize your Kubernetes cluster on Civo. Select region, name, size, network, firewall, and more. Click for Civo Dashboard, CLI, or Terraform guides.","source":"@site/content/docs/kubernetes/create-a-cluster.md","sourceDirName":"kubernetes","slug":"/kubernetes/create-a-cluster","permalink":"/docs/kubernetes/create-a-cluster","draft":false,"unlisted":false,"editUrl":"https://git.civo.com/civo/kubernetes/public-docs/-/edit/main/content/docs/kubernetes/create-a-cluster.md","tags":[],"version":"current","lastUpdatedAt":null,"sidebarPosition":2,"frontMatter":{"title":"Creating a Kubernetes cluster","description":"Create and customize your Kubernetes cluster on Civo. Select region, name, size, network, firewall, and more. Click for Civo Dashboard, CLI, or Terraform guides.","sidebar_position":2},"sidebar":"mainSidebar","previous":{"title":"Kubernetes","permalink":"/docs/kubernetes/"},"next":{"title":"Deleting a Kubernetes cluster","permalink":"/docs/kubernetes/delete-a-cluster"}}');var o=t(4848),i=t(8453),s=t(1470),a=t(9365);const l={title:"Creating a Kubernetes cluster",description:"Create and customize your Kubernetes cluster on Civo. Select region, name, size, network, firewall, and more. Click for Civo Dashboard, CLI, or Terraform guides.",sidebar_position:2},c=void 0,u={},d=[{value:"Overview",id:"overview",level:2},{value:"Deploying Workloads on Civo Kubernetes",id:"deploying-workloads-on-civo-kubernetes",level:3},{value:"Creating a Cluster with the Dashboard",id:"creating-a-cluster-with-the-dashboard",level:2},{value:"Step 1 - Select your region",id:"step-1---select-your-region",level:3},{value:"Step 2 - Navigate to the cluster creation page",id:"step-2---navigate-to-the-cluster-creation-page",level:3},{value:"Step 3 - Provide your cluster details",id:"step-3---provide-your-cluster-details",level:3},{value:"Step 4 - Create your cluster",id:"step-4---create-your-cluster",level:3},{value:"Step 5 - Connect to your cluster",id:"step-5---connect-to-your-cluster",level:3},{value:"Creating a Cluster Using the Civo CLI",id:"creating-a-cluster-using-the-civo-cli",level:2},{value:"Using the CLI with No Options",id:"using-the-cli-with-no-options",level:3},{value:"Using the CLI command with Options",id:"using-the-cli-command-with-options",level:3},{value:"Downloading the Cluster <code>kubeconfig</code> from the CLI",id:"downloading-the-cluster-kubeconfig-from-the-cli",level:3},{value:"Viewing Cluster Information",id:"viewing-cluster-information",level:2}];function h(e){const n={a:"a",admonition:"admonition",code:"code",em:"em",h2:"h2",h3:"h3",img:"img",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components},{Head:r}=n;return r||function(e,n){throw new Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Head",!0),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r,{children:(0,o.jsx)("title",{children:"Creating a Kubernetes Cluster on Civo | Civo Documentation"})}),"\n",(0,o.jsx)(n.h2,{id:"overview",children:"Overview"}),"\n",(0,o.jsx)(n.p,{children:"Setting up a managed Kubernetes cluster on Civo offers a smooth experience, enabling you to personalise different c
1omponents of your cluster for an ideal configuration. Civo also provides a number of CPU and GPU options to ensure optimal performance, cost-efficiency, and scalability."}),"\n",(0,o.jsx)(n.p,{children:"Running GPU workloads (for example: TensorFlow, PyTorch, Real-time Inference) on Kubernetes requires higher computational requirements. In addition, large models require nodes with more GPU memory."}),"\n",(0,o.jsx)(n.admonition,{type:"tip",children:(0,o.jsxs)(n.p,{children:["For details on creating and configuring a GPU Cluster check out the ",(0,o.jsx)(n.a,{href:"/docs/kubernetes/advanced/gpu-config",children:"GPU Clusters page"})]})}),"\n",(0,o.jsx)(n.h3,{id:"deploying-workloads-on-civo-kubernetes",children:"Deploying Workloads on Civo Kubernetes"}),"\n",(0,o.jsx)(n.p,{children:"Civo Kubernetes supports deploying Standard, Performance, or CPU-Optimized workloads."}),"\n",(0,o.jsx)(n.p,{children:"The following instructions outline the steps for creating a Kubernetes cluster for standard workloads, with options to set up the cluster using the Civo Dashboard, Civo CLI, or Terraform."}),"\n",(0,o.jsxs)(s.A,{groupId:"create-cluster",children:[(0,o.jsxs)(a.A,{value:"dashboard",label:"Dashboard",children:[(0,o.jsx)(n.h2,{id:"creating-a-cluster-with-the-dashboard",children:"Creating a Cluster with the Dashboard"}),(0,o.jsx)(n.h3,{id:"step-1---select-your-region",children:"Step 1 - Select your region"}),(0,o.jsxs)(n.p,{children:["Select the Civo Region in which you are operating in the lower left of your ",(0,o.jsx)(n.a,{href:"https://dashboard.civo.com",children:"Dashboard page"}),"."]}),(0,o.jsx)(n.h3,{id:"step-2---navigate-to-the-cluster-creation-page",children:"Step 2 - Navigate to the cluster creation page"}),(0,o.jsxs)(n.p,{children:["From your Civo dashboard, navigate to the ",(0,o.jsx)(n.a,{href:"https://dashboard.civo.com/kubernetes/new",children:"Kubernetes cluster creation page"})]}),(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Overview of the cluster creation page on Civo",src:t(2939).A+"",width:"2364",height:"1822"})}),(0,o.jsx)(n.h3,{id:"step-3---provide-your-cluster-details",children:"Step 3 - Provide your cluster details"}),(0,o.jsx)(n.p,{children:"The sections on this page give you options for the cluster you are about to create. Complete the required fields to create your cluster."}),(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Name"})}),"\n",(0,o.jsxs)(n.p,{children:["Provide a name for your cluster. ",(0,o.jsx)(n.em,{children:"No spaces allowed."})]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Kubernetes version"})}),"\n",(0,o.jsx)(n.p,{children:"Select the desired Kubernetes version."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Number of nodes"})}),"\n",(0,o.jsx)(n.p,{children:"Kubernetes clusters on Civo can have multiple node pools - this is the number you want to launch in the cluster's initial node pool. This can be scaled up and down once the cluster is running, and does not include the control plane node, which is handled by Civo."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Network"})}),"\n",(0,o.jsx)(n.p,{children:"If you have created custom networks in this region, choose one of them here. Custom networks allow you to define private networking within a region, which allows you to prevent some resources from being routable to the public internet. Civo Kubernetes clusters always have a public IP address."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Firewall"})}),"\n",(0,o.jsx)(n.p,{children:"If you have configured existing firewalls in this region, select one of them for this cluster, or create a new firewall and specify which port(s) to open. Firewall rules can be customised after creation."}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Node size"})}),"\n",(0,o.jsxs)(n.p,{children:['The specifications for the machines in the initial node pool. These are priced per node, per hour. The "Hourly/Monthly" slider allows you to estimate the cost per month or per hour of the cluster running. For more information, see the ',(0,o.jsx)(n.a,{href:"/docs/account/billing",children:"Billing section"}),"."]}),"\n",(0,o.jsxs)(n.ul,{children:["\n",(0,o.jsx)(n.li,{children:"Sizes or configurations may not be available due to quota on your account or the number of nodes you have chosen in section 2 above"}),"\n",(0,o.jsx)(n.li,{children:"Depending on the applications you want to run on your cluster, you may 
1need to select larger nodes."}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Advanced options"})}),"\n",(0,o.jsx)(n.p,{children:"This section allows you to optionally configure advanced options, including the Container Networking Interface (CNI) and cluster type."}),"\n",(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsx)(n.p,{children:"Flannel and Talos Linux support are being deprecated."})}),"\n"]}),"\n",(0,o.jsxs)(n.li,{children:["\n",(0,o.jsx)(n.p,{children:(0,o.jsx)(n.strong,{children:"Marketplace"})}),"\n",(0,o.jsx)(n.p,{children:"Use Marketplace to remove applications and prevent them from being installed by default, or add applications to start alongside your cluster."}),"\n"]}),"\n"]}),(0,o.jsx)(n.h3,{id:"step-4---create-your-cluster",children:"Step 4 - Create your cluster"}),(0,o.jsxs)(n.p,{children:['When you are satisfied with your initial cluster configuration, select "',(0,o.jsx)(n.strong,{children:"Create cluster"}),"\" to finalize the creation and open the cluster's dashboard page. It takes a moment to become active, and displays the status during setup."]}),(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Cluster building",src:t(680).A+"",width:"2348",height:"1670"})}),(0,o.jsx)(n.h3,{id:"step-5---connect-to-your-cluster",children:"Step 5 - Connect to your cluster"}),(0,o.jsxs)(n.p,{children:["Once running, you can use ",(0,o.jsx)(n.code,{children:"kubectl"})," and the downloaded ",(0,o.jsx)(n.code,{children:"kubeconfig"})," file from the cluster's page to interact with your cluster. You will find the ",(0,o.jsx)(n.code,{children:"kubeconfig"}),' file for download in the "Cluster information" section:']}),(0,o.jsx)(n.p,{children:(0,o.jsx)(n.img,{alt:"Cluster information showing Kubeconfig download",src:t(2
1152).A+"",width:"2438",height:"370"})})]}),(0,o.jsxs)(a.A,{value:"cli",label:"Civo CLI",children:[(0,o.jsx)(n.h2,{id:"creating-a-cluster-using-the-civo-cli",children:"Creating a Cluster Using the Civo CLI"}),(0,o.jsxs)(n.p,{children:["You can create a Civo Kubernetes cluster on the command line by running the ",(0,o.jsx)(n.code,{children:"civo kubernetes create"})," command, with optional parameters."]}),(0,o.jsx)(n.h3,{id:"using-the-cli-with-no-options",children:"Using the CLI with No Options"}),(0,o.jsxs)(n.p,{children:["If you run ",(0,o.jsx)(n.code,{children:"civo kubernetes create"})," on its own, it creates a cluster in the currently-selected region with a generated name, some default options, and return."]}),(0,o.jsx)(n.h3,{id:"using-the-cli-command-with-options",children:"Using the CLI command with Options"}),(0,o.jsxs)(n.p,{children:["The CLI allows you to specify any number of options for your cluster, from the size of the nodes in the initial node pool to the firewall rules to set up, the version of Kubernetes to use, and more. A full list of options for cluster creation can be found by running ",(0,o.jsx)(n.code,{children:"civo kubernetes create --help"}),"."]}),(0,o.jsxs)(n.p,{children:['As an example, the following command will create a 4-node K3s cluster called "civo-cluster" of ',(0,o.jsx)(n.em,{children:"g4s.kube.medium"})," nodes, with a custom firewall with only port 6443 open, in the LON1 region, and wait for the cluster to become live before saving the ",(0,o.jsx)(n.em,{children:"kubeconfig"})," alongside your current ",(0,o.jsx)(n.code,{children:"~/.kube/config"})," file."]}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:'\ncivo kubernetes create civo-cluster -n 4 -s g4s.kube.medium --cluster-type k3s --create-firewall --firewall-rules "6443" --region LON1 --wait --save --merge --switch`\n\n'})}),(0,o.jsxs)(n.p,{children:["When you run the above, the Civo CLI shows you the completion time and confirmation that your ",(0,o.jsx)(n.em,{children:"kubeconfig"})," has been merged in, and the current context has been switched to the new cluster:"]}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-console",children:"Merged with main kubernetes config: ~/.kube/config\n\nAccess your cluster with:\nkubectl get node\nThe cluster civo-cluster (ac1447d4-d938-4c0d-8eb6-7844b7f0a4dd) has been created in 1 min 28 sec\n"})}),(0,o.jsxs)(n.h3,{id:"downloading-the-cluster-kubeconfig-from-the-cli",children:["Downloading the Cluster ",(0,o.jsx)(n.code,{children:"kubeconfig"})," from the CLI"]}),(0,o.jsxs)(n.p,{children:["Once running, you can use ",(0,o.jsx)(n.code,{children:"kubectl"})," and the ",(0,o.jsx)(n.em,{children:"kubeconfig"})," file from the cluster to interact with it. If you did not save the ",(0,o.jsx)(n.em,{children:"kubeconfig"})," on cluster creation, you can use ",(0,o.jsx)(n.code,{children:"civo kubernetes config civo-cluster --save"})," to download the configuration and access your cluster."]}),(0,o.jsx)(n.h2,{id:"viewing-cluster-information",children:"Viewing Cluster Information"}),(0,o.jsxs)(n.p,{children:["Once you have a running cluster, you can get a nicely-formatted information screen by running ",(0,o.jsx)(n.code,{children:"civo kubernetes show [cluster_name]"}),". You can also use a partial name or unique section of the ID to have it show, like in the following example - as long as the part of the name you input matches only one cluster, you'll get the cluster information returned:"]}),(0,o.jsx)(n.pre,{children:(0,o.jsx)(n.code,{className:"language-bash",children:"$ civo k8s show demo\n                    ID : 73866847-749a-43b9-8168-65bc3cc12ffc\n                  Name : docs-demo\n          ClusterType : k3s\n                Region : LON1\n                Nodes : 4\n                  Size : g4s.kube.medium\n                Status : ACTIVE\n              Firewall : k3s-cluster-docs-demo-0377-b72777\n              Version : 1.23.6-k3s1\n          API Endpoint : https://74.220.27.254:6443\n          External IP : 74.220.27.254\n          DNS A record : 73866847-749a-43b9-8168-65bc3cc12ffc.k8s.civo.com\nInstalled Applications : Traefik-v2-nodeport, metrics-server\n\nPool (a1cd9b):\n+-------------------------------------------------+---------------+----------+-----------------+-----------+----------+---------------+\n| Name                                            | IP            | Status   | Size            | Cpu Cores | RAM (MB) | SSD disk (GB) |\n+-------------------------------------------------+---------------+----------+-----------------+-----------+----------+---------------+\n| k3s-docs-demo-614e-9e2f67-node-pool-1372-dnz9h  | 74.220.27.254 | ACTIVE   | g4s.kube.medium |         1 |     2048 |            40 |\n| k3s-docs-demo-614e-9e2f67-node-pool-1372-2u195  |               | BUILD
1ING | g4s.kube.medium |         1 |     2048 |            40 |\n| k3s-docs-demo-614e-9e2f67-node-pool-1372-ts645  |               | ACTIVE   | g4s.kube.medium |         1 |     2048 |            40 |\n| k3s-docs-demo-614e-9e2f67-node-pool-1372-4xirw  |               | BUILDING | g4s.kube.medium |         1 |     2048 |            40 |\n+-------------------------------------------------+---------------+----------+-----------------+-----------+----------+---------------+\n\nLabels:\nkubernetes.civo.com/node-pool=a1cd9b96-3707-4998-8fc3-209144ad234c\nkubernetes.civo.com/node-size=g4s.kube.medium\n\nApplications:\n+---------------------+-----------+-----------+--------------+\n| Name                | Version   | Installed | Category     |\n+---------------------+-----------+-----------+--------------+\n| Traefik-v2-nodeport |       2.6 | true      | architecture |\n| metrics-server      | (default) | true      | architecture |\n+---------------------+-----------+-----------+--------------+\n"})}),(0,o.jsxs)(n.p,{children:["You can see that the four nodes that were requested are running, they are the size they were specified to be above, and the cluster has the default installed applications, ",(0,o.jsx)(n.em,{children:"Traefik"})," and the Kubernetes ",(0,o.jsx)(n.em,{children:"metrics-server"})," up as well. Any changes, such as scaling your cluster up/down, are immediately reflected on this status screen as shown in the ",(0,o.jsx)(n.em,{children:"BUILDING"})," state of the two nodes."]}),(0,o.jsx)(n.admonition,{type:"note",children:(0,o.jsxs)(n.p,{children:["You will need to have set the correct ",(0,o.jsx)(n.a,{href:"/docs/overview/regions",children:"Civo region"})," for where the cluster was created when you ",(0,o.jsx)(n.a,{href:"/docs/overview/civo-cli",children:"set up Civo CLI"}),", or specify it in the command with ",(0,o.jsx)(n.code,{children:"--region"})," to be able to view the cluster information."]})})]})]})]})}function p(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,o.jsx)(n,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},9365:(e,n,t)=>{t.d(n,{A:()=>s});t(6540);var r=t(8215);const o={tabItem:"tabItem_Ymn6"};var i=t(4848);function s({children:e,hidden:n,className:t}){return(0,i.jsx)("div",{role:"tabpanel",className:(0,r.A)(o.tabItem,t),hidden:n,children:e})}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.