22-云原生的缘起、云原生底座、PaaS 以及 Service Mesh 等之道-高磊如果业务系统要升级,如何平滑升级?万一升级失败是 否能够自动回滚?整个过程线上业务持续运行不中断。 传统稳态业务环境难以高效承载敏态应用 发现故障 (假死) 创建 新实例 配置 运行环境 部署当前 应用版本 添加 监控 配置 日志采集 测试确认 服务正常运行 实例 加入集群 恢复正常 场景 1 如果生产中一台Web应用服务器故障,恢复这台服务器需要 做哪些事情? 场景 如果业务系统要升级,如何平滑升级?万一升级失败是 否能够自动回滚?整个过程线上业务持续运行不中断。 传统稳态业务环境难以高效承载敏态应用 发现故障 (假死) 创建 新实例 配置 运行环境 部署当前 应用版本 添加 监控 配置 日志采集 测试确认 服务正常运行 实例 加入集群 恢复正常 工作量 成本 新一代架构(微服务)应用的对承载平台提出新要求 传统实践中,主要采用虚机/ 向上站在企业立场上:是要解决微服务体系快速落地的问题,低成本支撑企业创新以及数字疆域规 模扩张 1 技术架构变化:因商业或者演化而 变带来不稳定因素 2 制品变化:代码因商业而变带来新 的功能缺陷 3 配置变化:因环境而变带来的不稳 定性因素 6 外部依赖变化:ERP可用性变化 带来的不稳定因素 5 人员变化:没有知识沉淀导致的 不稳定因素 4 环境变化:因安全、流量、故障、环境崩 溃、底层IT变更而变带来的不稳定因素0 码力 | 42 页 | 11.17 MB | 6 月前3
Volcano加速金融行业大数据分析平台云原生化改造的应用实践大数据分析、人工智能等批量计算场景深度应用于金融场景 作业管理缺失 • Pod级别调度,无法感知上层应用 • 缺少作业概念、缺少完善的生命周期的管理 • 缺少任务依赖、作业依赖支持 调度策略局限 • 不支持Gang-scheduling、Fair-share scheduling • 不支持多场景的Resource reservation,backfill • 不支持CPU/IO topology network relevant info for running, # hosts, headless services etc. svc: [] # restart who job if any pod get evicted policies: - event: PodEvicted action: RestartJob tasks: - replicas: 1 name: mpimaster PreemptableFn JobReadyFn backfill JobInfos NodeInfos JobInfo PodGroup Pod PodGroup Pod Job JobSpec PodGroup Pod PodGroup Pod JobInfo Predicate, allocate, preempt are Actions, and they’re pluggable0 码力 | 18 页 | 1.82 MB | 1 年前3
云原生安全威胁分析与能力建设白皮书(来源:中国联通研究院)敏感信息泄露攻击................................................................................22 2.2.5 针对镜像不安全配置的攻击................................................................ 22 2.3 路径 2:容器攻击.............. 服务对外暴露攻击................................................................................27 2.4.3 业务 pod 攻击...................................................................................... 28 2.4.4 由云安全产业联盟提出并归口,规定了云原生安全配置基线扫描应具备的基 础规范要求。云原生安全配置基线扫描规范要求包括 API Server 安全配置 要求、控制管理器安全配置要求、调度器安全配置要求、工作负载安全配置 要求、 etcd 安全配置要求、 kube-proxy 安全配置要求、 kubelet 安全配 置要求、 CNI 和网络策略安全配置要求 2 网络安全等级 保护容器安全0 码力 | 72 页 | 2.44 MB | 1 年前3
36-云原生监控体系建设-秦晓辉Kubernetes Node组件监控 • Kubernetes控制面组件监控 • Kubernetes资源对象的监控 • Pod内的业务应用的监控 • 业务应用依赖的中间件的监控 云原生之后监控需求的 变化 云原生之后监控需求的变化 •相比物理机虚拟机时代,基础设施动态化,Pod销毁重建非常频繁 •原来使用资产视角管理监控对象的系统不再适用 •要么使用注册中心来自动发现,要么就是采集器和被监控对象通过sidecar模式捆绑一体 看要监控的组件 Kubernetes架构 l 服务端组件,控制面:API Server、Scheduler、 Controller-Manager、ETCD l 工作负载节点,最核心就是监控Pod容器和节点本 身,也要关注 kubelet 和 kube-proxy l 业务程序,即部署在容器中的业务程序的监控,这 个其实是最重要的 随着 Kubernetes 越来越流行,几乎所有云厂商都提供 Kubernetes Node 组 件的监控 Kubernetes Node - 容器负载监控 抓取方案 • Pod或者容器的负载情况,是一个需要关注的点,容器层面主要关注CPU和内存使用情况,Pod 层面主要 关注网络IO的情况,因为多个容器共享Pod的net namespace,Pod内多个容器的网络数据相同 • 容器的监控数据可以直接通过 docker 引擎的接口读取到,也可以直接读取 cAdvisor0 码力 | 32 页 | 3.27 MB | 6 月前3
24-云原生中间件之道-高磊差 异 安全问题左移一个研发阶段,修复成本就将 提升十倍,所以将安全自动化检查和问题发 现从运行态左移到研发态,将大大提高效率 和降低成本 默认安全策略,可以天然的规避大部分 安全问题,使得人员配置和沟通工作大 量减少,提高了整体效率! 安全右移是为了恰到好处的安全,一些非严 重安全问题,没有必要堵塞主研发流程,可 以交于线上安全防御系统。提高了整体实施 效率! 安全编排自动化和响应作为连接各个环 设备以及软件的攻击,是高级的安全保障技术。 TEE是运行态主动防护的高级手段,对高安全生产 环境建议使用。 成本较高,所以要视业务场景要求取舍。 Mesh零信任 mTLS服务间访问授权,主要针对Pod层WorkLod的访问控制 应用透明,全局管理视角,细粒度安全策略 Check&Report机制影响通信性能,并只涉及到服务 通信级别的安全,对node没有防护 Calico零信任 主要针对Node 非常高,很多场景期望容器的快速启动、灵活的调度,这样即需要存储卷也能敏捷的根据 Pod 的变化而调整。 需求表现在: • 云盘挂载、卸载效率提高:可以灵活的将块设备在不同节点进行快速的挂载切换; • 存储设备问题自愈能力增强:提供存储服务的问题自动修复能力,减少人为干预; • 提供更加灵活的卷大小配置能力。 2. 监控能力需求 • 多数存储服务在底层文件系统级别已经提供了监控能力,然0 码力 | 22 页 | 4.39 MB | 6 月前3
25-云原生应用可观测性实践-向阳Technology Co., Ltd. All rights reserved. SLB / APIGW/ … 问题2:观测盲点 KVM switch VM iptables POD envoy 服务 KVM switch VM iptables POD envoy 服务 开发兄弟们辛苦打桩 全链路到底有多全? 业务 开发 桩 simplify the growing complexity © 2021, YUNSHAN Technology Co., Ltd. All rights reserved. 获得原力的挑战 SLB / APIGW/ … KVM switch VM iptables POD envoy 服务 KVM switch VM iptables POD envoy 服务 端点:eBPF内核依赖 路径:全链路数据关联 © 2021, YUNSHAN Networks Technology Co., Ltd. All K8s Node (VM/BM) 业务POD 业务POD 业务POD CNI vSwitch / Bridge DeepFlow 采集POD (HostNet) DaemonSet • 零干扰:无需对vSwitch和Node做任何配置、不监听任何端口 • 全自动:DaemonSet POD部署运行,随K8s自动扩展 • 零侵入:不侵入业务POD,可采集所有业务POD及本Node流量 虚拟化 - KVM0 码力 | 39 页 | 8.44 MB | 6 月前3
云原生微服务最佳实践Nacos Ingress(Envoy) 云原⽣⽹关 Sentinel 用户容器 用户POD Tracing Prometheus 全链路压测 PTS AHAS ARMS ACK/ASK 调度+弹性 解法 • 提供完整微服务产品矩阵 • 通过 MSE 解决微服务最 核心服务发现和配置管理, 通过服务治理提升高可用 • 通过 ACK 解决运维成本 • 通过 ARMS 解决定位成本 最佳实践 • 微服务最佳实践 • 服务治理最佳实践 • 日常环境隔离最佳实践 • 网关最佳实践 微服务最佳实践 MSE微服务引擎 Nacos/Zookeeper/Eureka 注册中⼼+配置中⼼ Dubbo/Spring-Cloud-Alibaba/Envoy 服务框架+服务⽹格 Ingress(Envoy) 云原⽣⽹关 服务治理 控制面 微服务引擎(Micro Service • 服务压测 • 自动化回归 • 流量录制 • 流量回放 • 无损上下线 • 服务预热 • 金丝雀发布 • A/B Test • 全链路灰度 • 服务鉴权 • 漏洞防护 • 配置鉴权 • 离群实例摘除 • 限流降级 • 同AZ优先路由 • 就近容灾路由 • 服务巡检 • 标签路由 • 服务超时和重试 基础治理能力 高阶治理能力 日常环境隔离最佳实践 交易中心0 码力 | 20 页 | 6.76 MB | 1 年前3
(四)基于Istio on Kubernetes 云原生应用的最佳实践 - Alibaba Cloud K8S Playground把https://kubectl.oss-cn-hangzhou.aliyuncs.com/windows/kubectl.exe 放到系统PATH路路径下 1 kubectl --help 配置kubectl连接Kubernetes集群的配置,可参考⽂文档通过kubectl连接Kubernetes集群 示例例中⽤用到的⽂文件请参考: ⽂文件 , Clone下载到本地,切换到⽬目录kubecon2018sh。 查看本⽂文件: 服务的版本v1. 定义 Ingress gateway 1 kubectl apply -f gateway.yaml 确认所有的服务和 Pod 都已经正确的定义和启动 确认所有的服务已经正确的定义和启动 1 kubectl get services 确认所有的Pod 都已经正确的定义和启动 1 kubectl get pods 确认⽹网关创建完成 1 kubectl get gateway0 码力 | 6 页 | 1.33 MB | 1 年前3
2.2.7 云原生技术在2B交付中的实践云原⽣应⽤定义 02. 云原⽣与云原⽣应⽤ ⾯向交付的 “三级” 云原⽣应⽤定义 L1: 基础云原⽣应⽤ (1)容器化运⾏ (2)计算与数据分离 (3)满⾜12 因素 (4)可伸缩性 (5)可配置性 (6)基础可观测性 L2: 具备远程交付能⼒ (1)完全的模版化定义 (2)模版⾃动实例化 (3)数据⾃动初始化 (4)业务⾼容错性 (5)业务⾼可⽤性 L3: 具备持续升级能⼒ (4)业务⾼观测性 ⾯向交付的应⽤模型 第三部分 K8S资源的模型定义 03. ⾯向交付的应⽤模型 Deployment Pod Container ⾯向交付的应⽤模型 03. ⾯向交付的应⽤模型 Container Network Volume Device Pod Template Ingress ServiceMonitor Logger Workload Type/ Controller 应⽤模型定义实践-开发者 04. 2B交付版本的DevOps 源码定义规范 属性识别 智能赋值 UI化管理 模型打包 开发者 云原⽣平台 源码持续构建 选择中间件 实现数据初始化 实现业务可配置 应⽤模型交付实践-交付平台 04. 2B交付版本的DevOps 应⽤模型⼀键交付 交付 ⾃动资源调度 ⾃动数据初始化 分配访问策略 应⽤级持续升级 ⽀持上百个组件⼀键交付 应⽤模型运维实践-插件化运维能⼒0 码力 | 31 页 | 6.38 MB | 1 年前3
23-云原生观察性、自动化交付和 IaC 等之道-高磊对比发布 • API文档:每一个API有 一个活档,指导集成。 形成市场,能力 互补 全生命周期API管理-2-Azure API Management 配置Http Header, 比如CORS等 配置入站协议转 换等 配置后端治理策略 等,比如限流规则 定义API或者导入 API 全生命周期API管理-3-Azure API Management • 把自己关在小黑 屋里面,自己就 Cortex ....... 传统交付方式的不足之处 手册文档 配置参数 应用 应用 配置参数 应用 应用 软件环境 硬件环境 遗留系统 安装配置点 安装配置点 安装配置点 集成点 集成点 集成点 1. 交付人员学习手册文档,需要在客户 环境做“安装配置”和“与遗留系统集成” 两方面工作。 2. 安装配置:在硬件上安装软件,不乏 针对硬件特性的适配、还需要安装OS 等,最后还要在OS上安装应用,并且 定制Operator这种解决方案,看似 比较合理,但是强烈依赖于K8S这种 容器调度系统,无法做到通用化, 所以客户必须要求先做针对K8S的 应用改造。 K8S没有应用概念,用户面对的是Workload和Pod这样的概念,以及对应的运维概念(比如 HPA),在层次上是靠近对资源的抽象治理层面,对于业务研发人员而言是不友好的。应用 =Workload+运维特性+.......多种东西的集成,也无法在应用级别上进行管理。0 码力 | 24 页 | 5.96 MB | 6 月前3
共 29 条
- 1
- 2
- 3













