容器编排 - 了解K8s(pod, deployment,service,lable等概念)

文章目录

  • [1. K8s](#1. K8s)
    • 核心概念
    • pod介绍:
      • [Side car模式:](#Side car模式:)
    • [deployment - 监控pod状态](#deployment - 监控pod状态)
      • [健康检查机制 - 探针(Liveness+Readness)](#健康检查机制 - 探针(Liveness+Readness))
    • [service - 网络请求配置](#service - 网络请求配置)
  • 总结

✨✨✨学习的道路很枯燥,希望我们能并肩走下来!

编程真是一件很奇妙的东西。你只是浅尝辄止,那么只会觉得枯燥乏味,像对待任务似的应付它。但你如果深入探索,就会发现其中的奇妙,了解许多所不知道的原理。知识的力量让你沉醉,甘愿深陷其中并发现宝藏。



本文开始

1. K8s

对测试人员来说:当公司实际业务,足够大时,测试或部署需要操作多台机器,这时候涉及管理多个容器,就可以使用到k8s技术;

K8s: 可以看作一个容器集群

容器编排技术:简化对容器集群的操作

核心概念

管理容器需要了解其中的pod, deployment,service,lable,探针等概念;

pod介绍:

  1. pod: k8s最小调度单元-pod(k8s无法直接调度单个容器);K8S 中最基本的资源类型-POD;
  2. pod: 将一组业务相关的容器组合到一起的pod, 使用的container模式连接,使用的是共享同一个网络和目录;(pod中多个容器都挂载到共享目录上)
  3. 一个 POD 提供了多种机制,包括但不限于共享和限制目录,网络,进程,资源等机制来让容器之间的协作更加顺畅。

Side car模式:

  1. Side car模式:pod 里包含多个容器,pod中多个容器都挂载到共享目录上,一个业务主容器,其他是辅助容器;(一个pod中一般定义一个容器,也可以定义多个容器)

  2. SANBOX(pause):默认容器,提供基础pod网络环境,无法直接查看该容器,是一个空容器;

  3. 使用场景:side car模式,日志收集;故障注入测试,在pod中重新注入一个容器;

deployment - 监控pod状态

  1. deployment 是pod上层,用来管理和操作pod;

  2. deployment监控pod状态和维护指定数量(如:自动重建故障pod)

  3. deployment根据配置文件,维护pod状态;

    实现负载均衡和高可用模式的维护;

一个节点启动一个容器使用DeploySet类型

健康检查机制 - 探针(Liveness+Readness)

deployment如何判断pod健康状态?

使用健康检查机制-探针(Liveness + Readness)

  • Liveness:存活探针
    • 机制:每隔一段时间探查服务接口,如果探查失败,证明服务不健康,会杀掉pod,Deployment会在杀死pod并重建一个新的pod。service会把老pod的IP地址移除掉,把新pod的ipd地址加到ip池中。
    • 简述存活探针:定期检查服务端口,失败时直接杀死pod并重建,service会更新IP池(移除旧IP,添加新IP)
  • Readness:可读探针
    • 机制:每隔一段时间探查服务接口,如果探查失败,证明服务不健康,不会杀掉pod,只是service会把这个pod的ip地址移除掉,以便之后的流量不会再打入到这个不健康pod中。 之后探针会继续运行,一旦探针判断这个pod重新恢复了健康状态,就会把这个pod的ip加回来,继续发送流量
    • 简述可读探针:定期检查服务接口,失败时仅从Service IP池移除该Pod IP, 恢复健康后重新加入IP池;

service - 网络请求配置

  1. service:统一管理所有pod的网络请求,再进行分发网络请求给pod;

  2. 配置文件中会配置端口映射,是docker端口映射的扩展

    port: 集群内部访问端口

    targetPort - 容器端口

    nodePort: 外部访问端口

Lable - 标签 (k8s调度策略)

标签作用:

  1. 实现Service到Pod的请求分发
  2. Service通过Selector根据Label选择目标Pod
    【注】任何都能添加标签

容器编排体系介绍

简述:

1.当流量来临通过Service管理所有网络请求,通过Lable分发到Pod

2.通过deployment监控pod状态,使用的是探针liveness或readness进行


总结

✨✨✨各位读友,本篇分享到内容是否更好的帮助你理解,如果对你有帮助给个👍赞鼓励一下吧!!
🎉🎉🎉世上没有绝望的处境,只有对处境绝望的人。
🎉🎉🎉一遇挫折就灰心丧气的人,永远是个失败者。而一向努力奋斗,坚韧不拔的人会走向成功。
感谢每一位一起走到这的伙伴,我们可以一起交流进步!!!一起加油吧!!!

相关推荐
源代码•宸18 分钟前
前置准备:定时微服务背景和现状
开发语言·经验分享·后端·微服务·云原生·架构·golang
实战派K8S&DB36 分钟前
《基于 Dify + FastAPI + PyTiDB 搭建大模型驱动的 TiDB 智能运维 Agent》
运维·数据库·分布式·云原生·tidb·fastapi
tianxuanjg1 小时前
工业/协作机器人连接法兰采购指南|高精度安装定位零件怎么选
经验分享·机器人·无人机·制造·材质
想要成为老金高手1 小时前
Kubernetes 调度器详解:从 nodeName 到污点容忍
java·容器·kubernetes
数智启示录2 小时前
PostgreSQL 计划缓存实战(第 10 篇):预编译 SQL 前五次都快,第六次为什么可能变慢
经验分享·sql·缓存·postgresql·面试
名字还没想好☜2 小时前
Docker buildx 多架构镜像实战:一次构建 amd64+arm64,告别 exec format error
运维·docker·eureka·架构·kubernetes
啊阿狸不会拉杆2 小时前
《计算机网络-自顶向下方法》3.9 小结 · 课后习题 · Wireshark实验
网络·测试工具·wireshark
gs801403 小时前
告别 CI/CD 误伤与红条:Docker 镜像智能清理与优雅防冲突实战
ci/cd·docker·容器
wjcroom3 小时前
FileBrowser的docker运行了改变密码长度的做法
运维·docker·容器