Kinetica Database Configuration¶
- kubectl (yaml)
KineticaCluster¶
To deploy a new Database Instance into a Kubernetes cluster...
Using kubetctl a CustomResource of type KineticaCluster
is used to define a new Kinetica DB Cluster in a yaml file.
The basic Group, Version, Kind or GVK to instantiate a Kinetica DB Cluster is as follows: -
Metadata¶
to which we add a metadata:
block for the name of the DB CR along with the namespace
into which we are targetting the installation of the DB cluster.
kineticacluster.yaml | |
---|---|
Spec¶
Under the spec:
section of the KineticaCLuster CR we have a number of sections supporting different aspects of the deployed DB cluster:-
gpudbCluster¶
Configuartion items specific to the DB itself.
kineticacluster.yaml - gpudbCluster | |
---|---|
gpudbCluster¶
cluster name & size | |
---|---|
1. clusterName
- the user defined name of the Kinetica DB Cluster
2. clusterSize
- block that defines the number of DB Ranks to run
3. tshirtSize
- sets the cluster size to a defined size based upon the t-shirt size. Valid sizes are: -
XS
- 1 DB RankS
- 2 DB RanksM
- 4 DB RanksL
- 8 DB RanksXL
- 16 DB RanksXXL
- 32 DB RanksXXXL
- 64 DB Ranks
4. tshirtType
- block that defines the tyoe DB Ranks to run: -
SmallCPU
-LargeCPU
-SmallGPU
-LargeGPU
-
5. fqdn
- The fully qualified URL for the DB cluster. Used on the Ingress records for any exposed services.
6. haRingName
- Default: default
7. hasPools
- Whether to enable the separate node 'pools' for "infra", "compute" pod scheduling. Default: false +optional
autoSuspend¶
The DB Cluster autosuspend section allows for the spinning down of the core DB Pods to release the underlying Kubernetes nodes to reduce infrastructure costs when the DB is not in use.
kineticacluster.yaml - autoSuspend | |
---|---|
7.
the start of the autoSuspend
definition
8.
enabled
when set to true
auto suspend of the DB cluster is enabled otherwise set to false
and no automatic suspending of the DB takes place. If omitted it defaults to false
9.
inactivityDuration
the duration after which if no DB activity has taken place the DB will be suspended
Horizontal Pod Autoscaler
In order for autoSuspend
to work correctly the Kubernetes Horizontal Pod Autoscaler needs to be deployed to the cluster.
gadmin¶
GAdmin the Database Administration Console
kineticacluster.yaml - gadmin | |
---|---|
7.
gadmin
configuration block definition
8.
containerPort
configuration block i.e. where gadmin
is exposed on the DB Pod
9.
containerPort
the port number as an integer. Default: 8080
10.
name
the name of the port being exposed. Default: gadmin
11.
protocol
network protocal used. Default: TCP
12.
isEnabled
whether gadmin
is exposed from the DB pod. Default: true