From f4c353dadba59bb52cdc156f0892c2918567cfe2 Mon Sep 17 00:00:00 2001 From: Yun Long Date: Fri, 2 Dec 2022 18:13:30 +0800 Subject: [PATCH] Add document of Admin --- docs/user-manual.md | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/docs/user-manual.md b/docs/user-manual.md index 0443c6d..4288b29 100644 --- a/docs/user-manual.md +++ b/docs/user-manual.md @@ -1,9 +1,11 @@ + # EaseMesh Manual - [EaseMesh Manual](#easemesh-manual) - [Introduction](#introduction) - [Installation](#installation) - [Client command tool](#client-command-tool) + - [Admin](#admin) - [Mesh service](#mesh-service) - [Tenant Spec](#tenant-spec) - [MeshService Spec](#meshservice-spec) @@ -52,6 +54,42 @@ Please check out [install.md](./install.md) to install the EaseMesh. The client command tool of the EaseMesh is `emctl`, please checkout [emctl.md](./emctl.md) for usages. +## Admin + +We implement the object `MeshController` running upon Easegress. The spec of MeshController could affect the general behavior of control plane. We could use `emctl apply` to update it, and its complete example and explanation would be: + +```yaml +apiVersion: mesh.megaease.com/v2alpha1 +kind: MeshController +metadata: + name: easemesh-controller +# HeartbeatInterval is the interval for one service instance reporting its heartbeat. +heartbeatInterval: 5s +# RegistryType indicates which protocol the registry center accepts. +registryType: consul +# APIPort is the port for worker's API server. +apiPort: 13009 +# IngressPort is the port for http server in mesh ingress. +ingressPort: 19527 +# External service registry name. +externalServiceRegistry: +# Clean old external registry data. +cleanExternalRegistry: true + +security: + mtlsMode: permissive # Support permissive, strict + certProvider: selfSign # Only support selfSign + rootCertTTL: 48h + appCertTTL: 24h # Must be less than or equal to rootCertTTL + +# Sidecar injection stuff, the values here are default ones +imageRegistryURL: docker.io +imagePullPolicy: IfNotPresent +sidecarImageName: megaease/easegress:server-sidecar +agentInitializerImageName: megaease/easeagent-initializer:latest +log4jConfigName: log4j2.xml +``` + ## Mesh service Services are the first-class citizens of the EaseMesh. Developers need to breakdown their business logic into small units and implement it as services. @@ -178,6 +216,8 @@ spec: ## MeshDeployment +> This Feature has been DELETED since v2.0.0. + > It will deprecated in version 1.4.0. We do not encourage to use it. Prefer to using with native deployment with dedicated annotation, refer to [Native deployment](#native-deployment). EaseMesh relies on Kubernetes for managing service instances and the resources they require. For example, we can scale the number of instances with the help of Kubernetes. In fact, EaseMesh uses a mechanism called [Kubernetes Custom Resource Define(CRD)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/) to combine the service metadata used by EaseMesh and Kubernetes original deployment. MeshDeployment can be used not only to deploy and manage service instances, it can also help us implement the canary deployment. @@ -761,4 +801,4 @@ spec: name: group-metrics matches: - metrics -``` \ No newline at end of file +```