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实行,比如。

相关推荐
赵谨言39 分钟前
红蓝对抗Docker渗透复盘-技能与产出汇总
docker·容器·eureka
打工仔折腾 AI5 小时前
飞牛OS上用Docker Compose部署ExerciseDiary运动记录并配置远程访问
运维·人工智能·后端·python·docker·容器·ai agent 实战
天衍四九-6 小时前
Docker Compose企业实战系列(八·终章):多环境隔离实战,开发/测试/生产一键切换
运维·docker·容器
ysu_03147 小时前
Docker-Desktop-WSL2实战指南-Windows从安装配置到项目容器化
windows·python·docker·容器·composer·dockerfile·wsl2
陈陈CHENCHEN8 小时前
【Kubernetes】纯 IPv6 K8s 集群访问外部 IPv4 服务
云原生·容器·kubernetes
明王明王8 小时前
从零搭建一个 AI Infra 实验室⑫:Docker 为什么默认看不到 GPU
人工智能·docker·容器
天衍四九-8 小时前
Docker Compose企业实战系列(四):Redis生产级部署|密码加固、持久化、内存优化完整方案
redis·docker·容器
troy1288 小时前
如何在谷歌云(Google Cloud)上部署 Kubernetes 集群
云原生·容器·kubernetes
xiaoligangting9 小时前
太原岗亭款式齐全
云原生
guo_wen_qiang9 小时前
docker安装常见软件集合
运维·docker·容器