Istio Routing极简教程

时间:2019-06-20 19:59:55   收藏:0   阅读:110

官网文档:

https://istio.io/docs/reference/config/networking/#VirtualService

在学习像Istio这样的新技术时,看一下示例应用程序总是一个好主意。 Istio repo有一些示例应用程序,但它们似乎有各种不足。 文档中的BookInfo是一个很好的示例。 但是,对于我而言,它太冗长,服务太多,而且文档似乎专注于管理BookInfo应用程序,而不是从头开始构建。 有一个较小的helloworld例子,但它更多的是关于自动伸缩而不是其他。 在这篇文章中,我想介绍一下基础知识,并展示如何从头开始构建支持Istio的“HelloWorld”应用程序。 要记住的一点是,Istio只管理你应用的流量。 在这种情况下,应用程序生命周期由底层平台Kubernetes管理。 因此,你需要了解容器和Kubernetes基础知识,并且需要了解Istio Routing原语,例如Gateway,VirtualService,DestinationRule。 我假设大多数人都知道容器和Kubernetes基础知识。 我将在本文中专注于Istio Routing。 # 基础步骤 以下这些大致就是你需要遵循的,以获得Istio的“HelloWorld”应用程序的步骤:
创建一个Kubernetes集群并安装带有sidecare自动注入的Istio。
使用你选择的语言创建Hello World应用程序,创建Docker镜像并将其推送到公共镜像仓库。
为你的容器创建Kubernetes Deployment和Service。
创建Gateway以启用到群集的HTTP(S)流量。
创建VirtualService,通过Gateway公开Kubernetes服务。
(可选)如果要创建多个版本应用程序,请创建DestinationRule以定义可从VirtualService引用的subsets。
(可选)如果要在服务网格外部调用其他外部服务,请创建ServiceEntry。
我不会在本文中介绍步骤1和2,因为它们不是特定于Istio的。 如果您需要有关这些步骤的帮助,可以查看我在本文末尾提到的文章。 第3步也不是Istio特定的,但它是其他一切的先决条件,所以让我们从那开始。 # Deployment和Service 正如我所提到的,应用程序生命周期由Kubernetes管理。 因此,您需要从创建Kubernetes Deployment和Service开始。 我的情况如下,我有一个容器化的ASP.NET核心应用程序,其镜像我已经推送到谷歌镜像仓库。 让我们从创建一个aspnetcore.yaml文件开始:
apiVersion: v1
kind: Service
metadata:
name: aspnetcore-service
labels:
app: aspnetcore
spec:
ports:

原文:https://www.cnblogs.com/Qing-840/p/11060706.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!