|
9 | 9 | <meta charset="utf-8"> |
10 | 10 | <meta name="viewport" content="width=device-width,initial-scale=1"> |
11 | 11 |
|
12 | | - <meta name="description" content="The upgrade on OpenShift consists of two steps:"> |
| 12 | + <meta name="description" content="Documentation"> |
13 | 13 |
|
14 | 14 |
|
15 | 15 | <meta name="author" content="Percona LLC"> |
|
4681 | 4681 | </label> |
4682 | 4682 | <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix> |
4683 | 4683 |
|
| 4684 | + <li class="md-nav__item"> |
| 4685 | + <a href="#considerations-for-using-openshift-422" class="md-nav__link"> |
| 4686 | + <span class="md-ellipsis"> |
| 4687 | + |
| 4688 | + Considerations for using OpenShift 4.22 |
| 4689 | + |
| 4690 | + </span> |
| 4691 | + </a> |
| 4692 | + |
| 4693 | +</li> |
| 4694 | + |
4684 | 4695 | <li class="md-nav__item"> |
4685 | 4696 | <a href="#upgrade-the-operator-via-operator-lifecycle-manager-olm" class="md-nav__link"> |
4686 | 4697 | <span class="md-ellipsis"> |
|
4730 | 4741 | </span> |
4731 | 4742 | </a> |
4732 | 4743 |
|
| 4744 | +</li> |
| 4745 | + |
| 4746 | + <li class="md-nav__item"> |
| 4747 | + <a href="#update-via-the-command-line-interface" class="md-nav__link"> |
| 4748 | + <span class="md-ellipsis"> |
| 4749 | + |
| 4750 | + Update via the command-line interface |
| 4751 | + |
| 4752 | + </span> |
| 4753 | + </a> |
| 4754 | + |
4733 | 4755 | </li> |
4734 | 4756 |
|
4735 | 4757 | </ul> |
|
4768 | 4790 |
|
4769 | 4791 |
|
4770 | 4792 | <h1 id="upgrade-the-operator-and-crd-via-operator-lifecycle-manager-olm">Upgrade the Operator and CRD via Operator Lifecycle Manager (OLM)<a class="headerlink" href="#upgrade-the-operator-and-crd-via-operator-lifecycle-manager-olm" title="Permanent link">¶</a></h1> |
| 4793 | +<h2 id="considerations-for-using-openshift-422">Considerations for using OpenShift 4.22<a class="headerlink" href="#considerations-for-using-openshift-422" title="Permanent link">¶</a></h2> |
| 4794 | +<p>Starting with OpenShift 4.22, the way images with not fully qualified names are pulled has changed for repositories that share the same repository name on DockerHub and Red Hat Marketplace. By default the tags are pulled from Red Hat Marketplace. Specifying not fully qualified image names may result in the <code>ImagePullBackOff</code> error.</p> |
| 4795 | +<ul> |
| 4796 | +<li><strong>OLM installation:</strong> Images are provided with the fully qualified names and are pulled from the Red Hat Marketplace/DockerHub registry.</li> |
| 4797 | +<li><strong>Manual install/update with default manifests:</strong> Images must use the <code>docker.io</code> registry prefix to guarantee successful download from the DockerHub <code>percona-server-mysql-operator</code> repository. See the <a href="#update-via-the-command-line-interface">Update via the command-line interface</a> section for the exact steps.</li> |
| 4798 | +</ul> |
4771 | 4799 | <p>The upgrade on OpenShift consists of two steps:</p> |
4772 | 4800 | <ul> |
4773 | 4801 | <li>Upgrade the Operator Deployment</li> |
@@ -4827,12 +4855,59 @@ <h3 id="upgrade-the-operator">Upgrade the Operator<a class="headerlink" href="#u |
4827 | 4855 | <p>Click the “Upgrade available” link to review details, click “Preview InstallPlan,” and then click “Approve” to upgrade the Operator.</p> |
4828 | 4856 | </li> |
4829 | 4857 | </ol> |
| 4858 | +<h3 id="update-via-the-command-line-interface">Update via the command-line interface<a class="headerlink" href="#update-via-the-command-line-interface" title="Permanent link">¶</a></h3> |
| 4859 | +<p>The following steps apply if you plan to use OpenShift 4.22. See the <a href="#considerations-for-using-openshift-422">Considerations for using OpenShift 4.22</a>.</p> |
| 4860 | +<ol> |
| 4861 | +<li> |
| 4862 | +<p>Check all clusters managed by the Operator to see if <code>initContainer.image</code> is set.</p> |
| 4863 | +<ul> |
| 4864 | +<li>If defined: skip the next step.</li> |
| 4865 | +<li>If undefined: proceed to step 2.</li> |
| 4866 | +</ul> |
| 4867 | +</li> |
| 4868 | +<li> |
| 4869 | +<p>Apply a patch to the clusters with undefined <code>initContainer.image</code> to define this image with the <code>docker.io</code> registry in the image path:</p> |
| 4870 | +<div class="highlight"><pre><span></span><code>kubectl<span class="w"> </span>patch<span class="w"> </span>ps<span class="w"> </span>ps-cluster1<span class="w"> </span>--type<span class="o">=</span>merge<span class="w"> </span>--patch<span class="w"> </span><span class="s1">'{</span> |
| 4871 | +<span class="s1"> "spec": {</span> |
| 4872 | +<span class="s1"> "initcontainer": {</span> |
| 4873 | +<span class="s1"> "image": "docker.io/percona-server-mysql-operator:1.1.0"</span> |
| 4874 | +<span class="s1"> }</span> |
| 4875 | +<span class="s1"> }</span> |
| 4876 | +<span class="s1">}'</span> |
| 4877 | +</code></pre></div> |
| 4878 | +<p><strong>Important!</strong> This command triggers the restart of your clusters. Wait till they restart and report the <code>Ready</code> status.</p> |
| 4879 | +</li> |
| 4880 | +<li> |
| 4881 | +<p>Update the Operator deployment and specify the <code>docker.io</code> registry name in the image path:</p> |
| 4882 | +<div class="highlight"><pre><span></span><code>kubectl<span class="w"> </span>patch<span class="w"> </span>deployment<span class="w"> </span>percona-server-mysql-operator<span class="w"> </span><span class="se">\</span> |
| 4883 | +-p<span class="s1">'{"spec":{"template":{"spec":{"containers":[{"name":"percona-server-mysql-operator","image":"docker.io/percona/percona-server-mysql-operator:1.1.0"}]}}}}'</span> |
| 4884 | +</code></pre></div> |
| 4885 | +</li> |
| 4886 | +<li> |
| 4887 | +<p>Update the Custom Resource version and the database cluster. Specify the <code>initContainer</code> image with the <code>docker.io</code> registry name in the path.</p> |
| 4888 | +<p>The following example shows how to update Percona Server for MySQL cluster 8.4 with Group Replication and HAProxy:</p> |
| 4889 | +<div class="highlight"><pre><span></span><code>kubectl<span class="w"> </span>patch<span class="w"> </span>ps<span class="w"> </span>ps-cluster1<span class="w"> </span>--type<span class="o">=</span>merge<span class="w"> </span>--patch<span class="w"> </span><span class="s1">'{</span> |
| 4890 | +<span class="s1"> "spec": {</span> |
| 4891 | +<span class="s1"> "crVersion": "1.1.0",</span> |
| 4892 | +<span class="s1"> "initContainer": "docker.io/percona/percona-server-mysql-operator:1.1.0",</span> |
| 4893 | +<span class="s1"> "mysql":{ "image": "docker.io/percona/percona/percona-server:8.4.8-8.1" },</span> |
| 4894 | +<span class="s1"> "proxy":{</span> |
| 4895 | +<span class="s1"> "haproxy":{ "image": "docker.io/percona/haproxy:2.8.18-1" }</span> |
| 4896 | +<span class="s1"> },</span> |
| 4897 | +<span class="s1"> "backup":{ "image": "docker.io/percona/percona-xtrabackup:8.4.0-5.1" },</span> |
| 4898 | +<span class="s1"> "toolkit":{ "image": "docker.io/percona/percona-toolkit:3.7.1" },</span> |
| 4899 | +<span class="s1"> "pmm":{ "image": "docker.io/percona/pmm-client:3.7.0" }</span> |
| 4900 | +<span class="s1"> }</span> |
| 4901 | +<span class="s1">}'</span> |
| 4902 | +</code></pre></div> |
| 4903 | +</li> |
| 4904 | +</ol> |
4830 | 4905 | <hr> |
4831 | 4906 | <div class="md-source-file"> |
4832 | 4907 | <small> |
4833 | 4908 |
|
4834 | 4909 | Last update: |
4835 | | - <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="April 17, 2026 17:28:22 UTC">April 17, 2026</span> |
| 4910 | + <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-date" title="July 3, 2026 17:42:36 UTC">July 3, 2026</span> |
4836 | 4911 |
|
4837 | 4912 | <br> |
4838 | 4913 | Created: |
|
0 commit comments