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 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string | flomesh.io/v1alpha1 | ||||||||||||||||
kind string | Cluster | ||||||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||||||
spec ClusterSpec |
| ||||||||||||||||
status ClusterStatus |
GlobalTrafficPolicy
GlobalTrafficPolicy is the Schema for the GlobalTrafficPolicys API
Field | Description | ||||
---|---|---|---|---|---|
apiVersion string | flomesh.io/v1alpha1 | ||||
kind string | GlobalTrafficPolicy | ||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||
spec GlobalTrafficPolicySpec |
| ||||
status GlobalTrafficPolicyStatus |
ServiceExport
ServiceExport is the Schema for the ServiceExports API
Field | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string | flomesh.io/v1alpha1 | ||||||||||||
kind string | ServiceExport | ||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||
spec ServiceExportSpec |
| ||||||||||||
status ServiceExportStatus |
ServiceImport
ServiceImport is the Schema for the ServiceImports API
Field | Description | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersion string | flomesh.io/v1alpha1 | ||||||||||||
kind string | ServiceImport | ||||||||||||
metadata Kubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||
spec ServiceImportSpec |
| ||||||||||||
status ServiceImportStatus |
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 |
---|---|
region string | Region, the locality information of this cluster |
zone string | Zone, the locality information of this cluster |
group string | Group, the locality information of this cluster |
gatewayHost string | 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 |
gatewayPort int32 | The port number of the gateway |
kubeconfig string | Kubeconfig, The kubeconfig of the cluster you want to connnect to This’s not needed if ClusterMode is InCluster, it will use InCluster config |
fsmMeshConfigName string | (Optional) FsmMeshConfigName, defines the name of the MeshConfig of managed cluster |
fsmNamespace string | 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 |
---|---|
target Target | |
clusterKey string |
GlobalTrafficPolicySpec
(Appears on:GlobalTrafficPolicy)
GlobalTrafficPolicySpec defines the desired state of GlobalTrafficPolicy
Field | Description |
---|---|
lbType LoadBalancerType | 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 |
---|---|
from string | |
to string |
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 |
---|---|
portNumber int32 | The port number of service |
path string | 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”. |
pathType Kubernetes networking/v1.PathType |
ServiceExportSpec
(Appears on:ServiceExport)
ServiceExportSpec defines the desired state of ServiceExport
Field | Description |
---|---|
pathRewrite PathRewrite | (Optional) PathRewrite, it shares ONE rewrite rule for the same ServiceExport |
sessionSticky bool | (Optional) Indicates if session sticky is enabled |
loadBalancer github.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] |
serviceAccountName string | (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. |
type ServiceImportType | (Optional) type defines the type of this service. Must be ClusterSetIP or Headless. |
sessionAffinity Kubernetes 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 |
sessionAffinityConfig Kubernetes core/v1.SessionAffinityConfig | (Optional) sessionAffinityConfig contains session affinity configuration. |
serviceAccountName string | (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 |
---|---|
name string | (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. |
protocol Kubernetes core/v1.Protocol | (Optional) The IP protocol for this port. Supports “TCP”, “UDP”, and “SCTP”. Default is TCP. |
appProtocol string | (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. |
port int32 | 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 |
---|---|
cluster string | 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 |
---|---|
host string | |
ip string | |
port int32 | |
path string |
TrafficTarget
(Appears on:GlobalTrafficPolicySpec)
TrafficTarget defines the target of traffic
Field | Description |
---|---|
clusterKey string | Format: [region]/[zone]/[group]/[cluster] |
weight int | (Optional) |
Generated with gen-crd-api-reference-docs
on git commit 8abe9ab
.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.