Updating Ubuntu based instructions and upgrades

This commit is contained in:
Marco Ceppi
2017-05-02 07:59:24 -04:00
committed by Andrew Chen
parent e95cac7597
commit a5fa73e180
5 changed files with 46 additions and 15 deletions
+6 -5
View File
@@ -98,6 +98,7 @@ For each host in turn:
* SSH into the machine and become root if you are not already (for example,
run `sudo su -`).
* If the machine is running Ubuntu or HypriotOS, run:
``` bash
@@ -131,12 +132,12 @@ For each host in turn:
systemctl enable kubelet && systemctl start kubelet
```
The kubelet is now restarting every few seconds, as it waits in a crashloop for
kubeadm to tell it what to do.
The kubelet is now restarting every few seconds, as it waits in a crashloop for
kubeadm to tell it what to do.
Note: Disabling SELinux by running `setenforce 0` is required in order to allow
containers to access the host filesystem, which is required by pod networks for
example. You have to do this until SELinux support is improved in the kubelet.
Note: Disabling SELinux by running `setenforce 0` is required in order to allow
containers to access the host filesystem, which is required by pod networks for
example. You have to do this until SELinux support is improved in the kubelet.
While this guide is correct for kubeadm 1.6, the previous version is still
available but can be a bit tricky to install. [See below](#old-kubeadm) for
+12 -4
View File
@@ -14,11 +14,11 @@ There are multiple ways to run a Kubernetes cluster with Ubuntu. These pages exp
- [The Canonical Distribution of Kubernetes](https://www.ubuntu.com/cloud/kubernetes)
Supports AWS, GCE, Azure, Joyent, OpenStack, Bare Metal and local workstation deployment.
Supports AWS, GCE, Azure, Joyent, OpenStack, VMWare, Bare Metal and localhost deployments.
### Quick Start
[conjure-up](http://conjure-up.io/) provides a quick way to deploy Kubernetes on multiple clouds and bare metal. It provides a user-friendly UI that prompts you for cloud credentials and configuration options:
[conjure-up](http://conjure-up.io/) provides the quickest way to deploy Kubernetes on Ubuntu for multiple clouds and bare metal. It provides a user-friendly UI that prompts you for cloud credentials and configuration options
Available for Ubuntu 16.04 and newer:
@@ -27,6 +27,13 @@ sudo snap install conjure-up --classic
conjure-up kubernetes
```
As well as Homebrew for macOS:
```
brew install conjure-up
conjure-up kubernetes
```
### Operational Guides
These are more in-depth guides for users choosing to run Kubernetes in production:
@@ -48,11 +55,11 @@ These are more in-depth guides for users choosing to run Kubernetes in productio
## Developer Guides
- [Local development using LXD](/docs/getting-started-guides/ubuntu/local)
- [Localhost using LXD](/docs/getting-started-guides/ubuntu/local)
## Community Ubuntu Guides
- [Manual Installation](/docs/getting-started-guides/ubuntu/manual)
- [Calico Configuration](/docs/getting-started-guides/ubuntu/calico)
Please feel free to submit guides to this section.
@@ -62,6 +69,7 @@ We're normally following the following Slack channels:
- [sig-cluster-lifecycle](https://kubernetes.slack.com/messages/sig-cluster-lifecycle/)
- [sig-cluster-ops](https://kubernetes.slack.com/messages/sig-cluster-ops/)
- [sig-onprem](https://kubernetes.slack.com/messages/sig-onprem/)
and we monitor the Kubernetes mailing lists.
{% endcapture %}
@@ -106,11 +106,11 @@ default aws-us-east-2 aws/us-east-2 2.0.1
App Version Status Scale Charm Store Rev OS Notes
easyrsa 3.0.1 active 1 easyrsa jujucharms 3 ubuntu
etcd 2.2.5 active 3 etcd jujucharms 14 ubuntu
etcd 3.1.2 active 3 etcd jujucharms 14 ubuntu
flannel 0.6.1 maintenance 4 flannel jujucharms 5 ubuntu
kubeapi-load-balancer 1.10.0 active 1 kubeapi-load-balancer jujucharms 3 ubuntu exposed
kubernetes-master 1.4.5 active 1 kubernetes-master jujucharms 6 ubuntu
kubernetes-worker 1.4.5 active 3 kubernetes-worker jujucharms 8 ubuntu exposed
kubernetes-master 1.6.1 active 1 kubernetes-master jujucharms 6 ubuntu
kubernetes-worker 1.6.1 active 3 kubernetes-worker jujucharms 8 ubuntu exposed
topbeat active 3 topbeat jujucharms 5 ubuntu
Unit Workload Agent Machine Public address Ports Message
+24 -3
View File
@@ -7,7 +7,7 @@ This page will outline how to manage and execute a Kubernetes upgrade.
{% endcapture %}
{% capture prerequisites %}
This page assumes you have a working Juju deployed cluster.
This page assumes you have a working deployed cluster.
## Assumptions
@@ -27,10 +27,21 @@ Backing up etcd requires an export and snapshot, refer to the [backup documentat
juju upgrade-charm etcd
This will handle upgrades between minor versions of etcd. Major upgrades from etcd 2.x to 3.x are currently unsupported. Upgrade viability will be investigated when etcd 3.0 is finalized.
This will handle upgrades between minor versions of etcd. Major upgrades from etcd 2.x to 3.x are currently unsupported. Instead, data will be run in etcdv2 stores over the etcdv3 api.
# Upgrade Kubernetes
The Kubernetes Charms use snap channels to drive payloads. The channels are defined by `X.Y/channel` where `X.Y` is the `major.minor` release of Kubernetes (e.g. 1.6) and `channel` is one of the four following channels:
| Channel name | Description |
| ------------------- | ------------ |
| stable | The latest stable released patch version of Kubernetes |
| candidate | Release candidate releases of Kubernetes |
| beta | Latest alpha or beta of Kubernetes for that minor release |
| edge | Nightly builds of that minor release of Kubernetes |
If a release isn't available, the next highest channel is used. For example, 1.6/beta will load `/candidate` or `/stable` depending on availablility of release. Development versions of Kubernetes are available in that minor releases edge channel. There is no guarantee that edge or master will work with the current charms.
## Master Upgrades
First you need to upgrade the masters:
@@ -39,6 +50,13 @@ First you need to upgrade the masters:
NOTE: Always upgrade the masters before the workers.
Once the latest charm is deployed, the channel for Kubernetes can be selected by issuing the following:
juju config kubernetes-master channel=1.x/stable
Where `x` is the minor version of Kubernetes. For example, `1.6/stable`. See above for Channel definitions
## Worker Upgrades
Two methods of upgrading workers are supported. [Blue/Green Deployment](http://martinfowler.com/bliki/BlueGreenDeployment.html) and upgrade-in-place. Both methods are provided for operational flexibility and both are supported and tested. Blue/Green will require more hardware up front than inplace, but is a safer upgrade route.
@@ -66,6 +84,9 @@ Tear down old workers with:
## In place worker upgrade
juju upgrade-charm kubernetes-worker
juju config kubernetes-worker channel=1.x/stable
Where `x` is the minor version of Kubernetes. For example, `1.6/stable`. See above for Channel definitions
# Verify upgrade
@@ -94,4 +115,4 @@ At this time rolling back etcd is unsupported.
At this time rolling back Kubernetes is unsupported.
{% endcapture %}
{% include templates/task.md %}
{% include templates/task.md %}
+1
View File
@@ -26,6 +26,7 @@ Other/newer ways to set up a Kubernetes cluster include:
* [Installing Kubernetes on AWS with kops](/docs/getting-started-guides/kops/): Bring up a complete Kubernetes cluster on Amazon Web Services, using a tool called `kops`.
* [Installing Kubernetes on Linux with kubeadm](/docs/getting-started-guides/kubeadm/) (Beta): Install a secure Kubernetes cluster on any pre-existing machines running Linux, using the built-in `kubeadm` tool.
* [Installing Kubernetes On-premise/Cloud Providers with Kargo](/docs/getting-started-guides/kargo/): Deploy a Kubernetes cluster on-premise baremetal or hosted on cloud providers, with Ansible and `kargo` tools.
* [Installing Kubernetes on Ubuntu](/docs/getting-started-guides/ubuntu/): Deploy a Kubernetes cluster on-premise, baremetal, cloud providers, or localhost with Charms and `conjure-up`.
## Concepts, Tasks, and Tutorials