K8s之存储卷

一、容忍、crodon和drain

1.容忍

即使节点上有污点,依然可以部署pod。

字段:tolerations

实例

当node01上有标签test1=1,污点类型为NoSchedule,而node02没有标签和污点,此时pod可以在node01 node02上都部署,如果在node02上添加污点为NoExecute,则所有pod都会在node01上
tolerations:

#容忍污点的字段

  • operator: "Exists"

#不指定key,容忍所有的污点类型

#此时master01,node01和node02上都会有pod

2.cordon

直接标记节点不可用,pod不能部署到该节点。新建的pod的不会再部署到该节点,已有的pod不受影响。

kubectl cordon node02 #标记不可用

kubectl uncordon node02 #解除标记

kubectl get nodes #查看nodes的状态

但是如果有容忍字段或者容忍字段里面用了exists则无效

3.drain

不仅仅把节点标记为不可用,而且会把节点上pod驱逐到其他节点。

kubectl drain node02 --ignore-daemonsets --delete-local-data --force

--ignore-daemonsets 无视daemonSet管理的pod

--delete-local-data 如果pod设置了和本地节点有挂载点,无视本地挂载,强制杀死该节点上的pod

--force 不是控制器管理的pod会被直接杀死

kubectl uncordon node02 没有undrain,还是用uncordon

二、数据卷

指定pod内的容器和宿主机的目录进行挂载,把容器内的重要数据同步到宿主机的目录。

1.emptyDir存储卷

特殊的存储卷,不和宿主机进行挂载,pod内的容器之间共享目录,pod被删除,共享目录的数据也会被删除。

容器之间共享数据,获取容器内的其他配置的端口,环境等等,用于两个容器之间交互。

实例

2.hostPath

pod会根据调度算法部署在node上,挂载卷设置为hostPath,可以和node节点上的目录进行挂载,而且只要是pod所在的节点,都会生成这个目录。

实例

3.nfs 共享存储卷

共享目录,所有的服务器都可以访问共享目录,所有的pod和宿主机的同一个共享目录进行挂载。网站模式部署pod都是用nfs共享。

192.168.206.10 master01

192.168.206.20 node01

192.168.206.30 node02

192.168.206.60 nginx1 在这台主机上配置共享目录

所有节点都 apt -y install nfs-kernel-server

60主机上的操作如下:

mkdir /opt/k8s1

chmod 777 /opt/k8s1/

vim /etc/exports

/opt/k8s1 192.168.206.0/24(rw,root_squash)

systemctl restart nfs-kernel-server

cd /opt/k8s1

cat index.html

echo 123 > index.html

集群可以直接访问ip地址

curl 10.244.196.153

如果server字段用的是nginx1主机名, 则需要集群上做本地映射(/etc/hosts)

相关推荐
武子康9 小时前
调查研究-183 Apple container:Mac 上用轻量 VM 跑 Linux 容器,Swift 会改写本地容器体验吗?
docker·容器·apple
秋播15 小时前
国内本地WSL2编译rancher源码
云原生
小猿姐2 天前
MySQL Top 10 热点问题 AI 运维实战:从内核诊断到云原生运维
mysql·云原生·aiops
阿里云云原生3 天前
深入内核:拆解 OpenTelemetry eBPF 探针如何优雅地“透视”多语言微服务?
云原生
2601_961875243 天前
决战申论100题2026|最新|范文
linux·容器·centos·debian·ssh·fabric·vagrant
java_cj3 天前
深入kube-apiserver认证机制:从Bearer Token到mTLS的完整认证链解析
linux·运维·服务器·云原生·容器·kubernetes
程序员老赵3 天前
服务器没有桌面?Docker 跑个 Chrome,浏览器就能远程用
docker·容器·devops
正经教主3 天前
【docker基础】 第八周:容器监控与应用更新策略
运维·docker·容器
kiros_wang3 天前
Docker 使用完整指南
运维·docker·容器
正经教主4 天前
【docker基础】第九周:Docker安全与镜像优化
运维·docker·容器