kubernetes核心技术之Volume知识点总结

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
可观测可视化 Grafana 版,10个用户账号 1个月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: kubernetes核心技术之Volume知识点总结

Volume概述

VolumePod中能够被多个容器访问的共享目录。 KubernetesVolume定义在 Pod 上,它被一个Pod中的多个容 器挂载到具体的文件目录下。 VolumePod的生命周期相同,但与容器的生命周期不相关, 当容器终止或重启时, Volume 中的数据也不会丢失。 要使用volumepod需要指定 volume 的类型和内容(字段) , 和映射到容器的位置(字段) 。Kubernetes 支持多种类型的 Volume,包括: emptyDirhostPathgcePersistentDiskawsElasticBlockStorenfsiscsiflockerglusterfsrbdcephfsgitReposecretpersistentVolumeClaimdownwardAPIazureFileVolumeazureDiskvsphereVolumeQuobytePortworxVolumeScaleIOemptyDirEmptyDir 类型的 volume创建于 pod 被调度到某个宿主机上的时候, 而同一个 pod 内的容器都能读写 EmptyDir 中的同一个文件。 一旦这个 pod离开了这个宿主机, EmptyDir 中的数据就会被永久删除。 所以目前 EmptyDir类型的 volume主要用作临时空间, 比如 Web服务器写日志或者 tmp 文件
需要的临时目录。

EmptyDir

yaml示例如下

apiVersion: v1
kind: Pod
metadata:
   name: mynginx
   labels:
      app: mynginx
spec:
 containers:
   - name: mynginx
     image: reg.harbor.com/public/nginx:latest
     ports:
      - containerPort: 80
     volumeMounts:
     - mountPath: /cache
       name: cache-volume
 volumes:
  - name: cache-volume
    emptyDir: {}

hostPath

HostPath属性的 volume使得对应的容器能够访问当前宿主机上的指定目录。 例如, 需要运行一个访问 Docker系统目录的容器, 那么就使用/var/lib/docker 目录作为一个HostDir类型的 volume; 或者要在一个容器内部运行 CAdvisor, 那么就使用/dev/cgroups目录作为一个 HostDir类型的 volume。 一旦这个 pod 离开了这个宿主机, HostDir中的数据虽然不会被永久删除, 但数据也不会随 pod 迁移到其他宿主机上。 因此, 需要注意的是,由于各个宿主机上的文件系统结构和内容并不一定完全相同, 所以相同 podHostDir 可能会在不 同的宿主机上表现出不同的行为。 yaml示例如下:

apiVersion: v1
kind: Pod
metadata:
   name: mynginx2
   labels:
      app: mynginx2
spec:
 containers:
   - name: mynginx2
     image: reg.harbor.com/public/nginx:latest
     ports:
      - containerPort: 80
     volumeMounts:
     - mountPath: /test-pd
       name: test-volume
 volumes:
  - name: test-volume
    hostPath:
       path: /data

NFS

NFS 类型 volume。 允许一块现有的网络硬盘在同一个 pod内的容器间共享。 yaml 示例如下:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: mynginx3
spec:
  replicas: 2
  selector:
    matchLabels:
      app: mynginx3
  template:
    metadata:
      labels:
        app: mynginx3
    spec:
      containers:
      - image: reg.harbor.com/public/nginx:1.18.0
        name: mynginx3
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 80
        volumeMounts:
        - name: html
          mountPath: /usr/share/nginx/html/
      volumes:
      - name: html
        nfs:
          path: /nfs/data
          server: 10.91.74.201


相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
18天前
|
Kubernetes 监控 安全
Kubernetes实战:集群管理与自动化技术详解
【6月更文挑战第27天】Kubernetes实战聚焦集群自动化管理,涵盖核心概念如主从架构、API Server及工作节点,强调自动扩缩容、RBAC安全控制与日志监控。通过IaC工具如Helm实现配置自动化,结合Prometheus等进行持续监控,强调安全策略与资源优化,展现K8s在现代应用管理中的威力。
|
13天前
|
Kubernetes 负载均衡 调度
Kubernetes等容器化技术
【7月更文挑战第2天】Kubernetes等容器化技术
18 2
|
27天前
|
运维 Kubernetes Cloud Native
云原生时代的技术革命:Kubernetes与容器编排
【6月更文挑战第17天】在数字化转型的浪潮中,云原生技术正成为推动企业IT架构现代化的核心力量。本文将深入探讨Kubernetes作为云原生生态中的佼佼者,如何引领容器编排的技术革命,并分析其在现代应用部署、管理和扩展中的关键作用。通过实例和案例分析,我们将揭示Kubernetes如何助力企业实现更高效、灵活和可靠的云原生应用管理。
|
1月前
|
运维 Kubernetes 持续交付
Docker与Kubernetes:容器化技术的黄金搭档
【6月更文挑战第10天】Docker和Kubernetes是容器化技术的黄金组合,Docker提供轻量级、可移植的容器引擎,简化应用部署,而Kubernetes作为容器编排系统,实现自动化部署、扩展和管理,确保高可用性和可扩展性。两者的协作使得容器化应用更高效、可靠,共同推动软件开发和运维的创新。
|
18天前
|
Kubernetes Shell API
技术笔记:K8s中大量Pod是Evicted状态,这是咋回事?
技术笔记:K8s中大量Pod是Evicted状态,这是咋回事?
45 0
|
2月前
|
Kubernetes 持续交付 调度
为什么是容器编排技术
**容器编排**是自动化容器部署、管理和扩展的技术,它使得构建跨容器应用、集群调度、健康检查和弹性伸缩变得自动化。Kubernetes是最流行的容器编排平台,提供自动化部署、服务发现、故障恢复和扩展性。学习Kubernetes时,理解其作为面向终态系统的理念很重要,从单个容器开始,结合实践进行学习能提高效率。Kubernetes是Google开源的容器编排引擎,支持自动化部署、可伸缩性和容器管理,其核心概念包括Pod、Controller、Workload、Service、PV/PVC、Namespace和etcd。
|
2月前
|
存储 Kubernetes 监控
使用Kubernetes进行容器编排:技术详解与实践
【5月更文挑战第16天】Kubernetes,简称K8s,是开源容器编排系统,用于自动化部署、扩展和管理容器化应用。核心概念包括节点、Pod(最小部署单元)、服务、标签和副本集。其特点有高可用性、可扩展性、自动化和可移植性。实践使用涉及安装配置集群、编写YAML部署清单、应用部署、监控管理和扩展更新。Kubernetes帮助提升应用的可用性、可扩展性和可移植性。
|
2月前
|
SQL Kubernetes 调度
【技术解析 | 实践】部署Kubernetes模式的Havenask集群
本次分享内容为havenask的kubernetes模式部署,由下面2个部分组成(部署Kubernetes模式Havenask集群、 Kubernetes模式相关问题排查),希望可以帮助大家更好了解和使用Havenask。
59663 9
|
2月前
|
Kubernetes 物联网 区块链
未来技术的脉动:区块链、物联网和虚拟现实的新纪元Kubernetes 集群性能优化实践
【5月更文挑战第27天】 随着科技的飞速发展,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在重塑我们的世界。这些技术不仅在逐步成熟,而且在各个行业中找到了创新的应用。区块链技术以其不可篡改和去中心化的特性,为金融交易、供应链管理和身份验证提供了新的解决方案。物联网通过智能设备和系统的互联互通,优化了资源管理并提升了生活品质。而虚拟现实技术则在娱乐、教育和医疗等领域创造了沉浸式体验。本文将深入探讨这些技术的发展趋势和多样化应用场景,展望它们如何共同塑造未来社会的面貌。
|
2月前
|
Kubernetes Java 调度
Java容器技术:Docker与Kubernetes
Java容器技术:Docker与Kubernetes
210 0

热门文章

最新文章

  • 1
    MockedStatic 用于模拟静态方法
    4
  • 2
    @SneakyThrows 是 Lombok 库中的一个注解
    6
  • 3
    在会议系统工程中,Python可以用于多种任务,如网络请求(用于视频会议的连接和会议数据的传输)、数据分析(用于分析会议参与者的行为或会议效果)等。
    9
  • 4
    在可视会议系统工程中,系统工程方法可以帮助我们系统地规划、设计和实现一个高效、可靠的可视会议系统。
    10
  • 5
    我们可以从系统工程的角度来讨论如何优化组织架构,并给出一些可能涉及的Python应用领域的示例。
    7
  • 6
    在环境治理领域,污染治理系统工程旨在通过系统的方法来解决环境污染问题。这通常包括污染源的识别、污染物的监测、治理技术的选择、治理效果的评估等多个环节。
    14
  • 7
    我将提供一个简化的Python代码示例和详解,以展示如何使用Python和Django框架来构建智能化小区综合物业管理系统的一部分功能。
    8
  • 8
    在系统工程中,软件测试是一个至关重要的环节,它确保软件的质量、可靠性和性能。软件测试通常包括多个阶段,如单元测试、集成测试、系统测试和验收测试等。
    14
  • 9
    在软件部署阶段,系统工程的目标是确保软件能够顺利、稳定地部署到目标环境中,并满足用户的需求。
    11
  • 10
    航空航天领域,系统工程被用于设计复杂的飞行器和系统。这包括飞行器的结构、推进系统、控制系统等。
    12
  • 相关产品

  • 容器服务Kubernetes版
  • 推荐镜像

    更多