云原生图数据库解谜、容器化实践与 Serverless 应用实操云原⽣图数据库解谜、容器化实 践与 Serverless 应⽤实操 古思为 ⽅阗 Graph DB on K8s Demystified and its Serverless applicaiton in actions. DEVELOPER ADVOCATE @ MAINTAINER OF KCD China 2021 Nov. 6th @Shanghai 古思为 wey-gu ⻘云科技研发⼯程师 Overview 了解 K8s 上的 Serverless 计算平台搭建实践:OpenFunction K8s 上的图数据库基于 KubeBuilder 的 Operator 实现,解谜图数据库的知识与应⽤ 上⼿ K8s 上的云原⽣图数据库、从零到⼀构建 Serverless 架构的智能问答助⼿ siwei.io/talks/2021-KCD laminar.fun/talks/2021-KCD com/OpenFunction/samples 图数据库简介 什么是图? 什么是图数据库? 为什么我们需要⼀个专⻔的数据库? 什么是图? "以图结构、图语义来⽤点、边、属性来查询、表示存 储数据的数据库 wikipedia.org/wiki/graph_database 了解更多关于 什么是图数据库 什么是图数据库 为什么需要图数据库? 传统数据库 图数据库 图模型的结构 图语义的查询 性能 Nebula0 码力 | 47 页 | 29.72 MB | 1 年前3
云原生安全威胁分析与能力建设白皮书(来源:中国联通研究院)5 图 目 录 图 1 云原生四要素.....................................................................................10 图 2 云原生四要素的基本含义..................................................................11 图 3 云原生安全框架 ...... 13 图 4 云原生安全能力体系......................................................................... 16 图 5 云原生关键技术威胁全景..................................................................19 图 6 容器镜像安全风险. ........ 21 图 7 容器运行时安全风险......................................................................... 23 图 8 针对 k8s 进行攻击的路径分析......................................................... 27 图 9 针对微服务进行攻击的路径分析0 码力 | 72 页 | 2.44 MB | 1 年前3
基于Consul的多Beats接入管控与多ES搜索编排Actions CMDBs IPs Dockers HostGroup CgroupQuota Cgroup CpuLimit Nice值调整 Kill机制 8 Agent管理 时序图 Agent注册 Agent启动首先向Consul获取Master服务列表, 并向Master发起Agent注册逻辑,获取agent id 配置获取 从Consul中获取当前agent的配置组列表,并 提交策略 Kibana查日 志 集中管理配置 • 规模化自动化部署Agent • 按业务逻辑划分机器组 • 集中配置,关联机器组 • Agent离线实时感知 • 配置一致性离线分析 • 多beats同时管控 11 当前收益 快 稳 准 • 快速接入(5min) • 配置UI化标准化 • 配置变更实时感知 • 部署全自动化 • 多Beats支持 • Beats运行时cpu/mem可控 Filebeat性能分析 依赖白金版monitor机制 不依赖es版本、结合cpu/mem限额配置与实时 指标采集分析 Filebeat性能调优 需要修改配置文件不断尝试 界面提交核心参数并结合延时图对比分析 Filebeat性能管控 日志量太大Cpu飙升影响业务 精准控制资源消耗防止异常减少抖动 Es写入性能调优 修改配置文件不断观察数据情况 基于ES压测报告给出专家级es参数优化建议 参数优化体验0 码力 | 23 页 | 6.65 MB | 1 年前3
25-云原生应用可观测性实践-向阳采集器 1% CPU 0.01% 带宽开销 ︹ 零 侵 入 ︺ 流 量 采 集 云平台API 容器编排API TKE ACK 知识图谱 变更事件 资源信息 全 景 图 基于应用代码和日志的可观测性 企业混合云 100x ES/InfluxDB性能 1000+台跨Region集群 simplify the growing complexity © 2021, YUNSHAN 采集器 1% CPU 0.01% 带宽开销 ︹ 零 侵 入 ︺ 流 量 采 集 云平台API 容器编排API TKE ACK 知识图谱 变更事件 资源信息 全 景 图 基于应用代码和日志的可观测性 企业混合云 100x ES/InfluxDB性能 1000+台跨Region集群 原力 “不可变基础设施” 服务 simplify the growing complexity 何端口 • 全自动:DaemonSet POD部署运行,随K8s自动扩展 • 零侵入:不侵入业务POD,可采集所有业务POD及本Node流量 虚拟化 - KVM 业务VM 业务VM 业务VM vSwitch / Bridge DeepFlow 采集器进程 • 零干扰:无需对vSwitch和KVM做任何配置、不监听任何端口 • 零依赖:用户态进程部署运行,无任何Lib依赖 • 零侵入:不侵入业务VM,一个进程采集所有业务VM流量0 码力 | 39 页 | 8.44 MB | 6 月前3
23-云原生观察性、自动化交付和 IaC 等之道-高磊从稳定性目标出发,首先需要有提示应用出问题的手段 • 当提示出现问题后,就需要有定位问题位置的手段,进 一步要有能够指出问题根因、甚至提前就预警的手段。 拓扑流量图:是不是按预期运行 分布式跟踪:哪些调用 故障或者拖慢了系统 监控与告警: 主动告诉我 问题发生了! 微服务部署后就像个黑盒子,如何发现问题并在 远端运维是主要的课题,那么就需要从宏观告知 研发人员,并且提供日志、跟踪、问题根因分析 等工具进一步从微观帮助研发人员定位和解决问 等,最后还要在OS上安装应用,并且 还要保证应用软件依赖拓扑结构不会 出错。 3. 集成点:包括新环境的硬件、软件和 应用与遗留系统的集成,比如,监控、 服务注册中心、文件传输、消息集成、 ITSM等系统的部署集成。 4. 由于上层所依赖的底层环境在不同交 付环境中是不同的,而传统交付方式 缺乏脚本能“理解”的方式来表达这些 差异,此外由于事后更新OS、三方库 或者系统,这些变更又缺乏校验关系, 升级时很难给予企业信心,这种交付 MySQL 数据库,也包括应用服务本身:比如拥 有多个副本的 PHP 服务器。开发者可以把他们写的代码“打包”成一个应用组件。 • Trait描述了应用在具体部署环境中的运维特征,比如应用的水平扩展的策略和 Ingress 规则,它们在不同的部署环境里却往往有着截然不同的实现方式。 举一 个例子,同样是 Ingress,它在公有云上和本地数据中心的实现完全不同:前者 一般是 SLB 这样的云服务,而0 码力 | 24 页 | 5.96 MB | 6 月前3
2.2.7 云原生技术在2B交付中的实践`json:"ingress_stream_routes,omitempty"` i n g r e s s _ s t r e a m _ r o u t e s o m i t e m p t y } 定义了⼀个完整应⽤的部署模型 应⽤模型定义⽤例 03. ⾯向交付的应⽤模型 type Component struct { Memory int 应⽤模型定义的UI化 04. 2B交付版本的DevOps 应⽤模型定义的UI化 04. 2B交付版本的DevOps 2B交付版本的DevOps 第四部分 2B交付版本的DevOps全景图 04. 2B交付版本的DevOps 应⽤研发阶段 应⽤测试阶段 应⽤交付阶段 源码持续集成 业务组件组装 应⽤组件库 运维能⼒组装 (1)组件库获取通⽤能⼒ 多业务系统 隔离开发0 码力 | 31 页 | 6.38 MB | 1 年前3
24-云原生中间件之道-高磊助力夯实产业互联网的安全底座。 《趋势》认为,2021年将进一步完善个人信息保护体系,企业对个人信息利用规范化,数字安全合规管理将成为企业的必备能力。与此同时,企业还 应将安全作为“一把手工程”,在部署数字化转型的同时,推进安全前置。 前沿的数字化技术也让产业安全有了更多内涵。5G、AI、隐私计算等技术在构筑数字大楼的同时,不仅带来了全新的安全场景,也成为网络安全攻防 当中的利器;2020年井喷的 文件系统级别的隔离效果。 • 容器编排层实现基于名词空间、PSP 策略的编排隔离能力,保证不同租户从应用部署侧即无法访问其他租户的存储卷服务。 高级能力-云原生存储-应用的基石-2-技术架构 Rook是一个集成了Ceph、Minio等分布式存 储系统的云原生存储方案,意图实现一键 式部署、管理方案,且和容器服务生态深 度融合,提供适配云原生应用的各种能力。 从实现上,可以认为 Rook 是一个提供了 Ceph 集群管理能力的 Operator。其使用 CRD 方式来对 Ceph、Minio 等存储资源进 行部署和管理。 Ceph文件存储 MiniO对象存储 • Operator:实现自动启动存储集群,并监控存储守护进程,并确保存储 集群的健康; • Agent:在每个存储节点上运行,并部署一个 CSI / FlexVolume 插件, 和 Kubernetes 的存储卷控制框架进行集成。Agent0 码力 | 22 页 | 4.39 MB | 6 月前3
22-云原生的缘起、云原生底座、PaaS 以及 Service Mesh 等之道-高磊物联终端 互联网、 大数据 AI、 IoT 数字化转型 应用价值提升 应用数量增长 应用类型丰富 应用需求多变 企业从信息化到数字化的转型带来大量的应用需求 软件组件 运行环境 部署平台 …… …… 应用丰富及架构演进带来的开发和运维复杂性 本地IDC 虚拟化 超融合 公有云 …… 测试环境 场景 3 如果业务系统要升级,如何平滑升级?万一升级失败是 否能够自动回滚?整个过程线上业务持续运行不中断。 传统稳态业务环境难以高效承载敏态应用 发现故障 (假死) 创建 新实例 配置 运行环境 部署当前 应用版本 添加 监控 配置 日志采集 测试确认 服务正常运行 实例 加入集群 恢复正常 场景 1 如果生产中一台Web应用服务器故障,恢复这台服务器需要 做哪些事情? 发现故障 (假死) 创建 新实例 配置 运行环境 部署当前 应用版本 添加 监控 配置 日志采集 测试确认 服务正常运行 实例 加入集群 恢复正常 工作量 成本 新一代架构(微服务)应用的对承载平台提出新要求 传统实践中,主要采用虚机/物理机+SpringCloud等微服务框架的方式承载微服务应用。但在一个虚机/服务器上 部署多个微服务会产生如下问题—— • 资源预分配,短时间内难以扩展0 码力 | 42 页 | 11.17 MB | 6 月前3
(四)基于Istio on Kubernetes 云原生应用的最佳实践 - Alibaba Cloud K8S Playground云原⽣生应⽤用的最佳 实践 2018-11-09 � 部署Istio 打开容器器服务控制台,在左侧导航栏中选中集群,右侧点击更更多,在弹出的菜单中选中 部署Istio。 在打开的⻚页⾯面中可以看到Istio默认安装的命名空间、发布名称; 通过勾选来确认是否安装相应的模块,注意勾选下Kiali Kiali; 点击 部署Istio 按钮,⼏几⼗十秒钟之后即可完成部署。 ⾃自动 Sidecar 注⼊入 查看namespace: 命名空间istio-system,点击创建。输⼊入名称为kiali, 域名也为kiali, 选择服务kiali及端⼝口20001. 后续步骤中会随时查看Kiali,来展示服务之间的调⽤用关系。 部署应⽤用 使⽤用 kubectl 部署简单的服务 1 kubectl apply -f app.yaml 上⾯面的命令会启动全部的3个服务,其中也包括了了 addedvalues 服务的版本v1. 定义 Ingress kubectl get gateway 应⽤用缺省⽬目标规则 1 kubectl apply -f destination-v1.yaml 等待⼏几秒钟,等待⽬目标规则⽣生效。这意味着上述3个微服务已经都部署在istio的环境中了了。你可以使⽤用以下命令来查看⽬目标规则: 1 kubectl get destinationrules 查看Ingress Gateway的地址 点击左侧导航栏中的服务0 码力 | 6 页 | 1.33 MB | 1 年前3
36-云原生监控体系建设-秦晓辉Server、Scheduler、 Controller-Manager、ETCD l 工作负载节点,最核心就是监控Pod容器和节点本 身,也要关注 kubelet 和 kube-proxy l 业务程序,即部署在容器中的业务程序的监控,这 个其实是最重要的 随着 Kubernetes 越来越流行,几乎所有云厂商都提供 了托管服务,这就意味着,服务端组件的可用性保障交 给云厂商来做了,客户主要关注工作负载节点的监控即 Kubernetes apiserver 的 proxy 接口,抓取各个node(即kubelet)的 /metrics/cadvisor 接口的 prometheus 协议的数据 • 这个抓取器只需要部署一个实例,调用 apiserver 的接口即可,维护较为简单,采集频率可以调的稍大,比 如30s或60s • 所有的拉取请求都走 apiserver,如果是几千个node的大集群,对 apiserver } • 直接调用 kubelet 的接口 /metrics/cadvisor ,不走 apiserver 这个 proxy,避免对 apiserver 的请求压力 • 采用 Daemonset 的方式部署 • 但是,缺少了对 __meta_kubernetes_node_label_(.+) 的 labelmap,即:通过这种方式采集的数据,我们无法得到 node 上的 label 数据。node 上的0 码力 | 32 页 | 3.27 MB | 6 月前3
共 25 条
- 1
- 2
- 3













