Skip to content

Commit 69f8e50

Browse files
committed
OSSM-4815: Document HA for a mesh
1 parent 89d63b0 commit 69f8e50

4 files changed

+150
-0
lines changed

install/ossm-installing-openshift-service-mesh.adoc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,7 @@ include::modules/ossm-accessing-bookinfo-application-using-gateway-api.adoc[leve
4646
* link:https://docs.redhat.com/en/documentation/openshift_container_platform/latest/html/networking/configuring-ingress-cluster-traffic[Configuring ingress cluster traffic]
4747
4848
include::modules/ossm-customizing-istio-configuration.adoc[leveloffset=+1]
49+
50+
include::modules/ossm-about-istio-high-availability.adoc[leveloffset=+1]
51+
include::modules/ossm-configuring-istio-ha-autoscaling.adoc[leveloffset=+2]
52+
include::modules/ossm-configuring-istio-ha-replicacount.adoc[leveloffset=+2]
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
// This module is used in the following assemblies:
2+
// * service-mesh-docs-main/install/ossm-installing-service-mesh.adoc
3+
4+
:_mod-docs-content-type: CONCEPT
5+
[id="ossm-about-istio-high-availability_{context}"]
6+
= About Istio High Availability
7+
8+
Running the {istio} control plane in High Availability (HA) mode prevents single points of failure, and ensures continuous mesh operation even if an `istiod` pod fails. By using HA, if one `istiod` pod becomes unavailable, another one continues to manage and configure the {istio} control plane, preventing service outages or disruptions. HA provides scalability by distributing the control plane workload, enables graceful upgrades, supports disaster recovery operations, and protects against zone-wide mesh outages.
9+
10+
There are two ways for a system administrator to configure HA: by defining replica count or by using autoscaling.
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
// This procedure is used in the following assembly:
2+
// * service-mesh-docs-main/install/ossm-installing-service-mesh.adoc
3+
4+
:_mod-docs-content-type: PROCEDURE
5+
[id="ossm-configuring-istio-ha-autoscaling_{context}"]
6+
= Configuring Istio HA by using autoscaling
7+
8+
Configure the {istio} control plane in High Availability (HA) mode to prevent a single point of failure, and ensure continuous mesh operation even if one of the `istiod` pods fails. Autoscaling defines the minimum and maximum number of {istio} control plane pods that can operate. {ocp-product-title} uses these values to scale the number of control planes in operation in response to the varying number of workloads in the mesh.
9+
10+
.Prerequisites
11+
12+
* You are logged in to the {ocp-product-title} web console as a user with the `cluster-admin` role.
13+
14+
* You installed the {SMProductName} Operator.
15+
16+
* You deployed the {istio} resource.
17+
18+
.Procedure
19+
20+
. Obtain the name of the {istio} resource by running the following command:
21+
+
22+
[source,terminal]
23+
----
24+
$ oc get istio -n istio-system
25+
----
26+
+
27+
.Example output
28+
[source,terminal]
29+
----
30+
NAME REVISIONS READY IN USE ACTIVE REVISION STATUS VERSION AGE
31+
default 1 1 0 default Healthy v1.24.6 24m
32+
----
33+
+
34+
The name of the {istio} resource is `default`.
35+
36+
. Update the {istio} custom resource by adding the `autoscaleMin` and `autoscaleMax` parameters by running the following command:
37+
+
38+
[source,terminal]
39+
----
40+
$ oc patch istio default -n istio-system --type merge -p '
41+
spec:
42+
values:
43+
pilot:
44+
autoscaleMin: 2 <1>
45+
autoscaleMax: 5 <2>
46+
'
47+
----
48+
<1> Defines the minimum number of {istio} control plane replicas that always run.
49+
<2> Defines the maximum number of {istio} control plane replicas, allowing for scaling based on load. To support HA, there must be at least two replicas.
50+
51+
.Verification
52+
53+
. Verify the status of the {Istio} control pods by running the following command:
54+
+
55+
[source,terminal]
56+
----
57+
$ oc get pods -n istio-system -l app=istiod
58+
----
59+
+
60+
.Example output
61+
[source,terminal]
62+
----
63+
NAME READY STATUS RESTARTS AGE
64+
istiod-7c7b6564c9-nwhsg 1/1 Running 0 70s
65+
istiod-7c7b6564c9-xkmsl 1/1 Running 0 85s
66+
----
67+
+
68+
Two `istiod` pods are running, which indicates HA was successfully configured.
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
// This procedure is used in the following assembly:
2+
// * service-mesh-docs-main/install/ossm-installing-service-mesh.adoc
3+
4+
:_mod-docs-content-type: PROCEDURE
5+
[id="ossm-configuring-istio-ha-replicacount_{context}"]
6+
= Configuring Istio HA by using replica count
7+
8+
Configure the {istio} control plane in High Availability (HA) mode to prevent a single point of failure, and ensure continuous mesh operation even if one of the `istiod` pods fails. The replica count defines a fixed number of {istio} control plane pods that can operate. Use replica count for mesh environments in which the number of workloads does not scale.
9+
10+
.Prerequisites
11+
12+
* You are logged in to the {ocp-product-title} web console as a user with the `cluster-admin` role.
13+
14+
* You installed the {SMProductName} Operator.
15+
16+
* You deployed the {istio} resource.
17+
18+
.Procedure
19+
20+
. Obtain the name of the {istio} resource by running the following command:
21+
+
22+
[source,terminal]
23+
----
24+
$ oc get istio -n istio-sytem
25+
----
26+
+
27+
.Example output
28+
[source,terminal]
29+
----
30+
NAME REVISIONS READY IN USE ACTIVE REVISION STATUS VERSION AGE
31+
default 1 1 0 default Healthy v1.24.6 24m
32+
----
33+
+
34+
The name of the {istio} resource is `default`.
35+
36+
. Update the {istio} custom resource by adding the `autoscaleEnabled` and `replicaCount` parameters by running the following command:
37+
+
38+
[source,terminal]
39+
----
40+
$ oc patch istio default -n istio-system --type merge -p '
41+
spec:
42+
values:
43+
pilot:
44+
autoscaleEnabled: false <1>
45+
replicaCount: 2 <2>
46+
'
47+
----
48+
<1> Disables autoscaling and ensures that the number of replicas remains fixed.
49+
<2> Defines the number of {istio} control plane replicas. To support HA, there must be at least two replicas.
50+
51+
.Verification
52+
53+
. Verify the status of the {Istio} control pods by running the following command:
54+
+
55+
[source,terminal]
56+
----
57+
$ oc get pods -n istio-system -l app=istiod
58+
----
59+
+
60+
.Example output
61+
[source,terminal]
62+
----
63+
NAME READY STATUS RESTARTS AGE
64+
istiod-7c7b6564c9-nwhsg 1/1 Running 0 70s
65+
istiod-7c7b6564c9-xkmsl 1/1 Running 0 85s
66+
----
67+
+
68+
Two `istiod` pods are running, which indicates HA was successfully configured.

0 commit comments

Comments
 (0)