k8s手工发布一个基于python的自定义应用

本文详细介绍了如何在Kubernetes(k8s)手动发布一个基于Python的应用,包括创建命名空间、部署、数据持久化、服务映射和流量转发的步骤,使用NFS存储并配置Ingress。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

k8s手工发布一个基于python的自定义应用

步骤:

1.定义一个命名空间(namespace):pytest

apiVersion: v1
kind: Namespace
metadata:
  name: pytest

2.声明一个命名空间在pytest的deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: pytest-deployment
  namespace: pytest
spec:
  selector:
    matchLabels:
      app: pytest         
  replicas: 2
  template:
    metadata:
      labels:
        app: pytest
    spec:
      nodeName: k8s1
      containers:
      - name: pytest
        image: 172.17.30.170/cicd/pythontest:v1
        ports:
        - containerPort: 5004
      volumes:
      - name: pytest
        persistentVolumeClaim:
          claimName: pytest-001

3.声明一个存储卷(PV)用nfs的方式数据持久化

apiVersion: v1
kind: PersistentVolume
metadata:
  namespace: pytest
  name: pytest-001
  labels:
    name: pytest-001
spec:
  capacity:
    storage: 10Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  storageClassName: pyest
  mountOptions:
    - hard
    - nfsvers=4.1
  nfs:
    path: /nfs/data
    server: 172.17.30.211

4.声明一个用户存储的请求(PVC),这里给到的权限是读写,根据个人需求修改

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pytest-001
  namespace: pytest
spec:
  storageClassName: pyest
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 10Gi

5.声明一个命名空间在pytest的Service用于端口映射,把5004端口映射到80端口

apiVersion: v1
kind: Service
metadata:
  name: pytest-service
  namespace: pytest
spec:
  selector:
    app: pytest
  ports:
  - name: tcp
    protocol: TCP
    port: 80
    targetPort: 5004

6.声明一个Ingress用于把流量转发到对应域名的80端口

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: pytest
  name: ingress-pytest

spec:
  ingressClassName: nginx
  rules:
  - host: pytest.wuzexi.test
    http:
      paths:
        - path: /
          pathType: Prefix
          backend:
            service: 
               name: pytest-service
               port: 
                 number: 80
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值