helm-charts icon indicating copy to clipboard operation
helm-charts copied to clipboard

Ensure TimescaleDB 2.0.0-rc3 works with multinode Helm Chart

Open feikesteenbergen opened this issue 5 years ago • 2 comments

feikesteenbergen avatar Nov 19 '20 14:11 feikesteenbergen

Built a compatible Docker Image containing Timescale 2.0.0-rc3. With that I can successfully create a multinode setup:

https://github.com/timescale/timescaledb-kubernetes/tree/master/charts/timescaledb-multinode#installing

helm upgrade --install my-release .

Wait 3 minutes

kubectl get pod -l timescaleNodeType
NAME                              READY   STATUS    RESTARTS   AGE
my-release-timescaledb-access-0   1/1     Running   0          3m25s
my-release-timescaledb-data-0     1/1     Running   0          3m25s
my-release-timescaledb-data-1     1/1     Running   0          3m12s
my-release-timescaledb-data-2     1/1     Running   0          3m5s

Verify multinode setup has completed

kubectl exec -ti pod/my-release-timescaledb-access-0 -c timescaledb -- psql -d example -c 'select node_name from timescaledb_information.data_nodes'
           node_name           
-------------------------------
 my-release-timescaledb-data-0
 my-release-timescaledb-data-1
 my-release-timescaledb-data-2
(3 rows)

Verify that we can actually create and query distributed hypertables We use https://docs.timescale.com/v2.0/tutorials/clustering, we can skip everything up to Create the distributed hypertable, as all the roles etc are taken care of by the Helm Charts:

kubectl exec -ti pod/my-release-timescaledb-access-0 -c timescaledb -- psql -d example
example=# CREATE TABLE conditions (time timestamptz NOT NULL, device integer, temp float);
CREATE TABLE
Time: 2.980 ms
example=# SELECT create_distributed_hypertable('conditions', 'time', 'device');
 create_distributed_hypertable 
-------------------------------
 (1,public,conditions,t)
(1 row)

Time: 109.747 ms
example=# INSERT INTO conditions
example-# SELECT time, (random()*30)::int, random()*80
example-# FROM generate_series('2019-01-01 00:00:00'::timestamptz, '2019-02-01 00:00:00', '1 min') AS time;
INSERT 0 44641
Time: 684.734 ms
example=# SELECT count(*) FROM conditions;
 count 
-------
 44641
(1 row)

Time: 121.949 ms
example=# EXPLAIN (COSTS OFF) SELECT count(*) FROM conditions;
                               QUERY PLAN                                
-------------------------------------------------------------------------
 Aggregate
   ->  Custom Scan (AsyncAppend)
         ->  Append
               ->  Custom Scan (DataNodeScan) on conditions conditions_1
               ->  Custom Scan (DataNodeScan) on conditions conditions_2
               ->  Custom Scan (DataNodeScan) on conditions conditions_3
(6 rows)

Time: 17.011 ms

feikesteenbergen avatar Nov 20 '20 08:11 feikesteenbergen

Hey @feikesteenbergen , thanks for this :) We're currently looking to get started with a project for which we want to use TimescaleDB 2.0 in a MultiNode setup. I guess the RC3 image was just used because it was the latest version at the time you started testing and for the final version it will be GA 2.X?

Is there a timeline / roadmap for the 0.8.0 release? Thanks in advance!

mrkwtz avatar Jan 13 '21 08:01 mrkwtz

We are sorry to say that multinode helm chart is deprecated and not supported anymore. If you want to see this chart supported then we are looking for community maintainers - https://github.com/timescale/helm-charts/tree/master/charts/timescaledb-multinode#call-for-maintainers

paulfantom avatar Aug 18 '22 10:08 paulfantom