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
閱讀更多 愛踢人生 的文章