You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/ossm-migrating-from-smcp-defined-gateways-to-gateway-injection.adoc
+12-11Lines changed: 12 additions & 11 deletions
Original file line number
Diff line number
Diff line change
@@ -18,11 +18,11 @@ This procedure explains how to migrate with zero downtime from gateways defined
18
18
19
19
.Procedure
20
20
21
-
. Create a new ingress gateway that is configured to use gateway injection.
21
+
. Create a new ingress gateway that is configured to use gateway injection.
22
22
+
23
23
[NOTE]
24
24
====
25
-
This procedure migrates away from the default ingress gateway deployment defined in the `ServiceMeshControlPlane` resource to gateway injection. The procedure may be modified to migrate from additional ingress gateways configured in the SMCP.
25
+
This procedure migrates away from the default ingress gateway deployment defined in the `ServiceMeshControlPlane` resource to gateway injection. The procedure may be modified to migrate from additional ingress gateways configured in the SMCP.
26
26
====
27
27
+
28
28
.Example ingress gateway resource with gateway injection
@@ -31,13 +31,13 @@ This procedure migrates away from the default ingress gateway deployment defined
31
31
apiVersion: apps/v1
32
32
kind: Deployment
33
33
metadata:
34
-
name: istio-ingressgateway-canary
34
+
name: istio-ingressgateway-canary
35
35
namespace: istio-system <1>
36
36
spec:
37
37
selector:
38
38
matchLabels:
39
39
app: istio-ingressgateway
40
-
istio: ingressgateway
40
+
istio: ingressgateway
41
41
template:
42
42
metadata:
43
43
annotations:
@@ -94,16 +94,16 @@ spec:
94
94
- {}
95
95
policyTypes:
96
96
- Ingress
97
-
----
98
-
<1> The gateway injection deployment and all supporting resources should be deployed in the same namespace as the SMCP-defined gateway.
97
+
----
98
+
<1> The gateway injection deployment and all supporting resources should be deployed in the same namespace as the SMCP-defined gateway.
99
99
<2> Ensure that the labels specified in the pod template include all of the label selectors specified in the `Service` object associated with the existing SMCP-defined gateway.
100
100
<3> Grant access to the new gateway from outside the cluster. This access is required whenever the `spec.security.manageNetworkPolicy` of the `ServiceMeshControlPlane` resource is set to `true`, which is the default setting.
101
101
102
-
. Verify that the new gateway deployment is successfully handling requests.
102
+
. Verify that the new gateway deployment is successfully handling requests.
103
103
+
104
104
If access logging was configured in the `ServiceMeshControlPlane` resource, view the access logs of the new gateway deployment to confirm the behavior.
105
105
106
-
. Scale down the old deployment and scale up the new deployment.
106
+
. Scale down the old deployment and scale up the new deployment.
107
107
+
108
108
Gradually shift traffic from the old gateway deployment to the new gateway deployment by performing the following steps:
.. Repeat running the previous two commands. Each time, increase the number of replicas for the new gateway deployment and decrease the number of replicas for the old gateway deployment. Continue repeating until the new gateway deployment handles all traffic to the gateway `Service` object.
123
+
.. Repeat running the previous two commands. Each time, increase the number of replicas for the new gateway deployment and decrease the number of replicas for the old gateway deployment. Continue repeating until the new gateway deployment handles all traffic to the gateway `Service` object.
124
124
125
125
. Remove the `app.kubernetes.io/managed-by` label from the gateway `Service` object by running the following command:
When the old ingress gateway `Service` object is disabled it is not deleted. You may save this `Service` object to a file and manage it alongside the new gateway injection resources.
152
+
* When the old ingress gateway `Service` object is disabled it is not deleted. You may save this `Service` object to a file and manage it alongside the new gateway injection resources.
153
+
* The `/spec/gateways/ingress/enabled` path is available if you explicitly set it for the `ServiceMeshControlPlane` resource. If you are using the default value, you must patch the `/spec/gateways/enabled` path for both ingress and egress gateways.
0 commit comments