{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/27239","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/27239/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/27239/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/27239/events","html_url":"https://github.com/kubernetes/kubernetes/issues/27239","id":159790501,"number":27239,"title":"IP Networking between K8s deployments - Cassandra and other applications","user":{"login":"chrislovecnm","id":335402,"avatar_url":"https://avatars.githubusercontent.com/u/335402?v=3","gravatar_id":"","url":"https://api.github.com/users/chrislovecnm","html_url":"https://github.com/chrislovecnm","followers_url":"https://api.github.com/users/chrislovecnm/followers","following_url":"https://api.github.com/users/chrislovecnm/following{/other_user}","gists_url":"https://api.github.com/users/chrislovecnm/gists{/gist_id}","starred_url":"https://api.github.com/users/chrislovecnm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chrislovecnm/subscriptions","organizations_url":"https://api.github.com/users/chrislovecnm/orgs","repos_url":"https://api.github.com/users/chrislovecnm/repos","events_url":"https://api.github.com/users/chrislovecnm/events{/privacy}","received_events_url":"https://api.github.com/users/chrislovecnm/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/area/example/cassandra","name":"area/example/cassandra","color":"d4c5f9"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/example","name":"kind/example","color":"c7def8"},{"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/team/none","name":"team/none","color":"d2b48c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":17,"created_at":"2016-06-11T19:41:59Z","updated_at":"2016-06-19T03:22:10Z","closed_at":null,"body":"@paralin has some awesome ideas on a GCE specific setup.  This is a placeholder to document these thoughts.  \r\n\r\n Requirements:\r\n\r\n- 2 or more non-federated K8s deployments or possibly K8s Federated\r\n- K8s deployment alpha - petset alpha is deployed\r\n- K8s deployment beta - petset beta is deployed\r\n- petset alpha and beta are applications that must communicate with every Pet ip address in K8s alpha and K8s beta.\r\n- Petsets distributed HA systems that are designed to provide multiple datacenter HA.\r\n- Petsets are distributed systems that provide capability for work load specific uses cases inside of a Datacenter - Data is the same across distributed systems, but Petset alpha 1 is configured differently than Petset alpha 2.  Analytics workloads vs Data ingestion workloads.\r\n\r\nSoftware applications Impacted:\r\n- Cassandra  - P1\r\n- Apache Spark - P1 (master has to talk to all nodes, needs further vetting)\r\n- Elastic (need to vet)\r\n- Redis (may not be a valid use case)\r\n\r\nCassandra Use Case:\r\n\r\nSpecifically Cassandra instances CANNOT be load balanced.  A client external to cluster must see every Cassandra IP address, and when doing multiple Datacenters between K8s deployments all nodes must talk to each other.  Federated will assist, but since Cassandra provides amazing HA, I almost would recommend to have Cassandra to handle itself.  A SeedProvider and SnitchProvider for Cassandra could utilize muitple K8s endpoints for discovery. \r\n\r\nCassandra routinely uses IP addresses instead of DNS, and with Petsets ... voila!\r\n\r\nUbernetes Multiple Cassandra Datacenters - every node must be able to talk to every other node. DC1 eight nodes, DC2 eight nodes. All 16 nodes must be able to lookup and talk to each other.\r\nExternal Clients - For instance the cassandra java driver needs to be able to communicate to every server in a C* ring. Going through a loadbalancer just does not fit multiple features that C* clients rely on.\r\n\r\nItems Impacted:\r\n- DNS\r\n- IP networking\r\n- Cassandra SeedProvider\r\n- Cassandra Snitch\r\n- Cassandra Racks and Datacenters.\r\n\r\n@bgrant0607 who is the networking super guru that can assist.\r\n@mward29 pulling you in because of your aws / Cassandra awesomeness\r\n@bprashanth / @smarterclayton I think PetSet is fully ready for this 😄 \r\n\r\ncc @kubernetes/examples - do we have other use cases in apps?\r\n\r\nOnce this is vetted, I can put in a formal proposal after 1.3 launch ... till then I am SUPER busy"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/226977109","html_url":"https://github.com/kubernetes/kubernetes/issues/27239#issuecomment-226977109","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/27239","id":226977109,"user":{"login":"kant111","id":5432406,"avatar_url":"https://avatars.githubusercontent.com/u/5432406?v=3","gravatar_id":"","url":"https://api.github.com/users/kant111","html_url":"https://github.com/kant111","followers_url":"https://api.github.com/users/kant111/followers","following_url":"https://api.github.com/users/kant111/following{/other_user}","gists_url":"https://api.github.com/users/kant111/gists{/gist_id}","starred_url":"https://api.github.com/users/kant111/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kant111/subscriptions","organizations_url":"https://api.github.com/users/kant111/orgs","repos_url":"https://api.github.com/users/kant111/repos","events_url":"https://api.github.com/users/kant111/events{/privacy}","received_events_url":"https://api.github.com/users/kant111/received_events","type":"User","site_admin":false},"created_at":"2016-06-19T03:22:10Z","updated_at":"2016-06-19T03:22:10Z","body":"I would like headless-service to be accessible through a public DNS so a client external to the cluster can  communicate to the pods directly and be able to do the load balancing themselves."}}
{"actor":{"display_login":"kant111"}}