{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3476","labels_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3476/labels{/name}","comments_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3476/comments","events_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3476/events","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/issues/3476","id":54379496,"number":3476,"title":"Make Kubernetes etcd prefix configurable","user":{"login":"pires","id":1752631,"avatar_url":"https://avatars.githubusercontent.com/u/1752631?v=3","gravatar_id":"","url":"https://api.github.com/users/pires","html_url":"https://github.com/pires","followers_url":"https://api.github.com/users/pires/followers","following_url":"https://api.github.com/users/pires/following{/other_user}","gists_url":"https://api.github.com/users/pires/gists{/gist_id}","starred_url":"https://api.github.com/users/pires/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pires/subscriptions","organizations_url":"https://api.github.com/users/pires/orgs","repos_url":"https://api.github.com/users/pires/repos","events_url":"https://api.github.com/users/pires/events{/privacy}","received_events_url":"https://api.github.com/users/pires/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/component/apiserver","name":"component/apiserver","color":"0052cc"},{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/priority/P3","name":"priority/P3","color":"fef2c0"},{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/status/help-wanted","name":"status/help-wanted","color":"159818"},{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/labels/team/master","name":"team/master","color":"d2b48c"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":16,"created_at":"2015-01-14T21:32:18Z","updated_at":"2015-03-10T16:59:42Z","closed_at":null,"body":"Right now, there's a one-to-one association between a Kubernetes cluster and etcd. That's limiting in what concerns high-availability.\r\n\r\nI for one, would like to have my etcd cluster outside of Kubernetes nodes, living for the sole purpose of providing the service to whatever apps I want, like a couple Kubernetes clusters (one for project A, another for project X).\r\n\r\nThis is not possible because etcd is not namespaced by any sort of cluster ID, thus clusters A & B data would overlap in a destructive way.\r\n\r\nWhat I propose is to:\r\n* Namespace etcd by some sort of unique cluster ID\r\n* Implement ```apiserver``` support for master-slave operation, thus guaranteeing ```apiserver``` high-availability"},"comment":{"url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/comments/78098172","html_url":"https://github.com/GoogleCloudPlatform/kubernetes/issues/3476#issuecomment-78098172","issue_url":"https://api.github.com/repos/GoogleCloudPlatform/kubernetes/issues/3476","id":78098172,"user":{"login":"kbeecher","id":48620,"avatar_url":"https://avatars.githubusercontent.com/u/48620?v=3","gravatar_id":"","url":"https://api.github.com/users/kbeecher","html_url":"https://github.com/kbeecher","followers_url":"https://api.github.com/users/kbeecher/followers","following_url":"https://api.github.com/users/kbeecher/following{/other_user}","gists_url":"https://api.github.com/users/kbeecher/gists{/gist_id}","starred_url":"https://api.github.com/users/kbeecher/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kbeecher/subscriptions","organizations_url":"https://api.github.com/users/kbeecher/orgs","repos_url":"https://api.github.com/users/kbeecher/repos","events_url":"https://api.github.com/users/kbeecher/events{/privacy}","received_events_url":"https://api.github.com/users/kbeecher/received_events","type":"User","site_admin":false},"created_at":"2015-03-10T16:59:42Z","updated_at":"2015-03-10T16:59:42Z","body":"What would be the preferred approach to handling the addition of the prefix to the key?\r\n\r\nMaybe the prefix becomes a property of the EtcdHelper and so the prefix (if specified) is prepended to the key within each create/delete/extract/set operation?\r\n\r\nOr maybe the prefix should be stored by the registries, passed to them by the master during its init method, so it is already prepended to the keys before they arrive at the EtcdHelper?\r\n\r\nOr maybe some other approach...?"}}