SQL Processor Deployment
This page describes how to configure the agent to deploy and manage SQL Processors for stream processing.
Last updated
Was this helpful?
Was this helpful?
lenses.sql.execution.mode = KUBERNETES
# kubernetes configuration
lenses.kubernetes.config.file = "/home/lenses/.kube/config"
lenses.kubernetes.service.account = "default"
#lenses.kubernetes.processor.image.name = "" # Only needed if you use a custom image
#lenses.kubernetes.processor.image.tag = "" # Only needed if you use a custom image
# Only needed if you want to tune the buffer size for incoming events from Kubernetes
#lenses.deployments.errors.buffer.size = 1000
# Only needed if you want to tune the buffer size for incoming errors from Kubernetes WS communication
#lenses.deployments.events.buffer.size = 10000mkdir -p processor-docker/serdeFROM lensesioextra/sql-processor:4.2
ADD serde /opt/serde
ENV LENSES_SQL_RUNNERS_SERDE_CLASSPATH_OPTS=/opt/serdecd processor-docker
docker build -t example/lsql-processor .lenses.kubernetes.processor.image.name = "your/image-name"
lenses.kubernetes.processor.image.tag = "your-tag"rbacEnable: truekind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: [ROLE_NAME]
namespace: [PROCESSORS_NAMESPACE]
rules:
- apiGroups: [""]
resources:
- namespaces
- persistentvolumes
- persistentvolumeclaims
- pods/log
verbs:
- list
- watch
- get
- create
- apiGroups: ["", "extensions", "apps"]
resources:
- pods
- replicasets
- deployments
- ingresses
- secrets
- statefulsets
- services
verbs:
- list
- watch
- get
- update
- create
- delete
- patch
- apiGroups: [""]
resources:
- events
verbs:
- list
- watch
- getkind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: [ROLE_BINDING_NAME]
namespace: [PROCESSOR_NAMESPACE]
subjects:
- kind: ServiceAccount
namespace: [LENSES_NAMESPACE]
name: [SERVICE_ACCOUNT_NAME]
roleRef:
kind: Role
name: [ROLE_NAME]
apiGroup: rbac.authorization.k8s.iokind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: processor-role
namespace: lenses-proc-ns
rules:
- apiGroups: [""]
resources:
- namespaces
- persistentvolumes
- persistentvolumeclaims
- pods/log
verbs:
- list
- watch
- get
- create
- apiGroups: ["", "extensions", "apps"]
resources:
- pods
- replicasets
- deployments
- ingresses
- secrets
- statefulsets
- services
verbs:
- list
- watch
- get
- update
- create
- delete
- patch
- apiGroups: [""]
resources:
- events
verbs:
- list
- watch
- getkind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: processor-role-binding
namespace: lenses-proc-ns
subjects:
- kind: ServiceAccount
namespace: lenses-ns
name: default
roleRef:
kind: Role
name: processor-role
apiGroup: rbac.authorization.k8s.iolenses:
append:
conf: |
lenses.kubernetes.namespaces = {
incluster = [
"[PROCESSORS NAMESPACE]"
]
} lenses:
append:
conf: |
lenses.kubernetes.namespaces = {
incluster = [
"lenses-processors"
]
}