PageSourceSearch

https://docs-spectrocloud.netlify.app/assets/js/5492f30e.1a4c52ed.js

js docs-spectrocloud.netlify.app collected 2026-10-03 10:43:29 UTC 12,874 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkspectro_cloud_docs=self.webpackChunkspectro_cloud_docs||[]).push([["15390"],{387752:function(e,n,t){t.r(n),t.d(n,{frontMatter:()=>l,toc:()=>c,default:()=>u,metadata:()=>r,assets:()=>o,contentTitle:()=>a});var r=JSON.parse('{"id":"clusters/edge/cluster-management/agent-upgrade-airgap","title":"Configure Palette Agent Version","description":"Learn how to upgrade the Palette agent on local clusters. ","source":"@site/docs/docs-content/clusters/edge/cluster-management/agent-upgrade-airgap.md","sourceDirName":"clusters/edge/cluster-management","slug":"/clusters/edge/cluster-management/agent-upgrade-airgap","permalink":"/clusters/edge/cluster-management/agent-upgrade-airgap","draft":false,"unlisted":false,"editUrl":"https://github.com/spectrocloud/librarium/blob/master/docs/docs-content/clusters/edge/cluster-management/agent-upgrade-airgap.md","tags":[{"inline":true,"label":"edge","permalink":"/tags/edge"},{"inline":true,"label":"architecture","permalink":"/tags/architecture"}],"version":"current","lastUpdatedAt":1777826507000,"sidebarPosition":30,"frontMatter":{"sidebar_label":"Configure Palette Agent Version","title":"Configure Palette Agent Version","description":"Learn how to upgrade the Palette agent on local clusters. ","hide_table_of_contents":false,"sidebar_position":30,"tags":["edge","architecture"]},"sidebar":"docSidebar","previous":{"title":"Renew Certificates for Local Clusters","permalink":"/clusters/edge/cluster-management/certificate-renewal"},"next":{"title":"Reset Host via Terminal","permalink":"/clusters/edge/cluster-management/reset-host"}}'),s=t(474848),i=t(884429);let l={sidebar_label:"Configure Palette Agent Version",title:"Configure Palette Agent Version",description:"Learn how to upgrade the Palette agent on local clusters. ",hide_table_of_contents:!1,sidebar_position:30,tags:["edge","architecture"]},a,o={},c=[{value:"Prerequisites",id:"prerequisites",level:2},{value:"Procedure",id:"procedure",level:2},{value:"Identify the Target Agent Version",id:"identify-the-target-agent-version",level:3},{value:"Upgrade Palette Agent Version",id:"upgrade-palette-agent-version",level:3},{value:"Validate",id:"validate",level:2}];function d(e){let n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.R)(),...e.components},{TabItem:t,Tabs:r}=n;return t||h("TabItem",!0),r||h("Tabs",!0),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(n.p,{children:["In centrally managed clusters, the Palette agent gets upgraded automatically with Palette upgrades, unless you\nexplicitly ",(0,s.jsx)(n.a,{href:"/clusters/cluster-management/platform-settings/pause-platform-upgrades",children:"pause upgrades"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"In local clusters, the Palette agent is upgraded automatically only if you update a cluster with a cluster definition\nand content bundle built on a Palette instance after a version update. The Palette agent is then updated to match the\nversion of the Palette instance. This may result in an upgrade if the instance is newer than your Palette agent, or a\ndowngrade if it is older."}),"\n",(0,s.jsx)(n.p,{children:"When you want to explicitly trigger the agent version update, you can include the new agent version in a new cluster\nprofile, and upgrade the cluster using the new profile. This page teaches you how to identify the matching agent version\nof a Palette instance, as well as how to specify a Palette agent package in the Operating System (OS) pack of a cluster\nprofile. This is useful for upgrading the Palette agent on a local Edge cluster and for launching new centrally managed\nclusters while using an older version of the Palette agent."}),"\n",(0,s.jsx)(n.h2,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"An active Edge cluster."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Linux Machine (Physical or VM) with an AMD64 architecture."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Palette API key. Refer to the ",(0,s.jsx)(n.a,{href:"/user-management/authentication/api-key/create-api-key",children:"User Authentication"}),"\nresource to learn how to create a Palette API key."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["An Edge type cluster profile. Refer to ",(0,s.jsx)(n.a,{href:"/clusters/edge/site-deployment/model-profile",children:"Create Edge Native Cluster Profile"})," guide\nto learn how to create an Edge Native cluster profile. You may also have other add-on profiles that you wish to attach\nto your cluster."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"pack.content.images"})," parameter in your profiles contains the exact location of container images to be downloaded."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"procedure",children:"Procedure"}),"\n",(0,s.jsx)(n.h3,{id:"identify-the-target-agent-version",children:"Identify the Target Agent Version"}),"\n",(0,s.jsx)(n.p,{children:"If you already know the agent version you want to use for your cluster, you can skip this 
1step."}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["The target agent version depends on the Palette instance you use to build content bundles for your Edge cluster. Use\nthe following request to identify the target version. If you are using self-hosted Palette or VerteX, replace\n",(0,s.jsx)(n.code,{children:"api.spectrocloud.com"})," with the fully qualified domain name of your API endpoints. Replace the ",(0,s.jsx)(n.code,{children:"apiKey"})," field with\nyour API key."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-shell",children:"curl --location 'https://api.spectrocloud.com/v1/services/stylus/version' \\\n--header 'apiKey: ******'\n"})}),"\n",(0,s.jsx)(n.p,{children:"You can expect a response similar to the following. In the following response, the target agent version is 4.5.5."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",metastring:"{9}",children:'{\n  "metadata": {\n    "creationTimestamp": "0001-01-01T00:00:00.000Z",\n    "deletionTimestamp": "0001-01-01T00:00:00.000Z",\n    "lastModifiedTimestamp": "0001-01-01T00:00:00.000Z"\n  },\n  "spec": {\n    "latestVersion": {\n      "content": "name: stylus\\nversion: 4.5.5\\nbuildId: \\"20241025\\"\\nmajorVersion: \\"4.5\\"\\napplyFilepath: /roar/stylus/4.5/4.5.5/apply/manifest.yaml\\ndeleteFilepath: \\"\\"\\n",\n      "name": "manifest.yaml",\n      "path": "nickfury/4.5/4.5.5/apply/services.yaml"\n    },\n    "name": "stylus"\n  }\n}\n'})}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(n.h3,{id:"upgrade-palette-agent-version",children:"Upgrade Palette Agent Version"}),"\n",(0,s.jsxs)(n.ol,{start:"2",children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Log in to ",(0,s.jsx)(n.a,{href:"https://console.spectrocloud.com",children:"Palette"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["From the left ",(0,s.jsx)(n.strong,{children:"Main Menu"}),", select ",(0,s.jsx)(n.strong,{children:"Profiles"}),". Select the profile you want your cluster to upgrade to."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Create a new version of the profile. For more information, refer to\n",(0,s.jsx)(n.a,{href:"/clusters/cluster-management/cluster-updates",children:"Update a Cluster"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["In the OS layer of the profile, include the following lines. Replace ",(0,s.jsx)(n.code,{children:"versionNumber"})," with your target agent version\nnumber you obtained in the first step or any other version number you want to use. Replace ",(0,s.jsx)(n.code,{children:"amd64"})," with ",(0,s.jsx)(n.code,{children:"arm64"})," if\nyour hardware uses ",(0,s.jsx)(n.code,{children:"arm64"})," architecture."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-yaml",metastring:"{5,10}",children:'pack:\n  content:\n    images:\n      - image: "{{.spectro.pack.edge-native-byoi.options.system.uri}}"\n      - image: "container://us-docker.pkg.dev/palette-images/edge/stylus-linux-amd64:v<versionNumber>"\n\noptions:\n  system.uri: spectrocloud/ubuntu:k3s-1.29.5-v4.5.8-palette-demo\n\nstylusPackage: container://us-docker.pkg.dev/palette-images/edge/stylus-linux-amd64:v<versionNumber>\n'})}),"\n",(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsxs)(n.p,{children:["Following the EdgeForge process, it's likely that your provider image has a ",(0,s.jsx)(n.code,{children:"peVersion"})," parameter. You can use a\ndifferent version value in the ",(0,s.jsx)(n.code,{children:"peVersion"})," parameter from the version you use for ",(0,s.jsx)(n.code,{children:"stylusPackage"}),"."]})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Click ",(0,s.jsx)(n.strong,{children:"Save Changes"})," to publish the new version."]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(r,{groupId:"deploy",children:[(0,s.jsx)(t,{value:"Local",children:(0,s.jsxs)(n.ol,{start:"7",children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Follow ",(0,s.jsx)(n.a,{href:"/clusters/edge/edgeforge-workflow/palette-canvos/build-content-bundle",children:"Build Content Bundles"})," and\n",(0,s.jsx)(n.a,{href:"/clusters/edge/local-ui/cluster-management/export-cluster-definition",children:"Export Cluster Definition"})," to build a content bundle\nusing your new cluster profile and export the cluster definition."]}),"\n",(0,s.jsx)(n.admonition,{type:"warning",children:(0,s.jsx)(n.p,{children:"If you are upgrading to an agent version that is 4.6.16 or later, use the Palette CLI. Do not use the Palette Edge\nCLI."})}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Upload the content bundle to your cluster through Local UI. For more information, refer to\n",(0,s.jsx)(n.a,{href:"/clusters/edge/local-ui/cluster-management/upload-content-bundle",children:"Upload Content Bundle"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Update your cluster using the new cluster definition. For more information, refer to\n",(0,s.jsx)(n.a,{href:"/clusters/edge/local-ui/cluster-management/update-cluster",children:"Update Local Cluster"}),"."]}),"\n"]}),"\n"]})}),(0,s.jsx)(t,{value:"Central",children:(0,s.jsxs)(n.ol,{start:"7",children:["\n",(0,s.jsxs)(n.li,{children:["Refer to ",(0,s.jsx)(n.a,{href:"/clusters/cluster-management/cluster-updates",children:"Update a Cluster"})," to update your cluster with the new profile\nversion."]}),"\n"]})})]}),"\n",(0,s.jsx)(n.h2,{id:"validate",children:"Validate"}),"\n",(0,s.jsxs)(r,{groupId:"deploy",children:[(0,s.jsx)(t,{value:"Local",children:(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Log in to Local UI. Refer to ",(0,s.jsx)(n.a,{href:"/clusters/edge/local-ui/host-management/access-console",children:"Access Local UI Console"})," for guidance."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["In the ",(0,s.jsx)(n.strong,{children:"Edge Host"})," page, confirm that the agent version has been updated in the ",(0,s.jsx)(n.strong,{children:"Overview"})," table."]}),"\n"]}),"\n"]})}),(0,s.jsx)(t,{value:"Central",children:(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["Log in to ",(0,s.jsx)(n.a,{href:"https://console.spectrocloud.com",children:"Palette"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["From the left ",(0,s.jsx)(n.strong,{children:"Main Menu"}
1),", click ",(0,s.jsx)(n.strong,{children:"Clusters"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsx)(n.p,{children:"Select your cluster."}),"\n"]}),"\n",(0,s.jsxs)(n.li,{children:["\n",(0,s.jsxs)(n.p,{children:["In the ",(0,s.jsx)(n.strong,{children:"Cluster Details"})," page, ensure that the ",(0,s.jsx)(n.strong,{children:"Agent version"})," field is the same as you specified."]}),"\n"]}),"\n"]})})]})]})}function u(e={}){let{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(d,{...e})}):d(e)}function h(e,n){throw Error("Expected "+(n?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}},884429:function(e,n,t){t.d(n,{R:()=>l,x:()=>a});var r=t(296540);let s={},i=r.createContext(s);function l(e){let 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(s):e.components||s:l(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]);

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.