五、k8s:容忍 存储卷

容忍:

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

tolerations:

operator: "Exists"

不指定key,表示容忍所有的污点

cordon和drain

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

取消

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

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

--ignore-daemonsets:无视daemonsets管理pod

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

--force:不是控制器管理的pod也会被移走

k8s不是适合部署所有业务

k8s在项目中是按照命名空间来区分的

web 使用集群的资源是有限的 2 10G

backend 2 20G

20个pod左右-------

业务pod:10个左右

nginx

kafka

redis

其他的业务pod(自定义的镜像创建的根业务相关的pod)

数据收集

图形化界面等等

普罗米修斯监控

数据库不适合用容器化部署

k8s不用tomcat,apringboot自带8080

说了k8s就不用说keepalive+轮询

存储卷

podyaml文件的三大要素

1、资源限制

2、探针

3、存储卷(数据卷,挂载卷)

指定pod内的容器与宿主机的目录进行挂载,容器内的重要升级同步到宿主机的目录。

数据卷与宿主机挂载方式:

1、emptyDir存储卷

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

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

2、hostPath

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

nginx1-----3副本

nginx1---node1--------/opt/test1------->/usr/share/nginx/html/

nginx1--.master1--/opt/test1-------->/usr/share/nginx/html/

nginx1----node2----/opt/test1--------->/usr/share/nginx/html/

节点故障,重置了,数据也会消失。

3、nfs

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

创建共享目录 赋权

使用主机名需要做映射,使用ip不需要

相关推荐
todoitbo6 小时前
群晖NAS部署JmalCloud:Docker安装、文件管理、博客与公网访问完整教程
运维·docker·容器
时间售卖铺6 小时前
触发器与函数实战:MySQL高效编程秘诀
运维·数据库·mysql·云原生
云-缩影11 小时前
拆解函数计算 Serverless GPU 部署 AI 模型:Flux 生图和语音复刻怎么跑的
人工智能·云原生·serverless
是枚小菜鸡儿吖13 小时前
Home Assistant跨品牌智能家居教程:Docker部署、米家接入、vivo桥接与远程访问
docker·容器·智能家居
螺蛳粉 螺蛳粉15 小时前
第 02 篇:镜像分层与 containerd 2.x 实战:SystemdCgroup 与 pause 镜像配置踩坑(底座认知 02)
docker·云原生·容器·kubernetes·etcd·containerd·kube-apiserver
wefg116 小时前
【Docker】镜像相关指令
运维·docker·容器
技术党17 小时前
大模型训练平台推荐问答:九章云极的DCU计费、全栈Serverless和Token交付分别适合谁
云原生·serverless
java_logo17 小时前
Docker 部署 DPanel:轻松搭建轻量容器管理平台
运维·docker·容器·podman·容器管理·dpanel·轩辕镜像
时间售卖铺17 小时前
Oracle DQL精髓:从基础到高级实战
运维·数据库·云原生·oracle
n1121218 小时前
Docker 容器时区错 8 小时:3 个坑
运维·docker·容器·故障排查·服务器运维·容器时区