I'm trying to run the Istio demo application+consul on my 3 node K8s cluster.
I'm following this guide: https://istio.io/docs/guides/bookinfo/ , section "Running on Docker with Consul or Eureka"
But Istio's consul demo fails like this:
root@kubemaster:~/istio-0.8.0# docker-compose -f samples/bookinfo/consul/bookinfo.yaml up -d
ERROR: Network consul_istiomesh declared as external, but could not be found. Please create the network manually using `docker network create consul_istiomesh` and try again.
But then I create the network as advised by the error message:
root@kubemaster:~/istio-0.8.0# docker network create consul_istiomesh
b137f18c35c21b7bb3129cf5f3984c81fe270dfec35906c1611ffe249ef336c1
But then I get this error:
root@kubemaster:~/istio-0.8.0# docker-compose -f samples/bookinfo/consul/bookinfo.yaml up -d
Creating consul_productpage-v1_1
Creating consul_reviews-v3_1
Creating consul_details-v1_1
Creating consul_reviews-v1_1
Creating consul_ratings-v1_1
Creating consul_reviews-v2_1
ERROR: for productpage-v1 user specified IP address is supported only when connecting to networks with user configured subnets
Traceback (most recent call last):
File "/usr/local/bin/docker-compose", line 11, in <module>
sys.exit(main())
File "/usr/local/lib/python2.7/dist-packages/compose/cli/main.py",
line 63, in main
log.error(e.msg)
AttributeError: 'ProjectError' object has no attribute 'msg'
What to do ?
What to do ?
Although technically you can mix manually managed docker containers and Kubernetes managed containers It is not really proper approach unless you absolutely need to do so... If your istio is running in Kubernetes, it would make sense to rewrite docker-compose to k8s manifests (or use help of conversion tools) keeping in mind differences such as service references and such...
With that said, you can run them side-by-side (if you need to) but you must take into account exposed endpoints/services and it would be a bit hassle to untangle network setup.
So you can do two things: