实现目标
1.透明
2.多级防御,希望和 现有的安全策略有一个结合;内部结合sidecar,外部结合网关
集中在istiod
1.证书**管理
2.API server 负责下发认证策略 给具体的代理
3.Envoy代理: 负责遥测和审计
身份 校验支持多个 不同的平台
istio Agent : 主要负责证书和**的供应,提供本地SDS服务给Envoy使用
授权配置, 针对 具体的httpbin
没有配置规则,所以验证结果为access denied
第二种策略: 对来源进行限定
配置只有该namespace下的服务才能访问
限制请求只能访问get方法
when字段: 请求头必须以test开头
35 | 收集系统指标并且监控
Prometheus和 Grafana 这两个组件来完成指标收集
Envoy 负载所有流量的转发,端口15090
返回了一些指标信息
并且也暴露了控制平面的一些接口
静态配置是使用static_configs进行配置,直接设置目标地址和端口
动态配置是在scrape_config 中配置
对暴露的接口进行过滤,在relabel_config中配置
配置类型为NodePort,这样就可以页面中查看到它的信息
添加数据源,选择Prometheus
再导入dashboard,如下
36 | 集成ELK
通过集成ELK分析日志
LibBeats 用来 替代logstash,性能更好
beats 部署在应用服务器,收集日志
创建新的namespace elk
然后部署 kibana和elasticsearch
然后进行deploy发布,如下图
继续部署filebeat来抓取日志
部署filebeat
查看部署的filebeat
定义index日志 索引
37 分布式追踪
安装jaeger
安装jaeger的crd
然后和istio进行集成
最后和应用绑定,把jeager注入到应用
通过annotation配置
发现jeager agent已经注入成功