Google Cloud实例上的独立kubelet持久磁盘安装

我有一个需要每天在Docker容器中运行的进程,将存储桶中的一些数据同步到外部卷(Google Cloud持久性磁盘)。 到目前为止,我设法通过创build一个单节点容器集群来启动这个过程。

由于该过程在几个小时内完成,我想删除虚拟机资源(当然除了永久磁盘),一旦完成。 启动/删除单个计算虚拟机(没有kubernetes集群设置)似乎更简单,所以我试图让一个kubelet运行在容器优化的云实例上。 持久的磁盘安装就是这个失败的地方。

我的启动命令:

gcloud compute instances create cvm-name-0 \ --image-family=cos-stable \ --image-project=cos-cloud \ --boot-disk-type pd-ssd \ --boot-disk-size 10GB \ --metadata-from-file \ "google-container-manifest=containers.yaml,user-data=cloudinit.yaml" \ --zone "$gzone" \ --scopes default,storage-rw \ --machine-type n1-highcpu-4 

container.yaml内容:

 apiVersion: v1 kind: Pod metadata: name: container-name spec: containers: - name: container-name image: gcr.io/project-name/container-name imagePullPolicy: Always volumeMounts: - name: persistent-disk-name mountPath: /home/someuser/somedir volumes: - name: persistent-disk-name gcePersistentDisk: pdName: persistent-disk-name fsType: ext4 

cloudinit.yaml内容:

 #cloud-config bootcmd: - echo "KUBELET_OPTS=\"--cloud-provider=gce\"" > /etc/default/kubelet runcmd: - systemctl start kubelet.service 

虽然--cloud-provider=gce选项修复了“无法获得GCE云提供程序”错误每个这个问题 ,仍然有一些问题挂载磁盘。

来自容器操作系统日志的潜在相关行表示:

EXT4-fs(dm-0):由于function不兼容而无法挂载为ext3

任何方式使这个工作在一个单一的计算实例(没有kubernetes集群)? 我还应该在哪里寻找更多信息错误日志?

目前我没有使用kubernetes,但我正在备份到云存储桶。

在我的cloud-config中有这样的东西:

 users: - name: dockerrunner uid: 2000 groups: docker write_files: - path: /home/dockerrunner/backup-hourly.sh permissions: 0755 owner: dockerrunner content: | #!/bin/sh export HOME=/home/dockerrunner export USER=root toolbox --bind /mnt/disks/nfs:/mnt/disks/nfs \ /google-cloud-sdk/bin/gsutil -m \ rsync -r /mnt/disks/nfs gs://<bucket-name>/hourly - path: /etc/systemd/system/files-backup-hourly.service permissions: 0644 owner: root content: | [Unit] Description=Shared Files Backup upload script - hourly [Service] Type=oneshot ExecStart=/bin/sh /home/dockerrunner/backup-hourly.sh - path: /etc/systemd/system/files-backup-hourly.timer permissions: 0644 owner: root content: | [Unit] Description=Run Shared Files Backup create script every hour [Timer] OnCalendar=*-*-* *:00:00 [Install] WantedBy=timers.target runcmd: - systemctl daemon-reload - systemctl start files-backup-hourly.service - systemctl start files-backup-hourly.timer