Submariner

Definition

Submariner is an open-source tool designed to facilitate network connectivity between Kubernetes clusters across different networks, such as those in different cloud providers or on-premises environments. It enables seamless communication between services in separate clusters by creating a secure overlay network, allowing for multi-cluster service discovery and communication without requiring complex network configurations.

Secure Settings Example

apiVersion: submariner.io/v1alpha1
kind: Submariner
metadata:
  name: submariner
spec:
  broker: kubeconfig
  brokerK8sApiServer: https://broker-api-server:6443
  brokerK8sApiServerToken: secure-token
  brokerK8sCA: |
    -----BEGIN CERTIFICATE-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA...
    -----END CERTIFICATE-----
  cableDriver: libreswan
  ipsecPSK: secure-psk
  natEnabled: true
  serviceDiscoveryEnabled: true

Insecure Settings Example

apiVersion: submariner.io/v1alpha1
kind: Submariner
metadata:
  name: submariner
spec:
  broker: kubeconfig
  brokerK8sApiServer: http://broker-api-server:8080
  brokerK8sApiServerToken: insecure-token
  brokerK8sCA: ""
  cableDriver: libreswan
  ipsecPSK: insecure-psk
  natEnabled: false
  serviceDiscoveryEnabled: false