<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Verrazzano Enterprise Container Platform – Setup</title>
    <link>/docs/setup/</link>
    <description>Recent content in Setup on Verrazzano Enterprise Container Platform</description>
    <generator>Hugo -- gohugo.io</generator>
    
	  <atom:link href="/docs/setup/index.xml" rel="self" type="application/rss+xml" />
    
    
      
        
      
    
    
    <item>
      <title>Docs: Prerequisites</title>
      <link>/docs/setup/prereqs/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/setup/prereqs/</guid>
      <description>
        
        
        &lt;p&gt;Verrazzano requires the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Kubernetes cluster and a compatible &lt;code&gt;kubectl&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;At least two CPUs, 100GB disk storage, and 16GB RAM available on the Kubernetes worker nodes.  This is sufficient to install the development profile
of Verrazzano.  Depending on the resource requirements of the applications you deploy, this may or may not be sufficient for deploying your
applications.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;supported-hardware&#34;&gt;Supported hardware&lt;/h2&gt;
&lt;p&gt;Verrazzano requires x86-64; other architectures are not supported.&lt;/p&gt;
&lt;h2 id=&#34;supported-software-versions&#34;&gt;Supported software versions&lt;/h2&gt;
&lt;p&gt;Verrazzano supports the following software versions.&lt;/p&gt;
&lt;h3 id=&#34;kubernetes&#34;&gt;Kubernetes&lt;/h3&gt;
&lt;p&gt;You can install Verrazzano on the following Kubernetes versions.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Verrazzano&lt;/th&gt;
&lt;th&gt;Kubernetes Versions&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1.3&lt;/td&gt;
&lt;td&gt;1.21, 1.22, 1.23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1.2&lt;/td&gt;
&lt;td&gt;1.19, 1.20, 1.21&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1.1&lt;/td&gt;
&lt;td&gt;1.19, 1.20, 1.21&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1.0&lt;/td&gt;
&lt;td&gt;1.18, 1.19, 1.20&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;For more information, see &lt;a href=&#34;https://kubernetes.io/releases/&#34;&gt;Kubernetes Release Documentation&lt;/a&gt;.
For platform specific details, see &lt;a href=&#34;../../docs/setup/platforms/&#34;&gt;Verrazzano platform setup&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;weblogic-server&#34;&gt;WebLogic Server&lt;/h3&gt;
&lt;p&gt;The supported versions of WebLogic Server are dependent on the &lt;a href=&#34;https://oracle.github.io/weblogic-kubernetes-operator/&#34;&gt;WebLogic Kubernetes Operator&lt;/a&gt; version.
See the WebLogic Server versions supported &lt;a href=&#34;https://oracle.github.io/weblogic-kubernetes-operator/introduction/prerequisites/introduction/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;coherence&#34;&gt;Coherence&lt;/h3&gt;
&lt;p&gt;The supported versions of Coherence are dependent on the &lt;a href=&#34;https://oracle.github.io/coherence-operator/docs/latest/#/about/01_overview&#34;&gt;Coherence Operator&lt;/a&gt; version.
See the Coherence versions supported &lt;a href=&#34;https://oracle.github.io/coherence-operator/docs/latest/#/docs/installation/01_installation&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;helidon&#34;&gt;Helidon&lt;/h3&gt;
&lt;p&gt;Verrazzano supports all versions of Helidon.  For more information, see &lt;a href=&#34;https://helidon.io&#34;&gt;Helidon&lt;/a&gt; and
&lt;a href=&#34;https://support.oracle.com/knowledge/Middleware/2645279_1.html&#34;&gt;Helidon Commercial Offerings&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;installed-components&#34;&gt;Installed components&lt;/h2&gt;
&lt;p&gt;Verrazzano installs a curated set of open source components.  The following table lists each
component, its version, and a brief description.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Version&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;alert-manager&lt;/td&gt;
&lt;td&gt;0.24.0&lt;/td&gt;
&lt;td&gt;Handles alerts sent by client applications, such as the Prometheus server.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;cert-manager&lt;/td&gt;
&lt;td&gt;1.7.1&lt;/td&gt;
&lt;td&gt;Automates the management and issuance of TLS certificates.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Coherence Operator&lt;/td&gt;
&lt;td&gt;3.2.5&lt;/td&gt;
&lt;td&gt;Assists with deploying and managing Coherence clusters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ExternalDNS&lt;/td&gt;
&lt;td&gt;0.10.2&lt;/td&gt;
&lt;td&gt;Synchronizes exposed Kubernetes Services and ingresses with DNS providers.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fluentd&lt;/td&gt;
&lt;td&gt;1.12.3&lt;/td&gt;
&lt;td&gt;Collects logs and sends them to OpenSearch.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Grafana&lt;/td&gt;
&lt;td&gt;7.5.11&lt;/td&gt;
&lt;td&gt;Tool to help you examine, analyze, and monitor metrics.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Istio&lt;/td&gt;
&lt;td&gt;1.13.5&lt;/td&gt;
&lt;td&gt;Service mesh that layers transparently onto existing distributed applications.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Jaeger Operator&lt;/td&gt;
&lt;td&gt;1.32.0&lt;/td&gt;
&lt;td&gt;Distributed tracing system for monitoring and troubleshooting distributed systems.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Keycloak&lt;/td&gt;
&lt;td&gt;15.0.2&lt;/td&gt;
&lt;td&gt;Provides single sign-on with Identity and Access Management.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Kiali&lt;/td&gt;
&lt;td&gt;1.42.0&lt;/td&gt;
&lt;td&gt;Management console for the Istio service mesh.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;kube-state-metrics&lt;/td&gt;
&lt;td&gt;2.4.2&lt;/td&gt;
&lt;td&gt;Provides metrics about the state of Kubernetes API objects.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MySQL&lt;/td&gt;
&lt;td&gt;8.0.28&lt;/td&gt;
&lt;td&gt;Open source relational database management system used by Keycloak.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NGINX Ingress Controller&lt;/td&gt;
&lt;td&gt;1.1.1&lt;/td&gt;
&lt;td&gt;Traffic management solution for cloud‑native applications in Kubernetes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Node Exporter&lt;/td&gt;
&lt;td&gt;1.3.1&lt;/td&gt;
&lt;td&gt;Prometheus exporter for hardware and OS metrics.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OAM Kubernetes Runtime&lt;/td&gt;
&lt;td&gt;0.3.0&lt;/td&gt;
&lt;td&gt;Plug-in for implementing Open Application Model (OAM) control plane with Kubernetes.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenSearch&lt;/td&gt;
&lt;td&gt;1.2.3&lt;/td&gt;
&lt;td&gt;Provides a distributed, multitenant-capable full-text search engine.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenSearch Dashboards&lt;/td&gt;
&lt;td&gt;1.2.0&lt;/td&gt;
&lt;td&gt;Provides search and data visualization capabilities for data indexed in OpenSearch.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prometheus&lt;/td&gt;
&lt;td&gt;2.34.0&lt;/td&gt;
&lt;td&gt;Provides event monitoring and alerting.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prometheus Adapter&lt;/td&gt;
&lt;td&gt;0.9.1&lt;/td&gt;
&lt;td&gt;Provides metrics in support of pod autoscaling.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prometheus Operator&lt;/td&gt;
&lt;td&gt;0.55.1&lt;/td&gt;
&lt;td&gt;Provides management for Prometheus monitoring tools.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Prometheus Pushgateway&lt;/td&gt;
&lt;td&gt;1.4.2&lt;/td&gt;
&lt;td&gt;Allows ephemeral and batch jobs to expose their metrics to Prometheus.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rancher&lt;/td&gt;
&lt;td&gt;2.6.6&lt;/td&gt;
&lt;td&gt;Manages multiple Kubernetes clusters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WebLogic Kubernetes Operator&lt;/td&gt;
&lt;td&gt;3.4.3&lt;/td&gt;
&lt;td&gt;Assists with deploying and managing WebLogic domains.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

      </description>
    </item>
    
    <item>
      <title>Docs: Platform Setup</title>
      <link>/docs/setup/platforms/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/setup/platforms/</guid>
      <description>
        
        
        
      </description>
    </item>
    
    <item>
      <title>Docs: Install</title>
      <link>/docs/setup/install/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/setup/install/</guid>
      <description>
        
        
        
      </description>
    </item>
    
    <item>
      <title>Docs: Customize Installations</title>
      <link>/docs/setup/customizing/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/setup/customizing/</guid>
      <description>
        
        
        
      </description>
    </item>
    
    <item>
      <title>Docs: Uninstall</title>
      <link>/docs/setup/uninstall/uninstall/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/setup/uninstall/uninstall/</guid>
      <description>
        
        
        &lt;p&gt;To delete a Verrazzano installation, delete the Verrazzano custom resource you used to
install it into your cluster.&lt;/p&gt;
&lt;p&gt;The following example starts a deletion of a Verrazzano installation in the background, and then
uses the &lt;code&gt;kubectl logs -f&lt;/code&gt; command to tail the Console output of the pod performing the uninstall:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# Get the name of the Verrazzano custom resource
$ MYVZ=$(kubectl  get vz -o jsonpath=&amp;#34;{.items[0].metadata.name}&amp;#34;)

# Delete the Verrazzano custom resource
$ kubectl delete verrazzano $MYVZ --wait=false
$ kubectl logs -n verrazzano-install \
    -f $(kubectl get pod \
    -n verrazzano-install \
    -l job-name=verrazzano-uninstall-${MYVZ} \
    -o jsonpath=&amp;#34;{.items[0].metadata.name}&amp;#34;)
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Docs: Upgrade</title>
      <link>/docs/setup/upgrade/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/setup/upgrade/</guid>
      <description>
        
        
        &lt;p&gt;A Verrazzano installation consists of a stack of components, such as cert-manager, where each component has a
specific release version that may be different from the overall Verrazzano version.  The Verrazzano platform operator
knows the versions of each component associated with the Verrazzano version.  When you perform the initial Verrazzano
installation, the appropriate version of each component is installed by the platform operator.
Post installation, it may be necessary to update one or more of the component images or Helm charts.  This update is also
handled by the platform operator and is called an &lt;code&gt;upgrade&lt;/code&gt;.  Currently, Verrazzano does only patch-level upgrades,
where a &lt;code&gt;helm upgrade&lt;/code&gt; command can be issued for the component.  Typically, patch-level upgrades simply replace component
images with newer versions.&lt;/p&gt;
&lt;h2 id=&#34;application-and-system-pod-restarts&#34;&gt;Application and system pod restarts&lt;/h2&gt;
&lt;p&gt;If Verrazzano has a new version of Istio, then all the pods with Istio proxy sidecars
need to be restarted.  This is done so that the new version of the proxy sidecar can be injected into the pods.
All Verrazzano pods containing Istio proxy sidecars will be restarted.  This includes Verrazzano system pods,
such as the NGINX Ingress Controller, along with Verrazzano applications.  For WebLogic workloads, Verrazzano
will shut down every domain, do the upgrade, then start every domain.  For all other workloads, Verrazzano will perform a rolling restart
when the upgrade is complete.  There is no user involvement related to restarting applications; it is done automatically during upgrade.&lt;/p&gt;
&lt;h2 id=&#34;upgrade-steps&#34;&gt;Upgrade steps&lt;/h2&gt;
&lt;p&gt;It is important to distinguish between updating the Verrazzano platform operator versus upgrading the Verrazzano installation.
The platform operator contains the newer component charts and image versions, so it must be updated prior to upgrading the installation.
Updating the platform operator has no effect on an existing installation until you initiate the Verrazzano installation upgrade.
Currently, there is no way to roll back either the platform operator update or the Verrazzano installation upgrade.&lt;/p&gt;
&lt;p&gt;Upgrading an existing Verrazzano installation is a two-step process:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Update the Verrazzano platform operator to the &lt;a href=&#34;https://github.com/verrazzano/verrazzano/releases/&#34;&gt;Verrazzano release version&lt;/a&gt; to which you want to upgrade.&lt;/li&gt;
&lt;li&gt;Upgrade the Verrazzano installation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;update-the-verrazzano-platform-operator&#34;&gt;Update the Verrazzano platform operator&lt;/h3&gt;
&lt;p&gt;In order to upgrade an existing Verrazzano installation, you must first update the &lt;a href=&#34;https://github.com/verrazzano/verrazzano&#34;&gt;Verrazzano platform operator&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Update the Verrazzano platform operator.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; If you are using a private container registry, then to update the platform operator, follow the instructions at &lt;a href=&#34;../../docs/setup/private-registry/private-registry/&#34;&gt;Use a Private Registry&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To update to the latest version:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl apply -f https://github.com/verrazzano/verrazzano/releases/download/v1.3.8/operator.yaml
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;To update to a specific version, where &lt;code&gt;&amp;lt;version&amp;gt;&lt;/code&gt; is the desired version:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl apply -f https://github.com/verrazzano/verrazzano/releases/download/&amp;lt;version&amp;gt;/operator.yaml
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Wait for the deployment to complete.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl -n verrazzano-install rollout status deployment/verrazzano-platform-operator

# Expected response
deployment &amp;#34;verrazzano-platform-operator&amp;#34; successfully rolled out
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Confirm that the operator pod is correctly defined and running.&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl -n verrazzano-install get pods

# Sample output
NAME                                            READY   STATUS    RESTARTS   AGE
verrazzano-platform-operator-59d5c585fd-lwhsx   1/1     Running   0          114s
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;upgrade-verrazzano&#34;&gt;Upgrade Verrazzano&lt;/h3&gt;
&lt;p&gt;To upgrade the Verrazzano installation, you need to change the version of your installed Verrazzano resource to the version supported by the
Verrazzano platform operator.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NOTE:&lt;/strong&gt; You may only change the version field during an upgrade; changes to other fields or component configurations are not supported at this time.&lt;/p&gt;
&lt;p&gt;In one simple step, you can upgrade to a specified version of Verrazzano using this command:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl patch vz example-verrazzano -p &amp;#39;{&amp;#34;spec&amp;#34;:{&amp;#34;version&amp;#34;:&amp;#34;v1.3.8&amp;#34;}}&amp;#39; --type=merge
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Alternatively, you can upgrade the Verrazzano installation using the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Update the &lt;code&gt;Verrazzano&lt;/code&gt; resource to the desired version.&lt;/p&gt;
&lt;p&gt;To upgrade the Verrazzano components, you must update the &lt;code&gt;version&lt;/code&gt; field in your &lt;code&gt;Verrazzano&lt;/code&gt; resource spec to
match the version supported by the platform operator to which you upgraded and apply it to the cluster.&lt;/p&gt;
&lt;p&gt;The value of the &lt;code&gt;version&lt;/code&gt; field in the resource spec must be a &lt;a href=&#34;https://semver.org/&#34;&gt;Semantic Versioning&lt;/a&gt; value
corresponding to a valid &lt;a href=&#34;https://github.com/verrazzano/verrazzano/releases/&#34;&gt;Verrazzano release version&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can update the resource by doing one of the following:&lt;/p&gt;
&lt;p&gt;a. Editing the YAML file you used to install Verrazzano and setting the version field to the latest version.&lt;/p&gt;
&lt;p&gt;For example, to upgrade to &lt;code&gt;v1.3.8&lt;/code&gt;, your YAML file should be edited to add or update the version field:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;apiVersion&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;install.verrazzano.io/v1alpha1&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;kind&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;Verrazzano&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;metadata&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;name&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;example-verrazzano&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;spec&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;profile&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;dev&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;  &lt;/span&gt;&lt;span style=&#34;color:#204a87;font-weight:bold&#34;&gt;version&lt;/span&gt;&lt;span style=&#34;color:#000;font-weight:bold&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#000&#34;&gt;v1.3.8&lt;/span&gt;&lt;span style=&#34;color:#f8f8f8;text-decoration:underline&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then apply the resource to the cluster (if you have not edited the resource in-place using &lt;code&gt;kubectl edit&lt;/code&gt;):&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl apply -f example-verrazzano.yaml
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;b. Editing the &lt;code&gt;Verrazzano&lt;/code&gt; resource directly using &lt;code&gt;kubectl&lt;/code&gt; and setting the version field directly, for example:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl edit verrazzano example-verrazzano
# In the resource editor, add or update the version field to &amp;#34;version: v1.3.8&amp;#34;, then save.
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Wait for the upgrade to complete:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl wait \
    --timeout=10m \
    --for=condition=UpgradeComplete verrazzano/example-verrazzano
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;verify-the-upgrade&#34;&gt;Verify the upgrade&lt;/h2&gt;
&lt;p&gt;Check that all the pods in the &lt;code&gt;verrazzano-system&lt;/code&gt; namespace are in the &lt;code&gt;Running&lt;/code&gt; state.  While the upgrade is in progress,
you may see some pods terminating and restarting as newer versions of components are applied, for example:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl get pods -n verrazzano-system

# Sample output
coherence-operator-866798c99d-r69xt                1/1     Running   1          43m
fluentd-f9fbv                                      2/2     Running   0          38m
fluentd-n79c4                                      2/2     Running   0          38m
fluentd-xslzw                                      2/2     Running   0          38m
oam-kubernetes-runtime-56cdb56c98-wn2mb            1/1     Running   0          43m
verrazzano-application-operator-7c95ddd5b5-7xzmn   1/1     Running   0          42m
verrazzano-authproxy-594d8c8dcd-llmlr              2/2     Running   0          38m
verrazzano-console-74dbf97fdf-zxvvn                2/2     Running   0          38m
verrazzano-monitoring-operator-6fcf8484fd-gfkhs    1/1     Running   0          38m
verrazzano-operator-66c8566f95-8lbs6               1/1     Running   0          38m
vmi-system-es-master-0                             2/2     Running   0          38m
vmi-system-grafana-799d79648d-wsdp4                2/2     Running   0          38m
vmi-system-kiali-574c6dd94d-f49jv                  2/2     Running   0          41m
vmi-system-kibana-77f8d998f4-zzvqr                 2/2     Running   0          38m
vmi-system-prometheus-0-7f89d54fbf-brg6x           3/3     Running   0          36m
weblogic-operator-7b447fdb47-wlw64                 2/2     Running   0          42m
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Check that the pods in your application namespaces are ready, for example:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl get pods -n todo-list

# Sample output
NAME                     READY   STATUS    RESTARTS   AGE
mysql-67575d8954-d4vkm   2/2     Running   0          39h
tododomain-adminserver   4/4     Running   0          39h
&lt;/code&gt;&lt;/pre&gt;&lt;h2 id=&#34;upgrade-failures&#34;&gt;Upgrade failures&lt;/h2&gt;
&lt;p&gt;In Verrazzano 1.3 and later, upgrade will continue to run until it succeeds or until you delete the Verrazzano CR.  In previous versions,
upgrade could fail and transition to the &lt;code&gt;UpgradeFailed&lt;/code&gt; state.  If that happens, and you updated the Verrazzano platform operator to 1.3+,
then the Verrazzano CR will transition to &lt;code&gt;UpgradePaused&lt;/code&gt;.  To continue with the upgrade, you must change the CR version to the current
version of the Verrazzano platform operator.  The following steps illustrate this scenario:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You install Verrazzano 1.1.2.&lt;/li&gt;
&lt;li&gt;You upgrade to 1.2.0 by changing the Verrazzano CR version field to v1.2.0.
&lt;ul&gt;
&lt;li&gt;For some reason, the upgrade failed and the Verrazzano CR state transitions to &lt;code&gt;UpgradeFailed&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;You update the Verrazzano platform operator to 1.3.0.
&lt;ul&gt;
&lt;li&gt;The Verrazzano CR state transitions to &lt;code&gt;UpgradePaused&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;You change the Verrazzano CR version field to v1.3.0.
&lt;ul&gt;
&lt;li&gt;The Verrazzano CR state transitions to &lt;code&gt;Upgrading&lt;/code&gt; and stays in that state until it completes, then it transitions to &lt;code&gt;UpgradeComplete&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To see detailed progress of the upgrade, view the logs with the following command:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ kubectl logs -n verrazzano-install \
    -f $(kubectl get pod \
    -n verrazzano-install \
    -l app=verrazzano-platform-operator \
    -o jsonpath=&amp;#34;{.items[0].metadata.name}&amp;#34;) | grep &amp;#39;^{.*}$&amp;#39; \
    | jq -r &amp;#39;.&amp;#34;@timestamp&amp;#34; as $timestamp | &amp;#34;\($timestamp) \(.level) \(.message)&amp;#34;&amp;#39;
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
    <item>
      <title>Docs: Use a Private Registry</title>
      <link>/docs/setup/private-registry/private-registry/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>/docs/setup/private-registry/private-registry/</guid>
      <description>
        
        
        &lt;p&gt;Installing Verrazzano using a private Docker-compliant container registry requires the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Loading all the required Verrazzano container images into your own registry and repository.&lt;/li&gt;
&lt;li&gt;Installing the Verrazzano platform operator with the private registry and repository used to load the images.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To obtain the required Verrazzano images and install from your private registry, you must:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Download the Verrazzano ZIP file:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Download the Verrazzano ZIP file from the Oracle Software Delivery Cloud for major or minor releases.&lt;/p&gt;
&lt;p&gt;a. In your browser, go to the &lt;a href=&#34;https://edelivery.oracle.com&#34;&gt;Oracle Software Delivery Cloud&lt;/a&gt; and log in with your credentials.&lt;/p&gt;
&lt;p&gt;b. In the drop-down menu preceding the search bar, select &lt;strong&gt;All Categories&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;c. In the search bar, enter &lt;code&gt;Verrazzano Enterprise Container Platform&lt;/code&gt; and click &lt;strong&gt;Search&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;d. Select the &lt;code&gt;REL: Verrazzano Enterprise Container Platform 1.3.0.0.0&lt;/code&gt; link. This will add it to your download queue.&lt;/p&gt;
&lt;p&gt;e. At the top of the page, select the &lt;strong&gt;Continue&lt;/strong&gt; link.&lt;/p&gt;
&lt;p&gt;f. Review the Download Queue, then click &lt;strong&gt;Continue&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;g. Accept the license agreement and click &lt;strong&gt;Continue&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;h. Download the file:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;To download the ZIP file directly, select the file link in the list.&lt;/li&gt;
&lt;li&gt;To download the ZIP file using &lt;code&gt;Oracle Download Manager&lt;/code&gt;, click &lt;strong&gt;Download&lt;/strong&gt; and run the &lt;code&gt;Oracle Download Manager&lt;/code&gt; executable.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Download the Verrazzano ZIP file from My Oracle Support for cumulative patches.&lt;/p&gt;
&lt;p&gt;a. In your browser, go to &lt;a href=&#34;https://support.oracle.com/&#34;&gt;My Oracle Support&lt;/a&gt; and log in with your credentials.&lt;/p&gt;
&lt;p&gt;b. Select the &lt;code&gt;Patches &amp;amp; Updates&lt;/code&gt; tab.&lt;/p&gt;
&lt;p&gt;c. In the &lt;code&gt;Patch Search&lt;/code&gt; panel, select the link &lt;code&gt;Product or Family (Advanced)&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;d. In the search bar for &lt;code&gt;Product is&lt;/code&gt;, enter &lt;code&gt;Oracle Verrazzano Enterprise Container Platform&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;e. The previous step populates the available releases for Verrazzano in the drop-down menu &lt;code&gt;Release is&lt;/code&gt;. Select the desired release(s) and click &lt;strong&gt;Search&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;f. A new panel with &lt;code&gt;Patch Advanced Search Results&lt;/code&gt; will open listing all the patches for the release. Select the link for the desired patch, under the &lt;code&gt;Patch Name&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;g. From the page providing details about the patch, click &lt;strong&gt;Download&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;h. Download the ZIP file by selecting the file link.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Prepare to do the private registry install:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Unzip the ZIP archive to a desired directory location.  There will be two files, a compressed TAR file containing the product
files and a checksum file.&lt;/li&gt;
&lt;li&gt;Go to the expanded archive directory.&lt;/li&gt;
&lt;li&gt;(Optional) Validate the checksum and the TAR file match.  For example,
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;$ shasum -c  verrazzano_1.3.8.tar.gz.sha256

# Sample output
verrazzano_1.3.8.tar.gz: OK
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;Expand the TAR file, for example, &lt;code&gt;tar xvf verrazzano_1.3.8.tar.gz&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Load the product images into your private registry and install Verrazzano using the instructions in the &lt;code&gt;README.md&lt;/code&gt;
file that is packaged with the TAR file.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-access-to-an-insecure-private-registry&#34;&gt;Configuring access to an insecure private registry&lt;/h2&gt;
&lt;p&gt;A private Docker registry is called an &lt;a href=&#34;https://docs.docker.com/registry/insecure/&#34;&gt;insecure registry&lt;/a&gt; when it is configured for access using a self-signed certificate or over an unencrypted HTTP connection. Depending on the platform, there could be some additional configuration required for installing Verrazzano with an insecure registry.&lt;/p&gt;
&lt;p&gt;For example, for the &lt;a href=&#34;../../docs/setup/platforms/olcne/olcne/&#34;&gt;Oracle Cloud Native Environment platform&lt;/a&gt;, the insecure registries must be configured in &lt;code&gt;/etc/containers/registries.conf&lt;/code&gt; as follows on the worker nodes:&lt;/p&gt;
&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[registries]
   [registries.insecure]
     registries = [&amp;#34;insecure-registry-1:1001/registry1&amp;#34;,&amp;#34;insecure-registry-2:1001/registry2&amp;#34;]
&lt;/code&gt;&lt;/pre&gt;
      </description>
    </item>
    
  </channel>
</rss>
