{"action":"created","comment":{"url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/pulls/comments/228188967","pull_request_review_id":168402593,"id":228188967,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyODE4ODk2Nw==","diff_hunk":"@@ -0,0 +1,111 @@\n+---\n+title: \"Backups | Canonical Distribution of Kubernetes&reg;\"\n+keywords: juju, backup, etcd\n+tags: [operating]\n+sidebar: k8smain-sidebar\n+permalink: backups.html\n+layout: base\n+toc: False\n+summary: This page is currently a work in progress. For existing documentation, please visit <a href=\"https://kubernetes.io/docs/getting-started-guides/ubuntu/\"> https://kubernetes.io/docs/getting-started-guides/ubuntu/ </a>\n+---\n+\n+# Backups\n+\n+The state of your Kubernetes cluster is kept in the etcd datastore. This page\n+shows how to backup and restore the etcd included in the **Canonical\n+Distribution of Kubernetes <sup>&reg;</sup>**.\n+\n+ Backing up application specific data, normally stored in a persistent volume, is not\n+ currently supported by native Kubernetes. Various third party solutions are available -\n+ please refer to their own documentation for details.\n+\n+ ## Creating an **etcd** snapshot\n+\n+ <div class=\"p-notification--warning\"><p class=\"p-notification__response\">\n+ <span class=\"p-notification__status\">Warning:</span>\n+ Snapshots can only be restored on the **same version of etcd**.\n+  </p></div>\n+\n+\n+\n+ **etcd** is a distributed key/value store. To create a snapshot, all that is required is to run\n+ the `snapshot` action on one of the units running **etcd**:\n+\n+ ```bash\n+ juju run-action etcd/0 snapshot --wait\n+ ```\n+\n+ By specifying `--wait`, the console will wait to return the result of running\n+ the action, which in this case includes the path and filename of the generated\n+ snapshot file. For example:\n+\n+ ```bash\n+ unit-etcd-0:\n+  id: 3d6a505e-07d7-4697-8471-60156f87b1b4\n+  results:\n+    copy:\n+      cmd: juju scp etcd/0:/home/ubuntu/etcd-snapshots/etcd-snapshot-2018-09-26-18.04.02.tar.gz\n+        .\n+    snapshot:\n+      path: /home/ubuntu/etcd-snapshots/etcd-snapshot-2018-09-26-18.04.02.tar.gz\n+      sha256: e85ae4d49b6a889de2063031379ab320cc8f09b6e328cdff2fb9179fc641eee9\n+      size: 68K\n+      version: |-\n+        etcdctl version: 3.2.10\n+        API version: 2\n+  status: completed\n+  timing:\n+    completed: 2018-09-26 18:04:04 +0000 UTC\n+    enqueued: 2018-09-26 18:04:04 +0000 UTC\n+    started: 2018-09-26 18:04:03 +0000 UTC\n+  unit: etcd/0\n+  ```\n+\n+  This path/filename relates to the unit where the action was run. As we will\n+  likely want to use the snapshot on a different unit, we should fetch the\n+  snapshot to the local machine. The command to perform this is also helpfully\n+  supplied in the `copy` section of the output (see above):\n+\n+```bash\n+  juju scp etcd/0:/home/ubuntu/etcd-snapshots/etcd-snapshot-2018-09-26-18.04.02.tar.gz .\n+  ```\n+\n+It is also wise to check the sha256 checksum of the file you have copied\n+against the value in the previous output:\n+\n+```bash\n+sha256sum etcd-snapshot-2018-09-26-18.04.02.tar.gz\n+```\n+\n+## Restoring a snapshot\n+\n+<div class=\"p-notification--warning\"><p class=\"p-notification__response\">\n+<span class=\"p-notification__status\">Warning:</span>\n+Restoring a snapshot should not be performed when there is more than one unit of **etcd** running.\n+ </p></div>\n+\n+ As restoring only works when there is a single unit of **etcd**, it is usual to deploy a new\n+instance of the application first. In this case, we can attache the snapshot as a resource during creation","path":"pages/k8s/backups.md","position":88,"original_position":88,"commit_id":"f3816a7b1903a9fa1c4a5e460dccdfa275f4e141","original_commit_id":"f3816a7b1903a9fa1c4a5e460dccdfa275f4e141","user":{"login":"kwmonroe","id":4576822,"node_id":"MDQ6VXNlcjQ1NzY4MjI=","avatar_url":"https://avatars3.githubusercontent.com/u/4576822?v=4","gravatar_id":"","url":"https://api.github.com/users/kwmonroe","html_url":"https://github.com/kwmonroe","followers_url":"https://api.github.com/users/kwmonroe/followers","following_url":"https://api.github.com/users/kwmonroe/following{/other_user}","gists_url":"https://api.github.com/users/kwmonroe/gists{/gist_id}","starred_url":"https://api.github.com/users/kwmonroe/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kwmonroe/subscriptions","organizations_url":"https://api.github.com/users/kwmonroe/orgs","repos_url":"https://api.github.com/users/kwmonroe/repos","events_url":"https://api.github.com/users/kwmonroe/events{/privacy}","received_events_url":"https://api.github.com/users/kwmonroe/received_events","type":"User","site_admin":false},"body":"s/attache/attach","created_at":"2018-10-25T14:10:52Z","updated_at":"2018-10-25T14:10:52Z","html_url":"https://github.com/juju-solutions/kubernetes-docs/pull/19#discussion_r228188967","pull_request_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/pulls/19","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/juju-solutions/kubernetes-docs/pulls/comments/228188967"},"html":{"href":"https://github.com/juju-solutions/kubernetes-docs/pull/19#discussion_r228188967"},"pull_request":{"href":"https://api.github.com/repos/juju-solutions/kubernetes-docs/pulls/19"}}},"pull_request":{"url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/pulls/19","id":219355384,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE5MzU1Mzg0","html_url":"https://github.com/juju-solutions/kubernetes-docs/pull/19","diff_url":"https://github.com/juju-solutions/kubernetes-docs/pull/19.diff","patch_url":"https://github.com/juju-solutions/kubernetes-docs/pull/19.patch","issue_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/issues/19","number":19,"state":"open","locked":false,"title":"Backups","user":{"login":"evilnick","id":115290,"node_id":"MDQ6VXNlcjExNTI5MA==","avatar_url":"https://avatars3.githubusercontent.com/u/115290?v=4","gravatar_id":"","url":"https://api.github.com/users/evilnick","html_url":"https://github.com/evilnick","followers_url":"https://api.github.com/users/evilnick/followers","following_url":"https://api.github.com/users/evilnick/following{/other_user}","gists_url":"https://api.github.com/users/evilnick/gists{/gist_id}","starred_url":"https://api.github.com/users/evilnick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evilnick/subscriptions","organizations_url":"https://api.github.com/users/evilnick/orgs","repos_url":"https://api.github.com/users/evilnick/repos","events_url":"https://api.github.com/users/evilnick/events{/privacy}","received_events_url":"https://api.github.com/users/evilnick/received_events","type":"User","site_admin":false},"body":"The restore section doesn't currently seem to work - see inline comments. Contributions welcome","created_at":"2018-10-01T12:19:55Z","updated_at":"2018-10-25T14:10:52Z","closed_at":null,"merged_at":null,"merge_commit_sha":"59e7e814011b9a8204ac6cba44dc4930ca9a56c1","assignee":null,"assignees":[],"requested_reviewers":[{"login":"tvansteenburgh","id":801183,"node_id":"MDQ6VXNlcjgwMTE4Mw==","avatar_url":"https://avatars0.githubusercontent.com/u/801183?v=4","gravatar_id":"","url":"https://api.github.com/users/tvansteenburgh","html_url":"https://github.com/tvansteenburgh","followers_url":"https://api.github.com/users/tvansteenburgh/followers","following_url":"https://api.github.com/users/tvansteenburgh/following{/other_user}","gists_url":"https://api.github.com/users/tvansteenburgh/gists{/gist_id}","starred_url":"https://api.github.com/users/tvansteenburgh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tvansteenburgh/subscriptions","organizations_url":"https://api.github.com/users/tvansteenburgh/orgs","repos_url":"https://api.github.com/users/tvansteenburgh/repos","events_url":"https://api.github.com/users/tvansteenburgh/events{/privacy}","received_events_url":"https://api.github.com/users/tvansteenburgh/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/pulls/19/commits","review_comments_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/pulls/19/comments","review_comment_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/pulls/comments{/number}","comments_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/issues/19/comments","statuses_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/statuses/f3816a7b1903a9fa1c4a5e460dccdfa275f4e141","head":{"label":"evilnick:backups","ref":"backups","sha":"f3816a7b1903a9fa1c4a5e460dccdfa275f4e141","user":{"login":"evilnick","id":115290,"node_id":"MDQ6VXNlcjExNTI5MA==","avatar_url":"https://avatars3.githubusercontent.com/u/115290?v=4","gravatar_id":"","url":"https://api.github.com/users/evilnick","html_url":"https://github.com/evilnick","followers_url":"https://api.github.com/users/evilnick/followers","following_url":"https://api.github.com/users/evilnick/following{/other_user}","gists_url":"https://api.github.com/users/evilnick/gists{/gist_id}","starred_url":"https://api.github.com/users/evilnick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evilnick/subscriptions","organizations_url":"https://api.github.com/users/evilnick/orgs","repos_url":"https://api.github.com/users/evilnick/repos","events_url":"https://api.github.com/users/evilnick/events{/privacy}","received_events_url":"https://api.github.com/users/evilnick/received_events","type":"User","site_admin":false},"repo":{"id":143172974,"node_id":"MDEwOlJlcG9zaXRvcnkxNDMxNzI5NzQ=","name":"kubernetes-docs","full_name":"evilnick/kubernetes-docs","private":false,"owner":{"login":"evilnick","id":115290,"node_id":"MDQ6VXNlcjExNTI5MA==","avatar_url":"https://avatars3.githubusercontent.com/u/115290?v=4","gravatar_id":"","url":"https://api.github.com/users/evilnick","html_url":"https://github.com/evilnick","followers_url":"https://api.github.com/users/evilnick/followers","following_url":"https://api.github.com/users/evilnick/following{/other_user}","gists_url":"https://api.github.com/users/evilnick/gists{/gist_id}","starred_url":"https://api.github.com/users/evilnick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evilnick/subscriptions","organizations_url":"https://api.github.com/users/evilnick/orgs","repos_url":"https://api.github.com/users/evilnick/repos","events_url":"https://api.github.com/users/evilnick/events{/privacy}","received_events_url":"https://api.github.com/users/evilnick/received_events","type":"User","site_admin":false},"html_url":"https://github.com/evilnick/kubernetes-docs","description":"This is a holding spot for docs work until the proper home of docs is ready.","fork":true,"url":"https://api.github.com/repos/evilnick/kubernetes-docs","forks_url":"https://api.github.com/repos/evilnick/kubernetes-docs/forks","keys_url":"https://api.github.com/repos/evilnick/kubernetes-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/evilnick/kubernetes-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/evilnick/kubernetes-docs/teams","hooks_url":"https://api.github.com/repos/evilnick/kubernetes-docs/hooks","issue_events_url":"https://api.github.com/repos/evilnick/kubernetes-docs/issues/events{/number}","events_url":"https://api.github.com/repos/evilnick/kubernetes-docs/events","assignees_url":"https://api.github.com/repos/evilnick/kubernetes-docs/assignees{/user}","branches_url":"https://api.github.com/repos/evilnick/kubernetes-docs/branches{/branch}","tags_url":"https://api.github.com/repos/evilnick/kubernetes-docs/tags","blobs_url":"https://api.github.com/repos/evilnick/kubernetes-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/evilnick/kubernetes-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/evilnick/kubernetes-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/evilnick/kubernetes-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/evilnick/kubernetes-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/evilnick/kubernetes-docs/languages","stargazers_url":"https://api.github.com/repos/evilnick/kubernetes-docs/stargazers","contributors_url":"https://api.github.com/repos/evilnick/kubernetes-docs/contributors","subscribers_url":"https://api.github.com/repos/evilnick/kubernetes-docs/subscribers","subscription_url":"https://api.github.com/repos/evilnick/kubernetes-docs/subscription","commits_url":"https://api.github.com/repos/evilnick/kubernetes-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/evilnick/kubernetes-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/evilnick/kubernetes-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/evilnick/kubernetes-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/evilnick/kubernetes-docs/contents/{+path}","compare_url":"https://api.github.com/repos/evilnick/kubernetes-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/evilnick/kubernetes-docs/merges","archive_url":"https://api.github.com/repos/evilnick/kubernetes-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/evilnick/kubernetes-docs/downloads","issues_url":"https://api.github.com/repos/evilnick/kubernetes-docs/issues{/number}","pulls_url":"https://api.github.com/repos/evilnick/kubernetes-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/evilnick/kubernetes-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/evilnick/kubernetes-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/evilnick/kubernetes-docs/labels{/name}","releases_url":"https://api.github.com/repos/evilnick/kubernetes-docs/releases{/id}","deployments_url":"https://api.github.com/repos/evilnick/kubernetes-docs/deployments","created_at":"2018-08-01T15:13:38Z","updated_at":"2018-10-22T12:13:11Z","pushed_at":"2018-10-22T13:05:25Z","git_url":"git://github.com/evilnick/kubernetes-docs.git","ssh_url":"git@github.com:evilnick/kubernetes-docs.git","clone_url":"https://github.com/evilnick/kubernetes-docs.git","svn_url":"https://github.com/evilnick/kubernetes-docs","homepage":null,"size":3668,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"juju-solutions:master","ref":"master","sha":"d213104a51a6d85109dd01c7c1da56db9e1165c2","user":{"login":"juju-solutions","id":8684561,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg2ODQ1NjE=","avatar_url":"https://avatars1.githubusercontent.com/u/8684561?v=4","gravatar_id":"","url":"https://api.github.com/users/juju-solutions","html_url":"https://github.com/juju-solutions","followers_url":"https://api.github.com/users/juju-solutions/followers","following_url":"https://api.github.com/users/juju-solutions/following{/other_user}","gists_url":"https://api.github.com/users/juju-solutions/gists{/gist_id}","starred_url":"https://api.github.com/users/juju-solutions/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juju-solutions/subscriptions","organizations_url":"https://api.github.com/users/juju-solutions/orgs","repos_url":"https://api.github.com/users/juju-solutions/repos","events_url":"https://api.github.com/users/juju-solutions/events{/privacy}","received_events_url":"https://api.github.com/users/juju-solutions/received_events","type":"Organization","site_admin":false},"repo":{"id":142455969,"node_id":"MDEwOlJlcG9zaXRvcnkxNDI0NTU5Njk=","name":"kubernetes-docs","full_name":"juju-solutions/kubernetes-docs","private":false,"owner":{"login":"juju-solutions","id":8684561,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg2ODQ1NjE=","avatar_url":"https://avatars1.githubusercontent.com/u/8684561?v=4","gravatar_id":"","url":"https://api.github.com/users/juju-solutions","html_url":"https://github.com/juju-solutions","followers_url":"https://api.github.com/users/juju-solutions/followers","following_url":"https://api.github.com/users/juju-solutions/following{/other_user}","gists_url":"https://api.github.com/users/juju-solutions/gists{/gist_id}","starred_url":"https://api.github.com/users/juju-solutions/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/juju-solutions/subscriptions","organizations_url":"https://api.github.com/users/juju-solutions/orgs","repos_url":"https://api.github.com/users/juju-solutions/repos","events_url":"https://api.github.com/users/juju-solutions/events{/privacy}","received_events_url":"https://api.github.com/users/juju-solutions/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/juju-solutions/kubernetes-docs","description":"This is a holding spot for docs work until the proper home of docs is ready.","fork":false,"url":"https://api.github.com/repos/juju-solutions/kubernetes-docs","forks_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/forks","keys_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/keys{/key_id}","collaborators_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/teams","hooks_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/hooks","issue_events_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/issues/events{/number}","events_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/events","assignees_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/assignees{/user}","branches_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/branches{/branch}","tags_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/tags","blobs_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/git/refs{/sha}","trees_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/git/trees{/sha}","statuses_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/statuses/{sha}","languages_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/languages","stargazers_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/stargazers","contributors_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/contributors","subscribers_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/subscribers","subscription_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/subscription","commits_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/commits{/sha}","git_commits_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/git/commits{/sha}","comments_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/comments{/number}","issue_comment_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/issues/comments{/number}","contents_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/contents/{+path}","compare_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/compare/{base}...{head}","merges_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/merges","archive_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/downloads","issues_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/issues{/number}","pulls_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/pulls{/number}","milestones_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/milestones{/number}","notifications_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/labels{/name}","releases_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/releases{/id}","deployments_url":"https://api.github.com/repos/juju-solutions/kubernetes-docs/deployments","created_at":"2018-07-26T14:56:01Z","updated_at":"2018-10-22T18:19:04Z","pushed_at":"2018-10-22T18:19:02Z","git_url":"git://github.com/juju-solutions/kubernetes-docs.git","ssh_url":"git@github.com:juju-solutions/kubernetes-docs.git","clone_url":"https://github.com/juju-solutions/kubernetes-docs.git","svn_url":"https://github.com/juju-solutions/kubernetes-docs","homepage":null,"size":3668,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":3,"mirror_url":null,"archived":false,"open_issues_count":5,"license":null,"forks":3,"open_issues":5,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/juju-solutions/kubernetes-docs/pulls/19"},"html":{"href":"https://github.com/juju-solutions/kubernetes-docs/pull/19"},"issue":{"href":"https://api.github.com/repos/juju-solutions/kubernetes-docs/issues/19"},"comments":{"href":"https://api.github.com/repos/juju-solutions/kubernetes-docs/issues/19/comments"},"review_comments":{"href":"https://api.github.com/repos/juju-solutions/kubernetes-docs/pulls/19/comments"},"review_comment":{"href":"https://api.github.com/repos/juju-solutions/kubernetes-docs/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/juju-solutions/kubernetes-docs/pulls/19/commits"},"statuses":{"href":"https://api.github.com/repos/juju-solutions/kubernetes-docs/statuses/f3816a7b1903a9fa1c4a5e460dccdfa275f4e141"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"kwmonroe"}}