微服务资源描述

本文档主要介绍 ServiceMesh 类型 Microservices 的资源说明。

MicroService 资源参考

YAML 示例

apiVersion: asm.alauda.io/v1beta3
kind: MicroService
metadata:
  labels:
    app.cpaas.io/microservice-type: service-mesh
  name: xqren-s1
  namespace: xqren-ovn
spec:
  accessLogging:
    enabled: true
  auth:
    enabled: true
  deployments:
    - name: asm-test-image
  otelJavaAgent:
    enabled: false
  services:
    - name: xqren-s1
  sidecar:
    enabled: true
    cpuLimit: '0.1'
    memoryLimit: 256Mi
    envoyLogLevel: warning

顶层参数

Parameter NameRequiredTypeDescription
apiVersionYesstringAPI 版本,必须为 asm.alauda.io/v1beta3
kindYesstring资源对象类型,必须为 MicroService
metadataYesobject服务的元数据,包括服务名称(name)、命名空间(namespace)、标签(labels)和注解(annotations)。
specYesobject服务的详细信息,包括访问日志、Sidecar、OpenTelemetry Java Agent、Deployment 等服务配置选项。

spec 参数

  • deployments

    deployments 用于指定运行该服务的 Deployment。该 Deployment 必须与服务位于同一命名空间中。

    Parameter NameRequiredDescription
    nameYes与该服务关联的 Deployment 名称。
  • services

    services 用于描述与 deployments 一一对应 关联的服务。

    Service 必须满足以下条件:

    • 只有一个 service 与该服务的 Deployment 关联,且该 service 仅关联所选的 Deployment。

    • service 类型必须为 NodePortClusterIP

    • service 支持 HTTP、HTTP2、gRPC 和 TCP 协议。

    Parameter NameRequiredDescription
    nameYes服务名称。
  • accessLogging

    accessLogging 用于控制是否收集并在日志中输出访问当前服务的 Web 服务的访问日志(access log)。

    | Parameter Name | Required | Description | |------------------|----------|--------------| | enabled | No | 是否收集并在日志中输出访问当前服务的 Web 服务的访问日志(access log)。 |

  • auth

    auth 用于控制为该服务配置的黑白名单规则是否生效。

    | Parameter Name | Required | Description | |-------------------|----------|--------------| | enabled | No | 黑白名单规则是否生效,默认禁用。 |