{"action":"created","comment":{"url":"https://api.github.com/repos/kubernetes/website/pulls/comments/172181950","pull_request_review_id":101120776,"id":172181950,"diff_hunk":"@@ -0,0 +1,179 @@\n+---\n+reviewers:\n+- jamiehannaford \n+- luxas\n+- timothysc \n+- jbeda\n+title: Upgrading kubeadm HA clusters from 1.8.x to 1.9.x\n+---\n+\n+{% capture overview %}\n+\n+This guide is for upgrading `kubeadm` HA clusters from version 1.8.x to 1.9.x, as well as 1.8.x to 1.8.y and 1.9.x to 1.9.y where `y > x`. The term \"`kubeadm` HA clusters\" refers to clusters of more than one master node created with `kubeadm`. For versions 1.8.x and 1.9.x setting up such clusters is not directly supported by `kubeadm` and hence involves some manual steps. See \n+[Creating HA clusters with kubeadm](/docs/setup/independent/high-availability/) for instructions on how to do this. The upgrade procedure described here targets clusters created following those very instructions. You may also want to read [Upgrading/downgrading kubeadm clusters between v1.8 to v1.9](/docs/tasks/administer-cluster/kubeadm-upgrade-1-9/) for more information on upgrading clusters with `kubeadm`.\n+\n+{% endcapture %}\n+\n+{% capture prerequisites %}\n+\n+Before proceeding:\n+\n+- You need to have a functional `kubeadm` HA cluster running version 1.8.0 or higher in order to use the process described here. Swap also needs to be disabled.\n+- Make sure you read the [release notes](https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.9.md) carefully.\n+- Note that `kubeadm upgrade` will not touch any of your workloads, only Kubernetes-internal components. As a best-practice you should back up what's important to you. For example, any app-level state, such as a database an app might depend on (like MySQL or MongoDB) must be backed up beforehand.\n+\n+**Caution:** All the containers will get restarted after the upgrade, due to container spec hash value gets changed.\n+{: .caution}\n+\n+Also, note that only one minor version upgrade is supported. For example, you can only upgrade from 1.8 to 1.9, not from 1.7 to 1.9.\n+\n+{% endcapture %}\n+\n+{% capture steps %}\n+\n+## Preparation\n+\n+Before actually starting the upgrade, start with some preparation. For the actual upgrade `kubeadm` of at least the target version is required:\n+\n+```shell\n+# Use the latest stable release or manually specify a\n+# released Kubernetes version\n+$ export VERSION=$(curl -sSL https://dl.k8s.io/release/stable.txt) \n+$ export ARCH=amd64 # or: arm, arm64, ppc64le, s390x\n+$ curl -sSL https://dl.k8s.io/release/${VERSION}/bin/linux/${ARCH}/kubeadm > /tmp/kubeadm\n+$ chmod a+rx /tmp/kubeadm\n+```\n+\n+Copy this file to _/tmp_ on your primary master if necessary. Now run this command for checking prerequisites and determining the versions you'd get:\n+\n+```shell\n+$ /tmp/kubeadm upgrade plan\n+```\n+\n+If the prerequisites are met you'll get a summary of the software versions kubeadm would upgrade to, like this:\n+\n+    Upgrade to the latest stable version:\n+\n+    COMPONENT            CURRENT   AVAILABLE\n+    API Server           v1.8.3    v1.9.2\n+    Controller Manager   v1.8.3    v1.9.2\n+    Scheduler            v1.8.3    v1.9.2\n+    Kube Proxy           v1.8.3    v1.9.2\n+    Kube DNS             1.14.5    1.14.7\n+    Etcd                 3.2.7     3.1.11\n+\n+Note that upgrading etcd is not supported here because in the supported configuration it is running externally, hence if necessary you'll have to upgrade it according to etcd's upgrade instruction which is beyond scope here.\n+\n+## Upgrading your control plane\n+\n+The following procedure is applied on all master nodes one by one, i.e. when it has finished on master _#1_ it is applied on master _#2_ etc.\n+\n+Before the actual upgrade `configmap/kubeadm-config` needs to be adapted - replace a hard reference to some master host by the current master host’s FQDN:\n+\n+```shell\n+$ kubectl get configmap -n kube-system kubeadm-config -o yaml >/tmp/kubeadm-config-cm.yaml\n+$ sed -i 's/^\\([ \\t]*nodeName:\\).*/\\1 <CURRENT-MASTER-FQDN>/' /tmp/kubeadm-config-cm.yaml\n+$ kubectl apply -f /tmp/kubeadm-config-cm.yaml --force\n+```\n+\n+Now the actual upgrade process can start. Use the target version determined in the preparation step and run the following command (press “y” when prompted):\n+\n+```shell\n+$ /tmp/kubeadm upgrade apply v<YOUR-CHOSEN-VERSION-HERE>\n+```\n+\n+If the operation was successful you’ll get a message like this:\n+\n+    [upgrade/successful] SUCCESS! Your cluster was upgraded to \"v1.9.2\". Enjoy!\n+\n+    To upgrade the cluster with CoreDNS as the default internal DNS, invoke `kubeadm upgrade apply` with the `--feature-gates=CoreDNS=true` flag.\n+\n+`kubeadm upgrade apply` does the following:\n+\n+- Checks that your cluster is in an upgradeable state:\n+  - The API server is reachable,\n+  - All nodes are in the `Ready` state\n+  - The control plane is healthy\n+- Enforces the version skew policies.\n+- Makes sure the control plane images are available or available to pull to the machine.\n+- Upgrades the control plane components or rollbacks if any of them fails to come up.\n+- Applies the new `kube-dns` and `kube-proxy` manifests and enforces that all necessary RBAC rules are created.\n+- Creates new certificate and key files of apiserver and backs up old files if they're about to expire in 180 days.\n+\n+Next, manually upgrade your Software Defined Network (SDN).\n+\n+Your Container Network Interface (CNI) provider may have its own upgrade instructions to follow. Check the [addons](/docs/concepts/cluster-administration/addons/) page to find your CNI provider and see if there are additional upgrade steps necessary.\n+\n+It has been observed that in some cases after having upgraded the primary master the upgrade on some of the secondary masters failed initially (timed out waiting for the restarted static pods to come up) but worked just fine when retried after a minute or two.\n+\n+## Upgrade base software packages\n+\n+At this point all the static pod manifests in your cluster, i.e. API Server, Controller Manager, Scheduler, Kube Proxy have been upgraded, however the base software, i.e. `kubelet`, `kubectl`, `kubeadm` installed on your nodes’ OS are still of the old version. For upgrading the base software packages on all nodes they will be taken out (`cordon` if master, `drain` if worker node) upgraded and then taken in (`uncordon`) again one by one. \n+\n+First, the master nodes the master nodes will be upgraded (run `kubectl cordon` / `kubectl uncordon` from whatever machine you have set up to issue `kubectl` commands):\n+\n+```shell\n+$ kubectl cordon <MASTER-NODE-FQDN>\n+$ systemctl stop keepalived kubelet docker\n+# use your distro's package manager, e.g. 'yum' on RH-based systems\n+# for the versions stick to kubeadm's output (see above)\n+$ yum install -y kubelet-<NEW-K8S-VERSION> kubectl-<NEW-K8S-VERSION> kubeadm-<NEW-K8S-VERSION> kubernetes-cni-<NEW-CNI-VERSION>\n+$ systemctl start `echo keepalived kubelet docker | tac`\n+$ kubectl uncordon <MASTER-NODE-FQDN>\n+```\n+\n+In this example an _rpm_-based system is assumed and `yum` is used for installing the upgraded software. On _deb_-based systems it will be `apt-get update` and then `apt-get install <PACKAGE>=<NEW-K8S-VERSION>` for all packages.\n+\n+Because on the worker nodes there is no keepalived to stop and start and all processes need to be moved to other nodes cleanly before shutting anything down, `drain` is used instead of `cordon`. In this process all containers will get moved from one node to another at least once. If some of them keep local data you will need some strategy for this scenario. This really depends on the application(s) running in the cluster, and there is no simple, generic solution to this.\n+\n+On the master (or wherever you run `kubectl` commands):\n+\n+```shell\n+$ kubectl drain --delete-local-data --ignore-daemonsets <WORKER-NODE-FQDN>\n+```\n+\n+On the respective worker node:\n+\n+```shell\n+$ systemctl stop keepalived kubelet docker\n+# use your distro's package manager, e.g. 'yum' on RH-based systems\n+# for the versions stick to kubeadm's output (see above)\n+$ yum install -y kubelet-<NEW-K8S-VERSION> kubectl-<NEW-K8S-VERSION> kubeadm-<NEW-K8S-VERSION> kubernetes-cni-<NEW-CNI-VERSION>\n+$ systemctl start `echo keepalived kubelet docker | tac`\n+```\n+\n+Like above, for _deb_-based systems use `apt-get install <PACKAGE>=version` to upgrade the packages to the respective desired versions.\n+\n+Now the new version of the `kubelet` should be running on the host. Verify this using the following command on the respective host:\n+\n+```shell\n+systemctl status kubelet\n+```\n+\n+If everything was successful, again on the master (or wherever you run `kubectl` commands):\n+\n+```shell\n+$ kubectl uncordon <WORKER-NODE-FQDN>\n+```\n+\n+After all hosts in your cluster have been upgraded, verify that all nodes are available again by executing the following from wherever you run `kubectl` commands:\n+\n+```shell\n+kubectl get nodes\n+```\n+\n+If the `STATUS` column of the above command shows `Ready` for all of your hosts, you are done.\n+\n+## If something goes wrong\n+\n+If the upgrade fails the situation afterwards depends on the phase in which things went wrong:\n+\n+1. If `/tmp/kubeadm upgrade apply` failed to upgrade the cluster it will try to perform a rollback. Hence if that happened on the first master, chances are pretty good that the cluster is still intact.\n+\n+   You can run `/tmp/kubeadm upgrade apply` again as it is idempotent and should eventually make sure the actual state is the desired state you are declaring. You can use `/tmp/kubeadm upgrade apply` to change a running cluster with `x.x.x --> x.x.x` with `--force`, which can be used to recover from a bad state.","path":"docs/tasks/administer-cluster/kubeadm-upgrade-ha.md","position":173,"original_position":173,"commit_id":"826c93b0cc44e6337814d8a357294e2535478a96","original_commit_id":"826c93b0cc44e6337814d8a357294e2535478a96","user":{"login":"mbert","id":383271,"avatar_url":"https://avatars2.githubusercontent.com/u/383271?v=4","gravatar_id":"","url":"https://api.github.com/users/mbert","html_url":"https://github.com/mbert","followers_url":"https://api.github.com/users/mbert/followers","following_url":"https://api.github.com/users/mbert/following{/other_user}","gists_url":"https://api.github.com/users/mbert/gists{/gist_id}","starred_url":"https://api.github.com/users/mbert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbert/subscriptions","organizations_url":"https://api.github.com/users/mbert/orgs","repos_url":"https://api.github.com/users/mbert/repos","events_url":"https://api.github.com/users/mbert/events{/privacy}","received_events_url":"https://api.github.com/users/mbert/received_events","type":"User","site_admin":false},"body":"That's copy and paste from the [(non-HA) `kubeadm` upgrade guide ](https://kubernetes.io/docs/tasks/administer-cluster/kubeadm-upgrade-1-9/). I'd be fine to remove it, but it would probably be better to clarify this in all the `kubeadm` upgrade guides, which I'd consider out of scope for this PR. ","created_at":"2018-03-05T13:15:07Z","updated_at":"2018-03-05T13:16:54Z","html_url":"https://github.com/kubernetes/website/pull/7557#discussion_r172181950","pull_request_url":"https://api.github.com/repos/kubernetes/website/pulls/7557","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/kubernetes/website/pulls/comments/172181950"},"html":{"href":"https://github.com/kubernetes/website/pull/7557#discussion_r172181950"},"pull_request":{"href":"https://api.github.com/repos/kubernetes/website/pulls/7557"}},"in_reply_to_id":171589705},"pull_request":{"url":"https://api.github.com/repos/kubernetes/website/pulls/7557","id":171896514,"html_url":"https://github.com/kubernetes/website/pull/7557","diff_url":"https://github.com/kubernetes/website/pull/7557.diff","patch_url":"https://github.com/kubernetes/website/pull/7557.patch","issue_url":"https://api.github.com/repos/kubernetes/website/issues/7557","number":7557,"state":"open","locked":false,"title":"Guide for upgrading kubeadm HA clusters.","user":{"login":"mbert","id":383271,"avatar_url":"https://avatars2.githubusercontent.com/u/383271?v=4","gravatar_id":"","url":"https://api.github.com/users/mbert","html_url":"https://github.com/mbert","followers_url":"https://api.github.com/users/mbert/followers","following_url":"https://api.github.com/users/mbert/following{/other_user}","gists_url":"https://api.github.com/users/mbert/gists{/gist_id}","starred_url":"https://api.github.com/users/mbert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbert/subscriptions","organizations_url":"https://api.github.com/users/mbert/orgs","repos_url":"https://api.github.com/users/mbert/repos","events_url":"https://api.github.com/users/mbert/events{/privacy}","received_events_url":"https://api.github.com/users/mbert/received_events","type":"User","site_admin":false},"body":"This is the first go for a \"Upgrade HA kubeadm clusters\" guide. I hope I have found all files that needed to be changed for adding a new page. \r\n\r\n/cc @jbeda @timothysc @jamiehannaford ","created_at":"2018-02-28T09:24:46Z","updated_at":"2018-03-05T13:16:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8fcef45266ce480b9fbedfed4eb1d649cf5b7bfe","assignee":{"login":"heckj","id":43388,"avatar_url":"https://avatars0.githubusercontent.com/u/43388?v=4","gravatar_id":"","url":"https://api.github.com/users/heckj","html_url":"https://github.com/heckj","followers_url":"https://api.github.com/users/heckj/followers","following_url":"https://api.github.com/users/heckj/following{/other_user}","gists_url":"https://api.github.com/users/heckj/gists{/gist_id}","starred_url":"https://api.github.com/users/heckj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heckj/subscriptions","organizations_url":"https://api.github.com/users/heckj/orgs","repos_url":"https://api.github.com/users/heckj/repos","events_url":"https://api.github.com/users/heckj/events{/privacy}","received_events_url":"https://api.github.com/users/heckj/received_events","type":"User","site_admin":false},"assignees":[{"login":"heckj","id":43388,"avatar_url":"https://avatars0.githubusercontent.com/u/43388?v=4","gravatar_id":"","url":"https://api.github.com/users/heckj","html_url":"https://github.com/heckj","followers_url":"https://api.github.com/users/heckj/followers","following_url":"https://api.github.com/users/heckj/following{/other_user}","gists_url":"https://api.github.com/users/heckj/gists{/gist_id}","starred_url":"https://api.github.com/users/heckj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/heckj/subscriptions","organizations_url":"https://api.github.com/users/heckj/orgs","repos_url":"https://api.github.com/users/heckj/repos","events_url":"https://api.github.com/users/heckj/events{/privacy}","received_events_url":"https://api.github.com/users/heckj/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"jbeda","id":37310,"avatar_url":"https://avatars2.githubusercontent.com/u/37310?v=4","gravatar_id":"","url":"https://api.github.com/users/jbeda","html_url":"https://github.com/jbeda","followers_url":"https://api.github.com/users/jbeda/followers","following_url":"https://api.github.com/users/jbeda/following{/other_user}","gists_url":"https://api.github.com/users/jbeda/gists{/gist_id}","starred_url":"https://api.github.com/users/jbeda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jbeda/subscriptions","organizations_url":"https://api.github.com/users/jbeda/orgs","repos_url":"https://api.github.com/users/jbeda/repos","events_url":"https://api.github.com/users/jbeda/events{/privacy}","received_events_url":"https://api.github.com/users/jbeda/received_events","type":"User","site_admin":false},{"login":"jamiehannaford","id":1867202,"avatar_url":"https://avatars1.githubusercontent.com/u/1867202?v=4","gravatar_id":"","url":"https://api.github.com/users/jamiehannaford","html_url":"https://github.com/jamiehannaford","followers_url":"https://api.github.com/users/jamiehannaford/followers","following_url":"https://api.github.com/users/jamiehannaford/following{/other_user}","gists_url":"https://api.github.com/users/jamiehannaford/gists{/gist_id}","starred_url":"https://api.github.com/users/jamiehannaford/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jamiehannaford/subscriptions","organizations_url":"https://api.github.com/users/jamiehannaford/orgs","repos_url":"https://api.github.com/users/jamiehannaford/repos","events_url":"https://api.github.com/users/jamiehannaford/events{/privacy}","received_events_url":"https://api.github.com/users/jamiehannaford/received_events","type":"User","site_admin":true}],"requested_teams":[],"labels":[{"id":337411719,"url":"https://api.github.com/repos/kubernetes/website/labels/Docs%20Review:%20Open%20Issues","name":"Docs Review: Open Issues","color":"fbca04","default":false},{"id":337411848,"url":"https://api.github.com/repos/kubernetes/website/labels/Tech%20Review:%20Open%20Issues","name":"Tech Review: Open Issues","color":"fbca04","default":false},{"id":484571291,"url":"https://api.github.com/repos/kubernetes/website/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":679457866,"url":"https://api.github.com/repos/kubernetes/website/labels/size/L","name":"size/L","color":"ee9900","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/kubernetes/website/pulls/7557/commits","review_comments_url":"https://api.github.com/repos/kubernetes/website/pulls/7557/comments","review_comment_url":"https://api.github.com/repos/kubernetes/website/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubernetes/website/issues/7557/comments","statuses_url":"https://api.github.com/repos/kubernetes/website/statuses/826c93b0cc44e6337814d8a357294e2535478a96","head":{"label":"mbert:kubeadm-upgrade-ha","ref":"kubeadm-upgrade-ha","sha":"826c93b0cc44e6337814d8a357294e2535478a96","user":{"login":"mbert","id":383271,"avatar_url":"https://avatars2.githubusercontent.com/u/383271?v=4","gravatar_id":"","url":"https://api.github.com/users/mbert","html_url":"https://github.com/mbert","followers_url":"https://api.github.com/users/mbert/followers","following_url":"https://api.github.com/users/mbert/following{/other_user}","gists_url":"https://api.github.com/users/mbert/gists{/gist_id}","starred_url":"https://api.github.com/users/mbert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbert/subscriptions","organizations_url":"https://api.github.com/users/mbert/orgs","repos_url":"https://api.github.com/users/mbert/repos","events_url":"https://api.github.com/users/mbert/events{/privacy}","received_events_url":"https://api.github.com/users/mbert/received_events","type":"User","site_admin":false},"repo":{"id":121399667,"name":"website","full_name":"mbert/website","owner":{"login":"mbert","id":383271,"avatar_url":"https://avatars2.githubusercontent.com/u/383271?v=4","gravatar_id":"","url":"https://api.github.com/users/mbert","html_url":"https://github.com/mbert","followers_url":"https://api.github.com/users/mbert/followers","following_url":"https://api.github.com/users/mbert/following{/other_user}","gists_url":"https://api.github.com/users/mbert/gists{/gist_id}","starred_url":"https://api.github.com/users/mbert/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbert/subscriptions","organizations_url":"https://api.github.com/users/mbert/orgs","repos_url":"https://api.github.com/users/mbert/repos","events_url":"https://api.github.com/users/mbert/events{/privacy}","received_events_url":"https://api.github.com/users/mbert/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mbert/website","description":"Kubernetes website and documentation repo: ","fork":true,"url":"https://api.github.com/repos/mbert/website","forks_url":"https://api.github.com/repos/mbert/website/forks","keys_url":"https://api.github.com/repos/mbert/website/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mbert/website/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mbert/website/teams","hooks_url":"https://api.github.com/repos/mbert/website/hooks","issue_events_url":"https://api.github.com/repos/mbert/website/issues/events{/number}","events_url":"https://api.github.com/repos/mbert/website/events","assignees_url":"https://api.github.com/repos/mbert/website/assignees{/user}","branches_url":"https://api.github.com/repos/mbert/website/branches{/branch}","tags_url":"https://api.github.com/repos/mbert/website/tags","blobs_url":"https://api.github.com/repos/mbert/website/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mbert/website/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mbert/website/git/refs{/sha}","trees_url":"https://api.github.com/repos/mbert/website/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mbert/website/statuses/{sha}","languages_url":"https://api.github.com/repos/mbert/website/languages","stargazers_url":"https://api.github.com/repos/mbert/website/stargazers","contributors_url":"https://api.github.com/repos/mbert/website/contributors","subscribers_url":"https://api.github.com/repos/mbert/website/subscribers","subscription_url":"https://api.github.com/repos/mbert/website/subscription","commits_url":"https://api.github.com/repos/mbert/website/commits{/sha}","git_commits_url":"https://api.github.com/repos/mbert/website/git/commits{/sha}","comments_url":"https://api.github.com/repos/mbert/website/comments{/number}","issue_comment_url":"https://api.github.com/repos/mbert/website/issues/comments{/number}","contents_url":"https://api.github.com/repos/mbert/website/contents/{+path}","compare_url":"https://api.github.com/repos/mbert/website/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mbert/website/merges","archive_url":"https://api.github.com/repos/mbert/website/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mbert/website/downloads","issues_url":"https://api.github.com/repos/mbert/website/issues{/number}","pulls_url":"https://api.github.com/repos/mbert/website/pulls{/number}","milestones_url":"https://api.github.com/repos/mbert/website/milestones{/number}","notifications_url":"https://api.github.com/repos/mbert/website/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mbert/website/labels{/name}","releases_url":"https://api.github.com/repos/mbert/website/releases{/id}","deployments_url":"https://api.github.com/repos/mbert/website/deployments","created_at":"2018-02-13T15:31:48Z","updated_at":"2018-02-13T15:31:52Z","pushed_at":"2018-02-28T09:21:02Z","git_url":"git://github.com/mbert/website.git","ssh_url":"git@github.com:mbert/website.git","clone_url":"https://github.com/mbert/website.git","svn_url":"https://github.com/mbert/website","homepage":"https://kubernetes.io","size":78417,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"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":"kubernetes:master","ref":"master","sha":"b99d1b13947c169a65a41ade946d43f9a5264512","user":{"login":"kubernetes","id":13629408,"avatar_url":"https://avatars2.githubusercontent.com/u/13629408?v=4","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"repo":{"id":51478266,"name":"website","full_name":"kubernetes/website","owner":{"login":"kubernetes","id":13629408,"avatar_url":"https://avatars2.githubusercontent.com/u/13629408?v=4","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kubernetes/website","description":"Kubernetes website and documentation repo: ","fork":false,"url":"https://api.github.com/repos/kubernetes/website","forks_url":"https://api.github.com/repos/kubernetes/website/forks","keys_url":"https://api.github.com/repos/kubernetes/website/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubernetes/website/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubernetes/website/teams","hooks_url":"https://api.github.com/repos/kubernetes/website/hooks","issue_events_url":"https://api.github.com/repos/kubernetes/website/issues/events{/number}","events_url":"https://api.github.com/repos/kubernetes/website/events","assignees_url":"https://api.github.com/repos/kubernetes/website/assignees{/user}","branches_url":"https://api.github.com/repos/kubernetes/website/branches{/branch}","tags_url":"https://api.github.com/repos/kubernetes/website/tags","blobs_url":"https://api.github.com/repos/kubernetes/website/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubernetes/website/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubernetes/website/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubernetes/website/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubernetes/website/statuses/{sha}","languages_url":"https://api.github.com/repos/kubernetes/website/languages","stargazers_url":"https://api.github.com/repos/kubernetes/website/stargazers","contributors_url":"https://api.github.com/repos/kubernetes/website/contributors","subscribers_url":"https://api.github.com/repos/kubernetes/website/subscribers","subscription_url":"https://api.github.com/repos/kubernetes/website/subscription","commits_url":"https://api.github.com/repos/kubernetes/website/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubernetes/website/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubernetes/website/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubernetes/website/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubernetes/website/contents/{+path}","compare_url":"https://api.github.com/repos/kubernetes/website/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubernetes/website/merges","archive_url":"https://api.github.com/repos/kubernetes/website/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubernetes/website/downloads","issues_url":"https://api.github.com/repos/kubernetes/website/issues{/number}","pulls_url":"https://api.github.com/repos/kubernetes/website/pulls{/number}","milestones_url":"https://api.github.com/repos/kubernetes/website/milestones{/number}","notifications_url":"https://api.github.com/repos/kubernetes/website/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubernetes/website/labels{/name}","releases_url":"https://api.github.com/repos/kubernetes/website/releases{/id}","deployments_url":"https://api.github.com/repos/kubernetes/website/deployments","created_at":"2016-02-10T22:46:48Z","updated_at":"2018-03-05T07:20:52Z","pushed_at":"2018-03-05T10:03:58Z","git_url":"git://github.com/kubernetes/website.git","ssh_url":"git@github.com:kubernetes/website.git","clone_url":"https://github.com/kubernetes/website.git","svn_url":"https://github.com/kubernetes/website","homepage":"https://kubernetes.io","size":108268,"stargazers_count":402,"watchers_count":402,"language":"HTML","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2231,"mirror_url":null,"archived":false,"open_issues_count":338,"license":{"key":"cc-by-4.0","name":"Creative Commons Attribution 4.0","spdx_id":"CC-BY-4.0","url":"https://api.github.com/licenses/cc-by-4.0"},"forks":2231,"open_issues":338,"watchers":402,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubernetes/website/pulls/7557"},"html":{"href":"https://github.com/kubernetes/website/pull/7557"},"issue":{"href":"https://api.github.com/repos/kubernetes/website/issues/7557"},"comments":{"href":"https://api.github.com/repos/kubernetes/website/issues/7557/comments"},"review_comments":{"href":"https://api.github.com/repos/kubernetes/website/pulls/7557/comments"},"review_comment":{"href":"https://api.github.com/repos/kubernetes/website/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubernetes/website/pulls/7557/commits"},"statuses":{"href":"https://api.github.com/repos/kubernetes/website/statuses/826c93b0cc44e6337814d8a357294e2535478a96"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"mbert"}}