我有谷歌云容器引擎设置。我想用外部音量旋转mysql的pod。
ReplicationController:
apiVersion: v1
kind: ReplicationController
metadata:
labels:
name: mysql
name: mysql-controller
spec:
replicas: 1
template:
metadata:
labels:
name: mysql
spec:
containers:
- image: mysql
name: mysql
ports:
- name: mysql
containerPort: 3306
hostPort: 3306
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
gcePersistentDisk:
pdName: mysql-1-disk
fsType: ext4
当我运行RC without
外部卷时,MySQL工作正常。当我尝试附加音量时,它打破了以下错误
Kubernetes POD错误:
Warning FailedSyncError syncing pod, skipping: failed to "StartContainer" for "mysql" with CrashLoopBackOff: "Back-off 20s restarting failed container=mysql pod=mysql-controller-4hhqs_default(eb34ff46-8784-11e6-8f12-42010af00162)"
磁盘(外部卷):
mysql-1-disk
是Google云端磁盘。我尝试使用blank disk
和image - ubuntu
创建磁盘。两者都失败了同样的错误。
答案 0 :(得分:0)
从我的角度来看,安装永久磁盘的错误消息实际上并不具有描述性。根据配置文件使用空白磁盘。
要检查的一些事项:
希望这有帮助。
答案 1 :(得分:0)
您遇到的问题可能是由于使用RC而不是Pod与永久磁盘进行交互。
正如documentation中提到的那样:
PD的一个特点是它们可以同时由多个消费者以只读方式安装。这意味着您可以使用数据集预先填充PD,然后根据需要从多个pod中并行提供。不幸的是,PD只能由一个消费者以读写模式安装 - 不允许同时写入。 在由ReplicationController控制的pod上使用PD将失败,除非PD是只读的或副本计数为0或1。
在这种情况下,我建议你使用Persistent Disks运行MySQL,在Pod配置文件中定义磁盘连接。您可以找到here的示例配置。