1"use strict";(self.webpackChunktigera_docs=self.webpackChunktigera_docs||[]).push([[350],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>g});var a=r(67294);function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function i(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function o(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?i(Object(r),!0).forEach((function(t){n(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function p(e,t){if(null==e)return{};var r,a,n=function(e,t){if(null==e)return{};var r,a,n={},i=Object.keys(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)r=i[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var s=a.createContext({}),l=function(e){var t=a.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):o(o({},t),e)),r},u=function(e){var t=l(e.components);return a.createElement(s.Provider,{value:t},e.children)},c={inlineCode:"code",wrapper:function(e){var t=e.children;return a.createElement(a.Fragment,{},t)}},d=a.forwardRef((function(e,t){var r=e.components,n=e.mdxType,i=e.originalType,s=e.parentName,u=p(e,["components","mdxType","originalType","parentName"]),d=l(r),g=n,m=d["".concat(s,".").concat(g)]||d[g]||c[g]||i;return r?a.createElement(m,o(o({ref:t},u),{},{components:r})):a.createElement(m,o({ref:t},u))}));function g(e,t){var r=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=r.length,o=new Array(i);o[0]=d;var p={};for(var s in t)hasOwnProperty.call(t,s)&&(p[s]=t[s]);p.originalType=e,p.mdxType="string"==typeof e?e:n,o[1]=p;for(var l=2;l<i;l++)o[l]=r[l];return a.createElement.apply(null,o)}return a.createElement.apply(null,r)}d.displayName="MDXCreateElement"},37332:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>o,default:()=>m,frontMatter:()=>i,metadata:()=>p,toc:()=>l});var a=r(87462),n=(r(67294),r(3905));const i={description:"Upgrade to a newer version of Calico Enterprise installed with OpenShift."},o="Upgrade Calico Enterprise installed with OpenShift",p={unversionedId:"getting-started/upgrading/upgrading-enterprise/openshift-upgrade",id:"version-3.16/getting-started/upgrading/upgrading-enterprise/openshift-upgrade",title:"Upgrade Calico Enterprise installed with OpenShift",description:"Upgrade to a newer version of Calico Enterprise installed with OpenShift.",source:"@site/calico-enterprise_versioned_docs/version-3.16/getting-started/upgrading/upgrading-enterprise/openshift-upgrade.mdx",sourceDirName:"getting-started/upgrading/upgrading-enterprise",slug:"/getting-started/upgrading/upgrading-enterprise/openshift-upgrade",permalink:"/calico-enterprise/3.16/getting-started/upgrading/upgrading-enterprise/openshift-upgrade",draft:!1,editUrl:"https://github.com/tigera/docs/edit/main/calico-enterprise_versioned_docs/version-3.16/getting-started/upgrading/upgrading-enterprise/openshift-upgrade.mdx",tags:[],version:"3.16",frontMatter:{description:"Upgrade to a newer version of Calico Enterprise installed with OpenShift."},sidebar:"calicoEnterpriseSidebar",previous:{title:"Upgrade Calico Enterprise installed with the operator",permalink:"/calico-enterprise/3.16/getting-started/upgrading/upgrading-enterprise/kubernetes-upgrade-tsee/operator"},next:{title:"Upgrade from Calico to Calico Enterprise",permalink:"/calico-enterprise/3.16/getting-started/upgrading/upgrading-calico-to-calico-enterprise/"}},s={},l=[{value:"Upgrades paths",id:"upgrades-paths",level:2},{value:"Prerequisites",id:"prerequisites",level:2},{value:"Prepare your cluster for the upgrade",id:"prepare-your-cluster-for-the-upgrade",level:2},{value:"Download the new manifests",id:"download-the-new-manifests",level:2}],u=e=>function(t){return console.warn("Component "+e+" was not imported, exported, or provided by MDXProvider as global scope"),(0,n.kt)("div",t)},c=u("InstallOpenShiftManifests"),d=u("OpenShiftPrometheusOperator"),g={toc:l};
1function m(e){let{components:t,...r}=e;return(0,n.kt)("wrapper",(0,a.Z)({},g,r,{components:t,mdxType:"MDXLayout"}),(0,n.kt)("h1",{id:"upgrade-calico-enterprise-installed-with-openshift"},"Upgrade Calico Enterprise installed with OpenShift"),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"All upgrades in Calico Enterprise are free with a valid license.")),(0,n.kt)("h2",{id:"upgrades-paths"},"Upgrades paths"),(0,n.kt)("p",null,"You can upgrade your cluster to a maximum of ",(0,n.kt)("strong",{parentName:"p"},"two releases")," from your existing version. For example, if you are on version 3.6, you can upgrade to 3.7, or you can upgrade directly to 3.8. However, you cannot upgrade beyond ",(0,n.kt)("strong",{parentName:"p"},"two releases"),"; upgrading from 3.6 to 3.9 (three releases) is not supported."),(0,n.kt)("p",null,"If you are several versions behind where you want to be, you must go through each group of two releases to get there. For example, if you are on version 3.6, and you want to get to 3.10, you can upgrade to 3.8, then upgrade from 3.8 directly to 3.10."),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"Always check the ",(0,n.kt)("a",{parentName:"p",href:"/calico-enterprise/3.16/release-notes/"},"Release Notes")," for exceptions; limitations can override the above pattern.")),(0,n.kt)("h2",{id:"prerequisites"},"Prerequisites"),(0,n.kt)("p",null,"Ensure that your Calico Enterprise OpenShift cluster is running a supported version of ",(0,n.kt)("a",{parentName:"p",href:"/calico-enterprise/3.16/getting-started/compatibility#openshift"},"OpenShift Container Platform"),", and the Calico Enterprise operator version is v1.2.4 or greater."),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"You can check if you are running the operator by checking for the existence of the operator namespace\nwith ",(0,n.kt)("inlineCode",{parentName:"p"},"oc get ns tigera-operator")," or issuing ",(0,n.kt)("inlineCode",{parentName:"p"},"oc get tigerastatus"),"; a successful return means your installation is\nusing the operator.")),(0,n.kt)("h2",{id:"prepare-your-cluster-for-the-upgrade"},"Prepare your cluster for the upgrade"),(0,n.kt)("p",null,"During upgrade, the Calico Enterprise LogStorage CR is temporarily removed so Elasticsearch can be upgraded. Features\nthat depend on LogStorage are temporarily unavailable, including dashboards in the Manager UI. Data ingestion is paused\ntemporarily, but resumes when the LogStorage is up and running again."),(0,n.kt)("p",null,"To retain data from your current installation (optional), ensure that the currently mounted persistent volumes\nhave their reclaim policy set to ",(0,n.kt)("a",{parentName:"p",href:"https://kubernetes.io/docs/tasks/administer-cluster/change-pv-reclaim-policy/"},"retain data"),".\nData retention is recommended only for users that have a valid Elasticsearch license. (Trial licenses can be invalidated\nduring upgrade)."),(0,n.kt)("p",null,"If your cluster has Windows nodes and uses custom TLS certificates for log storage, prior to upgrade, prepare and apply new certificates for ",(0,n.kt)("a",{parentName:"p",href:"/calico-enterprise/3.16/operations/comms/log-storage-tls"},"log storage")," that include the required service DNS names."),(0,n.kt)("p",null,"For Calico Enterprise v3.5 and v3.7, upgrading multi-cluster management setups must include updating all managed and management clusters."),(0,n.kt)("h2",{id:"download-the-new-manifests"},"Download the new manifests"),(0,n.kt)("p",null,"Make a manifests directory."),(0,n.kt)("pre",null,(0,n.kt)("code",{parentName:"pre",className:"language-bash"},"mkdir manifests\n")),(0,n.kt)(c,{upgradeFrom:"Enterprise",mdxType:"InstallOpenShiftManifests"}),(0,n.kt)("h1",{id:"upgrade-from-30-or-later"},"Upgrade from 3.0 or later"),(0,n.kt)("admonition",{type:"note"},(0,n.kt)("p",{parentName:"admonition"},"The steps differ based on your cluster type. If you are unsure of your cluster type, look at the field ",(0,n.kt)("inlineCode",{parentName:"p"},"clusterManagementType")," when you run ",(0,n.kt)("inlineCode",{parentName:"p"},"oc get installation -o yaml")," before you proceed.")),(0,n.kt)("ol",null,(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Apply the updated manifests."),(0,n.kt)("pre",{parentName:"li"},(0,n.kt)("code",{parentName:"pre",className:"language-bash"},"oc apply --server-side --force-conflicts -f manifests/\n"))),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)(d,{operation:"upgrade",mdxType:"OpenShiftPrometheusOperator"})),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"If your cluster is a management cluster, apply a ",(0,n.kt)("a",{parentName:"p",href:"/calico-enterprise/3.16/reference/installation/api#operator.tigera.io/v1.ManagementCluster"},"ManagementCluster"),"\nCR to your cluster."),(0,n.kt)("pre",{parentName:"li"},(0,n.kt)("code",{parentName:"pre",className:"language-bash"},"oc apply -f - <<EOF\napiVersion: operator.tigera.io/v1\nkind: ManagementCluster\nmetadata:\n name: tigera-secure\nEOF\n"))),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"If your cluster is v3.7 or older, apply a new ",(0,n.kt)("a",{parentName:"p",href:"/calico-enterprise/3.16/reference/installation/api#operator.tigera.io/v1.Monitor"},"Monitor"),"\nCR to your cluster."),(0,n.kt)("pre",{parentName:"li"},(0,n.kt)("code",{parentName:"pre",className:"language-bash"},"oc apply -f - <<EOF\napiVersion: operator.tigera.io/v1\nkind: Monitor\nmetadata:\n name: tigera-secure\nEOF\n"))),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"You can now monitor the upgrade progress with the following command:"),(0,n.kt)("pre",{parentName:"li"},(0,n.kt)("code",{parentName:"pre",className:"language-bash"},"watch oc get tigerastatus\n")),(0,n.kt)("admonition",{parentName:"li",type:"note"},(0,n.kt)("p",{parentName:"admonition"},"If there are any problems you can use ",(0,n.kt)("inlineCode",{parentName:"p"},"kubectl get tigerastatus -o yaml")," to get more details."))),(0,n.kt)("li",{parentName:"ol"},(0,n.kt)("p",{parentName:"li"},"Remove unused policies in your cluster."),(0,n.kt)("p",{parentName:"li"},"If your cluster is a ",(0,n.kt)("strong",{parentName:"p"},"managed")," cluster, run this command:"),(0,n.kt)("pre",{parentName:"li"},(0,n.kt)("code",{parentName:"pre",className:"language-bash"},"kubectl delete -f https://downloads.tigera.io/ee/v3.16.5/manifests/default-tier-policies-managed.yaml\n")),(0,n.kt)("p",{parentName:"li"}
1,"For other clusters, run this command:"),(0,n.kt)("pre",{parentName:"li"},(0,n.kt)("code",{parentName:"pre",className:"language-bash"},"kubectl delete -f https://downloads.tigera.io/ee/v3.16.5/manifests/default-tier-policies.yaml\n")))))}m.isMDXComponent=!0}}]);
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.