我已经使用docker-多项式配置成功地部署了一个Kubernetes集群,并且能够使用以下方法手动安装一个CephFS设备:
sudo mount -t ceph monitor1:6789:/ /ceph -o name=admin,secretfile=/etc/ceph/cephfs.secret
我现在正尝试使用kubernetes示例这里启动一个吊舱
apiVersion: v1
kind: Secret
metadata:
name: ceph-secret
data:
key: my-ceph-secret-key
---
apiVersion: v1
kind: Pod
metadata:
name: cephfs2
spec:
containers:
- name: cephfs-rw
image: kubernetes/pause
volumeMounts:
- mountPath: "/mnt/cephfs"
name: cephfs
volumes:
- name: cephfs
cephfs:
monitors:
- "monitor1:6789"
- "monitor2:6789"
- "monitor3:6789"
user: admin
secretRef:
name: ceph-secret
readOnly: false当我跑步时:
sudo kubectl create -f cephfs.yml
我收到以下错误:
警告"kubernetes.io/cephfs/445ee063-d1f1-11e6-a3e3-1418776a29a6-cephfs“(spec.Name:"cephfs")结荚"445ee063-d1f1-11e6-a3e3-1418776a29a6”(UID:"445ee063-d1f1-11e6-a3e3-1418776a29a6")与: CephFS: for :/exec/bin/挂载:无效的参数安装参数:监测仪1:6789,监视器3:6789:/data /var/lib/kubelet/pods/445ee063-d1f1-11e6-a3e3-1418776a29a6/volumes/kubernetes.io~cephfs/cephfs cephname=admin,secret=secret
kubernetes管理器容器是否需要安装ceph通用包才能成功安装?我找不到任何进一步的调试信息来确定错误的原因。
发布于 2017-01-06 17:43:41
为了在kubernetes中成功地装入CephFS卷,需要修复一些问题。请记住,我已经使用kube-部署码头多项式配置部署了Kubernetes 1.4.6。
问题#1:使用Kubernetes机密安装命令失败
当更仔细地检查上面的错误时,我发现Kubernetes用被解释为换行符的字符加密了我的Ceph秘密。因此,当试图挂载文件系统时,kubelet失败。
为了解决这个问题,我将我的YAML配置为使用secretfile而不是Kubernetes secret。
apiVersion: v1
kind: Pod
metadata:
name: cephfs-test
spec:
containers:
- name: cephfs-rw
image: kubernetes/pause
volumeMounts:
- mountPath: "/mnt/cephfs"
name: cephfs
volumes:
- name: cephfs
cephfs:
monitors:
- "<monitor1>:6789"
- "<monitor2>:6789"
- "<<monitor3>:6789"
user: admin
# Omit for CephFS mounting error
# secretRef:
# name: ceph-secret
secretFile: "/etc/ceph/user.secret"
readOnly: false问题#2: Kubelet缺少Ceph包和配置
kubelets都缺少将ceph-fs-common卷安装到容器所需的CephFS和ceph-common包以及必要的配置文件。以下脚本应该将必要的更新应用于kubelet主/工代理:
docker exec $KUBELET_ID apt-get update
docker exec $KUBELET_ID apt-get install -y wget lsb-release apt-transport-https
docker exec $KUBELET_ID /bin/bash -c "wget -q -O- 'https://download.ceph.com/keys/release.asc' | apt-key add -"
RELEASE=$(docker exec $KUBELET_ID lsb_release -sc)
docker exec $KUBELET_ID /bin/bash -c "echo deb https://download.ceph.com/debian-jewel/ $RELEASE main | tee /etc/apt/sources.list.d/ceph.list"
docker exec $KUBELET_ID apt-get update
docker exec $KUBELET_ID apt-get install -y ceph-fs-common ceph-common
docker exec $KUBELET_ID mkdir -p /etc/ceph
docker exec $KUBELET_ID /bin/bash -c "echo $CEPH_SECRET > /etc/ceph/admin.secret"全要点这里
发布于 2017-01-03 22:15:30
AFAIK您在这里可能有两个问题:
https://stackoverflow.com/questions/41452804
复制相似问题