zoukankan      html  css  js  c++  java
  • kubernets之卷

    一 卷的由来以及种类和常用的卷的类型

      前面介绍了大部分都是pod的管理以及在集群内部和集群外部如何访问pod,但是我们也了解到,pod是有生命周期的,当pod所在节点下线,或者等其他原因原因导致pod需要中止服务,此时

    之前pod里面存储的数据也会随之而消失,所以这里就需要一个持久化存储手段,kubernets提供了一种持久化存储的方式称之为卷,并且根据可存储的内容分为很多种类

    • emptyDir---用于存储临时数据的简单空目录
    • hostPath---用于将目录从工作节点的文件系统挂载到pod中
    • gitRepo---用于检出Git仓库的内容来初始化的卷
    • nfs---挂载到pod中的NFS共享卷
    • configMap,secret,downwardAPI---用于将集群部分资源和集群信息公开个给pod的特殊类型的卷
    • (persistentVolumeClaim)pvc---一种使用预置或者动态配置的持久化存储类型(应用的较为多)

    二 emptyDir的应用以及介绍

      2.1  emptyDir最大的特点就是与之关联的pod可以写入任何形式的文件,并且它的生命周期和pod的生命周期保持一致,当pod消失之后该卷也会随之消失,而最大的作用其实是在pod的不同的

    容器之间共享数据,可以将一个或若干个emptyDir挂载在一个pod的多个容器上,由于容器之间是相互隔离的,所以无法通信,但是通过这种挂载卷的形式就使得数据能够流通。

      2.2 一个pod里面带有2个容器,并且通过挂载卷的方式使其相互通信的配置如下

    apiVersion: v1
    kind: Pod
    metadata:
      name: fortune
    spec:
      containers:
      - image: luksa/fortune
        name: html-generator
        volumeMounts:
        - name: html
          mountPath: /var/htdocs
      - image: nginx:alpine
        name: web-server
        volumeMounts:
        - name: html
          mountPath: /usr/share/nginx/html
          readOnly: true
        ports:
        - containerPort: 80
          protocol: TCP
      volumes:
      - name: html
        emptyDir: {}
    • 这个pod里面定义了2个容器,并且还挂载了一个名为html的空白卷
    • 分别挂载在nginx容器和fortune容器的文件系统上面某个位置,如此就可以让本来互相隔离的容器通过这个来通信

      

      2.3查看pod的状态

    [root@node01 ~]# k get po
    NAME      READY   STATUS    RESTARTS   AGE
    fortune   2/2     Running   0          4h21m
    [root@node01
    ~]# curl http://127.1:8080 You are only young once, but you can stay immature indefinitely.
    [root@node01
    ~]# curl http://127.1:8080 The secret source of humor is not joy but sorrow; there is no humor in Heaven. -- Mark Twain
    • 这2个容器的作用,第一个是每10秒产生一个html并存储在空白卷里面
    • 第二个容器用来展示该空白卷里面的html文件
    • 而结果也很好的展示了通过这个空白卷将这一个pod里面的容器相互通信

    三 hostPath卷的介绍以及应用

      3.1  首先了解一下,hospath区别于其他类型的卷的地方,顾名思义,hostpath的卷是依赖于node节点的,就是将pod的数据持久化存储在节点上面,这个是区别于emptyDir卷的存在

    但是有一个缺点是,众所周知,pod是有生命周期的,一旦pod由于任何原因消失,kubernets就会重新调度到节点上,但是会随机的调度到集群的任一节点,所以当第一个pod消失之后,很有可能

    会调度到其他节点上,所以这个类型的卷不适合存储应用级别的卷,而是适合存储由daemonSet创建的pod,因为DaemonSet的pod属于系统级别的pod,每个节点都会存在一个

      

  • 相关阅读:
    LightOJ 1132 Summing up Powers(矩阵快速幂)
    hdu 3804 Query on a tree (树链剖分+线段树)
    LightOJ 1052 String Growth && uva 12045 Fun with Strings (矩阵快速幂)
    uva 12304 2D Geometry 110 in 1! (Geometry)
    LA 3263 That Nice Euler Circuit (2D Geometry)
    2013 SCAUCPC Summary
    poj 3321 Apple Tree (Binary Index Tree)
    uva 11796 Dog Distance (几何+模拟)
    uva 11178 Morley's Theorem (2D Geometry)
    动手动脑
  • 原文地址:https://www.cnblogs.com/wxm-pythoncoder/p/14201434.html
Copyright © 2011-2022 走看看