From a9b880d5f44f9ec86dde3dbcfc593003a592f690 Mon Sep 17 00:00:00 2001 From: Andrew Chen Date: Thu, 1 Jun 2017 15:02:14 -0700 Subject: [PATCH 1/3] Completes PR #3325 --- _data/setup.yml | 1 - docs/getting-started-guides/rackspace.md | 76 ------------------------ docs/setup/pick-right-solution.md | 2 - 3 files changed, 79 deletions(-) delete mode 100644 docs/getting-started-guides/rackspace.md diff --git a/_data/setup.yml b/_data/setup.yml index 2dbd8df29c..91dfee7951 100644 --- a/_data/setup.yml +++ b/_data/setup.yml @@ -37,7 +37,6 @@ toc: section: - docs/getting-started-guides/coreos/index.md - docs/getting-started-guides/ubuntu/index.md - - docs/getting-started-guides/rackspace.md - docs/getting-started-guides/kops.md - docs/getting-started-guides/kargo.md - docs/getting-started-guides/running-cloud-controller.md diff --git a/docs/getting-started-guides/rackspace.md b/docs/getting-started-guides/rackspace.md deleted file mode 100644 index ff59f4d31b..0000000000 --- a/docs/getting-started-guides/rackspace.md +++ /dev/null @@ -1,76 +0,0 @@ ---- -assignees: -- erictune -title: CoreOS on Rackspace ---- - -* Supported Version: v0.18.1 - -In general, the dev-build-and-up.sh workflow for Rackspace is the similar to Google Compute Engine. The specific implementation is different due to the use of CoreOS, Rackspace Cloud Files and the overall network design. - -These scripts should be used to deploy development environments for Kubernetes. If your account leverages RackConnect or non-standard networking, these scripts will most likely not work without modification. - -NOTE: The rackspace scripts do NOT rely on `saltstack` and instead rely on cloud-init for configuration. - -The current cluster design is inspired by: - -- [corekube](https://github.com/metral/corekube) -- [Angus Lees](https://github.com/anguslees/kube-openstack) - -* TOC -{:toc} - -## Prerequisites - -1. Python2.7 -2. You need to have both `nova` and `swiftly` installed. It's recommended to use a python virtualenv to install these packages into. -3. Make sure you have the appropriate environment variables set to interact with the OpenStack APIs. See [Rackspace Documentation](http://docs.rackspace.com/servers/api/v2/cs-gettingstarted/content/section_gs_install_nova.html) for more details. - -## Provider: Rackspace - -- To build your own released version from source use `export KUBERNETES_PROVIDER=rackspace` and run the `bash hack/dev-build-and-up.sh` -- Note: The get.k8s.io install method is not working yet for our scripts. - * To install the latest released version of Kubernetes use `export KUBERNETES_PROVIDER=rackspace; wget -q -O - https://get.k8s.io | bash` - -## Build - -1. The Kubernetes binaries will be built via the common build scripts in `build/`. -2. If you've set the ENV `KUBERNETES_PROVIDER=rackspace`, the scripts will upload `kubernetes-server-linux-amd64.tar.gz` to Cloud Files. -2. A cloud files container will be created via the `swiftly` CLI and a temp URL will be enabled on the object. -3. The built `kubernetes-server-linux-amd64.tar.gz` will be uploaded to this container and the URL will be passed to master/nodes when booted. - -## Cluster - -There is a specific `cluster/rackspace` directory with the scripts for the following steps: - -1. A cloud network will be created and all instances will be attached to this network. - - flanneld uses this network for next hop routing. These routes allow the containers running on each node to communicate with one another on this private network. -2. An SSH key will be created and uploaded if needed. This key must be used to ssh into the machines (we do not capture the password). -3. The master server and additional nodes will be created via the `nova` CLI. A `cloud-config.yaml` is generated and provided as user-data with the entire configuration for the systems. -4. We then boot as many nodes as defined via `$NUM_NODES`. - -## Some notes - -- The scripts expect `eth2` to be the cloud network that the containers will communicate across. -- A number of the items in `config-default.sh` are overridable via environment variables. -- For older versions please either: - * Sync back to `v0.9` with `git checkout v0.9` - * Download a [snapshot of `v0.9`](https://github.com/kubernetes/kubernetes/archive/v0.9.tar.gz) - * Sync back to `v0.3` with `git checkout v0.3` - * Download a [snapshot of `v0.3`](https://github.com/kubernetes/kubernetes/archive/v0.3.tar.gz) - -## Network Design - -- eth0 - Public Interface used for servers/containers to reach the internet -- eth1 - ServiceNet - Intra-cluster communication (k8s, etcd, etc.) communicate via this interface. The `cloud-config` files use the special CoreOS identifier `$private_ipv4` to configure the services. -- eth2 - Cloud Network - Used for k8s pods to communicate with one another. The proxy service will pass traffic via this interface. - -## Support Level - - -IaaS Provider | Config. Mgmt | OS | Networking | Docs | Conforms | Support Level --------------------- | ------------ | ------ | ---------- | --------------------------------------------- | ---------| ---------------------------- -Rackspace | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/rackspace) | | Community ([@doublerr](https://github.com/doublerr)) - - -For support level information on all solutions, see the [Table of solutions](/docs/getting-started-guides/#table-of-solutions) chart. diff --git a/docs/setup/pick-right-solution.md b/docs/setup/pick-right-solution.md index c6e7104c1e..dc92350f8f 100644 --- a/docs/setup/pick-right-solution.md +++ b/docs/setup/pick-right-solution.md @@ -102,7 +102,6 @@ These solutions are combinations of cloud providers and operating systems not co * [CoreOS on AWS or GCE](/docs/getting-started-guides/coreos) * [Kubernetes on Ubuntu](/docs/getting-started-guides/ubuntu/) -* [CoreOS on Rackspace](/docs/getting-started-guides/rackspace) ## On-Premises VMs @@ -183,7 +182,6 @@ Bare-metal | custom | Ubuntu | flannel | [docs](/docs/gettin libvirt/KVM | CoreOS | CoreOS | libvirt/KVM | [docs](/docs/getting-started-guides/libvirt-coreos) | Community ([@lhuard1A](https://github.com/lhuard1A)) oVirt | | | | [docs](/docs/getting-started-guides/ovirt) | Community ([@simon3z](https://github.com/simon3z)) OpenStack Heat | Saltstack | CentOS | Neutron + flannel hostgw | [docs](/docs/getting-started-guides/openstack-heat) | Community ([@FujitsuEnablingSoftwareTechnologyGmbH](https://github.com/FujitsuEnablingSoftwareTechnologyGmbH)) -Rackspace | CoreOS | CoreOS | flannel | [docs](/docs/getting-started-guides/rackspace) | Community ([@doublerr](https://github.com/doublerr)) any | any | any | any | [docs](/docs/getting-started-guides/scratch) | Community ([@erictune](https://github.com/erictune)) any | any | any | any | [docs](http://docs.projectcalico.org/v2.2/getting-started/kubernetes/installation/) | Commercial and Community From 35f6ce8b6f091c2a6b1b2a009d020f4ad89825e5 Mon Sep 17 00:00:00 2001 From: Andrew Martin Date: Thu, 1 Jun 2017 15:49:56 +1000 Subject: [PATCH 2/3] Update ExternalName example As per design proposal: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/service-external-name.md The existing example is not validated by Kubernetes 1.6.3 --- docs/concepts/services-networking/service.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/concepts/services-networking/service.md b/docs/concepts/services-networking/service.md index f8c7757e51..4e6e12bf7a 100644 --- a/docs/concepts/services-networking/service.md +++ b/docs/concepts/services-networking/service.md @@ -140,6 +140,8 @@ metadata: spec: type: ExternalName externalName: my.database.example.com + ports: + - port: 12345 ``` When looking up the host `my-service.prod.svc.CLUSTER`, the cluster DNS service From d41dbfcf14d5101ae920d9ab0e4908f9a15e6e36 Mon Sep 17 00:00:00 2001 From: Kenny Lee Sin Cheong Date: Thu, 1 Jun 2017 16:57:46 -0400 Subject: [PATCH 3/3] Fix example in the "Adding ConfigMap data to a Volume" section "special.key" does not exist in the given ConfigMap example. It should be "special.level" instead. --- docs/tasks/configure-pod-container/configure-pod-configmap.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tasks/configure-pod-container/configure-pod-configmap.md b/docs/tasks/configure-pod-container/configure-pod-configmap.md index 4bb3141b12..ab102aecb8 100644 --- a/docs/tasks/configure-pod-container/configure-pod-configmap.md +++ b/docs/tasks/configure-pod-container/configure-pod-configmap.md @@ -237,7 +237,7 @@ special.type ### Add ConfigMap data to a specific path in the Volume: Use the `path` field to specify the desired file path for specific ConfigMap items. -In this case, the `special.key` item will be mounted in the `config-volume` volume at `/etc/config/keys`. +In this case, the `special.level` item will be mounted in the `config-volume` volume at `/etc/config/keys`. ```yaml apiVersion: v1