Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added kernel upgrade workflow documentation #5211

Merged
merged 1 commit into from
Mar 11, 2015

Conversation

erictune
Copy link
Member

@erictune erictune commented Mar 9, 2015

No description provided.

@erictune
Copy link
Member Author

erictune commented Mar 9, 2015

@ddysher PTAL
@multilinear FYI re: #5044

@erictune
Copy link
Member Author

erictune commented Mar 9, 2015

Depends on #4585

@@ -31,3 +31,25 @@ You can use the kube-version-change utility to convert config files between diff
$ hack/build-go.sh cmd/kube-version-change
$ _output/go/bin/kube-version-change -i myPod.v1beta1.yaml -o myPod.v1beta3.yaml
```

### Upgrading the kernel on a node
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this have to do with upgrading a kernel? (Yes it's a good example, but updating libc would have the same issues)

This is about preparing a node for cluster removal, either temporary or permanent... I'll try to think of a better title, but saying this is only about kernel isn't good...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1. Upgrading docker daemon requires downtime, and all running containers are killed today too.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The containers have their own libc's, so, in principle, you could upgrade the node libc, restart all the node daemons, and not affect any running containers, and not have any open file handles on the old libc.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does docker daemon use libc? It seems we cant avoid downtime in the libc case.

How about Maintenance event on a node?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Called it "Upgrading the system software on a Node"

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, called it "Maintenance on a Node"

1. for pods which are not replicated, bring up a new copy of the pod, and redirect clients to it.
1. Work on the node
1. Make the node schedulable again:
`kubectl update nodes $NODENAME --patch='{"apiVersion": "v1beta1", "unschedulable": false}'.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missed an ending `

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed.

@erictune
Copy link
Member Author

PTAL

@ddysher ddysher added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 11, 2015
ddysher added a commit that referenced this pull request Mar 11, 2015
Added kernel upgrade workflow documentation
@ddysher ddysher merged commit e802432 into kubernetes:master Mar 11, 2015
@erictune erictune deleted the upgrade_sketch branch September 29, 2015 15:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lgtm "Looks good to me", indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants