Skip to content

Commit e6a605a

Browse files
committed
OSSMDOC-210: Upgrading service mesh from 2.0 to 2.1
1 parent 23af3d8 commit e6a605a

File tree

1 file changed

+108
-0
lines changed

1 file changed

+108
-0
lines changed
Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
[id="ossm-upgrade-to-2-1"]
2+
= Upgrading {ProductName} from version 2.0 to version 2.1
3+
include::modules/ossm-document-attributes.adoc[]
4+
:context: oossm-upgrading-to-2-1
5+
6+
toc::[]
7+
8+
Upgrading from version 2.0 to 2.1 requires manual steps that migrate your workloads and application to a new instance of {ProductName} running the new version.
9+
10+
[id="ossm-upgrading-upgrade-2-1_{context}"]
11+
== Upgrading to {ProductName} 2.1
12+
13+
To upgrade {ProductName}, you must update the version field of the {ProductName} `ServiceMeshControlPlane` v2 resource. Then, once it's configured and applied, restart the application pods to update each sidecar proxy and its configuration.
14+
15+
.Prerequisites
16+
17+
* You are running {product-title} 4.6 or later.
18+
* You have the {ProductName} version 2.1.0 operator. If the *automatic* upgrade path is enabled, the operator automatically downloads the latest information. However, there are steps you must take to use the features in {ProductName} version 2.1.
19+
* You must upgrade from {ProductName} 2.0 to 2.1. You cannot upgrade `ServiceMeshControlPlane` from 1.1 to 2.1 directly.
20+
21+
.Procedure
22+
23+
. Switch to the project that contains your `ServiceMeshControlPlane` resource. In this example, `istio-system` is the name of the control plane project.
24+
+
25+
[source,terminal]
26+
----
27+
$ oc project istio-system
28+
----
29+
30+
. Check your v2 `ServiceMeshControlPlane` resource configuration to make sure it is valid.
31+
+
32+
.. Run the following command to view your `ServiceMeshControlPlane` resource as a v2 resource.
33+
+
34+
[source,terminal]
35+
----
36+
$ oc get smcp -o yaml
37+
----
38+
39+
TIP: Back up your control plane configuration.
40+
41+
. Update the `.spec.version` field from v2.0 to v2.1, and apply the configuration.
42+
+
43+
If you see the following message, update the existing `Mixer` type to `Istiod` type in the existing Control Plane spec before you update the `.spec.version` field:
44+
+
45+
[source,text]
46+
----
47+
An error occurred
48+
admission webhook smcp.validation.maistra.io denied the request: [support for policy.type "Mixer" and policy.Mixer options have been removed in v2.1, please use another alternative, support for telemetry.type "Mixer" and telemetry.Mixer options have been removed in v2.1, please use another alternative]”
49+
----
50+
+
51+
For example:
52+
+
53+
[source,terminal]
54+
----
55+
spec:
56+
policy:
57+
type: Istoid
58+
telemetry:
59+
type: Istiod
60+
version: v2.1
61+
----
62+
+
63+
Alternatively, instead of using the command line, you can use the web console to edit the control plane. In the {product-title} web console, click *Project* and select the project name you just entered.
64+
+
65+
.. Click *Operators* -> *Installed Operators*.
66+
.. Find your `ServiceMeshControlPlane` instance.
67+
.. Select *YAML view* and update text of the YAML file, as shown in the previous example.
68+
.. Click *Save*.
69+
70+
[id="ossm-upgrading-differences-arch_{context}"]
71+
== Changes from prior release
72+
73+
This upgrade introduces the following architectural and behavioral changes.
74+
75+
.Architecture changes
76+
77+
Mixer has been completely removed in {ProductName} 2.1. Upgrading from a {ProductName} 2.0.x release to 2.1 will be blocked if Mixer is enabled.
78+
79+
[id="ossm-upgrading-differences-behavior_{context}"]
80+
.Behavioral changes
81+
82+
* `AuthorizationPolicy` updates
83+
** With the PROXY protocol, if you're using `ipBlocks` and `notIpBlocks` to specify remote IP addresses, update the configuration to use `remoteIpBlocks` and `notRemoteIpBlocks` instead.
84+
** Added support for nested JSON Web Token (JWT) claims
85+
* `EnvoyFilter` breaking changes
86+
** Must use `typed_config`
87+
** xDS v2 is no longer supported
88+
** Deprecated filter names
89+
* Older versions of proxies may report 503 status codes when receiving 1xx or 204 status codes from newer proxies.
90+
91+
[NOTE]
92+
====
93+
Red Hat is unable to support `EnvoyFilter` configuration except where explicitly documented. This is due to tight coupling with the underlying Envoy APIs, meaning that backward compatibility cannot be maintained.
94+
====
95+
96+
[id="ossm-upgrading-mig-apps_{context}"]
97+
== Next steps for migrating your applications and workflows
98+
99+
To complete the migration, restart all of the application pods in the mesh to upgrade the Envoy sidecar proxies and their configuration.
100+
101+
To perform a rolling update of a deployment use the following command:
102+
103+
[source,terminal]
104+
----
105+
$ oc rollout restart <deployment>
106+
----
107+
108+
You must perform a rolling update for all applications that make up the mesh.

0 commit comments

Comments
 (0)