首页 游戏 软件 资讯 排行榜 专题
首页
手机教程
绝了!k3s (k8s) 安装 ollama 运行 deepseek 全流程揭秘,yaml全公开

绝了!k3s (k8s) 安装 ollama 运行 deepseek 全流程揭秘,yaml全公开

热心网友
89
转载
2025-04-24

在容器编排领域,k3s (k8s) 无疑是备受关注的存在。本文重点介绍如何在 k3s (k8s) 环境中安装 ollama,并运行 deepseek。首先,我们需要关注一个关键的 yaml 文件 —— ollama.yaml。这个文件如同整个部署流程的指挥棒,规定了各项参数和配置信息。ollama.yaml 的内容如下:

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

# https://cloud.tencent.com/developer/article/2495842 环境变量apiVersion: apps/v1kind: Deploymentmetadata:  labels:    app: ollama  name: ollama  namespace: moonfddspec:  strategy:    type: Recreate  replicas: 1  selector:    matchLabels:      app: ollama  template:    metadata:      labels:        app: ollama    spec:      containers:        - env:            - name: OLLAMA_HOST              value: "0.0.0.0"            - name: OLLAMA_PORT              value: "11434"            - name: OLLAMA_NUM_PARALLEL              value: "20" # 默认是1            - name: OLLAMA_ORIGINS              value: "*"            - name: OLLAMA_MODELS              value: "/root/.ollama/models"          image: 'ollama/ollama:0.5.12'          command: ["ollama", "serve"]          imagePullPolicy: IfNotPresent          name: ollama          volumeMounts:            - mountPath: /root/.ollama/models/              name: data          resources:            # nvidia.com/gpu: 1            # memory: "24Gi"            # limits:            #   cpu: 200m            #   memory: 200Mi            # requests:            #   cpu: 100m            #   memory: 100Mi        - image: 'ollama/ollama:0.5.12'          command: ["sh", "-c", "while true; do ollama run deepseek-r1:1.5b; sleep 5; done"]          imagePullPolicy: IfNotPresent          name: ollamacmd      volumes:        - name: data          hostPath:            path: /root/k8s/moonfdd/ollama/root/.ollama/models/            type: DirectoryOrCreate---apiVersion: v1kind: Servicemetadata:  labels:    app: ollama  name: ollama  namespace: moonfddspec:  ports:    - name: 11434-11434      port: 11434      protocol: TCP      targetPort: 11434      nodePort: 11434  selector:    app: ollama  type: NodePort
登录后复制

?ollama 安装与运行实际效果展示

安装和运行 ollama 的命令如下:

kubectl apply -f ollama.yaml
登录后复制

运行结果如下:

绝了!k3s (k8s) 安装 ollama 运行 deepseek 全流程揭秘,yaml全公开

绝了!k3s (k8s) 安装 ollama 运行 deepseek 全流程揭秘,yaml全公开

绝了!k3s (k8s) 安装 ollama 运行 deepseek 全流程揭秘,yaml全公开

绝了!k3s (k8s) 安装 ollama 运行 deepseek 全流程揭秘,yaml全公开

?Go 语言调用 deepseek 接口代码分析

仅仅运行 ollama 环境还不够,还需要有与之交互的代码来发挥其功能。这里展示了 Go 语言调用 deepseek 接口的代码:

package main

import ("bufio""bytes""encoding/json""fmt""net/http""time")

type Message struct {Role string json:"role"Content string json:"content"}

// 修改请求结构体,添加 Stream 字段type DeepSeekRequest struct {Model string json:"model"Messages []Message json:"messages"MaxTokens int json:"max_tokens,omitempty"Temperature float64 json:"temperature,omitempty"Stream bool json:"stream" // 新增流式控制字段}

// 保持其他结构体不变...

const (localAPIURL = "https://www.php.cn/link/d50b2d3afe5ec033d560dd1318b2707b")

func main() {fmt.Println("开始")requestData := DeepSeekRequest{Model: "deepseek-r1:1.5b",Messages: []Message{{Role: "user",Content: "微信公众号 福大大架构师每日一题 是谁",},},MaxTokens: 512000,Temperature: 1,Stream: true, // 启用流式模式}requestBody, err := json.Marshal(requestData)if err != nil {panic("JSON编码失败: " + err.Error())}

// 配置更合理的超时时间client := &http.Client{    Transport: &http.Transport{        DisableKeepAlives: true, // ? 关键设置:禁用连接复用        MaxIdleConns:      1,        IdleConnTimeout:   30 * time.Second,    },    Timeout: 10 * time.Minute, // 大模型响应时间较长}req, err := http.NewRequest("POST", localAPIURL, bytes.NewBuffer(requestBody))if err != nil {    panic("创建请求失败: " + err.Error())}req.Header.Set("Content-Type", "application/json")req.Header.Set("Connection", "close") // 显式关闭连接req.Close = trueresp, err := client.Do(req)if err != nil {    panic("请求发送失败: " + err.Error())}defer resp.Body.Close()// 流式响应处理if resp.StatusCode != http.StatusOK {    fmt.Printf("请求失败,状态码:%d\n", resp.StatusCode)    return}// 使用 Scanner 逐行读取流式响应scanner := bufio.NewScanner(resp.Body)scanner.Buffer(make([]byte, 1024), 10*1024*1024) // 扩大缓冲区for scanner.Scan() {    rawData := scanner.Bytes()    if len(rawData) == 0 {        continue    }    var chunk DeepSeekChunk    err := json.Unmarshal(rawData[6:], &chunk)    if err == nil {        for i := 0; i < len(chunk.Choices); i++ {            if chunk.Choices[i].Delta.Content != "" {                fmt.Print(chunk.Choices[i].Delta.Content)            }        }    }}if err := scanner.Err(); err != nil {    fmt.Printf("读取响应时发生错误: %v\n", err)}
登录后复制

}

type DeepSeekChunk struct {Choices []struct {Delta struct {Content string json:"content"} json:"delta"} json:"choices"}

运行结果如下:

绝了!k3s (k8s) 安装 ollama 运行 deepseek 全流程揭秘,yaml全公开

官网运行结果如下:

绝了!k3s (k8s) 安装 ollama 运行 deepseek 全流程揭秘,yaml全公开

官网不联网运行结果如下:

绝了!k3s (k8s) 安装 ollama 运行 deepseek 全流程揭秘,yaml全公开

?实际意义与展望

通过在 k3s (k8s) 上完成 ollama 的安装并运行 deepseek,以及编写 Go 语言调用接口代码这一系列操作,具有多方面的实际意义和深远的展望。从技术层面而言,这为开发者在特定的容器编排环境下集成模型服务提供了一套可参考的方法和实践经验。无论是对于后续想要在相似环境里部署其他模型,还是改进和优化当前模型的运行方式,都提供了宝贵参考范例。从应用场景角度来看,能够在这样的技术栈下调用模型进行文本处理、问答交互等,都能为诸多实际项目开发提供强大助力。比如开发智能客服系统、智能助手应用等。展望未来,这种技术实践将不断推动相关技术的发展和融合。随着模型的不断升级迭代,我们可以期待更多强大功能能够被整合进这样的环境里。同时,通过持续改进和优化 yaml 文件配置以及代码实现细节,将进一步提升系统的性能和稳定性。也相信会有更多开发者基于此进行创新和拓展,探索出更多的应用可能和技术思路。就像一颗石子投入平静湖面,会泛起层层涟漪般,这项技术实践也将在整个技术领域里引发新的探索和变革浪潮。

来源:https://www.php.cn/faq/1288388.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

企业微信CLI开源,向AI开放消息、日程、文档等能力
科技数码
企业微信CLI开源,向AI开放消息、日程、文档等能力

新京报贝壳财经讯(记者韦英姿)3月30日,企业微信CLI(命令行界面)开源项目上架GitHub社区,开放消息、日程、文档、智能表、会议、待办、通讯录等七大产品能力,支持主流AI Agent(如Cla

热心网友
04.07
虫虫漫画全集资源在哪 虫虫漫画正版官网入口详解
手机教程
虫虫漫画全集资源在哪 虫虫漫画正版官网入口详解

虫虫漫画正版官网入口详解 大家一直在找的虫虫漫画正版官网,其实就是 https: www chongchongmanhua com 。不过话说回来,光知道个网址可能还不够,你得清楚它到底好在哪里。我花了些时间仔细体验了一番,发现它的门道还真不少,尤其是内容组织、阅读体验和一些贴心的小功能,做得相当

热心网友
04.02
微信朋友圈怎么发纯文字 不带图片的文字动态发布技巧
手机教程
微信朋友圈怎么发纯文字 不带图片的文字动态发布技巧

微信朋友圈纯文字发布攻略:四种方法,总有一款适合你 有时候,就想在朋友圈发一段纯粹的文字,不配图,不挂链接,只是安静地说点心里话。但微信偏偏把发朋友圈的入口设计成那个相机图标,一点进去默认就是选照片,这让很多朋友犯了难:到底怎么才能发一条“干干净净”的纯文字动态呢? 别急,这事儿其实有好几种解法。我

热心网友
04.02
微信员工晒微信开发第一个版本的测试机:经典神机iPod touch 4
网络安全
微信员工晒微信开发第一个版本的测试机:经典神机iPod touch 4

4月1日消息,微信员工“客村小蒋”晒出了当年微信开发第一个版本用的测试机——iPod touch 4。他表示:“可能当年的大家也都没有想到,微信可以到今天的样子,影响了我们很多人沟通的方式”。iPo

热心网友
04.01
微信初代机重现?揭秘iPod touch背后的故事
网络安全
微信初代机重现?揭秘iPod touch背后的故事

IT之家 4 月 1 日消息,微信员工 @客村小蒋 今日晒出了当年微信开发第一个版本用的测试机。从图片来看,应该是苹果 iPod touch(第 4 代)。微信员工 @客村小蒋 透露,受筹建中的计算

热心网友
04.01

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

美国SEC主席Paul Atkins证实:加密货币安全港提案已送交白宫审查
web3.0
美国SEC主席Paul Atkins证实:加密货币安全港提案已送交白宫审查

加密货币行业翘首以盼的监管里程碑,终于有了实质性进展。美国证券交易委员会(SEC)主席保罗·阿特金斯(Paul Atkins)近日证实,那份允许加密项目在早期获得注册豁免权的“安全港”框架提案,已经正式送抵白宫,进入了最终审查阶段。 在范德堡大学与区块链协会联合举办的数字资产峰会上,阿特金斯透露了这

热心网友
04.08
微策略Strategy报告:第一季录得144.6亿美元浮亏 再斥资约3.3亿美元买进4871枚比特币
web3.0
微策略Strategy报告:第一季录得144.6亿美元浮亏 再斥资约3.3亿美元买进4871枚比特币

微策略Strategy报告:第一季录得144 6亿美元浮亏 再斥资约3 3亿美元买进4871枚比特币 市场震荡的威力有多大?看看Strategy的最新季报就明白了。根据其最新向美国证管会(SEC)提交的8-K报告,受市场剧烈波动影响,这家公司所持的比特币在第一季度录得了一笔惊人的数字——144 6亿

热心网友
04.08
稳定币发行商Tether再扩Web3版图!Paolo Ardoino:正开发去中心化搜索引擎Hypersearch
web3.0
稳定币发行商Tether再扩Web3版图!Paolo Ardoino:正开发去中心化搜索引擎Hypersearch

稳定币巨头Tether的动向,向来是加密世界的风向标。这不,它向Web3基础设施的版图扩张,又迈出了关键一步。公司执行长Paolo Ardoino在社交平台X上透露,其工程团队正在全力“烹制”一个新项目——去中心化搜索引擎 “Hypersearch”。这个消息一出,立刻引发了行业的广泛猜想。 采用D

热心网友
04.08
Base链首个原生DeFi借贷协议Seamless Protocol倒闭 将于2026年6月30日下线
web3.0
Base链首个原生DeFi借贷协议Seamless Protocol倒闭 将于2026年6月30日下线

基地位于Coinbase旗下以太坊Layer2网络Base的Seamless Protocol,日前正式宣告了服务的终结。这个曾经吸引了超过20万用户的原生DeFi借贷协议,在运营不到三年后,终究没能跑赢时间。它主打的核心产品是Integrated Leverage Markets(ILMs)——一

热心网友
04.08
PAAL代币如何参与治理?社区投票能决定哪些事项?
web3.0
PAAL代币如何参与治理?社区投票能决定哪些事项?

PAAL代币揭秘:深度解析Web3社区治理的核心钥匙 在去中心化自治组织的浪潮中,谁真正掌握了项目的话语权?PAAL代币提供了一套系统化的答案。它不仅是生态内流转的价值媒介,更是开启链上治理大门的核心凭证。通过持有并质押PAAL代币,用户能够对协议升级、资金分配乃至战略方向等关键事务投出决定性的一票

热心网友
04.08