Creating a site on Kubernetes using the Skupper CLI
Using the skupper command-line interface (CLI) allows you to create and manage sites from the context of the current namespace.
A typical workflow is to create a site, link sites together, and expose services to the application network.
Checking the Skupper CLI
Installing the skupper command-line interface (CLI) provides a simple method to get started with Skupper.
Follow the instructions for Installing Skupper.
Verify the installation.
skupper version COMPONENT VERSION cli 2.1.1
Creating a simple site using the CLI on Kubernetes
Prerequisites
- The
skupperCLI is installed. - The Skupper controller is running on the Kubernetes cluster.
Procedure
Check that the
SKUPPER_PLATFORMenvironment is unset or set tokubernetes.kubernetes- defaultpodmandockerlinux
Create a site on Kubernetes:
skupper site create <site-name> --namespace <namespace>Specifying the namespace is not required if the context is set to the namespace where you want to create the site. For example:
skupper site create my-site Waiting for status... Site "my-site" is ready.There are many options to consider when creating sites using the CLI, see CLI Reference, including frequently used options.
For example
--enable-link-accessIf enabled, this option allows you create tokens and link to this site. By default, this option is disabled but you can change the setting later
skupper site update --enable-link-access.--timeout <time>You can add the timeout option to specify the maximum time for the CLI wait for the site status to report
ready.skupper site create my-site --timeout 2mThe timeout option does not stop the site from being created, but if the site is not ready, the following is output:
Site "my-site" is not yet ready: PendingYou can check the status of the site at any time using
skupper site status.By default, the router CPU allocation is BestEffort as described in Pod Quality of Service Classes and this might affect performance under network load. To configure site resources, see Setting site resources.
Creating a high availability site using the CLI on Kubernetes
You can create a site that is highly available by using the ha option.
High availability mode is intended to maintain service continuity during router restarts or pod rescheduling, but it does not provide failover if network connectivity between sites is lost.
High availability mode deploys two router pods with anti-affinity rules to ensure service continuity during node failures.
Prerequisites
- The
skupperCLI is installed. - The Skupper controller is running on the Kubernetes cluster.
Procedure
Create a high availability site on Kubernetes:
skupper site create <site-name> --enable-haIf the site already exists, you can use the
updatecommand to enable high availability:skupper site update --enable-haTo verify that the site is running in high availability mode, run the following command:
kubectl get site -o yaml | grep haThe output should be similar to the following:
ha: trueWhen high availability mode is enabled, two router pods are created so that traffic can continue if one pod restarts or is rescheduled. High availability can also help during a node failure.
Deleting a site using the CLI on Kubernetes
Prerequisites
- The
skupperCLI is installed.
Procedure
Change context to the namespace where the site was created, for example:
kubectl config set-context --current --namespace westEnter the following command to delete a site:
skupper site delete