Citadel

istio部署-helm

早过忘川 提交于 2020-11-03 11:27:15
参考 istio/istio istio/Kubernetes Customizable Install with Helm Istio安装参数介绍 1. Istio Chart 目录结构 PATH: istio-1.1.7/install/kubernetes/helm 1.1 Chart.yaml Chart 的基础信息文件,其中包含版本号,名称,关键字等元数据信息。 1.2 values-*.yaml 提供 istio 在各种场景下的关键配置范本,范本文件可以作为 helm 的输入文件,对 istio 进行典型定制; 对输入文件改写后,使用 helm template 命令生成最终的部署文件。 1.3 requirements.yaml 用于管理对子 Chart 的依赖关系,其中定义了一系列开关变量‘ 在 helm 的输入内容中对相关变量进行定义,就可以对 istio 的部署文件进行修改,来控制对应组件的启用状态。 1.4 templates 1.4.1 _affinity.tpl 生成一组节点亲和或互斥元素,供各个组件在渲染 yaml 时使用; 在该文件里使用一系列变量,用于控制 istio 组件的节点亲和性,即 istio 在部署时对节点的选择。 定义了两个局部模版: nodeAffinityRequiredDuringScheduling : 会根据全局变量中的

用 Istio 解释微服务和服务网格

本秂侑毒 提交于 2020-08-19 15:49:37
作者:Sudip Sengupta 翻译: Bach (才云) 校对: bot (才云)、 星空下的文仔 (才云) 微服务 会将应用程序分解为多个较小的服务组件。与传统的一体化(Monolithic)架构相比, 微服务架构将每个微服务视为独立的实体与模块 ,从根本上有助于简化代码和相关基础架构的维护。应用程序的每个微服务都可以编写在不同的技术堆栈中,并且可以进一步独立地部署、优化和管理。 从理论上讲,微服务体系结构特别有利于复杂的大型应用程序的构建,但实际上,它也被广泛用于小型应用程序的构建。 微服务架构的好处 可以通过不同的技术堆栈开发和部署应用程序中的各个微服务。 每个微服务都可以独立优化、部署或扩展。 更好的故障处理和错误检测。 K8sMeetup 微服务架构的组件 在微服务架构上运行的现代云原生应用程序依赖于以下关键组件: 容器化 (通过类似 Docker 的平台):通过将服务分为多个进程进行管理和部署。 编排 (通过类似 Kubernetes 的平台):配置、分配、管理服务的系统资源。 服务网格 (通过类似 Istio 的平台):通过服务代理网格进行服务间通信,以连接、管理、保护微服务。 以上三个是微服务架构中最重要的组件,这些组件允许云原生堆栈中的应用程序在负载下扩展,甚至在云环境部分故障期间也能执行。 K8sMeetup 微服务架构的复杂性

全球顶级金融机构Citadel:堡垒如何建成|精品投行系列二

余生颓废 提交于 2020-08-10 23:34:00
全球顶级金融机构Citadel:堡垒如何建成|精品投行系列二 原创 华锐研究所 金融科技之道 今天 2020年1月2日,中国证监会发布开年第1号公告,称与含上海司度在内的5家公司达成行政和解,和解金合计超6.8亿元,其中上海司度一方即因涉嫌违反账户管理使用的有关规定缴纳了6.7亿元,这也让其关联公司Citadel——这家掌管300多亿美金、聘请美联储前主席伯南克作为货币政策顾问的顶级美资金融机构跃入视野。 01 Citadel:发端于大学宿舍,风起青萍之末 Citadel创始人为Ken Griffin,早在1987年,这位当时19岁的哈佛大二学生便开始在宿舍用传真机、个人电脑、电话和借来的20几万美元进入投资领域,到1990年,正式创建Citadel(字面意:城堡),以自己开发的软件程序进行可转债交易,初始资金第一年回报率即高达70%。发展至今,Citadel已成为全球资产管理规模最大的多策略对冲基金之一。 数据来源:华锐金融科技研究所根据公开官方数据整理 2002年,Citadel推出其做市部门,以捕捉自动交易的增长机会,这个部门后来从Citadel业务中分拆出来,成为Citadel Securities,现已成为全球顶级做市商,满足银行、对冲基金、政府等机构的流动性需求,业务涉及股票、期权、固定收益等多个板块。 02 业务情况:对冲基金+做市商,两个领域的极致 1、

Istio 组件常用端口

放肆的年华 提交于 2020-08-10 02:55:03
Istio 组件常用端口 端口 协议 使用者 描述 8060 HTTP Citadel GRPC 服务器 8080 HTTP Citadel agent SDS service 监控 9090 HTTP Prometheus Prometheus 9091 HTTP Mixer 策略/遥测 9876 HTTP Citadel, Citadel agent ControlZ 用户界面 9901 GRPC Galley 网格配置协议 15000 TCP Envoy Envoy 管理端口 (commands/diagnostics) 15001 TCP Envoy Envoy 传出 15006 TCP Envoy Envoy 传入 15004 HTTP Mixer, Pilot 策略/遥测 - mTLS 15010 HTTP Pilot Pilot service - XDS pilot - 发现 15011 TCP Pilot Pilot service - mTLS - Proxy - 发现 15014 HTTP Citadel, Citadel agent, Galley, Mixer, Pilot, Sidecar Injector 控制平面监控 15020 HTTP Ingress Gateway Pilot 健康检查 15029 HTTP Kiali Kiali 用户界面

Istio 组件详解

这一生的挚爱 提交于 2020-07-29 06:35:15
1. istio 组件构成 以下是istio 1.1 官方架构图: 虽然Istio 支持多个平台, 但将其与 Kubernetes 结合使用,其优势会更大, Istio 对Kubernetes 平台支持也是最完善的, 本文将基于Istio + Kubernetes 进行展开. 如果安装了grafana, prometheus, kiali, jaeger等组件的情况下, 一个完整的控制面组件包括以下pod: % kubectl -n istio-system get pod NAME READY STATUS grafana-5f54556df5-s4xr4 1/1 Running istio-citadel-775c6cfd6b-8h5gt 1/1 Running istio-galley-675d75c954-kjcsg 1/1 Running istio-ingressgateway-6f7b477cdd-d8zpv 1/1 Running istio-pilot-7dfdb48fd8-92xgt 2/2 Running istio-policy-544967d75b-p6qkk 2/2 Running istio-sidecar-injector-5f7894f54f-w7f9v 1/1 Running istio-telemetry-777876dc5d-msclx 2

使用Istio进行多集群部署管理(2):单控制平面Gateway连接拓扑

限于喜欢 提交于 2020-07-24 03:09:07
单控制平面拓扑下,多个 Kubernetes 集群共同使用在其中一个集群上运行的单个 Istio 控制平面。控制平面的 Pilot 管理本地和远程集群上的服务,并为所有集群配置 Envoy Sidecar 代理。 集群感知的服务路由 Istio 1.1 中引入了集群感知的服务路由能力,在单一控制平面拓扑配置下,使用 Istio 的 Split-horizon EDS(水平分割端点发现服务)功能可以通过其入口网关将服务请求路由到其他集群。基于请求源的位置,Istio 能够将请求路由到不同的端点。 在该配置中,从一个集群中的 Sidecar 代理到同一集群中的服务的请求仍然被转发到本地服务 IP。如果目标工作负载在其他集群中运行,则使用远程集群的网关 IP 来连接到该服务。 如图所示,主集群 cluster1 运行全套的 Istio 控制平面组件,同时集群 cluster2 仅运行 Istio Citadel、Sidecar Injector 和 Ingress 网关。不需要 VPN 连接,不同集群中的工作负载之间也不需要直接网络访问。 从共享的根 CA 为每个集群的 Citadel 生成中间 CA 证书,共享的根 CA 启用跨不同集群的双向 TLS 通信。为了便于说明,我们将 samples/certs 目录下 Istio 安装中提供的示例根 CA 证书用于两个集群。在实际部署中

Istio技术与实践6:Istio如何为服务提供安全防护能力

安稳与你 提交于 2020-05-02 14:33:23
凡是产生连接关系,就必定带来安全问题,人类社会如此,服务网格世界,亦是如此。 今天,我们就来谈谈Istio第二主打功能 --- 保护服务。 那么,便引出3个问题: l Istio 凭什么保护服务? l Istio 具体 如何保护服务? l 如何告诉Istio发挥保护能力? 1 Istio凭什么保护服务? 将单体应用程序分解为一个个服务,为大型软件系统的开发和维护带来了诸多好处,比如更好的灵活性、可伸缩性和可复用性。但这也带来了一些安全问题: l 为了抵御中间人攻击,需要对流量进行加密 l 为了提供灵活的服务访问控制,需要 mTLS(双向的安全传输层协议)和细粒度的访问策略 l 要审计谁在什么时候做了什么,需要审计工具 Istio 尝试提供全面的安全解决方案来解决这3个问题。 如上图所示, Istio 安全的三大目标是: l 默认安全(Security by default):应用程序代码和基础结构,无需更改。 l 深度防御(Defense in depth):与现有安全系统集成,提供多层防御。 l 零信任网络(Zero-trust network):在不受信任的网络上,构建安全解决方案。 为了实现这3个目标,Istio 安全功能提供了4大守护系统: l 强大的身份(Identity)系统 l 健壮的策略(Policy)系统 l 认证,授权和审计(AAA:Authentication

idou老师教你学istio1:如何为服务提供安全防护能力

拟墨画扇 提交于 2020-05-02 14:32:30
之前,已为大家介绍过 Istio 第一主打功能--- 连接服务 。 凡是产生连接关系,就必定带来安全问题,人类社会如此,服务网格世界,亦是如此。 今天,我们就来谈谈Istio第二主打功能---保护服务。 那么,便引出3个问题: Istio 凭什么保护服务? Istio 具体如何保护服务? 如何告诉 Istio 发挥保护能力? Istio凭什么保护服务? 将单体应用程序分解为一个个服务,为大型软件系统的开发和维护带来了诸多好处,比如更好的灵活性、可伸缩性和可复用性。但这也带来了一些安全问题: 为了抵御中间人攻击,需要对流量进行加密 为了提供灵活的服务访问控制,需要 mTLS(双向的安全传输层协议)和细粒度的访问策略 要审计谁在什么时候做了什么,需要审计工具 Istio 尝试提供全面的安全解决方案来解决这3个问题。 如上图所示, Istio 安全的三大目标是: 默认安全(Security by default):应用程序代码和基础结构,无需更改。 深度防御(Defense in depth):与现有安全系统集成,提供多层防御。 零信任网络(Zero-trust network):在不受信任的网络上,构建安全解决方案。 为了实现这3个目标,Istio 安全功能提供了4大守护系统: 强大的身份(Identity)系统 健壮的策略(Policy)系统 认证,授权和审计(AAA

Istio架构详解

夙愿已清 提交于 2020-05-01 04:11:21
Istio架构及其组件概述 Istio 架构总体来说分为控制面和数据面两部分。 控制面是 Istio 的核心,管理 Istio 的所有功能,主要包括Pilot、Mixer、Citadel等服务组件; 数据面由伴随每个应用程序部署的代理程序Envoy组成,执行针对应用程序的治理逻辑。常被称为“Sidecar”。Sidecar 一般和业务容器绑定在一起(在Kubernets中自动注入方式到业务pod中),来劫持业务应用容器的流量,并接受控制面组件的控制,同时会向控制面输出日志、跟踪及监控数据。 Istio 的主要组件及其相互关系大致如图所示(摘自《云原生服务网格Istio》)。 结合上图我们来理解Istio的各组件的功能及相互之间的协作方式。 1. 自动注入:在创建应用程序时自动注入 Sidecar代理Envoy程序。在 Kubernetes中创建 Pod时,Kube-apiserver调用控制面组件的 Sidecar-Injector服务,自动修改应用程序的描述信息并注入Sidecar。在 真正创建Pod时,在创建业务容器的Pod中同时创建Sidecar容器。 2. 流量拦截:在 Pod 初始化时设置 iptables 规则,基于配置的iptables规则拦截业务容器的Inbound流量和Outbound流量到Sidecar上。而应用程序感知不到Sidecar的存在,还以原本的方式

[转帖]Uber一个团队放弃「微服务」改用「宏服务」

邮差的信 提交于 2020-04-21 03:01:44
Uber一个团队放弃「微服务」改用「宏服务」 https: // t.cj.sina.com.cn/articles/view/3172142827/bd130eeb01900m57y 微服务不是银弹 2020年04月10日 21:52 云头条 语音播报 缩小字体 放大字体 微博 微信 分享 0 人们要么爱微服务,要么恨微服务,没多少人既爱又恨微服务。 因此,当优步(Uber)这种公司的哪怕一个团队宣布从微服务改用宏服务,这颇能说明问题。想想你对优步公司有什么看法,不过从软件角度来看,优步一向是良好的企业公民。 优步支付体验平台的工程经理Gergely Orosz在一条推文中暗示了架构方向发生变化: @GergelyOrosz:郑重申明一下,我们优步正将许多微服务转移到@Cindy Sridharan 所说的宏服务(macroservice,即大小适中的服务)。 对成千上万个微服务进行b/c测试和维护不仅很棘手,长期造成的麻烦比短期解决的麻烦还要多。 微服务确实可以帮助团队尽早迅速行动。 等到你意识到数量更少的服务会很好时,已为时已晚。你需要解决许多服务的“棘手”部分。 我们不断添加更多的服务,但也在停止使用服务,并更慎重地考虑新服务。 @GergelyOrosz: 是的,我们正在这么做,这种方法触及许多微服务的痛点。 每个服务都需要支持租约,包括许多无状态的租约。