Commit Graph

97 Commits (82d35fb461b2effb0f533bfd808ffccc35b2562a)

Author SHA1 Message Date
Jan Safranek 82d35fb461 Add admission controller for default storage class.
The admission controller adds a default class to PVCs that do not require any
specific class. This way, users (=PVC authors) do not need to care about
storage classes, administrator can configure a default one and all these PVCs
that do not care about class will get the default one.
2016-08-18 18:55:35 +02:00
Justin Santa Barbara 49da8298c9 AWS kube-up: fix MASTER_OS_DISTRIBUTION
On AWS we were defining KUBE_MASTER_OS_DISTRIBUTION, but the scripts
expect MASTER_OS_DISTRIBUTION.

Fixes #29422
2016-07-22 00:45:05 -04:00
Maisem Ali 97f3f80833 Splitting OS_DISTRIBUTION into NODE_OS_DISTRIBUTION and
MASTER_OS_DISTRIBUTION.
2016-07-15 12:02:31 -07:00
David McMahon ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
k8s-merge-robot eeda4c7915 Merge pull request #24910 from paralin/aws-configurable-context
Automatic merge from submit-queue

cluster/aws: Add option for kubeconfig context

Added KUBE_CONFIG_CONTEXT environment variable to customize the kubeconfig context created at the end of the aws kube-up script.

Fixes #24877 

This PR does barely anything and shouldn't require e2e tests. It's just a minor convenience.

<!-- Reviewable:start -->
---
This change is [<img src="http://reviewable.k8s.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](http://reviewable.k8s.io/reviews/kubernetes/kubernetes/24910)
<!-- Reviewable:end -->
2016-06-24 13:09:40 -07:00
Marcin Wielgus edf21902b5 Rename ENABLE_NODE_AUTOSCALER to ENABLE_CLUSTER_AUTOSCALER - part 1 2016-06-08 13:35:38 +02:00
Josh Ellithorpe 07f8d025c8
Remove SecurityContextDeny from aws configurations 2016-06-04 15:52:10 -07:00
gmarek 049d7f6c50 Remove unused POLL_SLEEP_INTERVAL 2016-05-24 13:34:03 +02:00
Christian Stewart 1491e6c662
cluster/aws: Add option for kubeconfig context
Added KUBE_CONFIG_CONTEXT environment variable to customize the
kubeconfig context created at the end of the aws kube-up script.

Signed-off-by: Christian Stewart <christian@paral.in>
2016-04-28 00:06:58 -04:00
derekwaynecarr e3d58499db ResourceQuota should be last admission controller 2016-04-12 13:40:52 -04:00
Wojciech Tyczynski 46994a6890 Fix AWS default master sizes 2016-03-11 09:45:22 +01:00
Abhi Shah 05ba8ca7fa Merge pull request #22170 from metmajer/master
Pass through EXTRA_DOCKER_OPTS.
2016-03-04 10:40:17 -08:00
Martin Etmajer f1b2fc39ba Pass through EXTRA_DOCKER_OPTS. 2016-02-29 19:46:58 +01:00
Justin Santa Barbara 4e64c4586e AWS: Set OS defaults for kube 1.2
Default distro is jessie, due to the support situation with Ubuntu
distros.  Default ubuntu distro is wily.

Update the docs to reflect the recommended distros with kube-up, and to
encourage contributions for other distros.
2016-02-25 00:10:33 -05:00
k8s-merge-robot 6c5bf89ed3 Merge pull request #21160 from justinsb/aws_bigger_master
Auto commit by PR queue bot
2016-02-20 00:29:45 -08:00
Madhusudan.C.S f06a195855 Remove all {KUBE_,}ENABLE_{DEPLOYMENT,DAEMONSET} variables from all our bash scripts. 2016-02-17 15:04:28 -08:00
Justin Santa Barbara a16372ce40 AWS: Change master to m3.medium by default
m3.large for > 150 nodes.

t2.micro often runs out of memory.  The t2 class has very
difficult-to-understand behaviour when it runs out of CPU.  The
m3.medium is reasonably affordable, and avoids these problems.

Fix #21151

Issue #18975
2016-02-17 10:24:14 -05:00
k8s-merge-robot 6c63acdd3d Merge pull request #19398 from justinsb/aws_elasticip_for_master
Auto commit by PR queue bot
2016-01-26 04:34:28 -08:00
Justin Santa Barbara d8460d5920 AWS: Pass non-masquerade-cidr through kube-up
Set the environment variable NON_MASQUERADE_CIDR.

Docs in cluster/aws/options.md
2016-01-22 21:01:44 -05:00
Justin Santa Barbara 274e589aa6 AWS: Use an elastic IP for the master by default
If we don't use an elastic IP, the IP address will be lost if we lose
the master for any reason, and a replacement master will not have the
same IP.  But the master IP is set both in client kubeconfig files and
the master SSL certificate.  Hence the default should be to allocate an
elastic IP for the master.

One complication: AWS doesn't allow tags on elastic IPs, so it is hard
to track the elastic IP so we can delete it as part of kube-down.
Instead, we take the master EBS volume with the elastic IP.  This is a
little odd, but works because the master volume & the master elastic IP
really need to be assigned to the same machine, so might be thought of
as a pair.

Also, we now delete the master EBS volume as part of kube-down, as
people expect kube-down to clean-up everything it creates.
2016-01-21 22:01:55 -05:00
Justin Santa Barbara f9a6ac077e Ubernetes Lite: Volumes can dictate zone scheduling
For AWS EBS, a volume can only be attached to a node in the same AZ.
The scheduler must therefore detect if a volume is being attached to a
pod, and ensure that the pod is scheduled on a node in the same AZ as
the volume.

So that the scheduler need not query the cloud provider every time, and
to support decoupled operation (e.g. bare metal) we tag the volume with
our placement labels.  This is done automatically by means of an
admission controller on AWS when a PersistentVolume is created backed by
an EBS volume.

Support for tagging GCE PVs will follow.

Pods that specify a volume directly (i.e. without using a
PersistentVolumeClaim) will not currently be scheduled correctly (i.e.
they will be scheduled without zone-awareness).
2015-12-31 12:27:01 -05:00
Brad Erickson 53172a5356 Minion->Node rename: NUM_NODES 2015-11-25 00:45:10 -08:00
Brad Erickson e67be19a5b Minion->Node rename: OLD_NODE_TAG, NODE_TAG 2015-11-25 00:45:09 -08:00
Brad Erickson bd06c19aa8 Minion->Node rename: NODE_SIZE 2015-11-25 00:45:09 -08:00
Brad Erickson 1846cfc129 Minion->Node rename: NODE_ROOT_DISK_SIZE, NODE_ROOT_DISK_TYPE, etc
NODE_SCOPES
2015-11-25 00:45:09 -08:00
Brad Erickson a36d3390bf Minion->Node rename: KUBERNETES_NODE_MEMORY, VAGRANT_NODE_NAMES, etc
ENABLE_NODE_PUBLIC_IP
NODE_ADDRESS
NODE_BLOCK_DEVICE_MAPPINGS
NODE_CONTAINER_ADDRS
NODE_CONTAINER_NETMASKS
NODE_CONTAINER_SUBNET_BASE
NODE_CONTAINER_SUBNETS
NODE_CPU
2015-11-25 00:43:52 -08:00
Brad Erickson 68539ae8a4 Minion->Node rename: KUBE_NODE_IMAGE 2015-11-25 00:43:51 -08:00
Brad Erickson 6b91b45eff Minion->Node rename: IAM_PROFILE_NODE, KUBE_ENABLE_NODE_PUBLIC_IP, etc
KUBE_GCE_NODE_IMAGE, KUBE_GCE_NODE_PROJECT, KUBEMARK_NUM_NODES
2015-11-25 00:43:51 -08:00
Christian Stewart d61d57adec
Remove ENABLE_EXPERIMENTAL_API and similar in favor of KUBE_RUNTIME_CONFIG.
Addresses #15968

This patch removes KUBE_ENABLE_EXPERIMENTAL_API and similar calls in
favor of specifying desired features in KUBE_RUNTIME_CONFIG. Changes
have also been made to e2e scripts to re-enable using
KUBE_RUNTIME_CONFIG rather than EXPERIMENTAL_API env vars.

This also introduces KUBE_ENABLE_DAEMONSETS and KUBE_ENABLE_DEPLOYMENTS.

Signed-off-by: Christian Stewart <christian@paral.in>
2015-11-10 21:36:34 -05:00
Jan Safranek fe0741bffe Configure cluster for e2e tests.
When KUBE_E2E_STORAGE_TEST_ENVIRONMENT is set to 'true', kube-up.sh script
will:

- Install the right packages for all storage volumes.
- Use devicemapper as docker storage backend. 'aufs', the default one on
Debian, does not support extended attibutes required by Ceph RBD and Gluster
server containers.

Tested on GCE and Vagrant, e2e tests for storage volumes passes without any
additional configuration.
2015-10-29 11:03:34 +01:00
Brendan Burns d32e713b77 Make AWS node sizes dynamic in the number of nodes. 2015-10-22 20:22:00 -07:00
Piotr Szczesniak 57a5f8d5a5 Removed flag ENABLE_HORIZONTAL_POD_AUTOSCALER which is no longer used 2015-10-20 13:59:00 +02:00
Justin Santa Barbara 33d0541a00 AWS: Add configuration for ENABLE_EXPERIMENTAL
We need this for some tests; not all the options are fully plumbed in,
but should enable experimental/v1alpha1, as needed for jobs tests.

In particular, ENABLE_NODE_AUTOSCALER is not yet actually implemented.
2015-10-08 10:15:10 -04:00
Abhishek Shah a1b6dbe870 Removed DenyEscalatingExec from the list of default admission controllers. 2015-10-06 13:35:32 -07:00
Ananth Suryanarayana d50d7763da Add opencontrail networking provisioning support in kubernetes salt based provisioning
OpenContrail is an open-source based networking software which provides virtualization support for the cloud.

This change-set adds ability to install and provision opencontrail software for networking in kubernetes based cloud environment.

There are basically 3 components

o kube-network-manager -- plugin between contrail components and kubernets components
o provision_master.sh -- OpenContrail software installer and provisioner in master node
o provision_minion.sh -- OpenContrail software installer and provisioner in minion node(s)

These are driven via salt configuration files

One can provision opencontrail by just setting "export NETWORK_PROVIDER=opencontrail"
Optionally, OPENCONTRAIL_TAG, and OPENCONTRAIL_KUBERNETES_TAG can be used to
specify opencontrail and contrail-kubernetes software versions to install and provision.

Public-IP Subnet provided by contrail can be configured via OPENCONTRAIL_PUBLIC_SUBNET
environment variable

At this moment, plan is to add support for aws, gce and vagrant based platforms

For more information on contrail-kubernetes, please visit https://github.com/juniper/contrail-kubernetes For more information on opencontrail, please visit http://www.opencontrail.org
2015-10-03 08:03:02 -07:00
Paul Weil ed80c2b940 pid mode 2015-09-15 13:51:44 -04:00
derekwaynecarr 06bbe00642 Remove NamespaceExists from configuration 2015-09-03 13:42:09 -04:00
Justin Santa Barbara a13a0ac3e8 AWS: Add disk size/type defaults to config-test
Otherwise they needed to be manually specified (for example in the
Jenkins jobs)
2015-08-25 07:54:03 -04:00
erulabs 5ee816e905 Add config option for AWS EBS root volume size 2015-08-18 11:03:23 -07:00
Veres Lajos 9f77e49109 typofix - https://github.com/vlajos/misspell_fixer 2015-08-08 22:31:48 +01:00
Piotr Szczesniak f48543aba5 Made enabling Kube UI configurable 2015-07-27 08:23:04 +02:00
Piotr Szczesniak 06b3406cef Added possibility to overwrite ENABLE_CLUSTER_DNS with env var
It's for autoscaling tests purposes and making the config consistent with
other flags like ENABLE_NODE_LOGGING
2015-07-23 10:25:06 +02:00
Justin Santa Barbara dfac73d31a AWS: Change default OS to Ubuntu Vivid Vervet
The background for this change is in #9675.

In short, Vivid Vervet gives us a supported/updated image,
that runs Docker with a working storage engine, but doesn't
require a reboot as part of node start.

Fixes #9675.
2015-07-08 17:00:44 -04:00
Robert Bailey e6f14a21ce Merge pull request #10403 from justinsb/ebs-for-master-data-2
AWS: Use persistent disk on master
2015-06-26 21:52:10 -07:00
Adam Sunderland 66e0c5432f Use EBS for Master Data
Signed-off-by: Adam Sunderland <iterion@gmail.com>
2015-06-26 11:52:44 -04:00
Eric Paris 58df58f3d7 Remove unused enable_node_monitoring option
Back in 1a7f7245e7 we dropped the one
place this was used, but left all of the variable and definitions and
garbage around cluster/
2015-06-25 20:57:56 -04:00
Tim Hockin 280f99afd9 EOL our registry caching mirror
Docker's v1 registry has gotten slower and slower, and they have no
interest in fixing it.  Using a mirror forces v1 mode.  Measurements
show that v1 with our mirror is slower than v2 with docker's registry in
just about all metrics.
2015-06-24 09:56:59 -07:00
Justin Santa Barbara 2a5ed2f086 AWS: Use auto-scaling group to run minions
This uses the dynamic CIDR work, and we set source-dest-check to false
when we configure the route (which kind-of makes sense)
2015-06-19 10:22:15 -04:00
Justin Santa Barbara a4e15cdf3e AWS: Configure minion routes dynamically
We need to implement the Routes interface, and then enable the functionality in the cluster scripts.
2015-06-18 14:59:37 -07:00
Brendan Burns 51b20b35e2 Revert "Revert "Optionalize (default false) --insecure-registry.""
This reverts commit 1645c9a9b8.
2015-06-12 21:00:16 -07:00