分类目录归档:云原生

docker-compose中如何控制服务启动次序与依赖关系


在 Docker Compose 中,可以使用 depends_on 关键字来控制服务之间的启动顺序。但需要注意的是,depends_on 只能确保服务按照指定的顺序启动,并不能保证依赖的服务已经完全就绪。

如果需要处理服务之间的依赖关系,可以结合使用 command 和 healthcheck 来实现。

使用 command:你可以在服务的配置中使用 command 关键字来执行一个命令或脚本。通过在命令中检查依赖的服务是否可用,可以控制服务的启动顺序。

例如,假设有两个服务 service-a 和 service-b,service-a 依赖于 service-b。你可以在 serv...

Read more

labels-selectors-标签与选择器-kubernetes


在 Kubernetes 中,标签(Labels)和选择器(Selectors)是用来对 Kubernetes 对象进行分类、分组和关联的重要概念。

标签(Labels):

标签是键值对的形式,可以附加到 Kubernetes 对象上,用于对对象进行识别和分类。 例如,一个 Pod 对象可以有标签 "app: frontend"、"tier: web",这些标签可以描述该 Pod 的应用、服务层级等信息。 标签通常用于标识对象的属性或特征,但不直接用于控制对象的行为。 标签的键值对可以根据实际需求自由定义,如环境、应用类型、版本号等。 选择器(Selectors):

选择器是用于根据标签...

Read more

object-对象-kubernetes


object

在 Kubernetes 中,对象是指 Kubernetes 管理的任何实体,它表示集群中的一种状态(如容器化应用、服务、副本控制器等)或者关于集群状态的信息(如 API 资源对象)。Kubernetes 使用对象来描述你希望系统具有的状态,以及你希望应用程序在集群中运行的方式。

以下是 Kubernetes 中常见的一些对象:

Pod(容器组):是 Kubernetes 中最小的调度单元,它可以包含一个或多个容器。Pod 是部署、水平扩展和管理的基本单位。

Service(服务):定义了一组 Pod 的访问规则,通常用于提供持久的网络连接,以便其他应用程序可以访问该组 ...

Read more

OAM


OAM

  1. 定义
  2. Open Application Model(OAM)是一种用于描述和管理云原生应用程序的规范。它旨在提供一个标准化的方式来定义应用的各个组件、它们之间的关系以及如何在云原生环境中进行部署和运维。
  3. 核心概念
  4. Component(组件)
    • 这是OAM应用的基本构建块。一个组件可以是一个微服务、一个数据库、一个消息队列等。例如,一个基于Spring Boot开发的用户认证微服务就是一个组件,它有自己的代码、配置文件等。组件定义了应用的功能单元,并且可以独立开发、测试和部署。
  5. Trait(特性)
    • 用于描述组件的非功能性需求。比如,一个组件可能需要具备高可用性、自动伸缩、日志记...

Read more

ingress-k8s


ingress Ingress 是 Kubernetes 中的一个 API 对象,用于将外部的 HTTP 和 HTTPS 流量路由到集群内部的服务。它充当了集群和外部世界之间的入口点,可以实现负载均衡、TLS 终止(通过 HTTPS 支持)和基于域名的路由等功能。

使用 Ingress,您可以定义一组规则来指定流量如何路由到不同的服务。这些规则通常基于域名、路径或其他 HTTP 请求标头进行匹配,并将流量转发到相应的后端服务。它可以与不同的 Ingress 控制器(例如 Nginx Ingress Controller、Traefik、HAProxy 等)配合使用,具体取决于您的选择和集...

Read more