Kustomization for Deploying Red Hat OpenShift Service Mesh
Red Hat OpenShift Service Mesh product documentation can be found here. This kustomization is based on the examples included in the product documentation.
You can refer to the Maistra Istio Operator project on GitHub for further documentation on the operator.
Deploying required operators
$ oc apply --kustomize elasticsearch-operator/base
$ oc apply --kustomize jaeger-operator/base
$ oc apply --kustomize kiali-operator/base
$ oc apply --kustomize service-mesh-operator/base
You should now see operators running in the openshift-operators project:
oc get pod --namespace openshift-operators
NAME READY STATUS RESTARTS AGE
elasticsearch-operator-6b4686b59-fz6cx 1/1 Running 0 11h
istio-operator-5f945bd597-z89qp 1/1 Running 0 11h
jaeger-operator-54b947db5d-lck5w 1/1 Running 0 11h
kiali-operator-6559fdc5bc-vspjd 1/1 Running 0 11h
Deploying Service Mesh control plane
Install service mesh control plane:
$ oc apply --kustomize service-mesh-instance/overlays/development
Discover the service mesh endpoint hostnames:
$ oc get route --namespace istio-system
Deploying Bookinfo application
Follow the instructions in the chapter Example Application to deploy the example Bookinfo application.
$ oc new-project bookinfo
$ oc patch \
smmr default \
--namespace istio-system \
--type json \
--patch '[{"op": "add", "path": "/spec/members/-", "value": "bookinfo"}]'
$ oc apply \
--namespace bookinfo \
--filename https://raw.githubusercontent.com/Maistra/bookinfo/maistra-1.0/bookinfo.yaml
$ oc apply \
--namespace bookinfo \
--filename https://raw.githubusercontent.com/Maistra/bookinfo/maistra-1.0/bookinfo-gateway.yaml
$ oc apply --namespace bookinfo \
--filename https://raw.githubusercontent.com/istio/istio/release-1.1/samples/bookinfo/networking/destination-rule-all.yaml
Verifying the Bookinfo installation
Obtain the Istio ingress hostname:
$ oc get route --namespace istio-system istio-ingressgateway --output jsonpath='{.spec.host}'
Then visit http://<ingress_hostname>/productpage
with your browser.
Obtain the Kiali endpoint hostname:
$ oc get route --namespace istio-system kiali --output jsonpath='{.spec.host}'
Obtain the Jaeger endpoint hostname:
$ oc get route --namespace istio-system jaeger --output jsonpath='{.spec.host}'