k8s服务发布

一 、服务发布方式对比

二者主要区别在于:

  1. 部署复杂性:传统的服务发布方式通常涉及手动配置 和管理服务器、网络设置、负载均衡等,过程相对复 杂且容易出错。相比之下,Kubernetes服务发布方式 通过使用容器编排和自动化部署工具,简化了部署过程,使得服务的创建、部署和管理更加容易和高效。

  2. 弹性伸缩:Kubernetes 具有自动弹性伸缩功能,可 以根据实际需求自动增加或减少容器数量,以保持服 务的稳定性和性能。传统服务发布方式通常需要手动 调整服务器规模,难以实现快速弹性伸缩。

  3. 容错性:Kubernetes 具有内置的容错机制,当某个 容器出现故障时,Kubernetes 会自动将其从集群中 移除,并重新启动一个新的容器。这有助于保持服务 的可用性和稳定性。传统服务发布方式可能无法很好 地处理此类故障,导致服务中断。

  4. 资源利用率:Kubernetes 通过容器化技术,可以实 现资源的共享和动态分配,提高了资源的利用率。传 统服务发布方式可能会因服务器资源的浪费而降低资 源利用率。

  5. 可维护性:Kubernetes 提供了强大的可维护性功 能,例如服务发现、配置管理和版本控制等。这些功 能有助于简化服务的维护和升级过程。传统服务发布 方式可能需要更多的手动维护工作,且升级过程可能 更加复杂。

  6. 成本:虽然 Kubernetes 需要一定的学习曲线和初始 配置成本,但从长远来看,其自动化部署、弹性伸缩 和资源优化等功能可以帮助企业节省大量的运维成 本。传统服务发布方式可能需要更多的运维人力和资 源投入。

二、Label 和 Selector

Label:标签,可以对 K8S 的些对象,如 Pod 和节点 进行分组,通过添加 key=value 格式的标签,用于区 分同样的资源不同的分组。

Selector:标签选择器,可以根据资源标签查询出精 确的对象信息。

1. 自定义 Label

为某个节点添加标签 Label

在 deployment 或其他控制器中指定将 Pod 部署到该 节点

2. 污点信息

3. 为各节点设置 Label

4. Selector 选择器

5. 修改标签

将 subnet=ip7 这个标签改为 subnet=ip10,直接指定 key ,然后使用 --overwrite 参数重写标签

6. 删除标签

删除 node01 的 subnet=ip7 的标签

批量删除标签

三、Service

1. K8S 的 Service

Kubernetes(k8s)中的 Service 是一种抽象概念,它定 义了一种可以访问 Pod 逻辑分组的策略。它通常通过 Label Selector 访问 Pod 组,解决了 Pod 的 IP 地址可 能发生变化的问题。

2. 定义 Service

该示例为 my-service:80 即可访问到具有 app=nginx 标 签的 Pod 的80 端口上。 需要注意的是,Service 能够将一个接收端口映射到任意 的 targetPort,但如果 targetPort 为空,targetPort 将 被设置为与 Port 字段相同的值。targetPort 可以设置为 一个字符串,可引用 backend Pod 的一个端口的名称, 这样的话即使更改了 Pod 的端口,也不会对 Service 的 访问造成影响。 Kubernetes Service 能够支持 TCP、UDP、SCTP 等协 议,默认为 TCP 协议。

相关推荐
蝎子莱莱爱打怪14 小时前
GitLab CI/CD + Docker Registry + K8s 部署完整实战指南
后端·docker·kubernetes
阿里云云原生4 天前
阿里云获评 Agentic AI 开发平台领导者,函数计算 AgentRun 赢下关键分!
云原生
蝎子莱莱爱打怪4 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
崔小汤呀4 天前
Docker部署Nacos
docker·容器
缓解AI焦虑4 天前
Docker + K8s 部署大模型推理服务:资源划分与多实例调度
docker·容器
阿里云云原生4 天前
MSE Nacos Prompt 管理:让 AI Agent 的核心配置真正可治理
微服务·云原生
阿里云云原生4 天前
当 AI Agent 接管手机:移动端如何进行观测
云原生·agent
阿里云云原生4 天前
AI 原生应用开源开发者沙龙·深圳站精彩回顾 & PPT下载
云原生
阿里云云原生4 天前
灵感启发:日产文章 100 篇,打造“实时热点洞察”引擎
云原生
1candobetter5 天前
Docker Compose Build 与 Up 的区别:什么时候必须重建镜像
docker·容器·eureka