0
点赞
收藏
分享

微信扫一扫

k8s运行python容器

如何在Kubernetes中运行Python容器

1. 整体流程

flowchart TD
    A(准备Docker镜像) --> B(创建Deployment)
    B --> C(创建Service)

2. 步骤说明

步骤1:准备Docker镜像

在本地或Docker Hub上准备一个包含Python环境的Docker镜像。

# 构建Docker镜像
docker build -t python-app:1.0 .

步骤2:创建Deployment

创建一个Deployment来运行Python容器。

# 创建Deployment
kubectl create deployment python-app --image=python-app:1.0

步骤3:创建Service

创建一个Service来公开Deployment中的Python应用。

# 创建Service
kubectl expose deployment python-app --port=80 --target-port=80 --type=NodePort

3. 代码示例

Dockerfile

FROM python:3.9
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

Python应用代码

# app.py
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=80)

Kubernetes Deployment配置文件

# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: python-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: python-app
  template:
    metadata:
      labels:
        app: python-app
    spec:
      containers:
      - name: python-app
        image: python-app:1.0

Kubernetes Service配置文件

# service.yaml
apiVersion: v1
kind: Service
metadata:
  name: python-app
spec:
  selector:
    app: python-app
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
  type: NodePort

4. 类图

classDiagram
    class PythonApp {
        -app
        +hello_world()
    }
    class Flask {
        +Flask(__name__)
        +run(host, port)
    }
    class Deployment {
        -replicas
        -selector
        -template
        +create()
    }
    class Service {
        -selector
        -ports
        +create()
    }
    PythonApp --> Flask
    Deployment --> Service

通过以上步骤和代码示例,你可以成功在Kubernetes中运行一个Python容器。祝你学习顺利!

举报

相关推荐

0 条评论