云原生安全威胁分析与能力建设白皮书(来源:中国联通研究院)的,一旦有新的内核漏 洞产生,就需要考虑它是否能够用于容器逃逸。 危险配置导致的容器逃逸:Docker 容器基于 Linux 内核中的 Capabilities 特性划分特权集,以便进程可以只分配“执行特定功能”的特权,例如通过使用 privileged 参数获得所有特权集,使用 cap-add 和 cap-drop 参数增减特权集。 然而,无论是细粒度权限控制还是其他安全机制,用户都可以通过修改容器环境 在的漏洞都可能导致容器逃逸的风险,例如 CVE-2019-5736 漏洞。 2.3.3 拒绝服务攻击 由于容器与宿主机共享 CPU、内存、磁盘空间等硬件资源,且 Docker 本 身对容器使用的资源并没有默认限制,如果单个容器耗尽宿主机的计算资源或存 储资源(例如进程数量、存储空间等),就可能导致宿主机或其他容器的拒绝服 务。 计算型 DoS 攻击:Fork Bomb 是一类典型的针对计算资源的拒绝服务攻击 攻击:针对存储资源,虽然 Docker 通过 Mount 命名空间实现 了文件系统的隔离,但 CGroups 并没有针对 AUFS 文件系统进行单个容器的存 储资源限制,因此采用 AUFS 作为存储驱动具有一定的安全风险。如果宿主机 上的某个容器向 AUFS 文件系统中不断地进行写文件操作,则可能会导致宿主 云原生安全威胁分析与能力建设白皮书 26 机存储设备空间不足,无法再满足其自身及其他容器的数据存储需求。0 码力 | 72 页 | 2.44 MB | 1 年前3
16-Nocalhost重新定义云原生开发环境-王炜⼜简单。 Nocalhost 重新梳理了开发过程所涉及到的⻆⾊和资源: 团队管理⼈员 Nocalhost - 重新定义云原⽣开发环境.md 2021/1/20 3 / 7 开发者 应⽤ 集群 开发空间 通过对这些⻆⾊和资源的重新整合,Nocalhost 重新定义了云原⽣开发环境,并带来了全新的云原⽣开发体 验。 为了快速理解 Nocalhost 重新定义的云原⽣开发环境,让我们⾸先站在不同的⻆⾊来看 插件,⽆需熟悉 kubectl 命令即可完成云原⽣环境下的开发 管理⼈员: 统⼀管理微服务应⽤包,降低应⽤的维护成本 统⼀管理开发环境和集群,提⾼集群资源的利⽤率,同时具备隔离特性 为新员⼯快速分配开发环境,分配环境后⽴刻能进⾏应⽤开发 弹性的开发环境资源,⽤完销毁,降低开发成本 以 Nocalhost 内置的 Demo:Bookinfo 为例,开发 Productpage 微服务,变成了以下简单的⼏个步骤: 123456 登陆 Web 控制台,控制台能够 管理⽤户、集群和应⽤。init 阶段⾃动使⽤部署 Nocalhost 的集群作为开发集群,同时创建了 Bookinfo 应⽤和开发者,并为开发者分配了 Bookinfo 应⽤的开发空间。 现在打开 VS Code ,进⼊ Nocalhost 插件,点击上⽅的“地球”按钮,同样输⼊ Web 控制台的地址,回⻋确 定。 点击 “Sign In” 按钮,输⼊开发者的登陆账号:foo@nocalhost0 码力 | 7 页 | 7.20 MB | 6 月前3
consul 命令行com/shirou/gopsutil/tree/master/host生成基于主机的ID ,这是 HashiCorp的Nomad共享的 ,因此如果您选择使用基于主机的ID,那么Consul和Nomad将使用信 在主机上自动在两个系统中分配相同的ID。 ● disable-keyring-file:如果设置,密钥环将不会持久保存到文件中。关机时任何已安装的密钥都将 失,-encrypt启动时只有给定的 密钥可用。默认为false。 需要更改的低级参数。经历过多磁盘IO的非常繁忙的群集可能会增加此值以减少磁盘IO,并最大限度 减少所有服务器同时拍摄快照的机会。由于日志将变得更大并且raft.db文件中的空间在下一个快照之 无法回收,因此增加此值将替换磁盘空间的磁盘空间。如果需要重播更多日志,服务器可能需要更长 原文链接:consul 命令行 时间才能从崩溃或故障转移中恢复。在Consul 1.1.0及更高版本中,默认为16384,在先前版本中, 改变的低级参数。经历过多磁盘IO的非常繁忙的群集可能会增加此值以减少磁盘IO,并最大限度地减 所有服务器同时拍摄快照的机会。由于日志将变得更大并且raft.db文件中的空间在下一个快照之前无 回收,因此增加此值将替换磁盘空间的磁盘空间。如果需要重播更多日志,服务器可能需要更长的时 才能从崩溃或故障转移中恢复。在Consul 1.1.0及更高版本中,此默认设置为30s,并且在之前的版 中设置为5s。0 码力 | 5 页 | 346.62 KB | 1 年前3
24-云原生中间件之道-高磊多租的场景中,不同租户对存储的隔离性需求 成为一个需要解决的问题。 具体需求 • 底层存储提供目录间的强隔离能力,让共享文件系统的不同租户之间实现文件系统级别的隔离效果。 • 容器编排层实现基于名词空间、PSP 策略的编排隔离能力,保证不同租户从应用部署侧即无法访问其他租户的存储卷服务。 高级能力-云原生存储-应用的基石-2-技术架构 Rook是一个集成了Ceph、Minio等分布式存 储系统的云原生存储方案,意图实现一键 费和成本的提升。在离线混部集群,通过动态调度削峰填谷,当在线集群的使用率处于波谷时段,将离线任务调度到 在线集群,可以显著的提高资源的利用率。然而,Hadoop Yarn目前只能通过NodeManager上报的静态资源情况进行分配, 无法基于动态资源调度,无法很好的支持在线、离线业务混部的场景。 • 操作系统镜像及部署复杂性拖慢应用发布:虚拟机或裸金属设备所依赖的镜像,包含了诸多软件包,如HDFS、Spark、 Flink、 发布周期。 • 在资源利用率方面,借助云原生架构的技术能力,多方位提升系统的资源利用率,如细粒度调度(将CPU和内存 这两个核心资源划分的更细,从而更充分的分配系统资源)、动态调度(基于节点真实负载情况,而非静态划分 的资源,将任务调度到已分配了资源但是未实际使用的节点上,从而更充分的提高系统算力),在离线混部(根 据离线任务和在线任务的周期性,削峰填谷,从而充分利用系统闲置资源)。 • 在应用改0 码力 | 22 页 | 4.39 MB | 6 月前3
1.3 MOSN 在云原生的探索及实践力,改造成本低;研发效率高, 灵活性高;GoLang 支持的库比 较多(Consul、Redis、Kafka etc),生态较好 引入 GoLang 扩展后,有一定性 能损耗,业务场景可接受,另外 有优化空间 MoE 背景介绍 — 方案分析 方案名称 稳定性 性能 成本 生态 Lua Extension 高 高 高 较低 WASM Extension ES 低 高 活跃 External Processing Envoy、Cilium、WASM 社区合作 共建 API 规范: MOE 方案介绍 — MOSN 和 Envoy 内存如何管理 【请求链路】将 Envoy 中的请求信息拷 贝一份传递给 MOSN ? 需要额外内存 分配和拷贝? 【响应链路】请求到 MOSN 执行一些 操作,其处理结果返回给 Envoy,Envoy 直接使用 GoLang 返回的内存安全吗? 相比 WASM、Lua,MoE 内存 Zero Copy Go 实现的网关处理能力具有 4 倍左右性能提升 MOE 相比于 Envoy 性能下降 20%,虽然牺牲部 分性能,但解决了用户在其可扩展性、灵活性、 生态上的痛点,另外对性能方面也有优化空间 开源进展同步 高性能网络扩展层 — MOE GoLang extension proposal 已支持将 MOSN 部分 filter 运行在 Envoy 中, 欢迎试用 https://github0 码力 | 36 页 | 35.61 MB | 1 年前3
01. MOSN 高性能网络扩展实践 - 王发康改造成本低; 研发效率高,灵活性高; GoLang 支持的库比较多(Consul、 Redis、Kafka etc),生态较好 引入 GoLang 扩展后,有一定性能损 耗,业务场景可接受,另外有优化 空间 扩展方案调研 MoE 背景介绍 — 方案分析 方案名称 稳定性 性能 成本 生态 Lua Extension 高 高 高 较低 WASM Extension ES 低 高 活跃 External Envoy、Cilium、WASM 社区合作共建 API 规范: MoE 方案介绍 — MOSN 和 Envoy 内存如何管理 【请求链路】将 Envoy 中的请求信息拷贝一 份传递给 MOSN ? 需要额外内存分配和拷 贝? 【响应链路】请求到 MOSN 执行一些操作, 其处理结果返回给 Envoy,Envoy 直接使用 GoLang 返回的内存安全吗? Headers Envoy MOSN CGO GoLang 自身 HTTP2 处理能力具有 4 倍左右性能提升 MoE 相比于 Envoy 性能下降 20%,虽然牺牲部分性能,但解决了用户在其可扩展 性、灵活性、生态上的痛点,另外对性能方面也有优化空间: 经济体互通网关蚂蚁侧场景,当前灰度了少量的线上流量,已经平稳运行了 1 个月左右; • 业务代码优化,如减少对象数量 • 内存管理优化,如 jemalloc 替换 tcmalloc、堆外内存0 码力 | 29 页 | 2.80 MB | 1 年前3
(四)基于Istio on Kubernetes 云原生应用的最佳实践 - Alibaba Cloud K8S Playground在打开的⻚页⾯面中可以看到Istio默认安装的命名空间、发布名称; 通过勾选来确认是否安装相应的模块,注意勾选下Kiali Kiali; 点击 部署Istio 按钮,⼏几⼗十秒钟之后即可完成部署。 ⾃自动 Sidecar 注⼊入 查看namespace: 点击编辑,为 default 命名空间打上标签 istio-injection=enabled。 创建Ingress查看Kiali 路路由-> 命名空间istio-system ⽤用以下命令来查看⽬目标规则: 1 kubectl get destinationrules 查看Ingress Gateway的地址 点击左侧导航栏中的服务,在右侧上⽅方选择对应的集群和命名空间,在列列表中找到istio-ingressgateway的外部端点地址。 打开浏览器器,访问http://{GATEWAY-IP}/productpage 部署v2 - 灰度发布 运⾏行行以下命令部署v2:0 码力 | 6 页 | 1.33 MB | 1 年前3
构建统一的云原生应用 可观测性数据平台子网 CIDR IP地址 NATGW ALB … 看云网更清晰 Simplify the growing complexity. 云原生应用的服务属性还有哪些 容器资源 容器集群 容器节点 命名空间 容器服务 Ingress Deployment StatefulSet ReplicaSet POD DeepFlow的典型客户环境中,两个微服务通信涉及到的标签多达上百个 Namespace the growing complexity. AutoTagging:自动同步资源和服务属性 资源池 区域 可用区 云平台 租户 云资源 宿主机 云服务器 容器资源 容器集群 容器节点 命名空间 容器服务 Ingress Deployment StatefulSet ReplicaSet POD 服务 app version env group owner stage commitId deployId Labels 自动同步云API、K8s apiserver DeepFlow support list 主机名、IP地址、VPC/隧道ID、对等连接、NAT/LB ➔ 资源标签 工作负载、容器服务、命名空间 ➔ 服务标签 容 器 云 TKE ACK env=prod zone=ZoneA releaseVer sion=12 deployType =canary group=iot owner=xian0 码力 | 35 页 | 6.75 MB | 1 年前3
36-云原生监控体系建设-秦晓辉s • kube-state-metrics 也是部署到 Kubernetes 集群中即可,通常作为一个单副本的 Deployment • 可以为 ksm 分配一个 ClusterIP,当做一个普通服务配置静态目标地址即可,也可以不分配,不分配就是用 PodIP 采集,容器迁移 PodIP 会变,所以只能走 kubernetes 的服务发现机制 • ksm 采集的监控指标数据量很大,请求其 /metrics0 码力 | 32 页 | 3.27 MB | 6 月前3
09-harbor助你玩转云原生-邹佳通过Artifact保留策略实现资源清理:根据用户设置的保留策略计算得出需要保留的 资源而删除不需要保留的资源 不释放存储空间/释放配额 注意:不可变Tag一定会被保留 资源清理与垃圾回收 [2] 通过垃圾回收可以清理存储空间中的无用数据,V2.1之前为阻塞式GC,V2.1之后实 现非阻塞式 释放并回收空间/可能释放配额 1 2 3 构建高可用(HA)仓库服务 [1] 使用离线安装包搭建HA仓库0 码力 | 32 页 | 17.15 MB | 6 月前3
共 17 条
- 1
- 2













