容器编排 - 了解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进行


总结

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

相关推荐
吹牛不交税16 分钟前
vue3项目部署到阿里云Alibaba Cloud Linux3系统的docker
docker·容器·.netcore
Elastic 中国社区官方博客1 小时前
使用 Azure SRE Agent 和 Elasticsearch 提升 SRE 生产力
大数据·人工智能·elasticsearch·microsoft·搜索引擎·云原生·azure
cyber_两只龙宝8 小时前
【Haproxy】Haproxy的算法详解及配置
linux·运维·服务器·云原生·负载均衡·haproxy·调度算法
程序员小远9 小时前
软件测试之功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
火车叼位10 小时前
Docker Compose 网络原理与实战:同一 Compose 服务间如何稳定通信
运维·docker·容器
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ12 小时前
ubuntu 安装部署docker教程
linux·ubuntu·docker
D愿你归来仍是少年13 小时前
Kubernetes(K8s)系统学习指南
容器·kubernetes
D愿你归来仍是少年14 小时前
Docker 深入学习指南
docker·容器
岁岁种桃花儿14 小时前
kubenetes从入门到上天系列第十九篇:Kubernetes安装Nginx ingress controller
java·nginx·kubernetes
三流架构师14 小时前
期末试卷资源合集
经验分享