Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ambassador deployed on Docker requires kubewatch #1569

Closed
rickardl opened this issue May 25, 2019 · 4 comments
Closed

Ambassador deployed on Docker requires kubewatch #1569

rickardl opened this issue May 25, 2019 · 4 comments
Assignees
Milestone

Comments

@rickardl
Copy link

rickardl commented May 25, 2019

According to the documentation, it should be possible to launch Ambassador on a local installation of Docker (without kubernetes) by disabling the dependency of kubewatch, this seems due some changes to no longer hold true.

Reproduce

Attempt to launch ambassador on a local docker installation instructions to disable dependency on kubewatch, as instructed in the documentation

version: '3.5'

services:
  ambassador:
    image: quay.io/datawire/ambassador:0.70.1
    ports:
    # expose port 8080 via 8080 on the host machine
    - 8080:8080
    volumes:
    # mount a volume where we can inject configuration files
    - ./config:/ambassador/ambassador-config
    environment:
    # don't try to watch Kubernetes for configuration changes
    - AMBASSADOR_NO_KUBEWATCH=no_kubewatch

Set the contents of the config/ambassador.yaml to this yaml configuration, to boot with default config.

---
apiVersion: ambassador/v1
kind: Module
name: ambassador
config: {}

Start the ambassador container

docker-compose up

Expected behavior

That Ambassadors docker container boots up and is callable from the workstation

Actual behavior

Ambassdors entrypoint still launches kubewatch and begins looking for kubewatch, which fails to connect with the Kubernetes cluster.

ambassador_1 | AMBASSADOR: kubewatch cluster-id exited with status 1
ambassador_1 | AMBASSADOR: shutting down (1)
ambassador_1 | AMBASSADOR STARTING with environment:
ambassador_1 | ====
ambassador_1 | AMBASSADOR_NO_KUBEWATCH=no_kubewatch
ambassador_1 | AMBASSADOR_ROOT=/ambassador
ambassador_1 | ====
ambassador_1 | AMBASSADOR: using /ambassador/ambassador-config for configuration
ambassador_1 | AMBASSADOR: not watching for Kubernetes config
ambassador_1 | 2019-05-25 12:21:56 kubewatch [26 TMainThread] 0.70.1 DEBUG: looking up ID for namespace default
ambassador_1 | 2019-05-25 12:21:56 kubewatch [26 TMainThread] 0.70.1 INFO: No K8s
ambassador_1 | 2019-05-25 12:21:56 kubewatch [26 TMainThread] 0.70.1 ERROR: could not connect to Kubernetes
ambassador_1 | 2019-05-25 12:21:56,015 WARNING Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)': /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/authservices.getambassador.io
ambassador_1 | 2019-05-25 12:21:56 kubewatch [26 TMainThread] 0.70.1 WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)': /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/authservices.getambassador.io
ambassador_1 | 2019-05-25 12:21:56,016 WARNING Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)': /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/authservices.getambassador.io
ambassador_1 | 2019-05-25 12:21:56 kubewatch [26 TMainThread] 0.70.1 WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)': /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/authservices.getambassador.io
ambassador_1 | 2019-05-25 12:21:56,017 WARNING Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)': /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/authservices.getambassador.io
ambassador_1 | 2019-05-25 12:21:56 kubewatch [26 TMainThread] 0.70.1 WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError(': Failed to establish a new connection: [Errno 111] Connection refused',)': /apis/apiextensions.k8s.io/v1beta1/customresourcedefinitions/authservices.getambassador.io
ambassador_1 | Traceback (most recent call last):

Versions

  • Ambassador: 0.70.1
  • Docker: Docker version 19.03.0-beta3, build c55e026
@rickardl rickardl changed the title Ambassador on deployed on Docker requires kubewatch Ambassador deployed on Docker requires kubewatch May 25, 2019
@kflynn kflynn self-assigned this May 28, 2019
@kflynn kflynn added this to the pedrera milestone May 28, 2019
@muharrem-demir
Copy link

I had the same issue when trying to run 0.70.1 on Docker.
Although 0.70.0 works fine.

@Azuka
Copy link

Azuka commented May 30, 2019

This has happened before e.g. #1161. Do we have regression tests for docker support?

@richarddli
Copy link
Contributor

@Azuka We could always use more test coverage, so a PR would be great!

@kflynn
Copy link
Member

kflynn commented May 31, 2019

Test is coming with this fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants