Configuring Skupper sites using YAML

Using YAML files to configure Skupper allows you to use source control to track and manage Skupper network changes.

Installing Skupper using YAML

Installing Skupper using YAML provides a declarative method to install Skupper. You can store your YAML files in source control to track and manage Skupper network changes.

Prerequisites
  • Access to a Kubernetes cluster

Procedure
  1. Log into your cluster. If you are deploying Skupper to be available for all namespaces, make sure you have cluster-admin privileges.

  2. Deploy the site controller:

    1. To install Skupper into the current namespace deploy the site controller using the following YAML:

      kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/0.5.2/cmd/site-controller/deploy-watch-current-ns.yaml
    2. To install Skupper for all namespaces, deploy the site controller using the following YAML:

      kubectl apply -f https://raw.githubusercontent.com/skupperproject/skupper/0.5.2/cmd/site-controller/deploy-watch-all-ns.yaml
  3. Verify the installation.

    $ oc get pods
    NAME                                       READY   STATUS    RESTARTS   AGE
    skupper-site-controller-84694bdbb5-n8slb   1/1     Running   0          75s

Creating a Skupper site using YAML

Using YAML files to create Skupper sites allows you to use source control to track and manage Skupper network changes.

Prerequisites
  • Skupper is installed in the cluster or namespace you want to target

  • You are logged into the cluster

Procedure
  1. Create a YAML file to define the site, for example, my-site.yaml:

    apiVersion: v1
    data:
      cluster-local: "false"
      console: "true"
      console-authentication: internal
      console-password: "rubble"
      console-user: "barney"
      edge: "true"
      name: my-site
      router-console: "true"
      service-controller: "true"
      service-sync: "true"
    kind: ConfigMap
    metadata:
      name: skupper-site
  2. Apply the YAML file to your cluster:

    kubectl apply -f ~/my-site.yml
Additional resources

See the Site ConfigMap YAML reference section for more reference.

Site ConfigMap YAML reference

Using YAML files to configure Skupper requires that you understand all the fields so that you provision the site you require.

The following YAML defines a Skupper site:

apiVersion: v1
data:
  cluster-local: "false" (1)
  console: "true" (2)
  console-authentication: internal (3)
  console-user: "username" (4)
  console-password: "password" (5)
  edge: "false" (6)
  name: my-site (7)
  router-console: "true" (8)
  service-controller: "true" (9)
  service-sync: "true" (10)
kind: ConfigMap
metadata:
  name: skupper-site (11)
1 Only accept connections from within the local cluster, defaults to false.
2 Enables the skupper console, defaults to true.
3 Specifies the skupper console authentication method. The options are openshift, internal, unsecured.
4 Username for the internal authentication option.
5 Password for the internal authentication option.
6 Specifies whether an edge site is created, defaults to false.
7 Specifies the site name.
8 Enables the router console, defaults to false.
9 Specifies whether the service controller runs, defaults to true.
10 Specifies whether the services are synchronized across the service network, defaults to true.