专栏首页伪架构师istioctl 中的一些小工具

istioctl 中的一些小工具

引子

许久不见,istioctl 中加入了不少有趣的新命令。装备党自然是喜欢小工具了,选几个有趣的命令分享给大家。

Analyze

Istio 的配置是比较繁杂的,相信玩过的朋友都比较有体会, istioctl x analyze,可以对 Istio 进行一些检查,

目前该工具支持的检测范围包括:

  • IST0001: 内部错误,基本上是属于实现部分的 Bug。
  • IST0002: 对象中存在过期特性。
  • IST0101: 应用对象不存在,例如有 VirtualService 无 Workload。
  • IST0102: 命名空间未开启自动注入。
  • IST0103: 有 Pod 没有注入 Istio Proxy。
  • IST0104: 网关端口没有工作负载。
  • IST0105: Sidecar 版本和 Istio 版本不一致。
  • IST0106: 文件格式错误。
  • IST0107: 注解目标错误。
  • IST0108: 未知注解。
  • IST0109: 网关内 VirtualService 主机名冲突。
  • IST0110: Sidecar 对象选择器重叠。
  • IST0111: 多于一个 Sidecar 对象没有负载选择器。
  • IST0112: 多端口服务的 VirtualService 缺乏选择。

例如:

$ istioctl x analyze -k
Warn [IST0103] (Pod httpbin-7d9d5b55b9-jslpp.default) The pod is missing its Istio proxy. Run 'kubectl delete pod httpbin-
7d9d5b55b9-jslpp -n default' to restart it
Error: Analyzer found issues.

Dashboard

可能是向 Linkerd 致敬?

打开 Istio 的各种仪表盘页面:

  • controlz: 打开指定控制平面组件的 ctrlz 界面。
  • envoy: 打开特定 Pod 的 Envoy 仪表盘
  • grafana: 缺省 Grafana 页面
  • jaeger、kiali、zipkin 和 Prometheus 页面

Metrics

查看指定服务的性能指标:

  • 总体 RPS
  • 错误 RPS
  • P50 延迟
  • P90 延迟
  • P99 延迟

Manifest

用于生成或安装 Istio 清单,例如推荐的安装方式:istioctl manifest apply --set profile=demo

Profile

几个内置的安装配置,用于 Manifest 命令的 set profile,其中包含:

  • minimal
  • remote
  • sds
  • default
  • demo

Describe

根据 Pod 和 Service,获取相关的配置内容,例如:

$ istioctl x describe service httpbin
Service: httpbin
   Port: http 8000/HTTP targets pod port 80
Pod is PERMISSIVE, client protocol unspecified
VirtualService: httpbin
   1 HTTP route(s)

本文分享自微信公众号 - 伪架构师(fake-architect),作者:崔秀龙

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用 Kind 构建离线集群安装包

    Kind(Kubernetes in Docker) 是一个 Kubernetes 孵化项目,它使用 Docker 为节点进行 Kubernetes 的快速部署...

    崔秀龙
  • Kubernetes 中的 Pod 安全策略

    很多人分不清 SecurityContext 和 PodSecurityPolicy 这两个关键字的差别,其实很简单:

    崔秀龙
  • 介绍一个小工具:Ksniff

    对于相当一部分读者来说,在 Kubernetes 环境中,针对 Pod 进行抓包是个常规操作,在 Pod 中、在 Node 中都能够完成,抓出文件之后现场查看或...

    崔秀龙
  • 《Spark快速大数据分析》—— 第六章 Spark编程进阶

    这章讲述了Spark编程中的高级部分,比如累加器和广播等,以及分区和管道... image.png

    用户1154259
  • 灾难恢复即服务(DRaaS)如何为最终用户提供保护?

    灾难恢复即服务(DRaaS)正在成为数据中心最流行的方法之一,不仅可以加强其灾难恢复策略,而且还将成为通用数据保护的一种方法。它可以快速,高效和频繁地备份应用程...

    静一
  • springboot整合kaptcha验证码前言:开发工具及技术:正式开始:总结:

    贪挽懒月
  • 代理模式

    一、相关介绍 1、代理模式为其他对象提供一种代理以控制对这个对象的访问 2、UML图 ? 3、所属类别:结构型 3、C++程序 1 // 代理模式.cpp :...

    用户1215536
  • Hexo-Sakura 设置Valine评论系统邮件提醒

    Valine 诞生于2017年8月7日,是一款基于Leancloud的快速、简洁且高效的无后端评论系统。

    蓝默空间
  • Django个人博客,三小时带你入门Django框架

    Django框架是时下Python语言最热门的Web框架之一,它是一个功能完善、文档齐全、开发敏捷、配置简单的Web框架,能够快速将一个想法实现,使用它能够快速...

    二爷
  • R语言︱大数据集下运行内存管理

    大神指导(http://bbs.pinggu.org/thread-3682816-1-1.html)

    素质

扫码关注云+社区

领取腾讯云代金券