1、Service Mesh(服務網格)
2、Isito 概述,架構與組件,部署
2.1、lsito概述
Isito是Service Mesh的產品化落地,是目前最受歡迎的服務網格,功能豐富、成熟度高。Linkerd是世界上第一個服務網格類的產品。
2.2、lsito架構與組件
2.3、Istio 基本概念
Istio 有 4 個配置資源,落地所有流量管理需求:• VirtualService:實現服務請求路由規則的功能。• DestinationRule:實現目標服務的負載均衡、服務發現、故障處理和故障注入的功能。• Gateway:讓服務網格內的服務,可以被全世界看到。• ServiceEntry :讓服務網格內的服務,可以看到外面的世界。
2.4、在 Kubernetes 部署 Istio
# wget https://github.com/istio/istio/releases/download/1.4.2/istio-1.4.2-linux.tar.gz
# tar zxvf istio-1.4.2-linux.tar.gz
# cd istio-1.4.2
# mv bin/istioctl /usr/bin
# istioctl profile list
# istioctl manifest apply --set profile=demo
# kubectl get pods -n istio-system
注:如果安裝慢,先把鏡像拉取下來
docker pull grafana/grafana:6.4.3
docker pull docker.io/istio/citadel:1.4.2
docker pull docker.io/istio/galley:1.4.2
docker pull docker.io/istio/pilot:1.4.2
docker pull docker.io/istio/sidecar_injector:1.4.2
docker pull docker.io/jaegertracing/all-in-one:1.14
docker pull quay.io/kiali/kiali:v1.9
docker pull docker.io/prom/prometheus:v2.2.1
docker pull docker.io/istio/proxyv2:1.4.2
docker pull docker.io/istio/mixer:1.4.2
# kubectl get svc -n istio-system
卸載:
istioctl manifest generate --set profile=demo | kubectl delete -f -
2.5、Sidercar 注入
部署httpbin Web示例:
# cd istio-1.4.2/samples/httpbin
# kubectl apply -f httpbin-nodeport.yaml
# kubectl get pods
# kubectl get pods,svc
NodePort訪問地址: http://192.168.1.14:30824
# 手動注入
#kubectl apply -f
或者
istioctl kube-inject -f httpbin-nodeport.yaml |kubectl apply -f -
# kubectl get pods
# 自動注入
# kubectl label namespace default istio-injection=enabled
# kubectl apply -f httpbin-gateway.yaml
# kubectl get gateway
# kubectl get svc -n istio-system
NodePort訪問地址: http://192.168.1.14:31503
sidercar流程:
2.6、服務網關gateway
閱讀更多 愛踢人生 的文章