Note: Intended for demonstration purposes only. Performance of OoklaServer in Kubernetes has not been tested. Configuration should be adjusted based on resource and network requirements.
This chart deploys OoklaServer on a Kubernetes cluster using the Helm package manager and is intended to be used with the OoklaServer Docker Image.
To install OoklaServer using Helm using the default values, run the following command:
helm upgrade --install ooklaserver .
The sessionAffinity option is hard coded to ClientIP in the service.yaml file. This should not be changed, as session affinity is required for OoklaServer test accuracy.
By default, the service type is set to NodePort and ingress is disabled.
The service type can be updated via the service.type value.
--set service.type=LoadBalancer
To enable ingress, set ingress.enabled to true.
--set ingress.enabled=true
This will create an ingress resource in the same namespace as the OoklaServer deployment.
To include optional files mentioned in the OoklaServer Docker Image README, add one or more of the following options:
helm upgrade --install ooklaserver .
--set ooklaServer.localFiles.certificateFile=certs/yourcert.pem
--set ooklaServer.localFiles.privateKeyFile=certs/yourKey.key
--set ooklaServer.localFiles.caBundle=certs/yourCA.pem
--set ooklaServer.localFiles.propertiesFile=OoklaServer.properties
If no properties file is provided, the values.yaml parameters in the table below are used to write to a properties file via the config map located in templates/configmap.yaml.
If additional properties are required, they should be added to the config map.
| Parameter | Description | Default |
|---|---|---|
ooklaServer.properties.OoklaServer.enableAutoUpdate | Enable auto update | false |
ooklaServer.properties.OoklaServer.useIPv6 | Use IPv6 | true |
ooklaServer.properties.OoklaServer.ssl.useLetsEncrypt | Use LetsEncrypt | true |
ooklaServer.properties.OoklaServer.clientAuthToken.denyInvalid | Deny invalid client auth token | true |
ooklaServer.properties.OoklaServer.tcpPorts | TCP ports | 5060,8080 |
ooklaServer.properties.OoklaServer.udpPorts | UDP ports | 5060,8080 |
ooklaServer.properties.OoklaServer.allowedDomains | Allowed domains | * |
ooklaServer.properties.OoklaServer.userAgentFilterEnabled | Enable user agent filter | false |
ooklaServer.properties.OoklaServer.host.id | Host ID | "" |
ooklaServer.properties.OoklaServer.workerThreadPool.capacity | Worker thread pool capacity | 30000 |
ooklaServer.properties.OoklaServer.workerThreadPool.stackSizeBytes | Worker thread pool stack size | 102400 |
ooklaServer.properties.OoklaServer.ipTracking.gcIntervalMinutes | IP tracking garbage collection interval | 5 |
ooklaServer.properties.OoklaServer.ipTracking.maxIdleAgeMinutes | IP tracking max idle age | 35 |
ooklaServer.properties.OoklaServer.ipTracking.slidingWindowBucketLengthMinutes | IP tracking sliding window bucket length | 5 |
ooklaServer.properties.OoklaServer.ipTracking.metricTopIpCount | IP tracking metric top IP count | 5 |
ooklaServer.properties.OoklaServer.ipTracking.maxConnPerIp | IP tracking max connections per IP | 500 |
ooklaServer.properties.OoklaServer.ipTracking.maxConnPerBucketPerIp | IP tracking max connections per bucket per IP | 20000 |
ooklaServer.properties.OoklaServer.websocket.frameSizeLimitBytes | Websocket frame size limit | 5242880 |
ooklaServer.properties.OoklaServer.http.maxHeadersSize | HTTP max headers size | 65536 |
ooklaServer.properties.OoklaServer.openSSL.server.minimumTLSProtocol | OpenSSL server minimum TLS protocol | 1.2 |
ooklaServer.properties.OoklaServer.logging.loggers.app.name | Application logger name | Application |
ooklaServer.properties.OoklaServer.logging.loggers.app.level | Application logger level | information |
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.class | Application logger channel class | ConsoleChannel |
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.pattern | Application logger channel pattern | %Y-%m-%d %H:%M:%S [%P - %I] [%p] %t |
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.path | Application logger channel path | "" |
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.rotation | Application logger channel rotation | "" |
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.archive | Application logger channel archive | "" |
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.compress | Application logger channel compress | "" |
ooklaServer.properties.OoklaServer.logging.loggers.app.channel.purgeCount | Application logger channel purge count | "" |
ooklaServer.properties.OoklaServer.logging.loggers.access.name | Access logger name | "" |
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.class | Access logger channel class | "" |
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.pattern | Access logger channel pattern | "" |
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.path | Access logger channel path | "" |
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.rotation | Access logger channel rotation | "" |
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.archive | Access logger channel archive | "" |
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.compress | Access logger channel compress | "" |
ooklaServer.properties.OoklaServer.logging.loggers.access.channel.purgeCount | Access logger channel purge count | "" |
The following parameters can be used to specify the OoklaServer image and container.
| Parameter | Description | Default |
|---|---|---|
image.repository | OoklaServer image repository | ookla/ooklaserver |
image.tag | OoklaServer image tag | latest |
image.pullPolicy | OoklaServer image pull policy | IfNotPresent |
imagePullSecrets | Image pull secrets | [] |
container.environment | Environment variables for the container | {} |
container.user | OoklaServer user | ooklaserver |
container.group | OoklaServer group | ooklaserver |
container.volumes.configVolume | OoklaServer config volume | ooklaserver-config-vol |
container.volumes.secretVolume | OoklaServer secret volume | ooklaserver-secret-vol |
ooklaServer.localFiles.certificateFile | Certificate file | "" |
ooklaServer.localFiles.privateKeyFile | Private key file | "" |
ooklaServer.localFiles.caBundle | CA bundle | "" |
ooklaServer.localFiles.propertiesFile | Properties file | "" |
The following parameters can be used to configure the cluster, service, and ingress.
| Parameter | Description | Default |
|---|---|---|
nameOverride | Override the name of the chart | "" |
fullnameOverride | Override the full name of the chart | "" |
replicaCount | Number of OoklaServer replicas | 1 |
serviceAccount.create | Specifies whether a service account should be created | true |
serviceAccount.annotations | Annotations to add to the service account | {} |
serviceAccount.name | The name of the service account to use. If not set and create is true, a name is generated using the fullname template | "" |
podAnnotations | Annotations to add to the pod | {} |
podSecurityContext | Security context for the pod | {} |
securityContext | Security context for the container | {} |
ingress.enabled | Specifies whether ingress should be enabled | false |
ingress.className | Ingress class name | nginx |
ingress.annotations | Annotations to add to the ingress | {} |
ingress.hosts | Ingress hosts | [] |
ingress.paths | Ingress paths | [] |
ingress.tls | Ingress TLS | [] |
service.type | Service type | NodePort |
service.externalTrafficPolicy | External traffic policy | Local |
service.internalTrafficPolicy | Internal traffic policy | Local |
service.nodePort | Node port | 31202 |
service.port | Port | 8080 |
service.portProtocol | Port protocol | TCP |
service.secondaryNodePort | Secondary node port | 31203 |
service.secondaryPort | Secondary port | 5060 |
service.secondaryPortProtocol | Secondary port protocol | UDP |
resources | Resource requests and limits | {} |
autoscaling.enabled | Specifies whether autoscaling should be enabled | false |
autoscaling.minReplicas | Minimum number of replicas | 1 |
autoscaling.maxReplicas | Maximum number of replicas | 100 |
autoscaling.targetCPUUtilizationPercentage | Target CPU utilization percentage | 80 |
nodeSelector | Node selector | {} |
tolerations | Tolerations | [] |
affinity | Affinity | {} |
Content type
Helm
Digest
sha256:970e8afac…
Size
4.9 kB
Last updated
about 1 month ago
helm pull oci://registry-1.docker.io/ookla/ooklaserver-helm --version 2.11.6