• istio: 基于assemblyscript/Go SDK开发Istio Envoy Wasm Filter

    envoy wasm plugins assemblyscript SDK wasme工具 命令行安装 初始化示例项目 示例项目功能 编译 wasm文件挂载 创建为configmap patch Annotation envoy wasm filter 创建envoy filter 验证 Go SDK ...


  • istio policy: 限流

    local ratelimit 针对service 针对pod 针对特定route 针对url路径/方法/源IP global ratelimit 部署限流器 配置gateway限流规则 部署服务 部署gateway 部署virtual service 验证ratelimit生效 验证global ratelimit生效 ...


  • istio traffic: 故障注入

    注入延时 注入故障 注入延时 apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: ratings spec: hosts: - nginx.example.com http: - match: - headers: end-user: exact: jason fault: delay: ...


  • istio traffic: 虚拟机上部署 sidecar ,从而加入到服务网格

    从虚拟机访问服务网格上的应用 架构 自动注册workload entry 开启 部署步骤记录 总结 本文基于istio 1.10版本。 从虚拟机访问服务网格上的应用 在前文access workload on virtual machine by service entry中,说明了如何通过service entry/workload entry/dns proxy来从服务网格内访问在虚拟机上的服务。那么如何在虚拟机上,访问服务...


  • istio traffic: 通过 service entry 访问虚拟机上的服务

    service entry 访问集群外的服务 域名解析 从VM迁移到k8s容器 流量治理 问题与缺陷 本文基于istio 1.10版本。 service entry istio默认是使用k8s作为注册中心,使用k8s的svc dns作为注册发现的机制。 在实际的生产环境下,可能用户的服务并不是部署在k8s上,而是在传统的容器中,针对这些服务,如何进行治理,是istio需要解决的问题。 isti...


  • 使用consul作为istio的注册中心(intree or by service entry)

    注册中心 注册中心接入(intree) consul 部署 istio配置 验证 问题/缺点 service entry方案 注册中心 默认istio使用k8s作为注册中心,k8s的service、endpoint对应于服务、实例。 针对一些还未接入到服务网格的Spring Cloud服务,其使用的注册中心可能是consul,如何让服务网格上的consumer服务能访问到非服务网格的Provider,是应用在...

    -->

  • consul 基础知识

    consul介绍 k8s上部署consul 服务注册 配置文件方式 服务发现 DNS方式 API方式 查询所有service 查询某个service详情 查询某个service健康状况 注册service 注销service 健康检测 co...


  • topic - top in container, 容器版本的top命令

    推荐一个容器中查看系统信息的工具topic。 容器通过cgroups和namespace实现了资源的轻量级隔离和限制,但容器中的/proc文件实际上是宿主机的,因此在执行top命令查看容器运行信息时,部分指标显示不正确,例如启动时间、用户数、平均负载、cpu使用率、内存使用率。 目前比较通用的解决方案是通过lxcfs,将容器中相应的文件通过fuse劫持read调用,在打开时显示为容器信息,从而统一解决各种系统状态诊断工具的问题。 考虑到部署lxcfs有一定的成本,topic(top in co...


  • 基于assemblyscript/Go SDK开发Istio Envoy Wasm Filter

    envoy wasm plugins assemblyscript SDK wasme工具 命令行安装 初始化示例项目 示例项目功能 编译 wasm文件挂载 创建为configmap patch Annotation envoy wasm filter 创建envoy filter 验证 Go SDK ...


  • 一个Go升级引起的血案

    直接现象:使用Go 1.13编译kube-controller-manager,运行一段时间后,发现controller不工作,查看日志,发现打印“http2: no cached connection was available”。 I0328 09:48:59.925056 1 round_trippers.go:383] GET https://10.220.14.10:8443/api/v1/namespaces/kube-system/endpoints/kube-contr...