Skip to content

Commit 8f608f0

Browse files
authored
Merge pull request #1760 from hpe-dev-incubator/cms/blog/a-guide-to-enable-managed-istio-service-mesh-in-a-kubernetes-cluster-on-hpe-greenlake-for-private-cloud-enterprise
Update Blog “a-guide-to-enable-managed-istio-service-mesh-in-a-kubernetes-cluster-on-hpe-greenlake-for-private-cloud-enterprise”
2 parents 1e451f8 + e8a9426 commit 8f608f0

File tree

1 file changed

+14
-14
lines changed

1 file changed

+14
-14
lines changed

content/blog/a-guide-to-enable-managed-istio-service-mesh-in-a-kubernetes-cluster-on-hpe-greenlake-for-private-cloud-enterprise.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@ tags:
1818
- site-reliability-engineer
1919
- hpe-greenlake-for-private-cloud-enterprise-containers
2020
---
21-
## **Introduction**
21+
## Introduction
2222

2323
In this blog post, we demonstrate how an end user can deploy a containerized application or a managed service on a Kubernetes-based container stack using the cluster add-on feature provided by **HPE GreenLake for Private Cloud Enterprise: Containers** and then access it over an external network or internet. The containers service evaluates the user’s environment and makes add-ons available to the user so that they can add the containerized application or managed service to the cluster as required.
2424

2525
For those of you who may be unfamiliar with the term, a **Service mesh** is a network of microservices that consist of distributed applications and communications between those applications. It is a dedicated infrastructure layer that facilitates service-to-service communications routed through the proxy, ensuring secure communication.
2626

2727
**Istio** is an open-source service mesh that provides a platform for distributed applications that includes API integrations with logging, telemetry, or policy systems. It provides a uniform and more efficient way to secure, connect, and monitor services. Istio automatically manages load balancing for HTTP, gRPC, WebSocket, and TCP traffic. For details, see **[The Istio service mesh](https://istio.io/latest/about/service-mesh/)**.
2828

29-
## **Enabling Istio service mesh add-on from a cluster**
29+
## Enabling Istio service mesh add-on from a cluster
3030

31-
### **Step-1: Create a Kubernetes cluster from the containers page**
31+
### Step-1: Create a Kubernetes cluster from the containers page
3232

3333
To create a cluster, you must have been assigned the roles of **Private Cloud Cluster Owner** and **Private Cloud Widget Viewer**.
3434

@@ -41,7 +41,7 @@ As indicated above, there are multiple clusters deployed in parallel for multipl
4141

4242
![](/img/clusterhpeview.png "Cluster 'hpe' view")
4343

44-
### **Step-2: Enabling an add-on from a cluster**
44+
### Step-2: Enabling an add-on from a cluster
4545

4646
* On the **Containers** main page, click a cluster row to open the cluster details screen.
4747
* On the cluster details screen, click the **Add-ons** tab.
@@ -65,7 +65,7 @@ As indicated above, there are multiple clusters deployed in parallel for multipl
6565

6666
![](/img/istioaddondetailspage.png "Add-on Istio-service-mesh overview")
6767

68-
### **Step-3: Launching the Kiali dashboard - the console for Istio service mesh**
68+
### Step-3: Launching the Kiali dashboard - the console for Istio service mesh
6969

7070
**Kiali** is an open-source project that provides observability for the Istio service mesh.
7171

@@ -79,18 +79,18 @@ The **Kiali dashboard** launches in a new web page.
7979

8080
**Note**: To take advantage of the Istio features, pods in the mesh must be running an Istio sidecar proxy. Injection of the proxy can be done either on a per-pod basis or at namespace level. To enable side car injection, refer to the [setup instructions](https://istio.io/latest/docs/setup/additional-setup/sidecar-injection/). For information about using Kiali, see the **[Kiali documentation](https://kiali.io/docs/)**.
8181

82-
### **Step-4: Download scoped kubeconfig from the container platform page**
82+
### Step-4: Download scoped kubeconfig from the container platform page
8383

8484
* From the **Clusters** tab, select the '**hpe**' Kubernetes cluster and click **Launch Service Console**. This will direct you to the container platform page.
8585
* Click on Download **kubeconfig**.
8686

8787
**Note**: Launching the service console from HPE GreenLake Central is configured through SAML SSO and adds a session token to the kubeconfig file. You will need to download the kubeconfig file again if you want to continue to access the cluster when the session token expires after an hour.
8888

89-
### **Step-5: Deploying a sample Istio application: Bookinfo**
89+
### Step-5: Deploying a sample Istio application: Bookinfo
9090

9191
This procedure follows the standard Istio documentation to deploy a sample application. To know more about Bookinfo Application, see the **[Istio documentation](https://istio.io/latest/docs/examples/bookinfo/)**.
9292

93-
#### **Use the following commands to create the namespace and label for Istio sidecar proxy injection to deploy the application in the bookinfo namespace**.
93+
**Use the following commands to create the namespace and label for Istio sidecar proxy injection to deploy the application in the bookinfo namespace**.
9494

9595
```shellsession
9696
$ kubectl create namespace bookinfo
@@ -104,7 +104,7 @@ NAME STATUS AGE LABELS
104104
bookinfo Active 105s gl.hpe.com/namespaceid=10d70074-0c2b-4221-804e-1437ed1842ca,hpe.com/cluster=stub,hpe.com/namespacetype=Tenant,hpe.com/tenant=bookinfo,hpe.com/version=6.2.0,hpecp.hpe.com/hpecptenant=hpecp-tenant-106,istio-injection=enabled,kubernetes.io/metadata.name=bookinfo,serving.kubeflow.org/inferenceservice=enabled
105105
```
106106

107-
#### **Deploy** the **Bookinfo** application using the YAML manifest file i.e. **services/istio/release-1.16/samples/bookinfo/bookinfo.yaml** from the [](https://github)**[Github repository](https://github.com/cxteamtrials/caas-trials-content)**.
107+
**Deploy the Bookinfo application using the YAML manifest file i.e. services/istio/release-1.16/samples/bookinfo/bookinfo.yaml from the [](https://github)**[Github repository](https://github.com/cxteamtrials/caas-trials-content)**.
108108

109109
```shellsession
110110
$ kubectl apply -f bookinfo.yaml -n bookinfo
@@ -124,7 +124,7 @@ serviceaccount/bookinfo-productpage created
124124
deployment.apps/productpage-v1 created
125125
```
126126

127-
#### **Confirm all pods and services are deployed successfully**.
127+
**Confirm all pods and services are deployed successfully**.
128128

129129
```shellsession
130130
$ kubectl get pods,services -n bookinfo
@@ -143,7 +143,7 @@ ratings ClusterIP 10.108.60.57 <none> 9080/TCP 6m46s
143143
reviews ClusterIP 10.106.208.181 <none> 9080/TCP 14m
144144
```
145145

146-
#### **Configure the service to access the application outside of the cluster**.
146+
**Configure the service to access the application outside of the cluster**.
147147

148148
* Edit the deployed service **productpage**.
149149
* Change service type from ClusterIP to **NodePort**.
@@ -175,7 +175,7 @@ Events:
175175
Normal HpeCp 21s hpecp-agent Created HPECP K8S service
176176
```
177177

178-
#### **Confirm the application is accessible from outside the cluster**.
178+
**Confirm the application is accessible from outside the cluster**.
179179

180180
The Bookinfo application **productpage** can be accessed in the browser by typing the URL **http://epicgw.customer.hpe.net:10072**
181181

@@ -185,7 +185,7 @@ Note : The above URL might be different in your environment. You can form the UR
185185

186186
![](/img/bookinfo-productpage-normal-user.png "Bookinfo application productpage view")
187187

188-
## **Monitor the sample application using the Kiali dashboard**
188+
## Monitor the sample application using the Kiali dashboard
189189

190190
Enter **bookinfo** into the field Filter by Namespace. The Kiali overview screen displays the details about the namespace bookinfo. It shows that 4 applications are running in the **namespace bookinfo** with no inbound traffic.
191191

@@ -207,7 +207,7 @@ In the **Services** tab from the left navigation menu, after selecting the **nam
207207

208208
![](/img/kiali-console-services.png "Kiali services view")
209209

210-
## **Summary**
210+
## Summary
211211

212212
You can find the GitHub repository that hosts demo code **[here](https://github.com/cxteamtrials/caas-trials-content)**.
213213

0 commit comments

Comments
 (0)