在阿里云安装初试 Istio| 学习笔记

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 快速学习在阿里云安装初试 Istio

开发者学堂课程微服务实战-Service Mesh 与 Istio在阿里云安装初试 Istio】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/620/detail/9435


在阿里云安装初试 Istio

目录:

一、在阿里云创建K8s集群

二、Bookinfo 应用实例

三、Bookinfo 应用部属 sidecar 后

四、安装 istio-ingressgate

学习完本课程后,你将能够:

1.在阿里云创建 K8s集群

2.在阿里云 K8s 集群上安装 lstio

3.安装 lstio demo app

4.测试安装


一、在阿里云创建 K8s集群

https://cn.aliyun.com/

如没有安装 Kubectl,请安装。

https://kubernetes.io/docs/tasks/tools/install-kubectl/

拷贝 kube config 到本地

点击链接,点击产品分类,它会弹出来,在这里,有这个容器服务 kubernetes 版,如果已经开通了就到管理控制台,可以创建一个 kubernetes 集群。它有不同的种类,选择其中一种:标准专有集群,并取一个名字,选择一个地区,付费选择按量付费或包年包月,取消自动续费。

虚拟交换机

节点类型:包年包月

此时三个节点就够了,不需要改动。kubernetes 版本是12.6.需要新建密钥,登录到 worknotes 等。

检测都通过后可以开通,需要一段时间。创建完成后返回集群列表。

将文件拷贝下来,保存起来。

IUS- -169691-MP: .kube andy.shi$viconfig

[US- -169691-MP: .kube andy.shi$ kubectl get pods .Noresource Sfound .

US- -169691-MP: . kube! andy. shi$

接下来要在 kubernetes 上安装 instio,找到刚才创建的集群,点击更多,有一个选项:部署instio,有一些基本的配置。有创建默认的入口网站等,grafana 的用户名和密码需要牢牢记住,都是 admin.使用默认的选项来部署 instio,helm 发布列表。

最后检查,US-169691-MP:.kube andy.shi$ kubecti get pods --all-namespaces。

检查结果是所有的 pod 都在运行,显示 running。也就是说,此时的安装时成功的。


二、Bookinfo应用实例

接下来要下载 Bookinfo,它是一个多语言多语种的应用程序。我们可以克隆网址,

https://github.com/istio/istio/tree/master/samples/bookinfo多语言,多个微服务 Sidecar auto injection

安装应用到 K8s.上

现在的 instio 是新的版本,会自动加注

US-169691-MP:istio andy.shiS kubectl label namespace default istio-injection=enabled

当前的 namespace 是可以被 injection 接受的。不需要额外的操作步骤了。

使用相对路径:

US- 169691-MP:istio andy. shi$ kubectl label namespace default istio-injection=enabled

error: ' istio-injection' already has a value (enabled), and --overwrite is falseL-) BJEzUS- -169691-MP:istio andy.shi$ kubectl apply -f samples/bookinfo/platform/ kube/ bookinfo. yamlservice/details created

serviceaccount/ bookinfo-details created

deployment . apps/details-v1 created

service/ ratings created

serviceaccount/ bookinfo-ratings created

deployment . apps/ratings-v1 created

service/ reviews created

serviceaccount/bookinfo-reviews created

deployment . apps/ reviews-v1 created

deployment . apps/ reviews-v2 created

deployment . apps/ reviews-v3 created

service/ productpage created

serviceaccount/bookinfo-productpage created

deployment . apps/productpage-v1 created

US- 169691- -MP:istio andy.shi$ kubectl get svc

此时安装完成,service 已经起来了,pod 也起来了。

寻找容器,第一个是 Bookinfo,第二个是 registry.有两个容器在一个pod里。

所有的交通流量都通过 sidecar 完成。应用安装完后测试,输入一个指令:US-169691-MP;istio andy.shiS kubectl exec -it S(kubectl get pod -l app=ratings -o  

jsonpath='.items[0].metadata.namne}') -c ratings -- curl productpage:9080/productpage. i grep -o<title>Simple Bookstore App</title>US-169691-MP:istio andy.shi

到了容器里做了curl 指令,因为微服务之间来联系。

所以看起来很复杂,现在没有办法从互联网访问page。


三、Bookinfo 应用部属 sidecar 后

 image.png

部署 sidecar 后的微服务器的情况,主要的是微服务之前都有一个 sidecar,决定了所有的流量都是从这个 sidecar 进出。

服务没有直接访问,因为 gateway 代理,有进出两个方向,以前叫作 ingress,进方向全部都是黑名单除非拉了白名单,出方向全部都是白名单除非拉了黑名单。出方向所有的流量都是走的通的。

name: bookinfo-gateway

spec :

selector :

istio: ingressgateway //默认关口# use istio default controllerservers :

port:

number: 80//端口28

name: http//支持的协议 http

protocol: HTTP

hosts :

apiVersion: networking. istio. io/ v1alpha3kind: VirtualService

metadata:

name :boo kinfo

spec :

hosts:

"* "gateways:  

这就是 gateway 的创建,创建后就可以访问网页了。

四、安装 istio-ingressgate

刚才在gateway的文件中用了 istio-ingressgate,要保留创建的入口网关,在配置的时候已经把路径,虚拟服务器挂到上面去了,现在需要找到 ip 地址,这样的话可以访问了。

US-169691-MP:istio andy.shi$ kubectl get svc istio-ingressgateway -n istio-systemNAMETYPE

CLUSTER- -IP

EXTERNAL-IPPORT(S)

AGE

istio-ingres sgatewayLoadBalancer172.21.12.220

39.97.6.167 I 15020 :31803/TCP , 80:31380/TC//对外的ip

P, 443:31390/ TCP , 15443:32414/TCP23h

US- -169691-MP:istio andy.shi$]

//端口号也有了http://39.97.6.167.此时安装完成。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
Kubernetes 监控 微服务
istio1.5安装-较之前版本有重大改进
istio1.5安装-较之前版本有重大改进
|
Kubernetes Cloud Native Docker
云原生Istio安装和使用2
云原生Istio安装和使用2
131 0
|
2月前
|
Kubernetes 监控 容器
Istio安装及Bookinfo环境部署
文章详细介绍了如何在Kubernetes集群上安装和配置Istio服务网格,并通过部署Bookinfo示例应用来演示Istio的核心功能,如流量管理、服务监控和故障注入等。
46 1
Istio安装及Bookinfo环境部署
|
11月前
|
Kubernetes Linux iOS开发
Istio1.12:安装和快速入门
Istio1.12:安装和快速入门
220 0
|
Kubernetes Cloud Native 开发者
15分钟在笔记本上搭建 Kubernetes + Istio开发环境-阿里云开发者社区
15分钟在笔记本上搭建 Kubernetes + Istio开发环境-阿里云开发者社区
15分钟在笔记本上搭建 Kubernetes + Istio开发环境-阿里云开发者社区
|
Kubernetes 监控 Go
在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
在Kubernetes上安装和配置Istio:逐步指南,展示如何在Kubernetes集群中安装和配置Istio服务网格
262 0
|
Kubernetes 监控 Cloud Native
云原生Istio安装和使用1
云原生Istio安装和使用1
210 0
|
6月前
|
Kubernetes Cloud Native 容器
全景剖析阿里云容器网络数据链路(六)—— ASM Istio
本文是[全景剖析容器网络数据链路]第六部分部分,主要介绍ASM Istio模式下,数据面链路的转转发链路。
508 7
全景剖析阿里云容器网络数据链路(六)—— ASM Istio
|
Kubernetes Linux 容器
【Istio实际操作篇】Istio入门10分钟快速安装
【Istio实际操作篇】Istio入门10分钟快速安装
249 0
|
弹性计算 Kubernetes Cloud Native
《云原生网络数据面可观测性最佳实践》——二、全景剖析阿里云容器网络数据链路——6. ASM Istio 模式架构设计(上)
《云原生网络数据面可观测性最佳实践》——二、全景剖析阿里云容器网络数据链路——6. ASM Istio 模式架构设计(上)