12.k8s的存储卷创建过程
数据持久化需要数据卷。kubernetes生态提供海量的存储驱动和存储使用方式。
[root@master song]# cat pod-demo.yml
apiVersion: v1
kind: Pod
metadata:
name: pod-demo
namespace: default
labels:
app: myapp
tier: frontend
2sdlfj: dashazi
spec:
containers:
- name: centos
image: busybox
command: ["/bin/sh","-c","ping www.baidu.com"]
volumeMounts:
- name: song
mountPath: /data
- name: myapp-
image: hub.c..com/library/nginx:1.13
volumeMounts:
- name: song
mountPath: /data
nodeSelector:
location: slave1
volumes:
- name: song
emptyDir: {} 查看状态
[root@master song]# kubectl describe pod pod-demo
Name: pod-demo
Namespace: default
Priority: 0
PriorityClassName: <none>
Node: k8s-node1/172.20.0.76
Start Time: Sun, 03 Mar 2019 09:41:53 +0800
Labels: 2sdlfj=dashazi
app=myapp
tier=frontend
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"apiVersion":"v1","kind":"Pod","metadata":{"annotations":{},"labels":{"2sdlfj":"dashazi","app":"myapp","tier":"frontend"},"name":"pod-dem...
Status: Running
IP: 10.244.2.183
Containers:
centos:
Container ID: docker://4bc862140523df128ab1c35375459f5a08cbab3bbeb787b35ae607016bb18071
Image: busybox
Image ID: docker-pullable://busybox@sha256:061ca9704a714ee3e8b80523ec720c64f6209ad3f97c0ff7cb9ec7d19f15149f
Port: <none>
Host Port: <none>
Command:
/bin/sh
-c
ping www.baidu.com
State: Running
Started: Sun, 03 Mar 2019 09:42:01 +0800
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/data from song (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-tlx48 (ro)
myapp-1:
Container ID: docker://b32921dc906b58bfdf146e9a094748d7af80d21e24b58c17f6ffdc08fdee1752
Image: hub.c.163.com/library/nginx:1.13
Image ID: docker-pullable://hub.c.163.com/library/nginx@sha256:ff094de32a0d3b5efc29cec60daa709c5378cf4e53e4c9fd1d3433b87ac8ec8b
Port: <none>
Host Port: <none>
State: Running
Started: Sun, 03 Mar 2019 09:42:01 +0800
Ready: True
Restart Count: 0
Environment: <none>
Mounts:
/data from song (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-tlx48 (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
song:
Type: EmptyDir (a temporary directory that shares a pod's lifetime) 说明该类型为临时文件,不会存盘。
Medium:
default-token-tlx48:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-tlx48
Optional: false
QoS Class: BestEffort
Node-Selectors: location=slave1
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Pulling 7h9m kubelet, k8s-node1 pulling image "busybox"
Normal Pulled 7h9m kubelet, k8s-node1 Successfully pulled image "busybox"
Normal Created 7h9m kubelet, k8s-node1 Created container
Normal Started 7h9m kubelet, k8s-node1 Started container
Normal Pulled 7h9m kubelet, k8s-node1 Container image "hub.c.163.com/library/nginx:1.13" already present on machine
Normal Created 7h9m kubelet, k8s-node1 Created container
Normal Started 7h9m kubelet, k8s-node1 Started container
Normal Scheduled 71s default-scheduler Successfully assigned default/pod-demo to k8s-node1
[root@master song]# kubectl exec -i -t pod-demo -c centos -- /bin/sh
/ # cd /data
/data # cat /proc/mounts
rootfs / rootfs rw 0 0
overlay / overlay rw,relatime,lowerdir=/var/lib/docker/overlay2/l/XHB5NUDL4LLGOC3EZHZJ6C2U2R:/var/lib/docker/overlay2/l/Q2CWFPROIF2I4BB6RJY5CAM74J,upperdir=/var/lib/docker/overlay2/bae727cbe291547d5703c4d488afee8b1394e2abd8bb9a271ac73bfff2468365/diff,workdir=/var/lib/docker/overlay2/bae727cbe291547d5703c4d488afee8b1394e2abd8bb9a271ac73bfff2468365/work 0 0
proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,size=65536k,mode=755 0 0
devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=666 0 0
sysfs /sys sysfs ro,nosuid,nodev,noexec,relatime 0 0
tmpfs /sys/fs/cgroup tmpfs ro,nosuid,nodev,noexec,relatime,mode=755 0 0
cgroup /sys/fs/cgroup/systemd cgroup ro,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd 0 0
cgroup /sys/fs/cgroup/cpu,cpuacct cgroup ro,nosuid,nodev,noexec,relatime,cpuacct,cpu 0 0
cgroup /sys/fs/cgroup/pids cgroup ro,nosuid,nodev,noexec,relatime,pids 0 0
cgroup /sys/fs/cgroup/hugetlb cgroup ro,nosuid,nodev,noexec,relatime,hugetlb 0 0
cgroup /sys/fs/cgroup/freezer cgroup ro,nosuid,nodev,noexec,relatime,freezer 0 0
cgroup /sys/fs/cgroup/cpuset cgroup ro,nosuid,nodev,noexec,relatime,cpuset 0 0
cgroup /sys/fs/cgroup/blkio cgroup ro,nosuid,nodev,noexec,relatime,blkio 0 0
cgroup /sys/fs/cgroup/net_cls,net_prio cgroup ro,nosuid,nodev,noexec,relatime,net_prio,net_cls 0 0
cgroup /sys/fs/cgroup/devices cgroup ro,nosuid,nodev,noexec,relatime,devices 0 0
cgroup /sys/fs/cgroup/perf_event cgroup ro,nosuid,nodev,noexec,relatime,perf_event 0 0
cgroup /sys/fs/cgroup/memory cgroup ro,nosuid,nodev,noexec,relatime,memory 0 0
mqueue /dev/mqueue mqueue rw,nosuid,nodev,noexec,relatime 0 0
/dev/mapper/centos_bogon-root /data ext4 rw,relatime,data=ordered 0 0
/dev/mapper/centos_bogon-root /dev/termination-log ext4 rw,relatime,data=ordered 0 0
/dev/mapper/centos_bogon-root /etc/resolv.conf ext4 rw,relatime,data=ordered 0 0
/dev/mapper/centos_bogon-root /etc/hostname ext4 rw,relatime,data=ordered 0 0
/dev/mapper/centos_bogon-root /etc/hosts ext4 rw,relatime,data=ordered 0 0
shm /dev/shm tmpfs rw,nosuid,nodev,noexec,relatime,size=65536k 0 0
tmpfs /var/run/secrets/kubernetes.io/serviceaccount tmpfs ro,relatime 0 0
proc /proc/bus proc ro,relatime 0 0
proc /proc/fs proc ro,relatime 0 0
proc /proc/irq proc ro,relatime 0 0
proc /proc/sys proc ro,relatime 0 0
proc /proc/sysrq-trigger proc ro,relatime 0 0
tmpfs /proc/acpi tmpfs ro,relatime 0 0
tmpfs /proc/kcore tmpfs rw,nosuid,size=65536k,mode=755 0 0
tmpfs /proc/keys tmpfs rw,nosuid,size=65536k,mode=755 0 0
tmpfs /proc/timer_list tmpfs rw,nosuid,size=65536k,mode=755 0 0
tmpfs /proc/timer_stats tmpfs rw,nosuid,size=65536k,mode=755 0 0
tmpfs /proc/sched_debug tmpfs rw,nosuid,size=65536k,mode=755 0 0
tmpfs /proc/scsi tmpfs ro,relatime 0 0
tmpfs /sys/firmware tmpfs ro,relatime 0 0
/data # df -h
Filesystem Size Used Available Use% Mounted on
overlay 9.7G 4.6G 4.6G 50% /
tmpfs 64.0M 0 64.0M 0% /dev
tmpfs 999.5M 0 999.5M 0% /sys/fs/cgroup
/dev/mapper/centos_bogon-root
9.7G 4.6G 4.6G 50% /data
/dev/mapper/centos_bogon-root
9.7G 4.6G 4.6G 50% /dev/termination-log
/dev/mapper/centos_bogon-root
9.7G 4.6G 4.6G 50% /etc/resolv.conf
/dev/mapper/centos_bogon-root
9.7G 4.6G 4.6G 50% /etc/hostname
/dev/mapper/centos_bogon-root
9.7G 4.6G 4.6G 50% /etc/hosts
shm 64.0M 0 64.0M 0% /dev/shm
tmpfs 999.5M 12.0K 999.5M 0% /var/run/secrets/kubernetes.io/serviceaccount
tmpfs 999.5M 0 999.5M 0% /proc/acpi
tmpfs 64.0M 0 64.0M 0% /proc/kcore
tmpfs 64.0M 0 64.0M 0% /proc/keys
tmpfs 64.0M 0 64.0M 0% /proc/timer_list
tmpfs 64.0M 0 64.0M 0% /proc/timer_stats
tmpfs 64.0M 0 64.0M 0% /proc/sched_debug
tmpfs 999.5M 0 999.5M 0% /proc/scsi
tmpfs 999.5M 0 999.5M 0% /sys/firmware
12.k8s的存储卷创建过程的更多相关文章
- K8s的存储卷使用总结
K8s的存储卷: 它有四种存储卷: 1. emptyDir: 空目录,这种存储卷会随着Pod的删除而被清空,它一般作为缓存目录使用,或临时目录, 当做缓存目录时,通常会将一块内存空间映射到该目录上,让 ...
- k8s volume存储卷
k8s volume存储卷 介绍 volume存储卷是Pod中能够被多个容器访问的共享目录,kubernetes的volume概念,用途和目的与docker的volume比较类似,但两者不能等价, ...
- k8s之存储卷及pvc
1.存储卷概述 因为pod是有生命周期的,pod一重启,里面的数据就没了,所以我们需要数据持久化存储,在k8s中,存储卷不属于容器,而是属于pod,也就是说同一个pod中的容器可以共享一个存储卷,存储 ...
- Linux系统LVM逻辑卷创建过程以及自动化脚本
转至:https://cloud.tencent.com/developer/article/1068328 Linux系统LVM逻辑卷创建过程以及自动化脚本 2018-03-21阅读 6300 ...
- k8s volume存储卷(四)
介绍 volume存储卷是Pod中能够被多个容器访问的共享目录,kubernetes的volume概念,用途和目的与docker的volume比较类似,但两者不能等价,首先,kubernetes中的v ...
- k8s系列---存储卷pv/pvc。configMap/secert
因为pod是有生命周期的,pod一重启,里面的数据就没了.所以我们需要数据持久化存储. 在k8s中,存储卷不属于容器,而是属于pod.也就是说同一个pod中的容器可以共享一个存储卷. 存储卷可以是宿主 ...
- k8s的存储卷
存储卷查看:kubectl explain pods.spec.volumes 一.简单的存储方式 1)2个容器之间共享存储..(删除则数据消失) apiVersion: v1 kind: Pod m ...
- Spring 源码(12)Spring Bean 的创建过程(3)
继续上一篇Spring Bean的创建过程的解读,上一篇介绍了Spring在创建过程中doGetBean方法,在执行过程中会调用getSingleton方法并且设置一个lambda表达式,这个lamb ...
- Kubernetes 学习12 kubernetes 存储卷
一.概述 1.我们此前讲过根据应用本身是否需要持久存储数据以及某一次请求和之前的请求是否有联系,可以分为四类应用 a.有状态,要存储 b.有状态,无持久存储 c.无状态,要存储 d.无状态,无持久存储 ...
随机推荐
- 启动项目显示:非法字符:'\ufeff' 和需要 class ,interface 或者 enum 错误
原来是因为 Windows 记事本在修改 UTF-8 文件时自作聪明地在文件开头添加 BOM 导致的,所以才会导致 IDEA 不能正确读取 .java 文件从而程序出错. 解决: 找到 xxx. ja ...
- python:unittest之跳过测试和预期失败的用例
在利用单元测试框架执行测试用例的过程中,有时只需要执行一部分用例,或者跳过某些暂不需要执行的用例,python的unittest框架就内置这样的功能. 前面的博客介绍了unittest框架的测试用例加 ...
- ASP.NET Core 2.1 源码学习之 Options[1]:Configure
配置的本质就是字符串的键值对,但是对于面向对象语言来说,能使用强类型的配置是何等的爽哉! 目录 ASP.NET Core 配置系统 强类型的 Options Configure 方法 Configur ...
- Apache Spark 2.2.0新特性介绍(转载)
这个版本是 Structured Streaming 的一个重要里程碑,因为其终于可以正式在生产环境中使用,实验标签(experimental tag)已经被移除.在流系统中支持对任意状态进行操作:A ...
- 小程序解决方案 Westore - 组件、纯组件、插件开发
数据流转 先上一张图看清 Westore 怎么解决小程序数据难以管理和维护的问题: 非纯组件的话,可以直接省去 triggerEvent 的过程,直接修改 store.data 并且 update,形 ...
- 朱晔的互联网架构实践心得S2E1:业务代码究竟难不难写?
注意,这是我的架构实践心得的第二季的系列文章,第一季有10篇你也可以回顾. 见https://www.cnblogs.com/lovecindywang/category/1296779.html 最 ...
- 从 0 到 1 实现 React 系列 —— 3.生命周期和 diff 算法
看源码一个痛处是会陷进理不顺主干的困局中,本系列文章在实现一个 (x)react 的同时理顺 React 框架的主干内容(JSX/虚拟DOM/组件/生命周期/diff算法/setState/ref/. ...
- 第十五次oo作业
作业十五 测试与正确性论证的效果差异 程序的测试需要通过输入特定数据等方式,检查程序是否和预期相同,因为测试不可能穷举,导致了不穷举的测试不可能验证程序是完全正确的,只能验证程序在测试时没有发生错误, ...
- java 接口实现防盗门功能
Door: package locker; public abstract class Door { public abstract void open(); public abstract void ...
- Python—元类
什么是元类? 元类是类的类,是类的模板 元类是用来控制如何创建类的,正如类是创建对象的模板一样,而元类的主要目的是为了控制类的创建行为 元类的实例化的结果为我们用class定义的类,正如类的实例为对象 ...