The software described in this documentation is either no longer supported or is in extended support.
Oracle recommends that you upgrade to a current supported release.
You can deploy each module required to create a service mesh in a
Kubernetes cluster individually. There are more steps in this method,
but you have explicit control of how each module is created and
deployed to your cluster. This example assumes a
Kubernetes module is already deployed and named
mycluster
.
To deploy a service mesh:
Set up Oracle Linux Cloud Native Environment, and deploy a Kubernetes cluster by deploying the Kubernetes module. For information on installing and deploying Oracle Linux Cloud Native Environment and creating a Kubernetes cluster, see Getting Started.
Use the olcnectl module create command to create a Helm module and add it to a Kubernetes module. For example, to create a Helm module named
myhelm
and add it to the Kubernetes module namedmycluster
:$
olcnectl --api-server 127.0.0.1:8091 module create \ --environment-name myenvironment \ --module helm \ --name myhelm \ --helm-kubernetes-module mycluster
The
--module
option sets the module type to create, which ishelm
. You define the name of the Helm module using the--name
option, which in this case ismyhelm
.The
--helm-kubernetes-module
option sets the name of the Kubernetes module into which Helm should be installed.Use the olcnectl module validate command to validate the Helm module can be deployed to the nodes. For example, to validate the Helm module named
myhelm
in the environment namedmyenvironment
:$
olcnectl --api-server 127.0.0.1:8091 module validate \ --environment-name myenvironment \ --name myhelm
Use the olcnectl module install command to deploy the Helm module. For example, to deploy the Helm module named
myhelm
in the environment namedmyenvironment
:$
olcnectl --api-server 127.0.0.1:8091 module install \ --environment-name myenvironment \ --name myhelm
Use the olcnectl module create command to create an Istio module and associate it with the Helm module. For example, to create an Istio module named
myistio
and associate it with the Helm module namedmyhelm
:$
olcnectl --api-server 127.0.0.1:8091 module create \ --environment-name myenvironment \ --module istio \ --name myistio \ --istio-helm-module myhelm
The
--module
option sets the module type to create, which isistio
. You define the name of the Istio module using the--name
option, which in this case ismyistio
.The
--istio-helm-module
option sets the name of the Helm module to use to deploy the Istio module. In this case, this is the Helm module namedmyhelm
, which is already deployed.NoteThe Istio module also requires an instance of Prometheus. When you deploy an Istio module, an embedded instance of Prometheus is created and deployed. You do not need to provide any information for the embedded Prometheus instance.
Use the olcnectl module validate command to validate the Istio module can be deployed to the nodes. For example, to validate the Istio module named
myistio
in the environment namedmyenvironment
:$
olcnectl --api-server 127.0.0.1:8091 module validate \ --environment-name myenvironment \ --name myistio
Use the olcnectl module install command to deploy the Istio module. For example, to deploy the Istio module named
myistio
in the environment namedmyenvironment
:$
olcnectl --api-server 127.0.0.1:8091 module install \ --environment-name myenvironment \ --name myistio
The Istio software packages are installed on the master nodes, and the Istio module is deployed into the Kubernetes cluster.