K8s知识

Delopment VS StatefulSet

都是工作负载资源,用来管理pod。核心区别在于:Deployment 用于无状态应用,StatefulSet 用于有状态应用

  • 身份和网络标识
  • 存储
  • 启停顺序
    举个例子:Web 服务用 Deployment,因为每个实例都一样,挂了随时换。数据库用 StatefulSet,因为每个节点有自己的数据和固定名字,比如主从集群需要知道哪个是 master。
Network Policy

是k8s的网络策略资源,是一种声明式规则,用来控制 Pod 之间以及 Pod 与外部之间的网络流量。

  • 定义资源
  • apiserver储存在etcd,cni插件监听
  • 挂载到主机的容器网络数据路径
    本质:Pod 级防火墙系统
PV VS PVC

pv和pvc是k8s集群的存储的两层抽象

pv是集群存储资源,集群级别,代表真实的存储,比如NFS或者云硬盘,管理员可以提前配置或者通过strongclass动态供应

pvc是集群存储请求资源,namespace级别,只需要声明我需要短大的空间,什么访问方式。集群就会绑定pv,这是可以通过pvc使用存储

Job和CronJob

job:执行一次任务,比如数据计算,pod跑完,job就结束。

CronJob:执行定时任务,会在固定时间,创建job执行任务,比如说备份数据库。

Helm的版本控制

Chart 版本:安装包

Release 版本:部署历史

Service

流量没有真的经过service的cluster ip,因为这是一个抽象概念,只在iptables中做匹配。

  • ClusterIP:集群内部访问的ip,给服务提供一个虚拟ip。
  • NodeIP:在clusterIP的基础上,进行端口映射,把服务映射到节点的指定端口
  • LoadBalance:云厂商提供的负载均衡,比如阿里云提供一个公网ip,通过ip随机选择一个节点,访问service。还可以搭配nginx,指定nordport,Nginx 截取端口流量,根据规则转发到不同 Service
  • ExternalName:把服务映射到外部域名,比如有一个外部数据库mysql.com,想让集群内步访问可以用它。
ReplicaSet VS ReplicationController

标签选择器不一样

我们使用deploment管理replicaset,因为replicaset只保证pod的数量,deploment可以进行滚动更新和回滚。

rollout进行回滚

DaemonSet
  • nodeSelector
  • Taint
    • NoSchedule
    • PreferNoSchedule
    • NoExecute
  • tolerations
helm

集群的包管理器,把应用打包成chart,进行一键式管理。

  • chart目录:
  • 升级卡住:
    helm status <你的release名称> -n <命名空间>
    helm history <你的release名称> -n <命名空间>
    查看所有相关 Pod 的状态
    可能持久化资源没准备好,节点资源不足
    Helm Release 历史损坏(Secret 残留):helm升级失败,或者中断,导致release的secret处于pending-upgrade状态,不能再upgrade
    处理:回滚到上一次状态,修改错误后重新upgrade
    注意:helm upgrade --atomic=true
ingress

管理外部服务到集群内部,是资源

ingress资源需要ingress controller实行,比如。

相关推荐
D4c-lovetrain14 小时前
Jenkins 实战:Java 项目全自动打包、镜像构建、K8s 集群部署(完整CI/CD方案)
java·kubernetes·jenkins
sbjdhjd15 小时前
从 0 到 1 构建高可用企业级 NoSql 数据库 Redis 集群
linux·运维·redis·云原生·kubernetes·开源·云计算
qq_4523962315 小时前
第七篇:《Docker 存储:Volume、Bind Mount 与 tmpfs》
运维·docker·容器
tellmewhoisi1 天前
项目部署docker(指令解析和docker-compose基础指令)
docker·容器
dinl_vin1 天前
FastAPI 系列 ·(十二):生产部署——Docker + 配置管理(系列完结)
docker·容器·fastapi
还在忙碌的吴小二1 天前
Spring Cloud Alibaba 微服务解决方案新手入门指南
微服务·云原生·架构
蠢货爱好者1 天前
Docker基础操作
运维·docker·容器
hopsky1 天前
phoenix docker 启动
运维·docker·容器
用户1558319968141 天前
企业云盘API集成实战:用Webhook+OpenAPI实现自动化文件工作流
云原生