16-Nocalhost重新定义云原生开发环境-王炜Nocalhost - 重新定义云原⽣开发环境.md 2021/1/20 1 / 7 Nocalhost - 重新定义云原⽣开发环境 前⾔ 随着业务的快速发展,技术部⻔的组织架构在横向及纵向不断扩⼤和调整,与此同时,企业的⽣产资料:应 ⽤系统,也变得越来越庞⼤。为了让应⽤系统适配企业组织架构的调整,梳理组织架构对于应⽤权责的边 界,⼤部分组织会选择使⽤“微服务”架构来对应⽤系统进⾏横向拆分,使得应⽤系统的维护边界适配组织架 越来越复杂,问题在想要新增需求时尤为突出。 “微服务”带来便利的同时,对开发⼈员⽽⾔,还带来了额外的挑战:如何快速启动完整的开发环境?开发的 需求依赖于其他同事怎么联调?如何快速调试这些微服务? ⽽对于管理⼈员来说,也同样带来了⼀系列的挑战:如何管理开发⼈员的开发环境?如何让新⼊职的同事快 速进⾏开发? 试想⼀下,要开发由 200 个“微服务”组成的云原⽣应⽤,会遇到哪些困难呢? Localhost 云原⽣解放了部署和运维,开发呢? Nocalhost - 重新定义云原⽣开发环境.md 2021/1/20 2 / 7 云原⽣和 Kubernetes 的普及,进⼀步屏蔽了“微服务”应⽤的复杂度,这主要体现在部署和运维阶段。 为了解决微服务应⽤在开发、测试和⽣产阶段环境⼀致性的问题,现代的微服务应⽤开发,都会将每⼀个组 件打包成 Docker 镜像,并以⼯作负载的形式对其进⾏部署。利⽤ DevOps 流⽔线中的持续集成和持续部署,0 码力 | 7 页 | 7.20 MB | 6 月前3
24-云原生中间件之道-高磊作为总体集成方,会降低安全集成成本 可信计算环境:OS安全、TPM加密、TEE可信环境 云原生安全:镜像安全、镜像仓库安全、容器加固隔离、通信零信任 (Istio零信任、Calico零信任、Cilium零信任、WorkLoad鉴权、WorkLoad 间授权等)、DevSecOps(安全左右移等等,比如代码或者镜像扫描)、 RASP应用安全、数据安全、态势感知与风险隔离 由于云原生托管的应用是碎片化的,环境变化也是碎片化的 ,而且其业务类型越来越多,比如已经延展到边 缘计算盒子,此时攻击面被放大,在云原生环境下安全是一个核心价值,需要立体纵深式的安全保障。 由于云原生DevOps环境追求效率以及运行态的动态治理能力,导致传统安全实施方法、角色、流程、技术 都发生了很多变化,适应这些变化是落地云原生安全的关键! 标准化能力-承载无忧-E2E云原生纵深安全保障-2-商业价值 腾讯安全战略研究部联合腾讯安全联合实 -4-技术建议方案 技术 说明 优点 缺点 SAST(静态应用程序 安全测试) 白盒测试,通过污点跟踪对源代码或者二进制程序(也包括Docker镜像等) 进行静态扫描,尽可能前置,在IDE编写代码或者提交代码时进行,将极 大优化整体效率和成本 可以无视环境随时可以进行,覆盖漏洞类型全面, 可以精确定位到代码段 路径爆炸问题,并一定与实际相符合,误报率较 高。 DAST(动态安全应用 程序安全测试)0 码力 | 22 页 | 4.39 MB | 6 月前3
破解 Kubernetes 应用开发困局-王炜自我介绍 1. K8s 环境开发困局 2. 主流云原生开发方式 3. 热加载原理 4. 开发和调试演示 5. 开源共建 目录 K8s 环境开发困局 01 开发举步维艰 5 微服务-Docker 微服务越来越多,运行环境变复杂。服务依赖、打包、运行、迁移越来越难。 Docker 提供镜像打包的解决方案。 Docker-Kubernetes K8s 环境的开发困局 容器越来越 无法像本地一样调试,开发效率低。 完全面向运维提供能力,对开发增加了巨大的负担。 云原生环境下的学习成本,招聘成本,用人成本急剧上升。 7 云原生开发技能广度要求急剧提升 8 云原生开发工具依然缺失 主流云原生开发方式 02 现状 1 0 全手工流程 编码后,手动构建镜像、推送到镜像 仓库、修改工作负载镜像版本,调度 10 分钟/次 自动化 CI/CD 流程 编码后,推送到代码仓库,自动触发 拉起本地 K8s 开发环境, Telepresence 实现本地编码。 10 秒/次 云上 K8s 集群提供计算资源解决弹 性的问题,Telepresence 本地编码。 10 秒/次 主流的云原生开发方式(开发环境) 云环境 + Telepresence 工作负载声明了 env、configmap、secret、volume 等,很难在本地复制 出完全一致的环境。 环境差异 即便是能够将远端的0 码力 | 20 页 | 3.58 MB | 9 月前3
23-云原生观察性、自动化交付和 IaC 等之道-高磊应用 应用 软件环境 硬件环境 遗留系统 安装配置点 安装配置点 安装配置点 集成点 集成点 集成点 1. 交付人员学习手册文档,需要在客户 环境做“安装配置”和“与遗留系统集成” 两方面工作。 2. 安装配置:在硬件上安装软件,不乏 针对硬件特性的适配、还需要安装OS 等,最后还要在OS上安装应用,并且 还要保证应用软件依赖拓扑结构不会 出错。 3. 集成点:包括新环境的硬件、软件和 应用与遗留系统的集成,比如,监控、 由于上层所依赖的底层环境在不同交 付环境中是不同的,而传统交付方式 缺乏脚本能“理解”的方式来表达这些 差异,此外由于事后更新OS、三方库 或者系统,这些变更又缺乏校验关系, 升级时很难给予企业信心,这种交付 方式很难被自动化。 标准化能力-微服务PAAS-OAM-万花筒PAAS-1-引子 客户环境交付 制品 • 云应用交付最难的还不是RT的 碎片化,最难的是环境依赖的 碎片化,比如,硬件环境、网 碎片化,比如,硬件环境、网 络环境、运维规范等的碎片化。 尤其是运维方面的差异化,必 然导致私有Paas的出现! • 虽然服务网格、虚拟化等正在 努力解决交付困难的问题,但 是依然对除RT外的环境依赖碎 片化无能为力。 • 背后的原因在于特定环境依赖或者运维规范问题渗透到了PaaS本身, 或者大家常说的定制化场景,如果不进行解耦就会有长期存在的矛盾。 • 为了应付定制化,客户需要等待平台研发的排期,因为平台研发需要定制0 码力 | 24 页 | 5.96 MB | 6 月前3
普通人学AI指南是一个开源的容器化平台,旨在开发、部署和运行应用。它利用容器来 隔离软件,使其在不同环境中都能一致运行。Docker 提供轻量级虚拟化,能快 速部署并且易于管理应用。 Docker 的优势: 1. 快速部署:Docker 容器可以在几秒钟内启动,提高了开发和部署的效率。 2. 一致性:确保应用在开发、测试和生产环境中具有一致的运行环境。 3. 可移植性:容器可以在任何支持 Docker 的系统上运行,实现跨平台的可 码、运行时、系统工具、系统库和设置。 2. 镜像(Image):用于创建容器的只读模板。一个镜像可以包含完整的操作 系统环境。 3. Dockerfile:定义镜像内容的文本文件,包含了构建镜像的所有指令。 4. Docker Hub:公共的 Docker 镜像仓库,用于存储和分发 Docker 镜像。 5. 拉取镜像:docker pull6. 构建镜像:在包含 Dockerfile 上拉取最新的 lobehub/lobe-chat 镜像。以下 是具体作用: docker pull:这是 Docker 命令,用于从 Docker Hub 或其他注册表中下载 容器镜像。lobehub/lobe-chat:这是 Docker 镜像的名称,其中 lobehub 是镜像 仓库的名称,lobe-chat 是具体的镜像名称。latest:表示拉取该镜像的最新版本 (tag)。如果没有指定版本标签,Docker 0 码力 | 42 页 | 8.39 MB | 8 月前3
TiDB v8.4 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 79 3.1.2 在单机上模拟部署生产环境集群 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 83 3.1.3 探索更多 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 97 3.4.3 HTAP 环境准备 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 487 4.13 云原生开发环境 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 5072 页 | 104.05 MB | 10 月前3
TiDB v8.5 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 83 3.1.2 在单机上模拟部署生产环境集群 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 87 3.1.3 探索更多 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 101 3.4.3 HTAP 环境准备 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 491 4.13 云原生开发环境 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 5095 页 | 104.54 MB | 10 月前3
TiDB v8.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 63 3.1.2 在单机上模拟部署生产环境集群 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 67 3.1.3 探索更多 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 81 3.4.3 HTAP 环境准备 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 420 4.12 云原生开发环境 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4987 页 | 102.91 MB | 10 月前3
开课吧基于混合云的Kubernetes平台落地实践-程亮程亮 多云多K8S多环境 程亮 • 开课吧 首席架构 技术委员会主席 • 负责公司微服务建设,多环境治理搭建,公司中长期技术规划 • 目录 2018 2019 2020 2021 K8S多环境 • 基于jenkins的传统发布 K8S多环境发布一期方案 • 一期通过K8S发布,一键master • 新增服务模版,自动生成deployment K8S多环境二期优化实战 • 一套代码,支持多种环境 一套代码,支持多种环境 • 物理隔离的多环境 • 共享资源的多环境 收益总结 • 降低服务器使用成本40% • 运维100%自动化 • 多云部署,高可用 P-1 为什么要做多云多K8S多环境 ‣ 标准的dev test pre prod环境 ‣ 存在的问题 • 标准的四套环境 DEV TEST PRE PROD • 标准的CICD流程 Developer LOCAL DEV Jenkins 多云多K8S多环境平台建设的初衷 多环境平台建设的初衷 01 02 03 多云多K8S多环境平台 K8S集群(多个) 管理后台 发布平台 提升资源使用率 1 多云冗余高可用 2 环境并行互不影响 3 P-2 线下多环境一期方案 ‣ 一键拉起master镜像新环境 ‣ 如何确保环境间资源互不影响 ‣ 一期方案存在的问题与挑战 ‣ 如何实现线下多环境 • 一键拉起环境 注意点0 码力 | 22 页 | 7.42 MB | 9 月前3
Service Mesh结合容器云平台的思考和实践面,是个单独 的二进制。 pilot-agent跟envoy打包在同一个docker镜 像里,镜像由Dockerfile.proxy定义, Makefile(include了tools/istio- docker.mk)把这个dockerfile build成了 ${HUB}/proxy:${TAG}镜像,也就是 Kubernetes里跟应用放在同一个pod下的 sidecar。非Kubernetes情况下需要把 sidecar。非Kubernetes情况下需要把 pilot-agent、envoy跟应用部署在一起,这 就有点“污染”应用的意思了。Pilot-Agent的功能介绍 在proxy镜像中,pilot-agent负责的工作包括: • 生成envoy的配置。 • 启动envoy。 • 监控并管理envoy的运行状况,比如envoy出错时pilot-agent负责重启envoy,或者envoy配置变更后 reload envoy。 根据代码中的sidecar-injector-configmap.yaml(用来配置如何自动化地inject istio sidecar), inject过程中,除了proxy镜像作为sidecar之外,每个pod还会带上initcontainer(Kubernetes中的概 念),具体镜像为proxy_init。proxy_init通过注入iptables规则改写流入流出pod的网络流量规则,使得 流入流出pod的网络流量重定向0 码力 | 28 页 | 3.09 MB | 6 月前3
共 128 条
- 1
- 2
- 3
- 4
- 5
- 6
- 13













