I have tried to install MariaDB ColumnStore on Kubernetes. I am using Windows 10 and have my kubernetes cluster inside a VBox.
This is what I have tried so far:
First I went to https://github.com/mariadb-corporation/mariadb-kubernetes/tree/master/mariadb-enterprise and downloaded the git repo.
git clone https://github.com/mariadb-corporation/mariadb-kubernetesI CD to the directory of the folder and try to install the chart using Helm without any modification to the values file to see if it works.
helm install mariadb-enterprise/ --name my_clusterIt works. But when I try to change the topology to "columnstore"
helm install mariadb-enterprise/ --name my_cluster --set mariadb.cluster.topology = columnstore-standaloneI get the following error
my-cluster-mdb-cs-single-0 0/1 Init:ErrImagePull 0 18sI get the following output when I use
kubectl describe pod my-cluster-mdb-cs-single-0 Name: my-cluster-mdb-cs-single-0
Namespace: default
Priority: 0
PriorityClassName: <none>
Node: minikube/10.0.2.15
Start Time: Wed, 19 Jun 2019 09:05:39 +0200
Labels: controller-revision-hash=my-cluster-mdb-cs-single-
84bcfc86b8
mariadb=my-cluster
pm.mariadb=my-cluster
statefulset.kubernetes.io/pod-name=my-cluster-mdb-cs-single-0
um.mariadb=my-cluster
Annotations: <none>
Status: Pending
IP: xxx.17.0.17
Controlled By: StatefulSet/my-cluster-mdb-cs-single
Init Containers:
init-columnstore:
Container ID:
Image: mariadb/columnstore:1.2.3
Image ID:
Port: <none>
Host Port: <none>
Command:
bash
/mnt/config-template/init-configurations.sh
columnstore
State: Waiting
Reason: ErrImagePull
Ready: False
Restart Count: 0
Environment:
BACKUP_RESTORE_FROM:
CLUSTER_TOPOLOGY: columnstore-standalone
Mounts:
/docker-entrypoint-initdb.d from mariadb-entrypoint-vol (rw)
/mnt/config-map from mariadb-config-vol (rw)
/mnt/config-template from mariadb-configtemplate-vol (rw)
/mnt/secrets from mariadb-secrets-vol (ro)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-cv2g5
(ro)
init-volume:
Container ID:
Image: mariadb/columnstore:1.2.3
Image ID:
Port: <none>
Host Port: <none>
Command:
bash
-c
set -e; if [ ! -d "/mnt/columnstore/etc" ]; then rm -rf
/mnt/columnstore/data && cp -rp /usr/local/mariadb/columnstore/data
/mnt/columnstore/ && rm -rf /mnt/columnstore/local && cp -rp
/usr/local/mariadb/columnstore/local /mnt/columnstore/ && rm -rf
/mnt/columnstore/mysql && mkdir -p /mnt/columnstore/mysql && chown
mysql:mysql /mnt/columnstore/mysql && cp -rp
/usr/local/mariadb/columnstore/mysql/db /mnt/columnstore/mysql/ &&cp -rp
/usr/local/mariadb/columnstore/etc /mnt/columnstore/; fi
State: Waiting
Reason: PodInitializing
Ready: False
Restart Count: 0
Environment: <none>
Mounts:
/mnt/columnstore from data (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-cv2g5
(ro)
Containers:
columnstore-module-pm:
Container ID:
Image: mariadb/columnstore:1.2.3
Image ID:
Port: 3306/TCP
Host Port: 0/TCP
Command:
bash
/mnt/config-map/start-mariadb-instance.sh
State: Waiting
Reason: PodInitializing
Ready: False
Restart Count: 0
Environment:
MYSQL_ALLOW_EMPTY_PASSWORD: Y
CLUSTER_TOPOLOGY: columnstore-standalone
Mounts:
/docker-entrypoint-initdb.d from mariadb-entrypoint-vol (rw)
/mnt/config-map from mariadb-config-vol (rw)
/tmp/data from temp-data (rw)
/usr/local/mariadb/columnstore/data from data (rw,path="data")
/usr/local/mariadb/columnstore/data1 from data (rw,path="data1")
/usr/local/mariadb/columnstore/data2 from data (rw,path="data2")
/usr/local/mariadb/columnstore/data3 from data (rw,path="data3")
/usr/local/mariadb/columnstore/etc from data (rw,path="etc")
/usr/local/mariadb/columnstore/local from data (rw,path="local")
/usr/local/mariadb/columnstore/mysql/db from data (rw,path="mysql/db")
/var/run/secrets/kubernetes.io/serviceaccount from default-token-cv2g5 (ro)
Conditions:
Type Status
Initialized False
Ready False
ContainersReady False
PodScheduled True
Volumes:
data:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: data-my-cluster-mdb-cs-single-0
ReadOnly: false
temp-data:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: temp-data-my-cluster-mdb-cs-single-0
ReadOnly: false
mariadb-entrypoint-vol:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
mariadb-config-vol:
Type: EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit: <unset>
mariadb-configtemplate-vol:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: my-cluster-mariadb-config
Optional: false
mariadb-secrets-vol:
Type: Secret (a volume populated by a Secret)
SecretName: my-cluster-mariadb-secret
Optional: false
default-token-cv2g5:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-cv2g5
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 65s default-scheduler Successfully
assigned default/my-cluster-mdb-cs-single-0 to minikube
Warning Failed 49s kubelet, minikube Failed to pull
image "mariadb/columnstore:1.2.3": rpc error: code = Unknown desc = Error
response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup
registry-1.docker.io on 10.0.2.3:53: read udp 10.0.2.15:57278->10.0.2.3:53:
i/o timeout
Normal Pulling 35s (x2 over 65s) kubelet, minikube Pulling image
"mariadb/columnstore:1.2.3"
Warning Failed 25s (x2 over 49s) kubelet, minikube Error:
ErrImagePull
Warning Failed 25s kubelet, minikube Failed to pull
image "mariadb/columnstore:1.2.3": rpc error: code = Unknown desc = Error
response from daemon: Get https://registry-1.docker.io/v2/: dial tcp: lookup
registry-1.docker.io on 10.0.2.3:53: read udp 10.0.2.15:34499->10.0.2.3:53:
i/o timeout
Normal BackOff 15s (x2 over 48s) kubelet, minikube Back-off pulling
image "mariadb/columnstore:1.2.3"
Warning Failed 15s (x2 over 48s) kubelet, minikube Error:
ImagePullBackOffAnyone know why I get this error and if there is a way to solve it?
The problem was that I needed to have Docker installed on Windows. This was not possible when running minikube on VirtualBox. I had to reinstall minikube on Hyper-V, install Docker for Desktop, and then I could install MariaDB ColumnStore.