liqoctl peer
Enable a peering towards a remote cluster
Description
Synopsis
Enable a peering towards a remote provider cluster.
In Liqo, a peering is a unidirectional resource and service consumption relationship between two Kubernetes clusters, with one cluster (i.e., the consumer) granted the capability to offload tasks in a remote cluster (i.e., the provider), but not vice versa. Bidirectional peerings can be achieved through their combination. The same cluster can play the role of provider and consumer in multiple peerings.
This commands enables a peering towards a remote provider cluster, performing the following operations:
[optional] ensure networking between the two clusters
ensure authentication between the two clusters (Identity in consumer cluster, Tenant in provider cluster)
[optional] create ResourceSlice in consumer cluster and wait for it to be accepted by the provider cluster
[optional] create VirtualNode in consumer cluster
liqoctl peer [flags]
Examples
$ liqoctl peer --remote-kubeconfig <provider>
$ liqoctl peer --remote-kubeconfig <provider> --gw-server-service-type NodePort
$ liqoctl peer --remote-kubeconfig <provider> --cpu 2 --memory 4Gi --pods 10
$ liqoctl peer --remote-kubeconfig <provider> --cpu 2 --memory 4Gi --pods 10 --resource nvidia.com/gpu=2
$ liqoctl peer --remote-kubeconfig <provider> --create-resource-slice false
$ liqoctl peer --remote-kubeconfig <provider> --create-virtual-node false
Options
--cluster string:
The name of the kubeconfig cluster to use
--context string:
The name of the kubeconfig context to use
--cpu string:
The amount of CPU requested for the VirtualNode
--create-resource-slice
Create a ResourceSlice for the peering (default true)
--create-virtual-node
Create a VirtualNode for the peering (default true)
--gw-client-address string:
Define the address used by the gateway client to connect to the gateway server. This value overrides the one automatically retrieved by Liqo and it is useful when the server is not directly reachable (e.g. the server is behind a NAT)
--gw-client-port int32:
Define the port used by the gateway client to connect to the gateway server. This value overrides the one automatically retrieved by Liqo and it is useful when the server is not directly reachable (e.g. the server is behind a NAT)
--gw-server-service-loadbalancerip string:
IP of the LoadBalancer for the Gateway Server service
--gw-server-service-location string:
Location of the service to expose the Gateway Server (“Consumer” or “Provider”). Default: “Provider” (default “Provider”)
--gw-server-service-nodeport int32:
Force the NodePort of the Gateway Server service. Leave empty to let Kubernetes allocate a random NodePort
--gw-server-service-port int32:
Port of the Gateway Server service. Default: 51840 (default 51840)
--gw-server-service-type string:
Service type of the Gateway Server service. Default: LoadBalancer. Note: use ClusterIP only if you know what you are doing and you have a proper network configuration (default “LoadBalancer”)
--in-band
Use in-band authentication. Use it only if required and if you know what you are doing
--kubeconfig string:
Path to the kubeconfig file to use for CLI requests
--memory string:
The amount of memory requested for the VirtualNode
--mtu int:
MTU of the Gateway server and client. Default: 1340 (default 1340)
-n, --namespace string:
The namespace where Liqo is installed in (default “liqo”)
--networking-disabled
Disable networking between the two clusters
--pods string:
The amount of pods requested for the VirtualNode
--proxy-url string:
The URL of the proxy to use for the communication with the remote cluster
--remote-cluster string:
The name of the kubeconfig cluster to use (in the remote cluster)
--remote-context string:
The name of the kubeconfig context to use (in the remote cluster)
--remote-kubeconfig string:
Path to the kubeconfig file to use for CLI requests (in the remote cluster)
--remote-namespace string:
The namespace where Liqo is installed in (in the remote cluster) (default “liqo”)
--remote-user string:
The name of the kubeconfig user to use (in the remote cluster)
--resource stringToString:
Other resources requested for the VirtualNode (e.g., ‘–resource=nvidia.com/gpu=2’)
--resource-slice-class string:
The class of the ResourceSlice (default “default”)
--skip-validation
Skip the validation
--timeout duration:
Timeout for peering completion (default 10m0s)
--user string:
The name of the kubeconfig user to use
-v, --verbose
Enable verbose logs (default false)
Global options
--global-annotations stringToString:
Global annotations to be added to all created resources (key=value)
--global-labels stringToString:
Global labels to be added to all created resources (key=value)
--skip-confirm
Skip the confirmation prompt (suggested for automation)