对于通过virtual-kubelet创建的容器实例,支持容器实例通过指定云硬盘ID或自动创建云硬盘这两种方式挂载云硬盘。
容器实例挂载云硬盘时,请注意以下事项:
1.登录云硬盘控制台。
2.创建云硬盘并记录云盘ID。
注:如果您使用之前已有的云硬盘,请确保云硬盘所属的地域和可用区与将挂载此云硬盘的容器实例一致,且该云硬盘未进行分区格式化。
创建容器实例并挂载云硬盘,配置示例如下:
Flexvolume模式
apiVersion: v1
kind: Pod
metadata:
name: nginx-ebs
labels:
app: nginx-ebs
annotations:
k8s.ksyun.com/kci-instance-cpu: "1"
k8s.ksyun.com/kci-instance-memory: "1"
spec:
volumes:
- name: test
flexVolume:
driver: "ksc/ebs" # 必填,值必须为 ksc/ebs
fsType: "ext4" # ext3,ext4,xfs,缺省为ext4
options:
volumeId: 04821e2a-aaca-42f0-ab52-a089b4bc6239 # 云硬盘的Id
containers:
- name: nginx
image: nginx:latest
volumeMounts:
- name: test
mountPath: /test
nodeName: rbkci-virtual-kubelet
CSI模式
apiVersion: v1
kind: Pod
metadata:
name: nginx-ebs
labels:
app: nginx-ebs
annotations:
k8s.ksyun.com/kci-instance-cpu: "1"
k8s.ksyun.com/kci-instance-memory: "1"
spec:
volumes:
- name: test
csi:
driver: "com.ksc.csi.diskplugin" # 必填,CSI模式配置为com.ksc.csi.diskplugin,指定使用金山云Provsioner插件创建
fsType: "ext4" # ext3,ext4,xfs,缺省为ext4
options:
volumeId: 04821e2a-aaca-42f0-ab52-a089b4bc6239 # 云硬盘的Id
containers:
- name: nginx
image: nginx:latest
volumeMounts:
- name: test
mountPath: /test
nodeName: rbkci-virtual-kubelet
待Pod正常运行后,执行df -h -T
命令查看盘的大小、挂载路径和文件系统类型均正确。
创建容器实例,并配置云硬盘相关参数,配置示例如下:
Flexvolume模式
apiVersion: v1
kind: Pod
metadata:
name: nginx-ebs
labels:
app: nginx-ebs
annotations:
k8s.ksyun.com/kci-instance-cpu: "1"
k8s.ksyun.com/kci-instance-memory: "1"
spec:
volumes:
- name: test
flexVolume:
driver: "ksc/ebs" # 必填,值必须为 ksc/ebs
fsType: "ext4" # ext3,ext4,xfs,缺省为ext4
options:
type: SSD3.0 # 必填
size: "30" # 必填
delWithInstance: "true" # 缺省值为false
containers:
- name: nginx
image: nginx:latest
volumeMounts:
- name: test
mountPath: /test
nodeName: rbkci-virtual-kubelet
CSI模式
apiVersion: v1
kind: Pod
metadata:
name: nginx-ebs
labels:
app: nginx-ebs
annotations:
k8s.ksyun.com/kci-instance-cpu: "1"
k8s.ksyun.com/kci-instance-memory: "1"
spec:
volumes:
- name: test
csi:
driver: "com.ksc.csi.diskplugin" # 必填,CSI模式配置为com.ksc.csi.diskplugin,指定使用金山云Provsioner插件创建
fsType: "ext4" # ext3,ext4,xfs,缺省为ext4
options:
type: SSD3.0 # 必填
size: "30" # 必填
delWithInstance: "true" # 缺省值为false
containers:
- name: nginx
image: nginx:latest
volumeMounts:
- name: test
mountPath: /test
nodeName: rbkci-virtual-kubelet
options参数说明如下表所示:
名称 | 类型 | 示例值 | 是否必填 | 描述 |
---|---|---|---|---|
volumeId | String | “f2c0c483-e5e7-4477-8245-05acbf97cc24” | 否 | 已有云硬盘ID,该云盘需处于待挂载状态。 |
type | String | “SSD3.0” | 是 | 新建云硬盘时,指定云硬盘类型,支持SSD3.0/EHDD。 |
size | String | “200” | 是 | 新建云硬盘时,云硬盘大小,单位为GB。取值范围为[10,32000]。 |
snapshotId | String | “bae18ac5-3af3-40a5-a1c7-5282b35866ed” | 否 | 新建云硬盘时,云硬盘快照ID,支持SSD3.0云硬盘和EHDD高效云盘。 |
delWithInstance | String | “true” | 否 | 新建云硬盘时,配置云硬盘是否随pod删除而释放,缺省为false。 |
注:若flexvolume options中同时配置了
volumeId
和 其它云硬盘盘创建参数,则volumeId
优先级高,会走指定云硬盘ID挂载流程,不会创建云硬盘。
待Pod正常运行后,执行df -h -T
命令查看盘的大小、挂载路径和文件系统类型均正确。
在云硬盘控制台,可以查看挂载到容器实例的云硬盘信息。
在云硬盘的详情页,“挂载主机”显示容器实例的名称,“挂载设备”显示云硬盘的设备文件名。
文档内容是否对您有帮助?
评价建议不能为空
非常感谢您的反馈,我们会继续努力做到更好!