This is the multi-page printable view of this section. Click here to print.
MultiCluster API Reference
1 - MultiCluster v1alpha1 API Reference
Packages:
flomesh.io/v1alpha1
Package v1alpha1 is the v1alpha1 version of the API.
Cluster
Cluster is the Schema for the clusters API
| Field | Description | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | flomesh.io/v1alpha1 | ||||||||||||||||
kindstring | Cluster | ||||||||||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||||||
specClusterSpec |
| ||||||||||||||||
statusClusterStatus |
GlobalTrafficPolicy
GlobalTrafficPolicy is the Schema for the GlobalTrafficPolicys API
| Field | Description | ||||
|---|---|---|---|---|---|
apiVersionstring | flomesh.io/v1alpha1 | ||||
kindstring | GlobalTrafficPolicy | ||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||
specGlobalTrafficPolicySpec |
| ||||
statusGlobalTrafficPolicyStatus |
ServiceExport
ServiceExport is the Schema for the ServiceExports API
| Field | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | flomesh.io/v1alpha1 | ||||||||||||
kindstring | ServiceExport | ||||||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||
specServiceExportSpec |
| ||||||||||||
statusServiceExportStatus |
ServiceImport
ServiceImport is the Schema for the ServiceImports API
| Field | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | flomesh.io/v1alpha1 | ||||||||||||
kindstring | ServiceImport | ||||||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||
specServiceImportSpec |
| ||||||||||||
statusServiceImportStatus |
ClusterConditionType
(string alias)
ClusterConditionType identifies a specific condition.
| Value | Description |
|---|---|
"Managed" | ClusterManaged means that the cluster has joined the CLusterSet successfully and is managed by Control Plane. |
ClusterSpec
(Appears on:Cluster)
ClusterSpec defines the desired state of Cluster
| Field | Description |
|---|---|
regionstring | Region, the locality information of this cluster |
zonestring | Zone, the locality information of this cluster |
groupstring | Group, the locality information of this cluster |
gatewayHoststring | GatewayHost, the Full Qualified Domain Name or IP of the gateway/ingress of this cluster If it’s an IP address, only IPv4 is supported |
gatewayPortint32 | The port number of the gateway |
kubeconfigstring | Kubeconfig, The kubeconfig of the cluster you want to connnect to This’s not needed if ClusterMode is InCluster, it will use InCluster config |
fsmMeshConfigNamestring | (Optional) FsmMeshConfigName, defines the name of the MeshConfig of managed cluster |
fsmNamespacestring | FsmNamespace, defines the namespace of managed cluster in which fsm is installed |
ClusterStatus
(Appears on:Cluster)
ClusterStatus defines the observed state of Cluster
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) |
Endpoint
(Appears on:ServicePort)
Endpoint represents a single logical “backend” implementing a service.
| Field | Description |
|---|---|
targetTarget | |
clusterKeystring |
GlobalTrafficPolicySpec
(Appears on:GlobalTrafficPolicy)
GlobalTrafficPolicySpec defines the desired state of GlobalTrafficPolicy
| Field | Description |
|---|---|
lbTypeLoadBalancerType | Type of global load distribution |
targets[]TrafficTarget | (Optional) |
GlobalTrafficPolicyStatus
(Appears on:GlobalTrafficPolicy)
GlobalTrafficPolicyStatus defines the observed state of GlobalTrafficPolicy
LoadBalancerType
(string alias)
(Appears on:GlobalTrafficPolicySpec)
LoadBalancerType defines the type of load balancer
| Value | Description |
|---|---|
"ActiveActive" | ActiveActiveLbType is the type of load balancer that distributes traffic to all targets |
"FailOver" | FailOverLbType is the type of load balancer that distributes traffic to the first available target |
"Locality" | LocalityLbType is the type of load balancer that distributes traffic to targets in the same locality |
PathRewrite
(Appears on:ServiceExportSpec)
PathRewrite defines the rewrite rule for service export
| Field | Description |
|---|---|
fromstring | |
tostring |
ServiceExportConditionType
(string alias)
ServiceExportConditionType identifies a specific condition.
| Value | Description |
|---|---|
"Conflict" | ServiceExportConflict means that there is a conflict between two exports for the same Service. When “True”, the condition message should contain enough information to diagnose the conflict: field(s) under contention, which cluster won, and why. Users should not expect detailed per-cluster information in the conflict message. |
"Valid" | ServiceExportValid means that the service referenced by this service export has been recognized as valid by controller. This will be false if the service is found to be unexportable (ExternalName, not found). |
ServiceExportRule
(Appears on:ServiceExportSpec)
ServiceExportRule defines the rule for service export
| Field | Description |
|---|---|
portNumberint32 | The port number of service |
pathstring | Path is matched against the path of an incoming request. Currently it can contain characters disallowed from the conventional “path” part of a URL as defined by RFC 3986. Paths must begin with a ‘/’ and must be present when using PathType with value “Exact” or “Prefix”. |
pathTypeKubernetes networking/v1.PathType |
ServiceExportSpec
(Appears on:ServiceExport)
ServiceExportSpec defines the desired state of ServiceExport
| Field | Description |
|---|---|
pathRewritePathRewrite | (Optional) PathRewrite, it shares ONE rewrite rule for the same ServiceExport |
sessionStickybool | (Optional) Indicates if session sticky is enabled |
loadBalancergithub.com/flomesh-io/fsm/pkg/apis.AlgoBalancer | (Optional) The LoadBalancer Type applied to the Ingress Rules those created by the ServiceExport |
rules[]ServiceExportRule | The paths for accessing the service via Ingress controller |
targetClusters[]string | (Optional) If empty, service is exported to all managed clusters. If not empty, service is exported to specified clusters, must be in format [region]/[zone]/[group]/[cluster] |
serviceAccountNamestring | (Optional) The ServiceAccount associated with this service |
ServiceExportStatus
(Appears on:ServiceExport)
ServiceExportStatus defines the observed state of ServiceExport
| Field | Description |
|---|---|
conditions[]Kubernetes meta/v1.Condition | (Optional) |
ServiceImportSpec
(Appears on:ServiceImport)
ServiceImportSpec describes an imported service and the information necessary to consume it.
| Field | Description |
|---|---|
ports[]ServicePort | |
ips[]string | (Optional) ip will be used as the VIP for this service when type is ClusterSetIP. |
typeServiceImportType | (Optional) type defines the type of this service. Must be ClusterSetIP or Headless. |
sessionAffinityKubernetes core/v1.ServiceAffinity | (Optional) Supports “ClientIP” and “None”. Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. Ignored when type is Headless More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies |
sessionAffinityConfigKubernetes core/v1.SessionAffinityConfig | (Optional) sessionAffinityConfig contains session affinity configuration. |
serviceAccountNamestring | (Optional) The ServiceAccount associated with this service |
ServiceImportStatus
(Appears on:ServiceImport)
ServiceImportStatus describes derived state of an imported service.
| Field | Description |
|---|---|
clusters[]SourceStatus | (Optional) clusters is the list of exporting clusters from which this service was derived. |
ServiceImportType
(string alias)
(Appears on:ServiceImportSpec)
ServiceImportType designates the type of a ServiceImport
| Value | Description |
|---|---|
"ClusterSetIP" | ClusterSetIP are only accessible via the ClusterSet IP. |
"Headless" | Headless services allow backend pods to be addressed directly. |
ServicePort
(Appears on:ServiceImportSpec)
ServicePort represents the port on which the service is exposed
| Field | Description |
|---|---|
namestring | (Optional) The name of this port within the service. This must be a DNS_LABEL. All ports within a ServiceSpec must have unique names. When considering the endpoints for a Service, this must match the ‘name’ field in the EndpointPort. Optional if only one ServicePort is defined on this service. |
protocolKubernetes core/v1.Protocol | (Optional) The IP protocol for this port. Supports “TCP”, “UDP”, and “SCTP”. Default is TCP. |
appProtocolstring | (Optional) The application protocol for this port. This field follows standard Kubernetes label syntax. Un-prefixed names are reserved for IANA standard service names (as per RFC-6335 and http://www.iana.org/assignments/service-names). Non-standard protocols should use prefixed names such as mycompany.com/my-custom-protocol. Field can be enabled with ServiceAppProtocol feature gate. |
portint32 | The port that will be exposed by this service. |
endpoints[]Endpoint | The address of accessing the service |
SourceStatus
(Appears on:ServiceImportStatus)
SourceStatus contains service configuration mapped to a specific source cluster
| Field | Description |
|---|---|
clusterstring | cluster is the name of the exporting cluster. Must be a valid RFC-1123 DNS label. |
addresses[]string | in-cluster service, it’s the cluster IPs otherwise, it’s the url of accessing that service in remote cluster for example, http(s)://[Ingress IP/domain name]:[port]/[path] |
Target
(Appears on:Endpoint)
Target represents a single logical “backend” implementing a service.
| Field | Description |
|---|---|
hoststring | |
ipstring | |
portint32 | |
pathstring |
TrafficTarget
(Appears on:GlobalTrafficPolicySpec)
TrafficTarget defines the target of traffic
| Field | Description |
|---|---|
clusterKeystring | Format: [region]/[zone]/[group]/[cluster] |
weightint | (Optional) |
Generated with gen-crd-api-reference-docs
on git commit 8abe9ab.