开发者学堂课程【云原生实践公开课:非容器应用与K8s工作负载的服务网格化实践】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/698/detail/1228
非容器应用与K8s工作负载的服务网格化实践
内容介绍:
一、非容器应用网格化的目的
二、非容器应用网格化第一弹:外部服务
三、非容器应用网格化第二弹:混合流量
一、非容器应用网格化的目的
1、kubernetes 工作负载
Pods(Deployments/ReplicaSet/...)
弹性伸缩 服务发现 滚动发布 链路追踪
监控统计 动态路由 故障转移
非Kubernetes容器应用
2、CNCF Cloud Native lnteractive Landscape
生态 效率|成本标准一致功能齐全
3、非Kubernetes容器应用网格化
加入服务网格
成为与 Pods 同等地位的工作负载
流量管理
安全性
可观测性
4、服务网格对虚拟机非容器应用的支持
ASM统一服务治理:流量管理、安全性、可观测性
二、非容器应用网格化第一弹:外部服务
1、外部服务加入服务网格
Alibabacloud ServiceMesh(ASM)
Alibabacloud Kubernetes(ACK):lstio-ingressgateway
Alibabacloud Elastic Compute Service(ECS):app
2、非Kubernetes容器应用网格化
Alibabacloud ServiceMesh(ASM)
1、VirtualService
2、DestionationRule
3、ServiceEntry
4、WorkloadEntry
Alibabacloud Kubernetes(ACK):lstio-ingressgateway
Alibabacloud Elastic Compute Service(ECS):
1、App
2、ASM Sidecar
3、vm metadata
3、非Kubernetes容器应用网格化
Alibabacloud Kubernetes(ACK):lstio-ingressgateway
Alibabacloud Elastic Compute Service(ECS):ASMvm proxy
4、外部服务加入服务网格
Alibabacloud ServiceMesh(ASM)
Alibabacloud Kubernetes(ACK):lstio-ingressgateway
Alibabacloud Elastic Compute Service(ECS):ASMvm prox
y
调用链路:
三、非容器应用网格化第二弹:混合流量
1、POD和VM混合流量
首先部署ack资源(包括hello和service)
k apply -f dat_plane/hello1_deployment.yaml
k apply -f data_plane/hello2_deployment.yaml
k apply -f data_plane/hello3_deployment.yaml
apply -f data_plane/hello1_sprvice.yaml
apply -f data_plane/hello2_service.yaml
apply -f data_plane/hello3_service.yaml
然后部署asm资源
aliyun servicemeshAddVmAppToNesh\
--ServiceMeshId""$HESH_ID"\
--Namespace hybrid-hello \
--ServiceName hello2-svc \
--Ips "$VM_PRI_2"","$VM_PRI_3"\
--ports http:8001 \
--Labels app=hello2-deploy \
--Force true
#--ServiceAccount hello-sa \
2、非容器应用网格化过程
最初非容器应用通过初始化ASM成为网络化的外部服务,从而实现与pod的互访
接下来将其中的一个版本改造成一个pod,从而实现混合流量,进而可以将全部的非容器应用由ACK之类的pod进行替换。