1.随记
存储: 简略存储:EmptyDir HostPath NFS` 高级存储:pv pvc 配置存储:configMap Secret ------------------emptydir------------------------------apiVersion: v1kind: Podmetadata: name: emptydir-volume namespace: uatspec: containers: - name: emptydir-nginx image: nginx imagePullPolicy: IfNotPresent ports: - containerPort: 80 volumeMounts: - name: logs-volume mountPath: /var/log/nginx - name: emptydir-busybox image: busybox:1.30 imagePullPolicy: IfNotPresent command: ["/bin/sh","-c","tail -f /logs/access.log"] volumeMounts: - name: logs-volume mountPath: /logs volumes: - name: logs-volume emptyDir: {} kubectl logs -f emptydir-volume -n uat -c emptydir-busybox查看emptydir-volume pod外面的emptydir-busybox容器的日志------------------emptydir------------------------------------------------hostPath------------------------------apiVersion: v1kind: Podmetadata: name: emptydir-volume namespace: uatspec: containers: - name: emptydir-nginx image: nginx imagePullPolicy: IfNotPresent ports: - containerPort: 80 volumeMounts: - name: logs-volume mountPath: /var/log/nginx - name: emptydir-busybox image: busybox:1.30 imagePullPolicy: IfNotPresent command: ["/bin/sh","-c","tail -f /logs/access.log"] volumeMounts: - name: logs-volume mountPath: /logs volumes: - name: logs-volume hostPath: path: /root/logs type: DirectoryOrCreate type: DirectoryOrCreate: 目录存在就应用,不存在就先创立后应用 Directory: 目录必须存在 FileOrCreate: 文件存在就应用,不存在就先创立后应用 File: 文件必须应用 Socket:unix套接字必须存在 CharDevice: 字符设施必须存在 BlockDevice: 块设施必须存在------------------hostPath------------------------------------------------NFS------------------------------yum install nfs-utils -y mkdir /root/data/nfs -pv vim /etc/exports/root/data/nfs 192.168.56.0/24(rw,no_root_squash)systemctl start nfsapiVersion: v1kind: Podmetadata: name: emptydir-volume namespace: uatspec: containers: - name: emptydir-nginx image: nginx imagePullPolicy: IfNotPresent ports: - containerPort: 80 volumeMounts: - name: logs-volume mountPath: /var/log/nginx - name: emptydir-busybox image: busybox:1.30 imagePullPolicy: IfNotPresent command: ["/bin/sh","-c","tail -f /logs/access.log"] volumeMounts: - name: logs-volume mountPath: /logs volumes: - name: logs-volume nfs: server: 192.168.56.108 path: /root/data/nfs------------------NFS------------------------------------------------------------pv---------------------长久卷: 对底层存储的形象,个别由k8s管理员进行治理存储类型:存储能力:拜访模式:ReadWriteOnce(RWO) 读写权限 但只能被单个节点挂载 不同底层反对的模式是不同的 ReadOnlyMany(ROM) 只读权限 能够被多个节点挂载 ReadWriteMany(RWX) 读写权限,能够被多个节点挂载 回收策略:Retain 保留 Recycle 回收 Delete: 删除 存储类别:pv能够通过storageClassname参数指定pv的一个存储类别 具备特定类别的pv只能和申请该类别的pvc进行绑定 未设定类别的pv只能与不申请任何类别的pvc进行绑定 status: 一个pv的生命周期 Available 可用 可用状态,还没有和任何pvc绑定 Bound 已绑定 也和pvc进行绑定 Released 已开释 对应的pvc曾经删除了,然而资源还未被集群从新申明 Failed 失败 该pv曾经被主动回收失败 more /etc/exports/root/data/pv1 192.168.56.0/24(rw,no_root_squash)/root/data/pv2 192.168.56.0/24(rw,no_root_squash)/root/data/pv3 192.168.56.0/24(rw,no_root_squash)---apiVersion: v1kind: PersistentVolumemetadata: name: voluem-pv1spec: capacity: storage: 1Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain nfs: path: /root/data/pv1 server: 192.168.56.108---apiVersion: v1kind: PersistentVolumemetadata: name: voluem-pv2spec: capacity: storage: 1Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain nfs: path: /root/data/pv2 server: 192.168.56.108---apiVersion: v1kind: PersistentVolumemetadata: name: voluem-pv3spec: capacity: storage: 1Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain nfs: path: /root/data/pv3 server: 192.168.56.108 kubectl get pv -o wide------------------------------pv---------------------------------------------------pvc---------------------长久卷申明:用户向k8s收回的一种资源申请对pv应用的申请apiVersion: v1kind: PersistentVolumeClaimmetadata: name: volume-pvc namespace: uatspec: accessModes: #拜访模式 selector:#采纳标签对pv抉择 storageClassName: #存储类别 resources: #空间 requests: storage: 5Gi ------------configMap----------------------------apiVersion: v1kind: ConfigMapmetadata: name: volume-configMap namespace: uatdata: info: | username: slq password: 123456789------------configMap----------------------------------------secret----------------------------base64编码 一下------------secret----------------------------