我试图将一堆docker-compose文件翻译成kubernetes yamls。我使用了kompose,这让我有所帮助,但是我被卡在多个容器的一个特定部分上。
这是其中一个容器。请注意,泊坞窗容器正在country
---------
india
japan
mexico
afghanistan
australia
hungary
挂载到/u/data/. . .
。这实际上是必要的,因为mysql目录包含数据库和配置。
/var/lib/mysql
在Kubernetes中实现这一目标的正确方法是什么?请注意,对于k8,我将安装一个nfs卷(这仅用于测试目的)。
我确实调查了hostpath,但到目前为止没有运气。
答案 0 :(得分:2)
声明Pod时,请指定spec.volumes
处的音量,然后指定spec.containers[*].volumeMounts
处的音量:
apiVersion: v1
kind: Pod
metadata:
name: server1-backend-mysql
spec:
containers:
- image: mysql
name: mysql
volumeMounts:
- mountPath: /var/lib/mysql
name: mysql-data
volumes:
- name: mysql-data
hostPath:
path: /u/data/...
type: Directory
声明Deployment
或StatefulSet
(您应该而不是声明Pod)时,将相应的配置移至spec.template.spec.volumes
和{{1 }}。
有关详细信息,请查看documentation。
作为与您的问题无关的旁注:如果您计划从NFS卷运行MySQL,请记住可以从NFS运行MySQL,但not something that MySQL is really optimized for。请务必相应地配置MySQL服务器,并检查您的环境是否允许您使用网络块设备(而不是网络文件系统),如Ceph RBD卷或类似设备。