Я пытаюсь использовать fabric8-cdi
описано здесь: https://fabric8.io/guide/cdi.htmlКак настроить среду для fabric8-КДИ
Я использую minikube при разработке, я начинаю гс и услуга по имени mev-rserve
вот работает служба:
$kubectl get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.0.0.1 <none> 443/TCP 2d
mev-rserve 10.0.0.19 <pending> 6311:31744/TCP 49m
В моем веб-приложение у меня есть этот производитель фасоли:
@Produces
static RConnection r (@ServiceName ("mev-rserve") String endpoint) { /* ... */ }
, который работает отлично, если я объявляю MEV_RSERVE_SERVICE_HOST
и MEV_RSERVE_SERVICE_PORT
env переменные, как описано в документе, который я связал, но я хочу, чтобы библиотека искала его из kube api, чего не происходит. Вот моя конфигурация:
$ kubectl config view
apiVersion: v1
clusters:
- cluster:
certificate-authority: /Users/levkuznetsov/.minikube/ca.crt
server: https://192.168.99.101:8443
name: minikube
contexts:
- context:
cluster: minikube
user: minikube
name: minikube
current-context: minikube
kind: Config
preferences: {}
users:
- name: minikube
user:
client-certificate: /Users/levkuznetsov/.minikube/apiserver.crt
client-key: /Users/levkuznetsov/.minikube/apiserver.key
Из того, что я установки окружающей среды следующим образом:
KUBERNETES_MASTER="https://192.168.99.101:8443"
KUBERNETES_API_VERSION="v1"
KUBERNETES_CERTS_CA_FILE="/Users/levkuznetsov/.minikube/ca.crt"
KUBERNETES_CERTS_CLIENT_FILE="/Users/levkuznetsov/.minikube/apiserver.crt"
KUBERNETES_CERTS_CLIENT_KEY_FILE="/Users/levkuznetsov/.minikube/apiserver.key"
Какие результаты в этом исключения:
Caused by: java.lang.IllegalArgumentException: No kubernetes service could be found for name: mev-rserve in namespace: null
at io.fabric8.kubernetes.api.KubernetesHelper.getServiceURL(KubernetesHelper.java:1347)
at io.fabric8.cdi.Services.toServiceUrl(Services.java:38)
at io.fabric8.cdi.producers.ServiceUrlProducer.produce(ServiceUrlProducer.java:47)
at io.fabric8.cdi.producers.ServiceUrlProducer.produce(ServiceUrlProducer.java:26)
at io.fabric8.cdi.bean.ProducerBean.create(ProducerBean.java:43)
...
Заранее спасибо