Couchbase Operator tool for Kubernetes (cbopctl) does not support "oidc" authentication

10/24/2018

I have a Kubernetes cluster running on IBM Cloud and I'm trying to deploy the Couchbase operator.

When running the command:

cbopctl apply --kubeconfig /home/jenkins/.bluemix/cluster.yml -f couchbase-autonomous-operator-kubernetes_1.0.0-linux_x86_64/couchbase-cluster.yaml

I get the following error.

panic: No Auth Provider found for name "oidc"

goroutine 1 [running]:
github.com/couchbase/couchbase-operator/pkg/client.MustNew(0xc4201e2e00, 0xc4201e2e00, 0x0)
    /var/tmp/foo/goproj/src/github.com/couchbase/couchbase-operator/pkg/client/client.go:21 +0x71
main.(*ApplyContext).Run(0xc4207e8570)

How do I authenticate this service?

-- jdoecool
couchbase
ibm-cloud
ibm-cloud-kubernetes
iks
kubernetes

2 Answers

10/25/2018

The other answers are correct. To provide the IBM Cloud-specific steps, you can download your config file by using ibmcloud ks cluster-config <cluster-name>. That will give you the KUBECONFIG variable to export by copying and pasting. It will also give you the path that you can use to target the config in your couchbase command.

-- bhpratt
Source: StackOverflow

10/24/2018

Looks like you have your ~/.kube/config file configured to use OpenID with the oidc authenticator. The ~/.kube/config is with the client-go library uses to authenticate and cbopctl uses the client-go library.

This explains how to set it up in Kubernetes. If you are using an IBM cloud managed Kubenetes cluster, it's probably already configured on the kube-apiserver and you would have to follow this

To manually configure kubectl you would have to do something like this.

-- Rico
Source: StackOverflow