通过Kubernetes上免费部署Ollama如何使用DeepSeek

Ollama 和 Kubernetes 的结合优势
二者结合后,我们可以快速部署 Ollama 服务器,并通过 API 与 DeepSeek 模型进行交互。
Ollama
通过 REST API 简化了模型服务的部署和调用,支持多种机器学习模型。
Kubernetes
提供灵活的扩展性和高可用性,适合部署复杂的模型服务。
为 Ollama 创建一个专用命名空间。

kubectl creat ns ollama

创建一个 ollama-deploy.yaml 文件,定义 Ollama 的部署和模型的加载逻辑

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ollama-deployment
  namespace: ollama
  labels:
    app: ollama
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ollama
  template:
    metadata:
      labels:
        app: ollama
    spec:
      containers:
        - image: ollama/ollama:latest
          imagePullPolicy: Always
          name: ollama
          ports:
            - containerPort: 11434
              protocol: TCP
        - name: load-model
          image: curlimages/curl
          imagePullPolicy: Always
          args:
            - sleep infinity
          command:
            - /bin/sh
            - '-c'
          lifecycle:
            postStart:
              exec:
                command:
                  - /bin/sh
                  - '-c'
                  - >
                    curl -X POST http://localhost:11434/api/pull -H
                    'Content-Type: application/json' -d '{"name": "llama3.2"}'
          resources:
            limits:
              cpu: 25m
              memory: 50Mi
            requests:
              cpu: 25m
              memory: 50Mi

将该文件应用到 Kubernetes 集群中:
kubectl apply -f ollama-deploy.yaml
暴露 Ollama API 服务
为了与 Ollama 的 REST API 交互,我们需要将服务暴露出来。可以选择使用 LoadBalancer、NodePort 或 ClusterIP 类型的服务。
以下是一个示例服务配置文件 ollama-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: ollama-service
  namespace: ollama
  labels:
    app: ollama
spec:
  type: LoadBalancer
  ports:
  - port: 11434
    targetPort: 11434
    protocol: TCP
    name: http
  selector:
    app: ollama

来到https://ollama.com/library/deepseek-r1:671b 官网下载DeepSeek模型

你可能感兴趣的:(kubernetes,容器,云原生)