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

相关推荐
33三 三like38 分钟前
安装并启动Docker
运维·docker·容器
滕州市燕猫虎计算机科技工作室个体工商户38 分钟前
进入Docker容器内的命令行界面
运维·docker·容器
Spider Cat 蜘蛛猫1 小时前
微服务- 自动审核商家入驻
微服务·云原生·架构
陈聪.1 小时前
Kubernetes Service 与 Ingress 知识总结
云原生·容器·kubernetes
滕州市燕猫虎计算机科技工作室个体工商户3 小时前
查看Docker里的日志
运维·docker·容器
JavaPub-rodert3 小时前
Docker Compose 实战:一键部署你的完整应用环境
运维·docker·容器
IT利刃出鞘15 小时前
Docker Compose--安装WordPress--方法/示例
运维·docker·容器
分布式存储与RustFS20 小时前
RustFS 多协议接入全景:S3 之外,Swift/Keystone 与 SFTP/FTPS 怎么选
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
分布式存储与RustFS1 天前
在 Kubernetes 上用 RustFS Operator 给 Tenant 开 KMS 加密:spec.encryption 实战
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准
wdfk_prog1 天前
大型 Docker 镜像导出导入工程化:可靠性、磁盘与压缩
运维·docker·容器