Skip to content

Commit b4acfc7

Browse files
committed
Update Blog “a-guide-to-enable-managed-istio-service-mesh-in-a-kubernetes-cluster-on-hpe-greenlake-for-private-cloud-enterprise”
1 parent 739939e commit b4acfc7

File tree

1 file changed

+29
-31
lines changed

1 file changed

+29
-31
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: 29 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
2-
title: A guide to enable managed Istio service mesh in a Kubernetes cluster on
3-
HPE GreenLake for Private Cloud Enterprise
2+
title: A guide to enabling a managed Istio service mesh in a Kubernetes cluster
3+
on HPE GreenLake for Private Cloud Enterprise
44
date: 2023-02-16T13:36:32.997Z
55
author: Akash Patel, Guoping Jia, Sonu Sudhakaran
66
authorimage: /img/Avatar1.svg
@@ -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

25-
**HPE GreenLake for Private Cloud Enterprise: Containers: Enabling Istio service mesh add-on from a cluster**
26-
27-
**Service mesh** is a network of microservices that consists 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.
25+
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.
2826

2927
**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/)**.
3028

31-
**Step-1: Create a Kubernetes cluster from containers page**
29+
# **Enabling Istio service mesh add-on from a cluster**
30+
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

@@ -37,19 +37,19 @@ To create a cluster, you must have been assigned the roles of **Private Cloud Cl
3737

3838
![](/img/clustermainpage-2.png "Clusters view")
3939

40-
As indicated above, there are multiple clusters deployed in parallel for multiple purposes. For the **Istio** service mesh add-on enablement/deployment in our example, we will use created cluster with the name '**hpe**'.
40+
As indicated above, there are multiple clusters deployed in parallel for multiple purposes. For the **Istio** service mesh add-on enablement/deployment in our example, we are using a cluster created with the name "**hpe**".
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.
48-
* Click **Enable Add-on** if no add-ons are enabled or click **Enable Another Add-on**.
48+
* Click **Enable add-on** if no add-ons are enabled or click **Enable another add-on**.
4949

5050
![](/img/blankaddonpage.png "Add-ons view")
5151

52-
* In the **Enable Add-on** wizard, select the **Istio-service-mesh** add-on and click Next.
52+
* In the **Enable Addon** wizard, select the **Istio-service-mesh** add-on and click **Next**.
5353

5454
![](/img/istioaddonpage-11.png "Select Add-on view")
5555

@@ -65,9 +65,9 @@ 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 - the console for Istio service mesh**
68+
### **Step-3: Launching the Kiali dashboard - the console for Istio service mesh**
6969

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

7272
From the **Overview** tab, click the **KialiURL** link and use the **Kiali token**.
7373

@@ -77,20 +77,20 @@ The **Kiali dashboard** launches in a new web page.
7777

7878
![](/img/kiali-console.png "Kiali console view")
7979

80-
**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, see **<https://istio.io/latest/docs/setup/additional-setup/sidecar-injection/>**. For information about using Kiali, see the **[Kiali documentation](https://kiali.io/docs/)**.
80+
**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 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

87-
**Note**: Launching 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.
87+
**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

91-
This procedure follows the standard Istio documentation to deploy a sample application. To know more about Bookinfo Application, see **[Istio documentation](https://istio.io/latest/docs/examples/bookinfo/)**.
91+
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-
**Create the namespace and label for Istio sidecar proxy injection to deploy the application in 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,9 +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 sample application by using the created namespace bookinfo**
108-
109-
Deploy the Bookinfo application using the YAML manifest file i.e. **services/istio/release-1.16/samples/bookinfo/bookinfo.yaml** from the 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)**.
110108

111109
```shellsession
112110
$ kubectl apply -f bookinfo.yaml -n bookinfo
@@ -126,7 +124,7 @@ serviceaccount/bookinfo-productpage created
126124
deployment.apps/productpage-v1 created
127125
```
128126

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

131129
```shellsession
132130
$ kubectl get pods,services -n bookinfo
@@ -145,7 +143,7 @@ ratings ClusterIP 10.108.60.57 <none> 9080/TCP 6m46s
145143
reviews ClusterIP 10.106.208.181 <none> 9080/TCP 14m
146144
```
147145

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

150148
* Edit the deployed service **productpage**.
151149
* Change service type from ClusterIP to **NodePort**.
@@ -177,19 +175,19 @@ Events:
177175
Normal HpeCp 21s hpecp-agent Created HPECP K8S service
178176
```
179177

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

182-
Bookinfo application **productpage** can be accessed in the browser by typing the URL **http://epicgw.customer.hpe.net:10072**
180+
The Bookinfo application **productpage** can be accessed in the browser by typing the URL **http://epicgw.customer.hpe.net:10072**
183181

184-
Note : Above URL might be different in your environment. You can form the URL by referring annotations from the **productpage** service.
182+
Note : The above URL might be different in your environment. You can form the URL by referencing annotations from the **productpage** service.
185183

186184
![](/img/bookinfo-productpage.png "Bookinfo application default view")
187185

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

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

192-
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.
190+
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.
193191

194192
![](/img/kiali-bookinfo.png "Kiali overview")
195193

@@ -209,8 +207,8 @@ In the **Services** tab from the left navigation menu, after selecting the **nam
209207

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

212-
**Summary**
210+
# **Summary**
213211

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

216-
We hope that this blog post has provided you with enough information for you to get started deploying 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**, refer to the **[HPE Developer Community blog](https://developer.hpe.com/)**.
214+
We hope that this blog post has provided you with enough information for you to get started deploying containerized application or a managed service **i.e. Istio service mesh** on a Kubernetes-based container stack using the cluster add-on feature provided by **HPE GreenLake for Private Cloud Enterprise: Containers**, refer to the **[HPE Developer Community blog](https://developer.hpe.com/)**.

0 commit comments

Comments
 (0)