阿里云Kubernetes CSI实践 - 动态云盘卷

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 环境准备集群创建、依赖配置、CSI插件部署等请参考:CSI部署详解创建动态PV通过下面模板创建动态卷PV:apiVersion: v1kind: PersistentVolumeClaimmetadata: name: disk-pvcspec: accessModes: ...

环境准备

集群创建、依赖配置、CSI插件部署等请参考:CSI部署详解

创建动态PV

通过下面模板创建动态卷PV:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: disk-pvc
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 25Gi
  storageClassName: alicloud-disk-ssd

storage:定义申请云盘大小,最小为20Gi;

storageClassName:定义创建云盘使用的存储类,目前主要支持下面4类云盘类型;

alicloud-disk-available:会通过efficiency、ssd、essd的顺序依次尝试创建云盘;

alicloud-disk-essd:创建essd类型云盘;

alicloud-disk-ssd:创建ssd类型云盘;

alicloud-disk-efficiency:创建高效云盘;

查看PVC、PV:默认生成的PV名字 = pvc + "-" + pvc-uid

# kubectl get pvc
NAME       STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS        AGE
disk-pvc   Bound    pvc-5e90da27-a458-11e9-8dec-00163e0a6ecc   25Gi       RWO            alicloud-disk-ssd   9s

# kubectl get pv
NAME                                       CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM              STORAGECLASS        REASON   AGE
pvc-5e90da27-a458-11e9-8dec-00163e0a6ecc   25Gi       RWO            Retain           Bound    default/disk-pvc   alicloud-disk-ssd            8s

# kubectl describe pv pvc-5e90da27-a458-11e9-8dec-00163e0a6ecc
Name:            pvc-5e90da27-a458-11e9-8dec-00163e0a6ecc
Labels:          <none>
Annotations:     pv.kubernetes.io/provisioned-by: diskplugin.csi.alibabacloud.com
Finalizers:      [kubernetes.io/pv-protection]
StorageClass:    alicloud-disk-ssd
Status:          Bound
Claim:           default/disk-pvc
Reclaim Policy:  Retain
Access Modes:    RWO
VolumeMode:      Filesystem
Capacity:        25Gi
Node Affinity:   <none>
Message:
Source:
    Type:              CSI (a Container Storage Interface (CSI) volume source)
    Driver:            diskplugin.csi.alibabacloud.com
    VolumeHandle:      d-bp190t0frv9044z60t79
    ReadOnly:          false
    VolumeAttributes:      storage.kubernetes.io/csiProvisionerIdentity=1562849418025-8081-diskplugin.csi.alibabacloud.com
                           type=cloud_ssd
Events:                <none>

创建应用

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-disk
  labels:
    app: nginx
spec:
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
        volumeMounts:
          - name: disk-pvc
            mountPath: "/data"
      volumes:
        - name: disk-pvc
          persistentVolumeClaim:
            claimName: disk-pvc

验证挂载、高可用

查看pod,验证云盘挂载成功,创建测试文件;
# kubectl get pod
NAME                          READY   STATUS    RESTARTS   AGE
nginx-disk-6d5659d745-vl4c4   1/1     Running   0          24s

# kubectl exec nginx-disk-6d5659d745-vl4c4 ls /data
lost+found
# kubectl exec nginx-disk-6d5659d745-vl4c4 mount | grep /data
/dev/vdc on /data type ext4 (rw,relatime,data=ordered)

# kubectl exec nginx-disk-6d5659d745-vl4c4 touch /data/test
# kubectl exec nginx-disk-6d5659d745-vl4c4 ls /data
lost+found
test

删除Pod,查看重建Pod是否数据稳定;
# kubectl delete pod nginx-disk-6d5659d745-vl4c4
pod "nginx-disk-6d5659d745-vl4c4" deleted

# kubectl get pod
NAME                          READY   STATUS    RESTARTS   AGE
nginx-disk-6d5659d745-nz2pv   1/1     Running   0          5s

# kubectl exec nginx-disk-6d5659d745-nz2pv ls /data
lost+found
test
相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
17天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
59 2
|
27天前
|
弹性计算 人工智能 Serverless
阿里云ACK One:注册集群云上节点池(CPU/GPU)自动弹性伸缩,助力企业业务高效扩展
在当今数字化时代,企业业务的快速增长对IT基础设施提出了更高要求。然而,传统IDC数据中心却在业务存在扩容慢、缩容难等问题。为此,阿里云推出ACK One注册集群架构,通过云上节点池(CPU/GPU)自动弹性伸缩等特性,为企业带来全新突破。
|
2月前
|
专有云 Serverless 持续交付
亚太唯一,阿里云再度入选Gartner®容器管理魔力象限领导者
Gartner正式发布 2024《容器管理魔力象限》报告,阿里云再度成为中国唯一一家入选「领导者象限」的科技公司。
|
17天前
|
Kubernetes 监控 负载均衡
深入云原生:Kubernetes 集群部署与管理实践
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术以其弹性、可扩展性成为企业IT架构的首选。本文将引导你了解如何部署和管理一个Kubernetes集群,包括环境准备、安装步骤和日常维护技巧。我们将通过实际代码示例,探索云原生世界的秘密,并分享如何高效运用这一技术以适应快速变化的业务需求。
50 1
|
27天前
|
Kubernetes 负载均衡 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第27天】Kubernetes(简称K8s)是云原生应用的核心容器编排平台,提供自动化、扩展和管理容器化应用的能力。本文介绍Kubernetes的基本概念、安装配置、核心组件(如Pod和Deployment)、服务发现与负载均衡、网络配置及安全性挑战,帮助读者理解和实践Kubernetes在容器编排中的应用。
72 4
|
28天前
|
Kubernetes 监控 Cloud Native
云原生应用:Kubernetes在容器编排中的实践与挑战
【10月更文挑战第26天】随着云计算技术的发展,容器化成为现代应用部署的核心趋势。Kubernetes(K8s)作为容器编排领域的佼佼者,以其强大的可扩展性和自动化能力,为开发者提供了高效管理和部署容器化应用的平台。本文将详细介绍Kubernetes的基本概念、核心组件、实践过程及面临的挑战,帮助读者更好地理解和应用这一技术。
62 3
|
2月前
|
Kubernetes 监控 开发者
专家级实践:利用Cloud Toolkit进行微服务治理与容器化部署
【10月更文挑战第19天】在当今的软件开发领域,微服务架构因其高可伸缩性、易于维护和快速迭代的特点而备受青睐。然而,随着微服务数量的增加,管理和服务治理变得越来越复杂。作为阿里巴巴云推出的一款免费且开源的开发者工具,Cloud Toolkit 提供了一系列实用的功能,帮助开发者在微服务治理和容器化部署方面更加高效。本文将从个人的角度出发,探讨如何利用 Cloud Toolkit 来应对这些挑战。
38 2
|
2月前
|
Kubernetes 持续交付 Docker
探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
【10月更文挑战第18天】探索DevOps实践:利用Docker与Kubernetes实现微服务架构的自动化部署
89 2
|
2月前
|
人工智能 专有云 Serverless
亚太唯一!阿里云再度入选Gartner®容器管理魔力象限领导者
亚太唯一!阿里云再度入选Gartner®容器管理魔力象限领导者
107 2
|
19天前
|
Kubernetes 负载均衡 调度
Kubernetes集群管理与编排实践
Kubernetes集群管理与编排实践

相关产品

  • 容器服务Kubernetes版