DeepSeek 应用开发实战
云阳
某大厂 AI 与容器技术专家
2445 人已学习
新⼈⾸单¥59
DeepSeek 应用开发实战
15
15
1.0x
00:00/00:00
登录|注册

05|进阶部署(一):Kubernetes资源创建与部署

你好,我是邢云阳。
前面的两节课,我使用 Docker 的方式,在服务器上为你演示了基于 Ollama 的量化版 DeepSeek 的部署。虽然 Docker 容器的方式运行简单,一条 docker 命令便可以拉起,但通常只能够运用在测试环境,供研发人员快速地验证方案。
当我们真正要将 AI 服务模型投入到生产时,必须直面以下挑战:
服务高可用性:单容器部署存在单点故障风险
弹性伸缩需求:LLM 推理的算力消耗具有明显波峰波谷特征
资源配置优化:GPU 资源的精细化调度与管理
服务发现难题:多模型实例的动态流量分配
为了应对这些挑战,我们需要使用 Kubernetes 来进行容器编排、资源分配、服务发现等等。鉴于很多同学对于 Kubernetes 不是很了解,因此我会花一节课的时间,利用青云公司开源的 KubeSphere 软件,带你快速入门。等到后面做非量化版模型的分布式部署时,我们就会基于 Kubernetes 来做。

新手如何快速理解什么是 K8s?

首先,我们来认识一下 Kubernetes。Kubernetes 是谷歌的一套开源系统,支持在任何地方部署、编排、扩容缩容和管理容器化应用。由于 Kubernetes 这个单词,在 K 和 s 之间有 8 个字母,因此简称 K8s。我们前两节课使用的将 Ollama、Higress 等等应用封装到 docker 中的做法,就叫做容器化应用。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
  • 解释
  • 总结

1. Kubernetes是一套开源系统,支持在任何地方部署、编排、扩容缩容和管理容器化应用,简称K8s。 2. Kubernetes的主要组件包括调度器kube-scheduler、存储状态的etcd、控制器kube-controller和API Server,以及业务容器最基本的单元Pod。 3. Kubernetes的安装方法包括使用二进制的方法、kubeadm工具和KubeKey等,其中KubeKey是一个比较好用的安装工具。 4. KubeKey的安装过程需要注意Linux系统版本不要太低,最好选择Ubuntu 22.04或以上版本,并确保关闭和禁用SELinux。 5. KubeKey安装成功后,可以通过kubectl get pod -A命令来验证K8s集群的安装情况。 6. 建议先搭建自己的集群,然后将应用部署到K8s上,以快速熟悉基本操作,之后可以学习如何通过写代码的方式去访问和控制K8s资源。 7. 使用containerd替代Docker进行容器部署到K8s上,通过编写YAML文件描述资源创建方式,并使用kubectl命令行进行创建。 8. 了解如何使用NodePort方式进行服务暴露,以便在集群外部访问服务。 9. 进阶学习需要了解如何使用client-go客户端SDK,以及更深入的operator机制等。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《DeepSeek 应用开发实战》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • willmyc
    1.修改为replicas=2之后,Kubernetes将启动一个新的Pod实例,以确保系统中始终运行两个完全相同的Pod 2.当有两个Pod时,Service会自动对这两个Pod进行负载均衡 3.Deployment在滚动更新时会逐个更新Pod
    2025-03-10归属地:广东
  • grok
    云阳大佬你好,刚买了你的课。求助+请教: 我在校专业是燃气轮机设计,会些python。对于docker/K8s一窍不通。前两天在普通的多节点环境下部署deepseek成功,不是K8s,就是简单的多机多卡。使用了SGLang。最新的上级指示是,换成K8s。公司IT会去把集群的环境准备好。 请问:完全不懂docker/K8s的情况下,能跟着你的课把deepseek部署上去吗?除了蹲你这门课,还应该做哪些准备工作?最终的yaml文件是否已上传到repo,如果我们想预习一下?谢大佬。
    2025-03-10归属地:美国
  • Toni
    思考题: 当replicas:2 时,Kubernetes会确保始终有2个完全相同的Nginx Pod 处于运行状态。 Deployment Controller持续监控Pod 状态,并通过ReplicaSet 确保Pod 数量与replicas 值一致。Scheduler会自动将Pod 分配到不同的Node。联动检查只有当readinessProbe 通过后,Pod 才会被标记为就绪,Service 只将流量转发到就绪的Pod 上。Deep Seek 建议使用Pod 反亲和性(podAntiAffinity)强制分散Pod,以避免宕机时2个Pod 在同一节点导致服务完全不可用,还有HPA 自动扩缩容等其它建议。 初次接触Kubernetes(K8s)。 如果使用Windows 11 该如何部署?
    2025-03-10归属地:瑞士
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部
文章页面操作
MAC
windows
作用
esc
esc
退出沉浸式阅读
shift + f
f11
进入/退出沉浸式
command + ⬆️
home
滚动到页面顶部
command + ⬇️
end
滚动到页面底部
⬅️ (仅针对订阅)
⬅️ (仅针对订阅)
上一篇
➡️ (仅针对订阅)
➡️ (仅针对订阅)
下一篇
command + j
page up
向下滚动一屏
command + k
page down
向上滚动一屏
p
p
音频播放/暂停
j
j
向下滚动一点
k
k
向上滚动一点
空格
空格
向下滚动一屏
播放器操作
MAC
windows
作用
esc
esc
退出全屏
⬅️
⬅️
快退
➡️
➡️
快进
空格
空格
视频播放/暂停(视频全屏时生效)