程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在 kubernetes 中为具有多个容器的单个 pod 配置 pv 和 pvc大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决如何在 kubernetes 中为具有多个容器的单个 pod 配置 pv 和 pvc?

开发过程中遇到如何在 kubernetes 中为具有多个容器的单个 pod 配置 pv 和 pvc的问题如何解决?下面主要结合日常开发的经验,给出你关于如何在 kubernetes 中为具有多个容器的单个 pod 配置 pv 和 pvc的解决方法建议,希望对你解决如何在 kubernetes 中为具有多个容器的单个 pod 配置 pv 和 pvc有所启发或帮助;

需要为 MysqL、MongoDB、MysqL 创建具有多个容器的单个 pod。我的问题是我是否需要为每个容器创建持久性卷和持久性卷声明,并在 pod 配置中指定卷单个 PV 和 PVC 是否足以满足以下配置中单个类似 pod 的所有容器.

您能否验证以下配置是否足够?

PV:

    APIVersion: v1
kind: PersistentVolume
Metadata:
  name: mypod-pv
  labels:
    type: local
spec:
  storageClassname: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReaDWriteOnce
  hostPath:
    path: "/mnt/data"
---

PVC

    APIVersion: v1
kind: PersistentVolumeClaim
Metadata:
  name: mypod-pvc
spec:
  storageClassname: manual
  accessModes:
    - ReaDWriteOnce
  resources:
    requests:
      storage: 3Gi
---

部署:

    APIVersion: apps/v1
kind: Deployment
Metadata:
  name: mypod
  labels:
    app: mypod
spec:
  replicas: 1
  SELEctor:
    matchLabels:
      app: mypod
  template:
    Metadata:
      labels:
        app: mypod
    spec:
      volumes:
        - name: task-pv-storage
          persistentVolumeClaim:
            claimname: mypod-pvc
      containers:
        - name: MysqL
          image: MysqL/MysqL-server:latest
          ports:
            - containerPort: 3306
          imagePullPolicy: IfNotPresent
          volumeMounts:
            - mountPath: "/var/lib/MysqL"
              name: task-pv-storage
        - name: mongodb
          image: openshift/mongodb-24-centos7
          ports:
            - containerPort: 27017
          imagePullPolicy: IfNotPresent
          volumeMounts:
            - mountPath: "/var/lib/mongodb"
              name: task-pv-storage
        - name: mssql
          image: mcr.microsoft.com/mssql/server
          ports:
            - containerPort: 1433
          imagePullPolicy: IfNotPresent
          volumeMounts:
            - mountPath: "/var/opt/mssql"
              name: task-pv-storage
      imagePullSecrets:
        - name: devplat

解决方法

您不应在单个 Pod 中运行多个数据库容器。

虑在单独的 statefulset 中运行每个数据库。

按照下面的mysql参

https://kubernetes.io/docs/tasks/run-application/run-Replicated-stateful-application/

您也需要对 mongodb 或其他数据库采用类似的方法。

大佬总结

以上是大佬教程为你收集整理的如何在 kubernetes 中为具有多个容器的单个 pod 配置 pv 和 pvc全部内容,希望文章能够帮你解决如何在 kubernetes 中为具有多个容器的单个 pod 配置 pv 和 pvc所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。