{"action":"created","issue":{"url":"https://api.github.com/repos/istio/istio/issues/10277","repository_url":"https://api.github.com/repos/istio/istio","labels_url":"https://api.github.com/repos/istio/istio/issues/10277/labels{/name}","comments_url":"https://api.github.com/repos/istio/istio/issues/10277/comments","events_url":"https://api.github.com/repos/istio/istio/issues/10277/events","html_url":"https://github.com/istio/istio/issues/10277","id":387486675,"node_id":"MDU6SXNzdWUzODc0ODY2NzU=","number":10277,"title":"Routing TCP traffic to egress gateway with DNS resolution","user":{"login":"jcetkov","id":6686220,"node_id":"MDQ6VXNlcjY2ODYyMjA=","avatar_url":"https://avatars2.githubusercontent.com/u/6686220?v=4","gravatar_id":"","url":"https://api.github.com/users/jcetkov","html_url":"https://github.com/jcetkov","followers_url":"https://api.github.com/users/jcetkov/followers","following_url":"https://api.github.com/users/jcetkov/following{/other_user}","gists_url":"https://api.github.com/users/jcetkov/gists{/gist_id}","starred_url":"https://api.github.com/users/jcetkov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcetkov/subscriptions","organizations_url":"https://api.github.com/users/jcetkov/orgs","repos_url":"https://api.github.com/users/jcetkov/repos","events_url":"https://api.github.com/users/jcetkov/events{/privacy}","received_events_url":"https://api.github.com/users/jcetkov/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":18,"created_at":"2018-12-04T21:26:57Z","updated_at":"2018-12-24T17:45:47Z","closed_at":null,"author_association":"NONE","body":"Consider a scenario: \r\nAn application needs to access external service via TCP, where the hostname configured in the application is difficult to change and routing via egress gateway is desired.\r\n\r\nThere are multiple services accessed from within the cluster using the same port, so the `addresses` field of the `ServiceEntry` needs to be populated.\r\n\r\nFollowing the guide https://preliminary.istio.io/blog/2018/egress-mongo/\r\n\r\nSince the client uses hostname in the configuration, but the service entry has the `addresses` hardcoded, if the DNS resolution (outside of k8s) changes, the record becomes invalid.\r\n\r\n\r\nPossible workaround:\r\nspoof dns record in the pod, to resolve in virtual Ip address, which is then used in the service entry to match the rule so the traffic can be intercepted by a VirtualService rule.\r\n\r\nIt would be nice to have more systematic control of the DNS in cluster vs. on the edge (egress-gateway), so that the configuration explicitly defines a hostname is resolved to a virtual IP address for the istio-proxy/mesh while uses external DNS for the egress-gateway. "},"comment":{"url":"https://api.github.com/repos/istio/istio/issues/comments/449758708","html_url":"https://github.com/istio/istio/issues/10277#issuecomment-449758708","issue_url":"https://api.github.com/repos/istio/istio/issues/10277","id":449758708,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0OTc1ODcwOA==","user":{"login":"vadimeisenbergibm","id":16784982,"node_id":"MDQ6VXNlcjE2Nzg0OTgy","avatar_url":"https://avatars1.githubusercontent.com/u/16784982?v=4","gravatar_id":"","url":"https://api.github.com/users/vadimeisenbergibm","html_url":"https://github.com/vadimeisenbergibm","followers_url":"https://api.github.com/users/vadimeisenbergibm/followers","following_url":"https://api.github.com/users/vadimeisenbergibm/following{/other_user}","gists_url":"https://api.github.com/users/vadimeisenbergibm/gists{/gist_id}","starred_url":"https://api.github.com/users/vadimeisenbergibm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vadimeisenbergibm/subscriptions","organizations_url":"https://api.github.com/users/vadimeisenbergibm/orgs","repos_url":"https://api.github.com/users/vadimeisenbergibm/repos","events_url":"https://api.github.com/users/vadimeisenbergibm/events{/privacy}","received_events_url":"https://api.github.com/users/vadimeisenbergibm/received_events","type":"User","site_admin":false},"created_at":"2018-12-24T17:45:47Z","updated_at":"2018-12-24T17:45:47Z","author_association":"MEMBER","body":"yes, this could be a better solution."}}
{"actor":{"display_login":"vadimeisenbergibm"}}