{"action":"created","issue":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/45300","repository_url":"https://api.github.com/repos/kubernetes/kubernetes","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/45300/labels{/name}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/45300/comments","events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/45300/events","html_url":"https://github.com/kubernetes/kubernetes/issues/45300","id":226079288,"number":45300,"title":"[Proposal] Supporting active-standby applications in Kubernetes","user":{"login":"XiaoningDing","id":16261467,"avatar_url":"https://avatars3.githubusercontent.com/u/16261467?v=4","gravatar_id":"","url":"https://api.github.com/users/XiaoningDing","html_url":"https://github.com/XiaoningDing","followers_url":"https://api.github.com/users/XiaoningDing/followers","following_url":"https://api.github.com/users/XiaoningDing/following{/other_user}","gists_url":"https://api.github.com/users/XiaoningDing/gists{/gist_id}","starred_url":"https://api.github.com/users/XiaoningDing/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/XiaoningDing/subscriptions","organizations_url":"https://api.github.com/users/XiaoningDing/orgs","repos_url":"https://api.github.com/users/XiaoningDing/repos","events_url":"https://api.github.com/users/XiaoningDing/events{/privacy}","received_events_url":"https://api.github.com/users/XiaoningDing/received_events","type":"User","site_admin":false},"labels":[{"id":136908839,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/area/HA","name":"area/HA","color":"0052cc","default":false},{"id":267761362,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/kind/feature","name":"kind/feature","color":"c7def8","default":false},{"id":778118402,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/lifecycle/rotten","name":"lifecycle/rotten","color":"604460","default":false},{"id":404091735,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/sig/apps","name":"sig/apps","color":"d2b48c","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2017-05-03T18:47:13Z","updated_at":"2018-02-25T16:34:49Z","closed_at":null,"author_association":"NONE","body":"**Is this a BUG REPORT or FEATURE REQUEST?** (choose one):  \r\n\r\nThis is a feature request.\r\n\r\n<!--\r\nIf this is a BUG REPORT, please:\r\n  - Fill in as much of the template below as you can.  If you leave out\r\n    information, we can't help you as well.\r\n\r\nIf this is a FEATURE REQUEST, please:\r\n  - Describe *in detail* the feature/behavior/change you'd like to see.\r\n\r\nIn both cases, be ready for followup questions, and please respond in a timely\r\nmanner.  If we can't reproduce a bug or think a feature already exists, we\r\nmight close your issue.  If we're wrong, PLEASE feel free to reopen it and\r\nexplain why.\r\n-->\r\n\r\n\r\n\r\n\r\n**What you expected to happen**:\r\n\r\nPropose to have a built-in support for active-standby applications in Kubernetes.\r\n\r\nActive-Standby applications are applications that have multiple running instances, but only one instance is active and serving workloads at one time. All other instances are idle (standby). If the active instance is down, one of the standby instances will be promoted to active immediately. \r\n\r\nLots of enterprise legacy applications are such applications. In fact, Kubernetes scheduler and controller manager are also examples. They run in active-standby mode in a HA deployment of Kubernetes.\r\n\r\nThese applications have similar requirements in their development and deployment, like:\r\n\r\n- Role assignment:  one of the instances should be active and all others be standby. Each instance needs to be aware of its current role.\r\n- Health monitoring and role switching: when the active instance is down, one of the standby instances needs to be promoted to active. When a standby instance is down, a new standby instance should be added.\r\n- Traffic routing:  a single service is exposed, but traffic should always be routed to the current active instance.\r\n- Controlled update:  when update such a collection of pod instances, the standby instances should be updated before the active instance is updated.\r\n\r\nThese requirements cannot be handled by current StatefulSet object. Statefulset object is a good abstraction for clustered stateful applications, however it seems there are many differences between clustered model and active-standby model. In the former model instances are aware of each other and have their own storage, but in the latter model instances are not aware of each other and states need to be synced. \r\n\r\nNow developers and operators need to implement above mentioned requirements again and again for all such active-standby applications. I'm wondering if we can make active-standby model a native supported model in Kubernetes so applications can focus on their own business logic.\r\n\r\n\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments/368323446","html_url":"https://github.com/kubernetes/kubernetes/issues/45300#issuecomment-368323446","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/45300","id":368323446,"user":{"login":"fejta-bot","id":30488982,"avatar_url":"https://avatars1.githubusercontent.com/u/30488982?v=4","gravatar_id":"","url":"https://api.github.com/users/fejta-bot","html_url":"https://github.com/fejta-bot","followers_url":"https://api.github.com/users/fejta-bot/followers","following_url":"https://api.github.com/users/fejta-bot/following{/other_user}","gists_url":"https://api.github.com/users/fejta-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/fejta-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fejta-bot/subscriptions","organizations_url":"https://api.github.com/users/fejta-bot/orgs","repos_url":"https://api.github.com/users/fejta-bot/repos","events_url":"https://api.github.com/users/fejta-bot/events{/privacy}","received_events_url":"https://api.github.com/users/fejta-bot/received_events","type":"User","site_admin":false},"created_at":"2018-02-25T16:34:49Z","updated_at":"2018-02-25T16:34:49Z","author_association":"NONE","body":"Rotten issues close after 30d of inactivity.\nReopen the issue with `/reopen`.\nMark the issue as fresh with `/remove-lifecycle rotten`.\n\nSend feedback to sig-testing, kubernetes/test-infra and/or [fejta](https://github.com/fejta).\n/close"}}
{"actor":{"display_login":"fejta-bot"}}