@shereenElSayed and I had a hard time getting a server container to run on UCSB's private cloud. That cloud uses a split DNS; an internal DNS resolver returns private IP addresses for public DNS names that point at UCSB hosts. That means that setting --hostname to the public DNS name doesn't result in a public IP address for the advertised.listeners, which means they aren't routable, which means clients cannot connect to them, even though they can connect to the bootstrap server.
We were able to get over this by explicitly setting --dns=8.8.8.8 when running the container, which worked because public DNS was used in the socket.gethostbyname call in https://github.com/scimma/scimma-server-container/blob/master/scripts/KafkaServer.py. That feels very roundabout! I'd prefer to be able to pass a --advertised-listener flag or something when running the container which just sidesteps all the logic and explicitly picks a listener.
@shereenElSayed and I had a hard time getting a server container to run on UCSB's private cloud. That cloud uses a split DNS; an internal DNS resolver returns private IP addresses for public DNS names that point at UCSB hosts. That means that setting
--hostnameto the public DNS name doesn't result in a public IP address for the advertised.listeners, which means they aren't routable, which means clients cannot connect to them, even though they can connect to the bootstrap server.We were able to get over this by explicitly setting
--dns=8.8.8.8when running the container, which worked because public DNS was used in thesocket.gethostbynamecall in https://github.com/scimma/scimma-server-container/blob/master/scripts/KafkaServer.py. That feels very roundabout! I'd prefer to be able to pass a--advertised-listenerflag or something when running the container which just sidesteps all the logic and explicitly picks a listener.