大佬教程收集整理的这篇文章主要介绍了如何在 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,请注明来意。