ClickHouse is a column-oriented database management system (DBMS) for online analytical processing of queries (OLAP).
This addon based on the clickhouse operator. The addon itself will deploy the CRD operator and provide a clickhouse
component which will deploy clickhouse cluster for every application.
- Add experimental registry
vela addon registry add experimental --type=helm --endpoint=https://addons.kubevela.net/experimental/
- Enable this addon
vela addon enable clickhouse
- Apply the following app:
apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
name: ck-app
spec:
components:
- name: my-ck
type: clickhouse
properties:
storage:
size: "10Gi"
traits:
- type: gateway
properties:
class: traefik
domain: 47.251.8.82.nip.io
http:
"/play": 8123
"/": 8123
The default password for default user is default
.
-
Check the application status and topology provided by velaux.
-
Check the endpoint:
$ vela status ck-app --endpoint
I0729 11:37:46.405137 65484 utils.go:156] find cluster gateway service vela-system/kubevela-cluster-gateway-service:9443
Please access ck-app from the following endpoints:
+---------+-----------+-------------------------------------+----------------------------------+-------+
| CLUSTER | COMPONENT | REF(KIND/NAMESPACE/NAME) | ENDPOINT | INNER |
+---------+-----------+-------------------------------------+----------------------------------+-------+
| local | my-ck | Service/default/clickhouse-my-ck | clickhouse-my-ck.default:8123 | true |
| local | my-ck | Service/default/clickhouse-my-ck | clickhouse-my-ck.default:9000 | true |
| local | my-ck | Service/default/chi-my-ck-my-ck-0-0 | chi-my-ck-my-ck-0-0.default:8123 | true |
| local | my-ck | Service/default/chi-my-ck-my-ck-0-0 | chi-my-ck-my-ck-0-0.default:9000 | true |
| local | my-ck | Service/default/chi-my-ck-my-ck-0-0 | chi-my-ck-my-ck-0-0.default:9009 | true |
+---------+-----------+-------------------------------------+----------------------------------+-------+
- Port forward to the clickhouse UI
$ vela port-forward ck-app
? You have 5 endpoints in your app. Please choose one:
Cluster | Component | Ref(Kind/Namespace/Name) | Endpoint | Inner
local | my-ck | Service/default/clickhouse-my-ck | clickhouse-my-ck.default:8123 | true
It will open browser directly, you can use it by visiting: http://127.0.0.1:8123/play .
Then all the things goes the same as the clickhouse official guide.
- Use clickhouse by client:
You may notice there's another endpoint: clickhouse-my-ck.default:9000
. It's provided for client use, you can also port-forward it.
vela port-forward ck-app
? You have 5 endpoints in your app. Please choose one:
Cluster | Component | Ref(Kind/Namespace/Name) | Endpoint | Inner
local | my-ck | Service/default/clickhouse-my-ck | clickhouse-my-ck.default:9000 | true
You need to install clickhouse-client to use.
clickhouse client
Then everything works the same with the clickhouse official guide again.
The endpoint (clickhouse-my-ck.default:9000
) can also used by other component deployed in Kubernetes clusters.