前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >外包精通--Istio 测试Demo

外包精通--Istio 测试Demo

原创
作者头像
Godev
修改2023-07-28 02:29:10
5660
修改2023-07-28 02:29:10
举报
文章被收录于专栏:GodevGodev
1. 部署案例应用

  1. 部署Bookinfo的案例应用
代码语言:javascript
复制
$ kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
  1. 当每个pod准备就绪后,Istio sidecar也会随之展开。
代码语言:javascript
复制
$ kubectl get service
$ kubectl get pods
  1. 校验所有的工作是否正常
代码语言:javascript
复制
$ kubectl exec -it $(kubectl get pod -l app=ratings -o jsonpath='{.items[0].metadata.name}') -c ratings -- curl productpage:9080/productpage | grep -o "<title>.*</title>"
2. 打开应用给外面访问
  1. Bookinfo应用程序已部署,但不能从外部访问。要使其可访问,您需要创建一个Istio Ingress网关,它将路径映射到网格边缘的一个路由,
代码语言:javascript
复制
$ kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
  1. 查看创建的gateway
代码语言:javascript
复制
$ kubectl get gateway
3. 确定ingress的IP和端口号
  1. 查看Ingress-gateway服务的IP和端口
代码语言:javascript
复制
$ kubectl get svc istio-ingressgateway -n istio-system
​
NAME                   TYPE           CLUSTER-IP    EXTERNAL-IP     PORT(S)                                                                                                                                      AGE
istio-ingressgateway   LoadBalancer   10.96.29.94   192.168.20.88   15020:30714/TCP,80:32518/TCP,443:32721/TCP,15029:31316/TCP,15030:30930/TCP,15031:32012/TCP,15032:31724/TCP,31400:31016/TCP,15443:31582/TCP   71m

[info] 从上面的信息可以看出服务的IP为192.168.20.88, 接下来进行访问测试我们部署的应用。

  1. 在浏览器中访问http://192.168.20.88/product-page校验访问

4. 在Dashboard中查捍安装的应用

Istio通过演示安装安装了几个可选的仪表板。Kiali仪表板通过显示拓扑并指示网格的健康状况,帮助您了解服务网格的结构。

  1. 修改kiali的服务,类型为LoadBalancer.
代码语言:javascript
复制
# 执行如下命令,编辑kiali的服务
[root@c72082 istio-1.6.0]# kubectl edit svc kiali -n istio-system
​
# 把type: cluster 改为 LoadBalancer

  1. 再次查看服务
代码语言:javascript
复制
$ kubectl get svc kiali -n istio-system
​
NAME    TYPE           CLUSTER-IP      EXTERNAL-IP     PORT(S)           AGE
kiali   LoadBalancer   10.101.155.85   192.168.20.89   20001:30445/TCP   80m
  1. 使用浏览器访问http://192.168.20.89:20001/kiali/,访问结果如下所示:

  • 初始用户名和密码均为admin

5. 移除
  • Istio uninstall将分层次删除在Istio -system名称空间下的RBAC权限和所有资源。忽略不存在的资源的错误是安全的,因为它们可能是分层删除的。
代码语言:javascript
复制
$ istioctl manifest generate --set profile=demo | kubectl delete -f -
  • istio-system 的名称空间默认不会删除的,假如不再需要的话,执行如下命令进行删 除。
代码语言:javascript
复制
$ kubectl delete namespace istio-system

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 部署案例应用
  • 2. 打开应用给外面访问
  • 3. 确定ingress的IP和端口号
  • 4. 在Dashboard中查捍安装的应用
  • 5. 移除
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档