Skip to content

A minimal, multi arch, x86_64 and aarch64 build of Cockroachdb

Notifications You must be signed in to change notification settings

BillotP/cockroachdb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CockroachDB

Docker Image Version (latest semver) Docker Cloud Build Status Docker Image Size (latest by date)

A small and multi architecture* container image running Cockroachdb with included samples kubernetes deployment charts

* Built for amd64 and arm64 (Currently running on RaspberryPi 4 device)

Before Install

Install cockroach cli*

  • wget -qO- https://binaries.cockroachdb.com/cockroach-v20.2.3.linux-amd64.tgz | tar xvz

  • sudo mkdir -p /usr/local/lib/cockroach

  • sudo cp -i cockroach-v20.2.3.linux-amd64/lib/libgeos.so /usr/local/lib/cockroach/

  • sudo cp -i cockroach-v20.2.3.linux-amd64/lib/libgeos_c.so /usr/local/lib/cockroach/

  • sudo mv cockroach-v20.2.3.linux-amd64/cockroach /usr/local/bin/

  • sudo rm -rf cockroach-v20.2.3.linux-amd64

* Check latest CockroachDB version here and update above commands accordingly

Run it to create certificates

  • mkdir -p cockroach/certs cockroach/my-safe-directory && cd cockroach

  • cockroach cert create-ca --certs-dir=certs --ca-key=my-safe-directory/ca.key

  • cockroach cert create-client root --certs-dir=certs --ca-key=my-safe-directory/ca.key

Save generated secrets in kube

  • kubectl create secret generic cockroachdb.client.root --from-file=certs

Create the certificate and key pair for your CockroachDB nodes

cockroach cert create-node \
    localhost 127.0.0.1 cockroachdb-public \
    cockroachdb-public.default \
    cockroachdb-public.default.svc.cluster.local \
    '*.cockroachdb' '*.cockroachdb.default' \
    '*.cockroachdb.default.svc.cluster.local'\
    --certs-dir=certs --ca-key=my-safe-directory/ca.key

Save it

  • kubectl create secret generic cockroachdb.node --from-file=certs

Deployment on your Kubernetes cluster (tested with K3s)

Run below commands (might skip the 'echo' ones)

echo "[INFO] Will create a secure CockroachDB cluster"
kubectl create -f config/cockroachdb-statefulset.yaml
echo "[INFO] Will wait 5min for init"
sleep 300
echo "[INFO] Will run init command from cockroachdb-0 pod"
kubectl exec -it cockroachdb-0 -- /cockroach/cockroach init --certs-dir=/cockroach/cockroach-certs
echo "[INFO] Will create local sql client"
kubectl create -f config/client.yaml

About

A minimal, multi arch, x86_64 and aarch64 build of Cockroachdb

Resources

Stars

Watchers

Forks

Packages

No packages published