-
Notifications
You must be signed in to change notification settings - Fork 1.9k
OSSM-9338 Document Istio control plane update strategy: RevisionBased strategy #92614
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
jab-rh
merged 1 commit into
openshift:service-mesh-docs-main
from
shreyasiddhartha:OSSM-9338
Jun 10, 2025
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
9 changes: 0 additions & 9 deletions
9
modules/ossm-attach-workloads-to-control-plane-revisionbased.adoc
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
134 changes: 134 additions & 0 deletions
134
modules/ossm-installing-istio-with-revisionbased-strategy-istiorevisiontag.adoc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,134 @@ | ||
| // Module included in the following assemblies: | ||
|
|
||
| // update/ossm-updating-openshift-service-mesh.adoc | ||
|
|
||
| :_mod-docs-content-type: PROCEDURE | ||
| [id="installing-istio-with-revisionbased-strategy-istiorevisiontag_{context}"] | ||
| = Installing Istio with RevisionBased strategy and IstioRevisionTag | ||
|
|
||
| You can install the {istio} control plane, `IstioRevisionTag` resource, {istio} CNI, and the Bookinfo demo application using the `RevisionBased` update strategy. | ||
|
|
||
| [NOTE] | ||
| ==== | ||
| You can use the following section to understand the update process. You can skip this installation if the cluster already includes an {istio} deployment. | ||
shreyasiddhartha marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| ==== | ||
|
|
||
| .Procedure | ||
|
|
||
| . Create the `istio-system` namespace by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc create ns istio-system | ||
| ---- | ||
|
|
||
| . Deploy the {istio} control plane using the `RevisionBased` update strategy. The following example configuration creates an `{istio}` resource named `default` in the `istio-system` namespace: | ||
shreyasiddhartha marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| + | ||
| .Example configuration | ||
| [source,yaml] | ||
| ---- | ||
| apiVersion: sailoperator.io/v1 | ||
| kind: Istio | ||
| metadata: | ||
| name: default | ||
| spec: | ||
| namespace: istio-system | ||
| updateStrategy: | ||
| type: RevisionBased | ||
| version: v1.24.3 | ||
| ---- | ||
|
|
||
| . Create an `IstioRevisionTag` resource. The following example configuration creates an `IstioRevisionTag` resource named `default`: | ||
shreyasiddhartha marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| + | ||
| .Example configuration | ||
| [source,yaml] | ||
| ---- | ||
| apiVersion: sailoperator.io/v1 | ||
| kind: IstioRevisionTag | ||
| metadata: | ||
| name: default | ||
| spec: | ||
| targetRef: | ||
| kind: Istio | ||
| name: default | ||
| ---- | ||
| + | ||
| Verify that the `targetRef` field points to the desired `{istio}` resource. In the example above, the `IstioRevisionTag` references the `{istio}` resource named `default`. | ||
|
|
||
| . Create the `istio-cni` namespace by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc create ns istion-cni | ||
| ---- | ||
|
|
||
| . Install the {istio} CNI plugin with the desired version. The following example configuration creates an `IstioCNI` resource named `default` in the `istio-cni` namespace: | ||
shreyasiddhartha marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| + | ||
| .Example configuration | ||
| [source,yaml] | ||
| ---- | ||
| apiVersion: sailoperator.io/v1 | ||
| kind: IstioCNI | ||
| metadata: | ||
| name: default | ||
| spec: | ||
| version: v1.24.3 | ||
| namespace: istio-cni | ||
| ---- | ||
|
|
||
| . Configure application workloads to run in the cluster. The following example deploys the `bookinfo` application in the `bookinfo` namespace. | ||
|
|
||
| .. Create the `bookinfo` namespace by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc create ns bookinfo | ||
| ---- | ||
|
|
||
| .. Label the `bookinfo` namespace to enable sidecar injection by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc label namespace bookinfo istio-injection=enabled | ||
| ---- | ||
|
|
||
| .. Install the `bookinfo` pods in the `bookinfo` namespace by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc apply -f https://raw.githubusercontent.com/openshift-service-mesh/istio/release-1.24/samples/bookinfo/platform/kube/bookinfo.yaml -n bookinfo | ||
| ---- | ||
|
|
||
| . Review the `IstioRevisionTag` resource by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc get istiorevisiontag | ||
| ---- | ||
| + | ||
| .Example output | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| NAME STATUS IN USE REVISION AGE | ||
| default Healthy True default-v1-24-3 2m46s | ||
| ---- | ||
shreyasiddhartha marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| + | ||
| The `IN USE` field shows `True` because both active workloads and the `bookinfo` namespace now reference the tag. | ||
|
|
||
| . Confirm that the proxy version matches the control plane version by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ istioctl proxy-status | ||
| ---- | ||
| + | ||
| The `VERSION` column should match the control plane version. | ||
| + | ||
| .Example output | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| NAME TYPE READY STATUS IN USE VERSION AGE | ||
| default-v1-24-3 Local True Healthy True v1.24.3 5m31s | ||
| ---- | ||
126 changes: 126 additions & 0 deletions
126
modules/ossm-installing-istio-with-revisionbased-strategy.adoc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,126 @@ | ||
| // Module included in the following assemblies: | ||
shreyasiddhartha marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| // update/ossm-updating-openshift-service-mesh.adoc | ||
|
|
||
| :_mod-docs-content-type: PROCEDURE | ||
| [id="installing-istio-with-revisionbased-strategy_{context}"] | ||
| = Installing Istio with RevisionBased strategy | ||
|
|
||
| You can install the {istio} control plane, {istio} CNI, and the Bookinfo demo application using the `RevisionBased` update strategy. | ||
|
|
||
| [NOTE] | ||
| ==== | ||
| You can use the following section to understand the update process. You can skip this installation if the cluster already includes an {istio} deployment. | ||
| ==== | ||
|
|
||
| .Procedure | ||
|
|
||
| . Create the `istio-system` namespace by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc create ns istio-system | ||
| ---- | ||
|
|
||
| . Deploy the {istio} control plane using the `RevisionBased` update strategy. The following example configuration creates an `{istio}` resource named `default` in the `istio-system` namespace: | ||
| + | ||
| .Example configuration | ||
| [source,yaml] | ||
| ---- | ||
| apiVersion: sailoperator.io/v1 | ||
| kind: Istio | ||
| metadata: | ||
| name: default | ||
| spec: | ||
| namespace: istio-system | ||
| version: v1.24.3 | ||
| updateStrategy: | ||
| type: RevisionBased | ||
| ---- | ||
|
|
||
| . Install the {istio} CNI plugin with the desired version. The following example configuration creates an `IstioCNI` resource named `default` in the `istio-cni` namespace: | ||
| + | ||
| .Example configuration | ||
| [source,yaml] | ||
| ---- | ||
| apiVersion: sailoperator.io/v1 | ||
| kind: IstioCNI | ||
| metadata: | ||
| name: default | ||
| spec: | ||
| version: v1.24.3 | ||
| namespace: istio-cni | ||
| ---- | ||
|
|
||
| . Get the `IstioRevision` name by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc get istiorevision -n istio-system | ||
| ---- | ||
| + | ||
| .Example output | ||
| [source,terminal] | ||
| ---- | ||
| NAME TYPE READY STATUS IN USE VERSION AGE | ||
| default-v1-24-3 Local True Healthy False v1.24.3 3m4s | ||
| ---- | ||
| + | ||
| The `IstioRevision` name is in the format `<istio_resource_name>-<version>`. | ||
|
|
||
| . Configure application workloads to run in the cluster. The following example deploys the `bookinfo` application in the `bookinfo` namespace: | ||
|
|
||
| .. Create the `bookinfo` namespace by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc create ns bookinfo | ||
| ---- | ||
|
|
||
| .. Label the `bookinfo` namespace to enable sidecar injection by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc label namespace bookinfo istio.io/rev=<revision_name> | ||
| ---- | ||
|
|
||
| .. Install the `bookinfo` pods in the `bookinfo` namespace by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc apply -f https://raw.githubusercontent.com/openshift-service-mesh/istio/release-1.24/samples/bookinfo/platform/kube/bookinfo.yaml -n bookinfo | ||
| ---- | ||
|
|
||
| . Review the `Istio` resource by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ oc get istio -n istio-system | ||
| ---- | ||
| + | ||
| .Example output | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| NAME REVISIONS READY IN USE ACTIVE REVISION STATUS VERSION AGE | ||
| default 1 1 1 default-v1-24-3 Healthy v1.24.3 5m13s | ||
| ---- | ||
| + | ||
| The `IN USE` field shows `1` after you deploy the application. | ||
|
|
||
| . Confirm that the proxy version matches the control plane version by running the following command: | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| $ istioctl proxy-status | ||
| ---- | ||
| + | ||
| The `VERSION` column should match the control plane version. | ||
| + | ||
| .Example output | ||
| + | ||
| [source,terminal] | ||
| ---- | ||
| NAME TYPE READY STATUS IN USE VERSION AGE | ||
| default-v1-24-3 Local True Healthy True v1.24.3 5m31s | ||
| ---- | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.