Hello folks,我是 Luga,今天我们来聊一下云原生生态排障大杀器-基于AI 的云原生终极工具:“K8sGPT”。 1、基于 CLI 安装: [leonli@leonLab ~ ] % brew tap k8sgpt-ai/k8sgpt Warning: No remote 'origin' in /opt/ Running `brew update --auto-update`... ==> Fetching k8sgpt-ai/k8sgpt/k8sgpt ==> Downloading https://github.com from k8sgpt-ai/k8sgpt /opt/homebrew/Cellar/k8sgpt/0.3.0: 6 files, 55.5MB, built in 3 seconds ==> Running kubectl apply -f - << EOF apiVersion: core.k8sgpt.ai/v1alpha1 kind: K8sGPT metadata: name: k8sgpt-sample
和持久化走 cloud DB…… 云原生时代的系统开发 对于系统开发人员来说(比如云数据库,云 AI 平台),云原生的趋势也会产生相应的影响。 具体的例子比如我们可以通过用户的数据查询看到经常使用的过滤维度,来重新安排数据的排序和分区,这样在同样的数据量情况下,系统可以花更少的计算资源来完成查询,增加系统的利润 :) 云原生+AI 最后再来看下跟 AI 相关的部分。 而前面讲的“云原生语言”,则更关注在程序具体执行层面的关注点分离。 把两者结合起来看,云原生时代的 AI 平台开发会是一片巨大的未开垦之地,对于云和算法各自都有很宽很长的路可以走。 目前云原生跟 AI 结合的一个比较好的学习样例是 Kubeflow,之前春节期间读了一本《Kubeflow for Machine Learning[3]》,感觉收获还是挺多的,如Istio,CRD的应用等
开发者学习 kubernetes 可以使用的环境有几种: 使用云厂商提供的套装 在云主机上自己安装和配置 在开发者主机上安装和配置 从成本上来说,在开发者主机上安装和配置是比较方便的。 user: kind-hello-k8s name: kind-hello-k8s - context: cluster: kind-test user: kind-test 集群,例如这里有两个kind创建的集群:kind-hello-k8s 和 kind-test 以及一个 minikube 创建的集群minikube context 列出了每个 k8s 集群对应的上下文信息 Pod是 K8s 的最小可部署单元。 worker 两种节点 我们也掌握了安装 k8s 的概念 kubectl 可以用来和 k8s 集群通讯,是 k8s 的命令行客户端 使用 minikube/kind 可以创建学习环境 k8s 集群 使用
worker node and list the interfaces using, ip route and filter interface matching the pod IP. root@k8s-node calixxxxxxxxx -w /opt/capture.pcap & https://iximiuz.com/en/posts/container-learning-path/ https://learnk8s.io
例如 centos 上有 yum 例如 ubuntu 上有 apt-get Mac系统上有包管理软件: 例如 brew Windows 上也有可用的包管理软件: 例如 scoop 例如 choco 云原生的事实标准平台 k8s 上也可以安装各种组件和服务。 而 helm 就是 k8s 的包管理软件,用来给 k8s 平台安装各种组件包或者服务包。 在不同平台上,通过对应平台的包管理软件,可以快速安装 helm 客户端命令。 /chart/hello-py/ --generate-name 检测下 k8s 的 deployment 和 sevice: 端口转发: 访问服务: helm 可以规范化k8s helm 通过chart依赖来解决所部署的k8s应用之间的依赖。 本文内容到此结束了, 如有收获欢迎点赞收藏关注✔️,您的鼓励是我最大的动力。 如有错误❌疑问欢迎各位大佬指出。
背景云原生(CloudNative)是一个组合词,“云”表示应用程序运行于分布式云环境中,“原生”表示应用程序在设计之初就充分考虑到了云平台的弹性,就是为云设计的。 腾讯云也制定了自己的云原生成熟度模型:图片图片腾讯云的成熟度模型,主要从研发效能和资源效能2个方面引导内部云原生建设。 结果复盘:扩容失败的负载,是AI大数据模型的服务,由于业务原因使用了大内存的EKS(8核64G)。 图片图片特色与沉淀AI大数据模型服务启动速度慢是个行业通性问题。通过上述的建设,云小微的AI大数据模型服务,扩容速度从10分钟左右,优化到5分钟以内,命中缓存时可以达到1分钟左右。 当然随着对云原生的实践越来越多,我们也发现云小微在云原生的资源利用率、可调度性等方面建设和实践相对比较薄弱。接下来我们也将继续云原生的实践,不断完善自身的薄弱点,更好地服务客户和合作伙伴。
张望,腾讯高级工程师,从事云上 GPU 和分布式训练加速,负责腾讯云 TKE 在 AI 场景的研发和支持工作。 不仅各大公有云厂商都已经基本收录或集成了 Kubeflow 的训练 operators,社区上其他与深度学习训练相关的项目(如用以自动机器学习的 Katib,又如提供自动化编排功能的 Flyte)都对接了 我们希望未来利用 Kubeflow Training Operator 来构建 AI 平台的开发者可以方便地将其与其他模块对接,实现诸如任务队列、流水线、超参数搜索等功能。 资源利用率提高67%,腾讯实时风控平台云原生容器化之路 Getting Started and Beyond|云原生应用负载均衡选型指南 被集群节点负载不均所困扰?
什么是云原生? 我相信大部分人都听过云原生,但是要你说出一个所以然,却不知道怎么开口,我也是一样。 我不知道云原生到底是什么,从字面来看:云原生就是为云而生。云是什么? 不知道你有没有发现,云原生其实是云计算发展历程中的一种产物。 云原生不是一个新的概念,它是云计算发展的过程中对理念的更新和延申。 在云原生时代,希望让应用更有弹性、容错性、可观测性,让应用更容易部署、管理编写、编排等,希望开发者能够更好的利用云的资源、产品以及交付能力。 下边大致梳理云原生的发展历程。 云原生全景图(?https://github.com/cncf/landscape): 核心理念 云原生技术有助于企业在公有云、私有云和混合云等新型动态环境中构建和运行可弹性扩展的应用。 ,而且以云原生理念而诞生的技术也越来越多,最终云原生究竟如何定义现在也未可知,咱们只有拭目以待。
: ---- 前言:12月19日,在 Cloud Native Days China -云原生AI大数据专场,腾讯技术事业群高级工程师薛磊发表了《云原生AI平台的加速与实践》主题演讲。 ? 演讲主要包含五部分的内容: Kubernetes介绍 AI离线计算 AI场景下Kubernetes的不足 Kubeflow 星辰算力平台的架构 Kubernetes介绍 K8s是生产级的容器编排系统,它也是云原生应用最佳的一个平台 因此,对于我们而言在AI平台上面也可以基于K8s的架构进行额外的开发。 AI离线计算 ? 典型的AI场景 ? ? AI场景下K8s局限性 – 调度 ? Defros无法进行批量调度,但在多机的场景下,是需要多机调度的。 提供TensorFlow原生PS-worker架构 的多机训练 推荐将PS和worker一起启动 通过service做服务发现 在社区中最早期的Operator 星辰算力平台的架构 它为私有云的一个离线计算平台
Kagent 架构详解 ❝本文档阐述 Kagent 的云原生设计理念——将 Agent 定义为 Kubernetes CRD,使其成为集群的一等公民❞ 目录 1. 这不是简单地"把 Agent 跑在 K8s 上",而是深度融入 Kubernetes 的资源模型,让 Agent 天然具备云原生基础设施的所有能力。 AI Agent 框架,它将 Agent 定义为 Kubernetes CRD(Custom Resource Definition),让用户可以像管理 Deployment 一样管理 Agent。 /Secret 安全可审计 权限控制 RBAC 原生支持 企业级安全 服务发现 Service/DNS 自动注册 故障恢复 Controller 自动协调 秒级自愈 监控告警 Prometheus 生态 自动接入 Kubernetes 可观测性生态: ┌─────────────────────────────────────────────────────────┐ │ 云原生可观测性栈
什么是云原生? 云原生(Cloud Native)是由 Pivotal 的Matt Stine在2013年提出的一个概念,是他多年的架构和咨询总结出来的一个思想的集合。 云原生应用 云原生应用是天然适合云特点的应用,云原生应用系统需要与操作系统等基础设施分离,不应该依赖Linux或Windows等底层平台,或依赖某个云平台。 CNCF给出了云原生应用的三大特征: 容器化封装:以容器为基础,提高整体开发水平,形成代码和组件重用,简化云原生应用程序的维护。 云原生应用和本地部署应用程序之间的差异 云原生应用程序开发采用与传统企业应用程序完全不同的体系结构。 可更新 云原生应用程序始终是最新的,云原生应用始终可用。 本地部署应用程序需要更新,并且通常由供应商按订阅提供,并且在安装更新时需要停机。 弹性 云原生应用程序通过在峰值期间增加的资源来利用云的弹性。
一、产品定位与核心亮点 腾讯云TAPD(Tencent Agile Product Development)是一款基于容器化技术的云原生研发协作平台,核心定位为面向开发团队的高性能、智能化研发基础设施。 其差异化优势在于深度融合项目管理(需求/任务/缺陷跟踪)与工程实践(代码管理/持续集成/自动化测试),通过云原生架构与AI能力提升研发全流程自动化与协作效率。 计算资源:云原生构建CPU资源 6,400核时/月,云原生开发资源 64,000核时/月。 云原生构建能力:基于容器化技术,支持高并发构建与缓存优化,提升编译效率。 自动化流水线:通过规则引擎自动触发流程(如代码提交→构建→测试→部署),减少手动操作。 数据来源:腾讯云TAPD官方产品介绍文档 特权说明:企业版用户(购买License ≥ 10)可申请长期有效的云原生构建与开发资源特权,需通过在线咨询核实后发放。
k8s-node01 192.168.100.133 k8s-node02 EOF 图片 [root@localhost ~]# hostname k8s-node01 [root@k8s-node01 安装工具,使所有的组件都会以容器的方式运行 kubectl:客户端连接K8S API工具 kubelet:运行在node节点,用来启动容器的工具 2、配置阿里云yum源 使用 YUM 方式安装 Kubernetes 阿里云仓库(https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts) 官方仓库(https://hub.kubeapps.com/charts/incubator [root@k8s-master tomcat]# helm ls [root@k8s-master tomcat]# kubectl get pod 图片 [root@k8s-master tomcat [root@k8s-master tomcat]# kubectl get pod [root@k8s-master tomcat]# helm ls 图片 回滚 [root@k8s-master tomcat
高级软件开发工程师和产品经理,11年工作年限,负责腾讯 TKEStack 开源容器云平台项目。 有丰富的云产品开发和项目管理经验,对开源和云原生有极大的热情,致力于打造面向离线和在线业务多维异构的一站式通用基础架构平台。 曾参加Kubecon China 2020,腾讯Techo开发者大会,腾讯云合作伙伴大会等并做演讲。 ? 腾讯云容器产品中心高级产品经理,负责容器私有云开源、商业化相关产品工作。 全程参与了腾讯云TKEStack产品的开源工作,对开源产品设计、持续投入、商业化结合等内容均较为了解。 也曾作为容器产品架构师参与多个容器私有云项目专项培训与交流,并参与华东游戏行业容器专项沙龙、Harbor技术沙龙深圳站等多个容器相关专项交流活动并作主题分享。
= nil { return err } return prepared.Run(stopCh) } /Users/heidsoft/go/src/k8s.io/kubernetes/
我们了解到CIO眼里最重要的规划之一,就是如何根据企业自身的业务特点打造合适的私有云平台,来适应日新月异的应用场景变化,快速推出满足市场需求的应用。 近些年云计算最火的领域围绕PaaS层级,向下PaaS平台能部署标准云计算IaaS资源或者自建机房的基础硬件建设,向上利用PaaS微服务架构特点快速构建SaaS应用。 而基于容器编排技术的Kubernetes,已然成为业界事实标准,容器化,云原生一跃成为近几年云计算领域最火的关键字,是企业数字化转型过程中的重要技术选型环节。 ? 如何利用K8S平台特性,运行有状态的RDS服务? 利用Operator构建数据库业务应用 通过上文我们已知如何解决容器RDS资源配置一致、数据一致和访问入口一致,看起来似乎已经满足容器化云平台建设的需求,但是很遗憾k8s只认得自身的资源类型,比如pod
昨天分享了有关k8s管理平台的知识,基础的功能大同小异,关键在于适用于不同的业务,开发对应的功能。 今天再说说cops平台的开发进度,昨天做了导航菜单,今天就该把集群节点信息的展示功能做出来,先看看效果: 前端页面展示: 后端接口返回数据: 其实就是之前我们说的用表格展示获取的后端数据,这个数据来源于k8s 这里从全流程梳理下: 前端引入表格组件,再调用后端的接口,后端程序调用K8s集群的api,获得集群相关信息,然后返回给前端,前端渲染即可。 再来看看后端api的开发: 1、和k8s集群建立连接 2、获取集群信息 3、返回数据 以下是示例代码: package main import ( "context" "fmt" "log" " k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" "k8s.io/client-go/tools/clientcmd" ) func main
Kubernetes(k8s)网络Kubernetes 网络解决四方面的问题:一个 Pod 中的容器之间通过本地回路(loopback)通信。 集群网络在不同 pod 之间提供通信。 一、k8s网络架构图1、架构图2、访问流程二、网络连通原理1、Container To Containerip netns add ns1 #添加网络名称空间 ls /var/run/netns #
---- 一、k8s 集群平台规划 k8s 集群可以有两种规划方式,单master集群 和 多master集群。 1. 三、k8s 集群搭建(Kubeadm 方式) Kubeadm 是 k8s 的部署工具,它提供了 kubeadm init 和 kubeadm join,专用于快速部署 k8s 集群,它能通过两条指令完成一个 详情参见: 【云原生 • Docker】docker 环境搭建、docker与容器常用指令大全 安装 Docker 后,之后的操作均需在 docker 服务开启的前提下进行 systemctl start 查看提示信息,看到 initialized successfully 说明我们 master 节点上的 k8s 集群已经搭建成功; 7. 8. 部署 CNI 网络插件 在上述操作完成后,各个工作节点已经加入了集群,但是它们的状态都是 NoReady,这是由于无它们无法跨主机通信的原因。
给近半年做的云原生AI算力平台做一个回顾, 思考和实践参考了云溪大会上的分享:为大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化实践[1],全文很长,我这边做一个牵引和解读。 1. 大模型带来的挑战 AI有工程化的要求,同时也对基础设施提出挑战。 3. 云原生AI的能力 最近在做的“AI大模型基础设施”, 宏观目标也是帮助AI工程从小作坊向端到端云原生解决方案演进。 云原生AI的架构实践 我们的云原生AI算力平台, 有参考上面的实践,针对企业业务的现状和侧重, 技术调研上做了调整和裁剪。 有关kueue的使用,请参考:在k8s调度的花园里面挖呀挖 为适配AI工程化的调度要求,我们使用Koordinator调度器支持了binpack装箱调度。 糟糕,我实现的k8s informer好像是依托答辩 参考资料 [1] 为大模型工程提效,基于阿里云 ACK 的云原生 AI 工程化实践: https://developer.aliyun.com/article