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> --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-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)