The Sail Operator is able to install and manage the lifecycle of the Istio control plane in an OpenShift cluster.
You have deployed a cluster on OpenShift Container Platform 4.13 or later.
You are logged in to the OpenShift Container Platform web console as a user with
the cluster-admin
role.
You have access to the OpenShift CLI (oc).
-
Navigate to the OperatorHub.
-
Click Operator -> Operator Hub.
-
Search for "sail".
-
Locate the Sail Operator, and click to select it.
-
When the prompt that discusses the community operator appears, click Continue.
-
Verify the Sail Operator is version 0.1, and click Install.
-
Use the default installation settings presented, and click Install to continue.
-
Click Operators -> Installed Operators to verify that the Sail Operator is installed.
Succeeded
should appear in the Status column.
To deploy Istio, you must create two resources: Istio
and IstioCNI
. The
Istio
resource deploys and configures the Istio Control Plane, whereas the
IstioCNI
resource deploys and configures the Istio CNI plugin. You should
create these resources in separate projects.
-
In the OpenShift Container Platform web console, click Home -> Projects.
-
Click Create Project.
-
At the prompt, you must enter a name for the project in the Name field. For example,
istio-system
. The Operator deploys Istio to the project you specify. The other fields provide supplementary information and are optional. -
Click Create.
Repeat the process to create a project named istio-cni
.
- In the OpenShift Container Platform web console, click Operators -> Installed Operators.
- Select the
istio-system
project from the Namespace drop-down menu. - Click the Sail Operator.
- Click Istio.
- Click Create Istio.
- Click Create. This action deploys the Istio control plane.
- When
State: Healthy
appears in theStatus
column, Istio is successfully deployed.
- In the OpenShift Container Platform web console, click Operators -> Installed Operators.
- Click the Sail Operator.
- Click IstioCNI.
- Click Create IstioCNI.
- Ensure that the name is
default
. - Select the
istio-cni
project from the Namespace drop-down menu. - Click Create. This action deploys the Istio CNI plugin.
- When
State: Healthy
appears in theStatus
column, the Istio CNI plugin is successfully deployed.
The version
field of the Istio
and IstioCNI
resource defines which version
of each component should be deployed. This can be set using the Istio Version
drop down menu when creating a new Istio
with the OpenShift Container Platform
web console. For a list of available versions, see the versions.yaml file
or use the command:
$ kubectl explain istio.spec.version
The spec.values
field of the Istio
and IstioCNI
resource can be used to
customize Istio and Istio CNI plugin configuration using Istio's Helm
configuration values. When you create this resource using the OpenShift
Container Platform web console, it is pre-populated with configuration settings
to enable Istio to run on OpenShift.
To view or modify the Istio
resource from the OpenShift Container Platform web console:
- Click Operators -> Installed Operators.
- Click Istio in the Provided APIs column.
- Click
Istio
instance, "istio-sample" by default, in the Name column. - Click YAML to view the
Istio
configuration and make modifications.
An example configuration:
apiVersion: sailoperator.io/v1
kind: Istio
metadata:
name: example
spec:
version: v1.20.0
values:
global:
mtls:
enabled: true
trustDomainAliases:
- example.net
meshConfig:
trustDomain: example.com
trustDomainAliases:
- example.net
For a list of available configuration for the spec.values
field, run the
following command:
$ kubectl explain istio.spec.values
For the IstioCNI
resource, replace istio
with istiocni
in the command above.
Alternatively, refer to Istio's artifacthub chart documentation for:
The istioctl
tool is a configuration command line utility that allows service
operators to debug and diagnose Istio service mesh deployments.
For installation steps, refer to the following link.
You can use the bookinfo
example application to explore service mesh features.
Using the bookinfo
application, you can easily confirm that requests from a
web browser pass through the mesh and reach the application.
For installation steps, refer to the following link.
The Sail Operator does not deploy Ingress or Egress Gateways. Gateways are not part of the control plane. As a security best-practice, Ingress and Egress Gateways should be deployed in a different namespace than the namespace that contains the control plane.
You can deploy gateways using either the Gateway API or Gateway Injection methods.
For installation steps, refer to the following link.
Istio can be integrated with other software to provide additional functionality (More information can be found in: https://istio.io/latest/docs/ops/integrations/). The following addons are for demonstration or development purposes only and should not be used in production environments:
For installation steps, refer to the following link.
- In the OpenShift Container Platform web console, click Operators -> Installed Operators.
- Click Istio in the Provided APIs column.
- Click the Options menu, and select Delete Istio.
- At the prompt to confirm the action, click Delete.
- In the OpenShift Container Platform web console, click Operators -> Installed Operators.
- Click IstioCNI in the Provided APIs column.
- Click the Options menu, and select Delete IstioCNI.
- At the prompt to confirm the action, click Delete.
- In the OpenShift Container Platform web console, click Operators -> Installed Operators.
- Locate the Sail Operator. Click the Options menu, and select Uninstall Operator.
- At the prompt to confirm the action, click Uninstall.
- In the OpenShift Container Platform web console, click Home -> Projects.
- Locate the name of the project and click the Options menu.
- Click Delete Project.
- At the prompt to confirm the action, enter the name of the project.
- Click Delete.