Kubernetes开源书 - 周立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的安装部署是难中之难,每个版本安装⽅式都略有区别。笔者⼀直想找⼀种 ⽀持多平台 、 相对简单 、 适⽤于 ⽣产环境 的部署⽅案。经过⼀段时间的调研,有如下⼏种解决⽅案进⼊笔者视野: 部署⽅案 优点 缺点 Kubeadm ray 下载kubespray TIPS:本⽂下载的是master分⽀,如果⼤家要部署到线上环境,建议下载RELEASE分⽀。笔者撰写本⽂ 时,最新的RELEASE是2.6.0,RELEASE版本下载地址:https://github.com/kubernetes- incubator/kubespray/releases) ~]# git clone https://github.co0 码力 | 135 页 | 21.02 MB | 1 年前3
Kubernetes平台比較:Red Hat
OpenShift、SUSE Rancher及
Canonical KubernetesKubernetes平台比較:Red Hat OpenShift、SUSE Rancher及 Canonical Kubernetes 如何為貴企業選擇合適的Kubernetes發行版本 2022年7月 執行摘要 採用容器優先方法的企業,將能享有無可比擬的機會,協助提升效率及資源使用 率、加強安全性、導入自動化及加速創新;因此Gartner預測將有75%的全球組 織,在2022年之前於正 載和服務的頂尖開放原始碼平台,不過 Kubernetes生態系統既龐大又複雜,不但有許多不同版本的Kubernetes可供選 擇,此外也難以瞭解哪種版本最適合組織的特定需求。 本白皮書的目標是因應這項挑戰,提供撰寫本文時Kubernetes版圖的當下狀態, 並比較三種企業級的Kubernetes發行版本,分別是Canonical Kubernetes、 Red Hat OpenShift及SUSE 效益的發行版本。 1. https://www.gartner.com/en/newsroom/press-releases/2020-06-25-gartner-forecasts-strong-revenue-growth-for-global-co 企業Kubernetes的關鍵考量因素 1. CNCF符合性 CNCF認證是一項符合性計畫,確保每家廠商的Kubernetes發行版本,都支援所需0 码力 | 10 页 | 1.26 MB | 1 年前3
k8s操作手册 2.3★最后重启操作系统 # reboot ★第1章、部署k8s版本<=1.23 k8s在1.23及之前版本默认是调用docker作为底层的容器运行时,从1.24版本开 始移除了dockerShim组件,不再支持docker,从而默认使用containerd作为底层 的容器运行时。 k8s 1.23及之前版本: kubelet→dockerShim→dockerd→containerd→runC 24及之后版本: kubelet→cri-containerd→containerd→runC 后来cri-containerd重构进containerd中(CRI Plugin),合为一个containerd进程 默认调用的cri-socket: unix:///var/run/containerd/containerd.sock 本小节讲解k8s v1.23及之前版本的安装;首先按照第0章的步骤完成准备工作。 ①安装并配置docker-ce # yum install docker-ce docker-ce-cli containerd.io -y #k8s v1.23支持的docker 最新版本为20.10.x # systemctl enable docker # systemctl start docker # docker info ★配置docker服务使用systemd去管理(以及信任本地镜像仓库)0 码力 | 126 页 | 4.33 MB | 1 年前3
石墨文档Go在K8S上微服务的实践-彭友顺IDE的体验,右键插入资源引用,悬停查看资源信息 配置 对接 Debug • 配置驱动 • 配置补齐 • 配置工具 • Proto的管理 • 错误码管理 • 调试gRPC • 调试信息 • 错误定位 配置版本,发布,回滚,可以更加方便 微服务的开发阶段 统一采用gRPC协议和protobuf编解码 CI check 阶段 • 主要做 pb 的 format、lint、breaking 检查。 CI 码去实现 微服务的部署阶段 注入信息 版本信息 发布版本 • 注入应用名称、应用版本号、编译所在机器、编译时间配置 • 启动应用,获取debug.ReadBuildInfo,注入框架版本号 https://ego.gocn.vip/ micro/chapter1/build.ht ml 微服务的部署阶段 注入信息 版本信息 发布版本 • 执行./bin/hello --version --version • 查看线上使用框架版本 https://ego.gocn.vip/ micro/chapter1/build.ht ml 微服务的部署阶段 注入信息 版本信息 发布版本 • 配置 • 过去自己实现agent读取etcd,写文件 • 现在写入config map,挂载到pod • 应用 • 一行代码kubectl apply -f deployment.yaml0 码力 | 41 页 | 3.20 MB | 1 年前3
腾讯基于 Kubernetes 的企业级容器云实践-罗韩梅负载均衡 • 重启机制 ① 区分异常原因 ② 本地重启/跨机重启 • 黑名单机制 • 集群核心数据的备份和恢复 ① 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-agent • 当该服务要升级新的版本时,如果对所有实例停止,则会造 成服务中断;如果采用滚动升级,无法保证升级过程是否有 异常,以及无法充分验证新版本的可用性(即使经过了测试 阶段的测试)。 • 通常采用灰度升级的方式:即选择某一个或N个实例先升级到 新版本,在充分稳定验证后,再考虑升级其他实例,而该灰 度的过程可以分为任意批次。有时为了验证多个版本,一个 应用内也可以同时又多个版本并行存在。充分保证现网的服0 码力 | 28 页 | 3.92 MB | 1 年前3
Operator 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
第29 期| 2023 年9 月- 技术雷达的设计模式、组件库以及良好的设计和工程实践,以确保 数字产品的一致性。设计系统从过去的企业风格指南演变而来,提供易于查找和使用的共享组件库和文档。通 常,设计系统的风格指南以代码的形式记录并进行版本控制,比简单的文档记录更加清晰且易于维护。设计系 统已经成为跨团队和学科进行产品开发时的标准方法,每当需要新的视觉组件时,团队不用重新发明轮子,因 此能够集中精力,专注解决产品本身的种种挑战。 须运行所有这些测试以及安全扫描,我们更提倡自动合并依赖项更新 PR。 简而言之,团队必须完全相信,流水 线运行成功后,软件就可以投入生产。在这种情况下,依赖项更新 PR,即使它们在间接依赖项中包含主要版本 更新,也应该自动合并。 6. 针对 FAIR 数据的数据产品思维 试验 数据产品思维重视将数据消费者视为客户,确保他们在数据价值链中的无缝体验。这包括易用的数据发现、理 解、信任、访问和 IaC,更易于理解和维护。与所有 IaC 一样,同时使用多种方式进行配置变更,会带来 不一致的风险。所以,我们建议禁用通过用户界面和 API 的方式处理配置变更,确保 Terraform 代码始终是唯 一的真实生效的版本。 9. ReAct 提示工程 试验 ReAct 提示工程是一种用于提示大语言模型的方法,相较于思维链(CoT)等竞争方法,ReAct 旨在提高大语言 模型的响应准确性。这一方法在一份 20220 码力 | 43 页 | 2.76 MB | 1 年前3
石油巨头与Kubernetes, Microservice & DevOps 共舞1114最终版迭代回顾 系统总体架构 设计 系统总体架构 系统原型 持续集成 测试报告 版本发布 评审 产品立项 评审 迭代启动 评审 产品立项报告 实践 相关规范:《敏捷开发过程指南》 规范指南设计 规范与指南 GIT分⽀管理规范 4+1共5个分⽀,每个 分⽀具体的⽤途 版本发布规范 版本发布评审流程, ⽣产环境上线流程 缺陷管理规范 缺陷的定义,缺陷报 告,缺陷跟踪,缺陷 低⾃动化测试编写难度 测试case编写 ⾃动化测试编排 发版提测场景 版本Signoff ü 交付内容标准化规范化 ü 交付内容版本可追踪 ü 交付内容关联需求 ü 交付内容关联开发任务 ü 交付内容管理变更范围 ü 使⽤⾃动化测试⼯具快速 校验交付质量,加速测试 效率 ü 按照编写好的测试case进 ⾏⼿⼯测试 ü 版本发布⾯板,跟踪版 本发布进度 创建发版⼯单 测试环境部署 测试 ⼀致 上线运维场景 上线完成 ü 交付内容标准化规范化 ü 交付内容版本可追踪 ü 交付内容关联需求 ü 交付内容关联开发任务 ü 交付内容管理变更范围 ü 容器云平台⼀键部署 ü 丰富部署策略 ü 内置丰富监控指标 ü ⾃动化监控警报 ü 智能扩缩容 ü 容器云平台屏蔽部署 架构的复杂性。 ü 版本发布⾯板,跟踪版 本发布进度 接受发版⼯单 ü ⼀键同步镜像到⽣产环境0 码力 | 33 页 | 7.49 MB | 1 年前3
Kubernetes 异常配置检测框架Prometheus node-problem-detector Sonobuoy 运行模式 • 集群节点(Collector Pod + DaemonSet/One Shot) • 需要特定版本来对接兼容的 K8s 版本 问题检测 • Kubernetes Conformance-testing(K8s 兼容性检查) • 节点上自定义数据的收集(依赖于自定义插件) 问题上报 • 需要采集和分析结果文件 Global Job Custom Job Node Script Image 1. 根据集群类型、版本、场景生成检测策略 2. 根据策略执行检测任务 3. 检测任务支持脚本或容器镜像 Ver.1 优化点 快速迭代的 Kubernetes 版本 • 月度发版 • 版本间的配置、参数、API 差异 多样集群类型(阿里云容器服务) • 托管版集群、Serverless 集群 • 边缘集群、GPU 集群 各类检测场景 • 节点、组件、配置等 • 集群升级、集群巡检 版本差异 * 类型差异 * 场景差异 检测项 Ver.1 优化点 检测代码在膨胀 检测能力迭代需要加速 检测框架 Ver.2 { 动态定制 动态扩展 Ver.2 DSL DSL (Domain-Specific Language) • 领域特定语言指专注于某个应用程序领域的计算机语言0 码力 | 31 页 | 9.57 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 调度容器,以及容器自我修复机制。 水平扩展:通过简单明了实现水平扩展,基于CPU等资源负载率的自动水平扩展。 服务发现和负载均衡:实现内部负载均衡可以实现服务访问负载。 自动发布和回滚:可以自动实现版本的发布和回滚。 秘钥和配置管理:对于密码等信息,专门提供了Secert对象为其解耦。 存储编排:支持多种不同类型的存储,包括本地存储、云存储、网络存储等。 批量处理执行:除服务型应用,还支持批处理作0 码力 | 49 页 | 4.11 MB | 1 年前3
共 34 条
- 1
- 2
- 3
- 4













