Advanced Service Configuration

The serviceSpec section is an optional section that provides advanced configuration controls over the services that are allocated to handle DDL and DML queries.

In addition to objectMetaOverrides, you can specify the following options in this section:

  • type determines how the service is exposed. Valid options are ClusterIP, NodePort, or LoadBalancer. Default is LoadBalancer.

  • loadBalancerIP is the IP address of the load balancer if you need to manage it.

  • loadBalancerSourceRanges specifies the list of CIDR blocks to add to the load balancer.

  • externalTrafficPolicy specifies if the service routes external network traffic to either node-local or cluster-wide endpoints. Valid options are Local or Cluster. Default is Cluster.

  • headless specifies whether the service is a headless service or not. A headless service keeps track of its selected pods, but otherwise does not enable any network functionality.

If you need to specify these values, add the following section to the sdb-cluster.yaml file as shown below.

serviceSpec:
type: "LoadBalancer"
loadBalancerIP: "1.2.3.4"
loadBalancerSourceRanges: [ "0.0.0.0/0" ]
externalTrafficPolicy: "Cluster"
headless: false
objectMetaOverrides:
labels:
custom: label
annotations:
custom: annotations

Refer to the Kubernetes documentation for more information about these attributes.

By default, the nodes are assigned public IPs. You must add annotations for the nodes to be assigned private IPs.

As of Operator 1.2.4, service creation can be disabled by setting the disableDDLAndDMLService field to true in serviceSpec. This will ignore all other fields in serviceSpec, will not create new services, and will delete those services that were already created.

serviceSpec:
disableDDLAndDMLService: true

Last modified: February 21, 2023

Was this article helpful?

Verification instructions

Note: You must install cosign to verify the authenticity of the SingleStore file.

Use the following steps to verify the authenticity of singlestoredb-server, singlestoredb-toolbox, singlestoredb-studio, and singlestore-client SingleStore files that have been downloaded.

You may perform the following steps on any computer that can run cosign, such as the main deployment host of the cluster.

  1. (Optional) Run the following command to view the associated signature files.

    curl undefined
  2. Download the signature file from the SingleStore release server.

    • Option 1: Click the Download Signature button next to the SingleStore file.

    • Option 2: Copy and paste the following URL into the address bar of your browser and save the signature file.

    • Option 3: Run the following command to download the signature file.

      curl -O undefined
  3. After the signature file has been downloaded, run the following command to verify the authenticity of the SingleStore file.

    echo -n undefined |
    cosign verify-blob --certificate-oidc-issuer https://oidc.eks.us-east-1.amazonaws.com/id/CCDCDBA1379A5596AB5B2E46DCA385BC \
    --certificate-identity https://kubernetes.io/namespaces/freya-production/serviceaccounts/job-worker \
    --bundle undefined \
    --new-bundle-format -
    Verified OK