From a5fa73e1800436c74eae548a6c5ad5887f5d193f Mon Sep 17 00:00:00 2001 From: Marco Ceppi Date: Tue, 2 May 2017 07:59:24 -0400 Subject: [PATCH] Updating Ubuntu based instructions and upgrades --- docs/getting-started-guides/kubeadm.md | 11 ++++---- docs/getting-started-guides/ubuntu/index.md | 16 ++++++++--- .../ubuntu/installation.md | 6 ++--- .../getting-started-guides/ubuntu/upgrades.md | 27 ++++++++++++++++--- docs/home/index.md | 1 + 5 files changed, 46 insertions(+), 15 deletions(-) diff --git a/docs/getting-started-guides/kubeadm.md b/docs/getting-started-guides/kubeadm.md index 858289d7a3..82d01031f6 100644 --- a/docs/getting-started-guides/kubeadm.md +++ b/docs/getting-started-guides/kubeadm.md @@ -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 diff --git a/docs/getting-started-guides/ubuntu/index.md b/docs/getting-started-guides/ubuntu/index.md index 2d697bfeda..78926d03c7 100644 --- a/docs/getting-started-guides/ubuntu/index.md +++ b/docs/getting-started-guides/ubuntu/index.md @@ -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 %} diff --git a/docs/getting-started-guides/ubuntu/installation.md b/docs/getting-started-guides/ubuntu/installation.md index 4322a0ef12..5c0b5423ac 100644 --- a/docs/getting-started-guides/ubuntu/installation.md +++ b/docs/getting-started-guides/ubuntu/installation.md @@ -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 diff --git a/docs/getting-started-guides/ubuntu/upgrades.md b/docs/getting-started-guides/ubuntu/upgrades.md index e902e6f0e9..22619095c7 100644 --- a/docs/getting-started-guides/ubuntu/upgrades.md +++ b/docs/getting-started-guides/ubuntu/upgrades.md @@ -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 %} \ No newline at end of file +{% include templates/task.md %} diff --git a/docs/home/index.md b/docs/home/index.md index 399a0ac2ce..dba8170b8c 100644 --- a/docs/home/index.md +++ b/docs/home/index.md @@ -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