Kubernetes Couchbase Operator - Invalid Version


#1

I’m currently testing the feasibility of deploying Couchbase as a Kubernetes based containerized service in IBM Cloud’s Container Service and running into a problem. I’m using the guide found here http://docs.couchbase.com/prerelease/couchbase-operator/beta/installKubernetes.html . One of the early steps is deploying their operator

kubectl create -f https://packages.couchbase.com/kubernetes/0.8.0-beta2/k8s-rbac/operator.yaml

After the deployment I am seeing errors repeatedly in the kubernetes log for the operator stating that kubernetes is version 1.0 and too old although that is not the case.

time=“2018-05-11T10:46:01Z” level=error msg="Initialization failed: kubernetes version 1.0 is too old, 1.8 is minimum supported version " module=controller

I’m running the latest version available in IBM Cloud which is 10.1 and also atttempted to deploy against 1.9.7 and got the same errors.

kubectl version

Client Version: version.Info{Major:“1”, Minor:“10”, GitVersion:“v1.10.1”, GitCommit:“d4ab47518836c750f9949b9e0d387f20fb92260b”, GitTreeState:“clean”, BuildDate:“2018-04-13T22:27:55Z”, GoVersion:“go1.9.5”, Compiler:“gc”, Platform:“darwin/amd64”}
Server Version: version.Info{Major:“1”, Minor:“10+”, GitVersion:“v1.10.1-2+7d2976e4bcbeb9”, GitCommit:“7d2976e4bcbeb90c4164af86da204901f77adb16”, GitTreeState:“clean”, BuildDate:“2018-04-24T21:49:08Z”, GoVersion:“go1.9.3”, Compiler:“gc”, Platform:“linux/amd64”}

When working with IBM Cloud support they suspected the problem to be in the Couchbase container and that they have never had a 1.0 version of Kubernetes.

I’m looking for some advice on troubleshooting.


#2

I have same error on GCP provider. There is also one missing step from kubernetes operator doc, the user creating clusterrole with rbac enabled should have appropriate role as cluster-admin.


#3

@anil are you aware of anything in the container that is comparing Kubernetes versions, potentially inaccurately? Have you seen similar types of errors in other deployments?


#4

In 0.8 beta refresh, the operator compares the kubernetes version to a list of supported versions. The operator will only work with kubernetes 1.8 and up. I suspect the issue is that the “server version” the kubectl shows is “10+”. Perhaps we are not parsing that correctly and just expecting nicely formatted string numbers, i.e without the “+”. @mikew


#5

I suspected this could have been the case so I spun up a 1.9.7 Kubernetes cluster and tested it as well. I received the same error with 1.9.7 as I did with 1.10.1.

Thanks,
Kenny


#6

Yeah, after pinging @tommie it looks like it is a slightly different parsing issue. We check the gitVersion and it seems the regex we use might not handle the parsing correctly. We are looking into it.


#7

Thanks @k3nnyP @khtony for reporting this issue. I have created JIRA issue K8S-315 to track as well get it fixed.

Anil Kumar


#8

Thanks for creating the JIRA issue. Since I didn’t record the findings from my 1.9.7 cluster I wanted to reproduce and share here for completeness. It appears v1.9.7-2+ in this case is what is suspected of causing the problem per the defect notes.

kubectl version
Client Version: version.Info{Major:“1”, Minor:“10”, GitVersion:“v1.10.1”, GitCommit:“d4ab47518836c750f9949b9e0d387f20fb92260b”, GitTreeState:“clean”, BuildDate:“2018-04-13T22:27:55Z”, GoVersion:“go1.9.5”, Compiler:“gc”, Platform:“darwin/amd64”}
Server Version: version.Info{Major:“1”, Minor:“9+”, GitVersion:“v1.9.7-2+231cc32d0a1119”, GitCommit:“231cc32d0a111940d45936b3206548c610869df2”, GitTreeState:“clean”, BuildDate:“2018-04-25T08:09:04Z”, GoVersion:“go1.9.3”, Compiler:“gc”, Platform:“linux/amd64”}

Reported error is the same as with 10+

time=“2018-05-14T18:56:06Z” level=error msg="Initialization failed: kubernetes version 1.0 is too old, 1.8 is minimum supported version " module=controller


#9

I’ve been following the Jira and it appears to be marked as fixed in 0.8.1 with a dependency of updating the docs to the new location for pulling the operator. While we await the documents getting updated could someone provide the url for the new operator?

I attempted this.

kubectl create -f https://packages.couchbase.com/kubernetes/0.8.1-beta2/k8s-rbac/operator.yaml
error: unable to read URL “https://packages.couchbase.com/kubernetes/0.8.1-beta2/k8s-rbac/operator.yaml”, server reported 404 Not Found, status code=404


#10

Hi @k3nnyP, I understand you’re eagerly waiting for fix which we plan to make it available by end of week 05/18. We will have docs and new YAML files ready by then.

Thanks!

Anil Kumar


#11

Thanks. I appreciate the response.