Managing service mesh on Kubernetes with Istio

Containerum
Oct 4, 2018 · 6 min read
Image for post
Image for post
Photo by Jeremy Bishop on Unsplash

Install Istio

curl -L https://git.io/getLatestIstio | sh -
cd istio-1.0.2
export PATH=$PWD/bin:$PATH
kubectl apply -f install/kubernetes/istio-demo-auth.yaml
kubectl get service -n istio-system
Image for post
Image for post
kubectl get pods -n istio-system
Image for post
Image for post
kubectl apply -f <(istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml)
kubectl get services
Image for post
Image for post
kubectl get pods
Image for post
Image for post
kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
kubectl get svc -n istio-system
apiVersion: v1
kind: Service
metadata:
labels:
app: istio-ingressgateway
chart: gateways-1.0.1
heritage: Tiller
istio: ingressgateway
release: RELEASE-NAME
name: istio-ingressgateway
namespace: istio-system
spec:
ports:
- name: http2
port: 80
protocol: TCP
targetPort: 80
- name: https
port: 443
protocol: TCP
targetPort: 443
- name: tcp
port: 31400
protocol: TCP
targetPort: 31400
- name: tcp-pilot-grpc-tls
port: 15011
protocol: TCP
targetPort: 15011
- name: tcp-citadel-grpc-tls
port: 8060
protocol: TCP
targetPort: 8060
- name: tcp-dns-tls
port: 853
protocol: TCP
targetPort: 853
- name: http2-prometheus
port: 15030
protocol: TCP
targetPort: 15030
- name: http2-grafana
port: 15031
protocol: TCP
targetPort: 15031
externalIPs:
- 192.168.0.1 # your external IP here
selector:
app: istio-ingressgateway
istio: ingressgateway
sessionAffinity: None
type: ClusterIP
kubectl create -f istio-svc.yaml
sudo yum groupinstall ‘Development Tools’
sudo yum install -y openssl-devel git
git clone https://github.com/wg/wrk.git wrk
cd wrk
make
sudo cp wrk /usr/bin
sudo apt-get install build-essential libssl-dev git -y
git clone https://github.com/wg/wrk.git wrk
cd wrk
sudo make
# move the executable to somewhere in your PATH, ex:
sudo cp wrk /usr/local/bin
export GATEWAY_URL=%YOUR_EXTERNAL_IP:80wrk -t1 -c1 -d60s http://${GATEWAY_URL}/productpage
kubectl get po -n istio-system
Image for post
Image for post
kubectl port-forward %grafana-pod -n istio-system 3000
Image for post
Image for post
Image for post
Image for post

Conclusion

Containerum

Containerum publishes articles and best practices on…

Containerum

Written by

Containerum Platform for managing applications in Kubernetes.

Containerum

Containerum publishes articles and best practices on Kubernetes. Containerum has just released an open source management platform with built-in revision control, teamwork and CI/CD pipelines.

Containerum

Written by

Containerum Platform for managing applications in Kubernetes.

Containerum

Containerum publishes articles and best practices on Kubernetes. Containerum has just released an open source management platform with built-in revision control, teamwork and CI/CD pipelines.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store