Kubernetes开源书 - 周立
4 部署应⽤程序的旧⽅法是使⽤操作系统的软件包管理器在主机上安装应⽤程序。这种⽅式,存在可执⾏⽂件、配置、库 和⽣命周期与操作系统相互纠缠的缺点。⼈们可构建不可变的虚拟机映像,从⽽实现可预测的升级和回滚,但VM是重 量级、不可移植的。 新⽅法是部署容器,容器基于操作系统级别的虚拟化⽽不是硬件虚拟化。这些容器彼此隔离并且与宿主机隔离:它们有 ⾃⼰的⽂件系统,看不到对⽅的进程,并且它们的计 io/docs/concepts/overview/what-is-kubernetes/ 01-什么是Kubernetes 7 安装Kubernetes(单机) 对于Mac/Windows 10 前提:保持⽹络畅通 系统版本满⾜要求 对于macOS或者Windows 10,Docker已经原⽣⽀持了Kubernetes。你所要做的只是启⽤Kubernetes即可,如下图: Minikube ⼀些场景下,安装Min 使⽤Kubespray部署⽣产可⽤的Kubernetes集群 (1.11.2) 前提:科学上⽹,或⾃⾏将gcr.io的镜像转成其他镜像仓库的镜像。 Kubernetes的安装部署是难中之难,每个版本安装⽅式都略有区别。笔者⼀直想找⼀种 ⽀持多平台 、 相对简单 、 适⽤于 ⽣产环境 的部署⽅案。经过⼀段时间的调研,有如下⼏种解决⽅案进⼊笔者视野: 部署⽅案 优点 缺点 Kubeadm0 码力 | 135 页 | 21.02 MB | 1 年前3腾讯基于 Kubernetes 的企业级容器云实践-罗韩梅
Next 企业级容器云架构 产品功能 企业级容器云解决方案 企业级 场景 易用 • 全组件自动化部署、统一配置管理、多策略灰度升级 • 提供可视化、自动化的运维能力,降低使用者的人力成本和学习成本 可靠 • 所有组件无单点; • 平台本身支持热升级; • 组件自身HA机制,如docker; • 多地域多可用区的容灾设计 • 管理机挂掉:对应用无影响 • 计算节点挂掉:跨机迁移 • 健康探针 • 负载均衡 • 重启机制 ① 区分异常原因 ② 本地重启/跨机重启 • 黑名单机制 • 集群核心数据的备份和恢复 ① Etcd ② 核心数据库 • 云盘机制保护应用数据 • 举例:1.4升级1.9版本 • Pod Hash发生变化 • Container名称发生变化,点分隔改为了下划线分隔 • 容器标签发生变化 pause容器的标签io.kubernetes.container.name=POD改为 Pod Pod 微服务/通用服 务 Autoscaler controller prometheus Metrics-server APP弹性伸缩: • 主动扩缩容 • 扩容可以指定新版本 • 缩容可以定点裁撤 自动扩缩容 • 资源阈值 • 自定义指标阈值 • 实例个数范围 • 周期性自动伸缩 Autoscaler controller Apiserver cluster-agent0 码力 | 28 页 | 3.92 MB | 1 年前3Kubernetes 异常配置检测框架
Kubernetes 使用日常 • 应用部署 • 集群扩容 • 组件升级 • … • 找出集群不正常工作的原因 : ( Kubernetes 典型异常 组件异常 • API Server Load Balancer 异常 • API Server Pod 异常 影响 • 通过 API Server 访问集群概率失败 • 升级集群失败 Load Balancer Service Master Prometheus node-problem-detector Sonobuoy 运行模式 • 集群节点(Collector Pod + DaemonSet/One Shot) • 需要特定版本来对接兼容的 K8s 版本 问题检测 • Kubernetes Conformance-testing(K8s 兼容性检查) • 节点上自定义数据的收集(依赖于自定义插件) 问题上报 • 需要采集和分析结果文件 根据集群类型、版本、场景生成检测策略 2. 根据策略执行检测任务 3. 检测任务支持脚本或容器镜像 Ver.1 优化点 快速迭代的 Kubernetes 版本 • 月度发版 • 版本间的配置、参数、API 差异 多样集群类型(阿里云容器服务) • 托管版集群、Serverless 集群 • 边缘集群、GPU 集群 各类检测场景 • 节点、组件、配置等 • 集群升级、集群巡检0 码力 | 31 页 | 9.57 MB | 1 年前3Kubernetes全栈容器技术剖析
3 华为云应用服务:让企业应用上云更简单,运行更高效 计算(ECS/BMS/ARM) 存储(EVS/OBS/SFS) 网络(VPC/EIP) 开源原生 商业增强:控制面HA、跨AZ高可用、滚动升级、裸金属容器 云容器引擎 CCE 微服务引擎 CSE 开源原生 企业级 中间件 分布式 缓存 DCS 分布式 消息 DMS 分布式 数据库 DDM 应用编排引擎 AOS 存储(EVS/OBS/SFS) 网络(VPC/EIP) 多样的生态接入 • 支持多语言多框架服务接入 • 支持第三方模板和镜像快速部署 完全开放的原生平台 • 紧跟Kubernetes和Docker社区,迅速同步最新版本 • 支持原生API调用和命令行操作 增强的商用化特性 • 通过自动化配置、构建、部署提升业务上线效率 • 通过跨可用区高可用和控制面HA提升业务可靠性 • 通过物理共享集群提供敏捷可靠的容器适应业务多样性 对接公私网络:虚拟私有网络、EIP公网 容器引擎CCE:基于开源Kubernetes和Docker技术的企业级容器服务 开源原生平台 商业增强特性 控制面 HA 跨AZ高可用 容器优雅缩容 多策略弹性伸缩 镜像加速 滚动升级 配置模板化 自动化构建 自动化部署 节点自动伸缩 GUI/CLI/API 物理共享集群 多语言多框架 Java/Python/Go/Node.js 第三方模板&镜像部署 K8S Helm/Docker0 码力 | 26 页 | 3.29 MB | 1 年前3DaoCloud Enterprise 5.0 产品介绍
和自动化,并集成各类精选数据库和中间件,使运维治理更加高效。各个产品 模块独立解耦,支持灵活升级,对业务没有影响,并且能够与众多云原生生态 产品对接,提供完整的解决方案体系。 它经过了近千家行业客户的生产场景检 验,构建了坚实、可靠的数字底座,帮助企业定义数字边界,释放云原生生产 力。 DCE 5.0 的各个产品模块独立解耦,灵活升级,业务无感知,开放对接超百家 云原生生态产品,形成完整的解决方案体系,经近千家行业客户生产场景锤 涉及的模块:全局管理、容器管理、云原生网络、云原生存储、云边协同 版权 © 2023 DaoCloud 第 8 页 云原生底座 提供云原生计算、网络、存储等能力,兼容各种集群接入,支持集群从部署、版本升 级、证书变更、配置变更、回收等全生命周期管理,突破 K8s API 性能瓶颈,实现企 业超大规模用户并发使用多集群。针对企业环境,提供场景化的网络方案,实现当前 企业网络基础设施复用的最大化,降低企业使用云原生应用门槛。 集群的统一纳管,支持特定版本范围内的任意 Kubernetes 集群纳入容器管理范围, 实现云上、云下、多云、混合云容器云平台的统一管理。 ➢ 集群的快速部署,基于 DaoCloud 自主开源项目 Kubean 支持通过 Web UI 界面快速 部署企业级的 Kubernetes 集群,快速搭建企业级容器云平台,适配物理机和虚拟机 底层环境。 ➢ 一键式集群升级,一键升级 Kubernetes0 码力 | 18 页 | 1.32 MB | 1 年前3第1930期:Kubernetes基础介绍
秘密 44 Kubernetes基础结构介绍 Kubernetes(来自希腊语,意为“舵手”或者“飞行员”又称为k8s),它是谷歌开源的容器集群管理系统,是谷歌多年大规模 容器管理技术Borg的开源版本。是目前最流行的容器编排技术。 它由谷歌在2014年首次对外宣布 。它的开发和设计都深受谷歌的Borg系统的影响,它的许多 顶级贡献者之前也是Borg系统的开发者。在谷歌内部,Kubernetes的原始代号曾经是Seven, 就是对该项目代 号的致意。 Kubernetes v1.0于2015年7月21日发布。随着v1.0版本发布,谷歌与Linux 基金会合作组建了 Cloud Native Computing Foundation (CNCF)并把Kubernetes作为种子技术来提供。目前最新的 版本是1.16版本。(https://github.com/kubernetes/kubernetes) Kubernetes 和更 高级的自动化任务。Kubernetes 具备完善的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明 的服务注册和服务发现机制、内建负载均衡器、故障发现和自我修复能力、服务滚动升级和在线扩容、可扩展的资源自动调度 机制、多粒度的资源配额管理能力。 Kubernetes 还提供完善的管理工具,涵盖开发、部署测试、运维监控等各个环节。 5 www.h3c.com Confidential0 码力 | 49 页 | 4.11 MB | 1 年前3⾸云容器产品Kubernetes操作指南
前提条件 3. 操作说明 22 c) 设置容器配置 i. 基本配置 镜像名称:填写所⽤镜像名称,本例中为hello-world。格式为domain/imagename。 镜像版本:填写所需镜像版本,如不指定,默认为latest。 最⼩申请:为该应⽤所需最⼩资源额度,包括 CPU 和内存两种资源。该资源由容器独占,以 防资源不⾜⽽被其他服务或进程争占资源,导致应⽤不可⽤。其中,CPU 可缩容的副本(即容器组Pod)数量下限。 注:若要启⽤⽔平伸缩,您必须为容器设置所需资源,否则容器⾃动伸缩⽆法⽣效。参⻅容器基本配置环 节。 可选:升级⽅式。升级⽅式包括滚动升级(rollingupdate)和替换升级(recreate),详细请 参⻅https://kubernetes.io/zh/docs/concepts/workloads/controllers/deployment/ 数量)、标签和注解。然后单击 下⼀步进⼊容器配置⻚⾯ c) 设置容器配置 i. 基本配置 镜像名称:填写所⽤镜像名称,本例中为mysql。格式为domain/imagename。 镜像版本:填写所需镜像版本,本例中为5.7。如不指定,默认为latest。 最⼩申请:为该应⽤所需最⼩资源额度,包括 CPU 和内存两种资源。该资源由容器独占,以 防资源不⾜⽽被其他服务或进程争占资源,导致应⽤不可⽤。其中,CPU0 码力 | 94 页 | 9.98 MB | 1 年前3KubeCon2020/微服务技术与实践论坛/Spring Cloud Alibaba 在 Kubernetes 下的微服务治理最佳实践-方剑
第一次提交代码 2018.11 发布第一个版本。 包含 Nacos & Sentinel 组件 2019.1 1. 新增 Dubbo Spring Cloud 模块 让 Spring Cloud 与 Dubbo 可以互相调用 2. 新增 Seata 模块,让 Spring Cloud 的服务调用拥有分布式事务能力 2019.4 1. 发布 GA 版本 2. Sentinel 成为官方推荐的 业务高可用、多可用区部署 • 同城/异地容灾,业务多活 • 微服务需要更安全、更可信 成本 稳定 效率 • 白天流量高峰期发布 • 云边端一体化开发部署联调 • 服务治理体系强依赖SDK升级 • K8s下应用IP的不确定、导致服务治理规则的失效 • 应用迁移上云成本很高 • 极致、灵活的弹性 微服务在云原生下的挑战 后端服务BaaS化 DB,MQ, Redis, 注册中心、配置中心、服务治理中心 自研微 服务 Fat-SDK Pandora One Agent One Mesh • 基于隔离容器 • 运维治理效率 大幅提升 • 无侵入 • 0升级成本 • 全面兼容开源 • 无侵入 • 多语言 • 依赖冲突难管理 • SDK升级成本高 微服务治理演进路线 • 服务元信息 • 服务契约管理 • 服务测试 • 服务Mock • 开发环境隔离 • 端云互联 运行态Ops0 码力 | 27 页 | 7.10 MB | 1 年前3202106 KubeOperator:开源的轻量级 Kubernetes 发行版
如何快速创建主机资源? b. 如何实现⾃自动化⼀一键部署? c. 怎么进⾏行行离线部署? d. 快速部署常⻅见应⽤用并确保兼容性? e. 是否可视化⻚页⾯面,部署⻔门槛? a. 集群如何⽆无缝升级? b. 集群如何快速扩容? c. 监控、告警、⽇日志是否完善? d. 如何进⾏行行快速安全加固? e. 集群如何进⾏行行备份和恢复? 1 2 企业在云原⽣生时代的挑战 Kubernetes 集群。 计算 ⽹网络 存储 ⽤用途 ⼀一键部署 可视化安装 管理理 备份 伸缩 监控 ⽇日志 Day 0 Day 1 Day 2 规 划 部 署 运 营 升级 在线 / 离线 KubeOperator 的开发团队和运作模式 • 由 Jumpserver 开源明星团队打造; • 遵循 Apache 2.0 开源许可协议 (github.com/kubeoperator); / EulerOS 集群规划 集群部署 集群运维 集群升级 集群伸缩 集群备份 应⽤用商店 开源的轻量量级 Kubernetes 发⾏行行版 KubeOperator 的技术优势 按需创建 ⼀一键创建和部署 K8S 集群 按需伸缩 快速伸缩 K8S 集群, 提升资源使⽤用效率 按需修补 快速升级 K8S 集群,与社区版本同步 应⽤用商店 快速在 K8S 中部署和管理理 应⽤用程序0 码力 | 20 页 | 1.62 MB | 1 年前3Operator Pattern 用 Go 扩展 Kubernetes 的最佳实践
Now K8s 1.1 版本中正式推出 TPR (ThirdPartyResource),首次尝 试解决 K8s API 的扩展性问题, 但存在诸多问题,Alpha 阶段既 夭折 CoreOS 提出 Operator 概念,用 于管理和运行基于应用程序领 域的复杂有状态应用程序。 给出了用 TPR + controller- runtime 早期版本的 sample: etcd etcd operator K8s 1.9 版本发布,CRD进入 beta 阶段并正式取代 TPR; controller-runtime 加入 K8s 社 区并正式发布; 自此,CRD + controller-runtime 逐渐成为开发 operator 的首选 Operator Pattern 是官方定义的标准扩 展机制,是 K8s Native Application; Operator Failover/Switchover、多可用区、数据恢复等等。 Security & Compliance 访问控制、审计、安全链接、加密存储等等。 Patching & Upgrades 小版本升级、大版本升级、安全漏洞修复等等。 Data Migrations 迁移、同步、清洗、跨地域、灾备、多活等等。 DB Operator Day-2 Operations Operator 基础模型0 码力 | 21 页 | 3.06 MB | 9 月前3
共 39 条
- 1
- 2
- 3
- 4