Commit Graph

76 Commits (5007d7c4a9758ca778db2dcd3f2c283fef2357be)

Author SHA1 Message Date
Brad Erickson 53172a5356 Minion->Node rename: NUM_NODES 2015-11-25 00:45:10 -08:00
Alan Gutierrez c1c789aea6 Fix generation of master `minion.d/grains.conf`.
Remove a comment that disabled the redirection of output destined for
`/etc/salt/minion.d/grains.conf`. Must have been a commented added to
debug the generation of the line, to view it on `STDOUT`.
2015-11-16 16:37:56 -05:00
k8s-merge-robot eee8af8991 Merge pull request #17089 from justinsb/aws_refactor_script_size
Auto commit by PR queue bot
2015-11-12 01:17:37 -08:00
Justin Santa Barbara 875e3d49df AWS: Create a helper to set salt grain from env var
This is better from a DRY standpoint.

This helps reduce the script size, so we have a little bit of breathing
room vs the 16KB limit.
2015-11-10 23:50:51 -05: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
k8s-merge-robot f13ed3ff75 Merge pull request #16056 from paralin/fix-aws-reboot-failure
Auto commit by PR queue bot
2015-10-28 22:07:37 -07:00
Juan Valencia 8f5a2deada Fixed #16188 2015-10-27 09:17:28 -07:00
Brendan Burns 90d9e6e935 Make heapster config creation dynamic 2015-10-22 12:05:49 -07:00
Christian Stewart baa61c14da
cluster/aws: Fix #14162 reboot docker failure
Fixes AWS ubuntu deployment due to extra-$(uname) vs extra-virtual
package being installed. See issue #14162

Signed-off-by: Christian Stewart <christian@paral.in>
2015-10-21 17:43:21 -04: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
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
Justin Santa Barbara 9f4ec648b4 AWS: Create one storage pool for aufs, not two
We were splitting the aufs storage into docker & kubernetes areas, but
the kubernetes area was filling up very quickly because empty volumes
went on there, and I had originally not sized it big enough for that.

Instead, create one volume for both so they can share space freely.  We
can't do this for devicemapper, but that configuration seems to be
deprecated by Docker anyway.
2015-09-10 07:06:34 -07:00
Justin Santa Barbara fba216c7b3 AWS: Always install aufs module & tools
Clean up the installation of aufs supporting modules & tools, so we
always install both and only install in one place.

Fixes #12855
2015-08-19 07:27:12 -04:00
Piotr Szczesniak f48543aba5 Made enabling Kube UI configurable 2015-07-27 08:23:04 +02:00
Brendan Burns 2e282013a8 Generate a kubeconfig file for the kubelet. 2015-07-07 21:29:38 -07:00
Justin Santa Barbara c676c11189 AWS: Configure SSL certificate alternate-names
GCE does this in its per-provider scripts; this does the same for AWS and lets
other providers do the same; I believe kube2sky requires 10.0.0.1 as a SAN.
2015-07-03 01:18:07 -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
Justin Santa Barbara a3cb84fa56 AWS: Wait for disk to be attached in setup-master-pd.sh 2015-06-26 11:52:45 -04:00
Justin Santa Barbara 0a4f03f235 AWS: Mount ephemeral on /mnt/ephemeral
If we're going to have a persistent disk on /mnt/master-pd, it seems risky
sometimes to have /mnt be a mounted volume.

A new consistent approach: we mount volumes under /mnt/<name>.
2015-06-26 11:52:45 -04:00
Justin Santa Barbara 7059f379a4 AWS: Mount persistent disk as sdb on master 2015-06-26 11:52:44 -04: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
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
Justin Santa Barbara 8aae864784 AWS: Support wheezy, for parity with GCE 2015-06-09 23:45:41 -04:00
krousey fba6462c0b Merge pull request #9377 from justinsb/aws_persistent_mounts
AWS: add mounts to fstab
2015-06-09 12:57:43 -07:00
krousey 82f922b61d Merge pull request #9378 from justinsb/aws_no_thin_on_wheezy
AWS: Disable thin LVM provisioning on wheezy
2015-06-09 10:01:04 -07:00
krousey 37ed34261e Merge pull request #9364 from justinsb/fix_aws_local_not_in_function
AWS: Fix script issue where local used outside of function
2015-06-09 09:50:43 -07:00
Justin Santa Barbara d955e532f9 AWS: Add mounts to fstab, to survive reboot 2015-06-08 18:07:22 -04:00
Justin Santa Barbara f6440247ca AWS: Don't thin provision LVM volume on wheezy
Thin provisioning isn't supported (unless you backport from jessie).

Just use normal LVM volumes with aufs.
2015-06-08 18:06:24 -04:00
Justin Santa Barbara 24de0b4598 AWS: Fix script issue where local used outside of function 2015-06-06 12:19:30 -04:00
Justin Santa Barbara 112a013567 AWS: Support different docker storage mechanism by setting DOCKER_STORAGE
For parity with GCE, we really want to support aufs.

But we previously supported btrfs, so we want to expose that.

Most of the work here is required for aufs, and we let advanced users choose
devicemapper/btrfs if they have a setup that works for those configurations.
2015-06-06 12:13:51 -04:00
Adam Sunderland 2b4d37427e Update Master IAM Policy to Include ELB 2015-06-03 12:20:19 -05:00
Justin Santa Barbara c4a2631593 Mount logic breaks if /var/lib/kubelet is a symlink
Pass the correct kubelet root-dir on AWS
2015-05-29 20:13:09 -04:00
Tim Hockin ac3cc3c518 Rename PORTAL_NET all over 2015-05-28 16:10:44 -07:00
Brian Akins fac4350fa6 Initial addition of CoreOS as minion for AWS cluster 2015-05-13 16:39:22 -04:00
Justin Santa Barbara 23b1a22203 AWS: Don't use policy-rc.d to prevent starting daemons until we're ready
It isn't required
2015-05-12 21:18:48 -04:00
Justin Santa Barbara ffb0e7f9b8 Install specific salt version on AWS, based on GCE
The latest salt version breaks the container_bridge.py _state function

We can lock to the same version as GCE.  This is not a full fix,
because we can't update to the latest salt without breaking GCE,
but this at least unbreaks and sync AWS with GCE.

This isn't a straight copy from GCE, because we still use
the salt master on AWS (for now)

Fixes #8114
2015-05-12 16:33:56 -04:00
Robert Bailey c6d4c24f37 Merge pull request #7736 from justinsb/aws_fix_known_tokens_file
AWS: Fix variable naming that meant not all tokens were written
2015-05-04 14:34:11 -07:00
Justin Santa Barbara 96f0a39172 AWS: Fix variable naming that meant not all tokens were written
To resolve the inconsistency, chose to go closer to GCE
2015-05-04 17:28:24 -04:00
Justin Santa Barbara 57f7b658bb AWS: Change apiserver to listen on 443 directly, not through nginx
Mirrors changes in GCE.  I think the same changes will be needed for vagrant.
2015-05-02 16:59:04 -04:00
Eric Paris 6b3a6e6b98 Make copyright ownership statement generic
Instead of saying "Google Inc." (which is not always correct) say "The
Kubernetes Authors", which is generic.
2015-05-01 17:49:56 -04:00
Jan Safranek 6e810492fb Fixed name of kube-proxy path in deployment scripts. 2015-04-28 10:10:37 +02:00
Eric Tune 9044177bb6 Generate a token for kube-proxy.
Tested on GCE.
Includes untested modifications for AWS and Vagrant.
No changes for any other distros.
Probably will work on other up-to-date providers
but beware.  Symptom would be that service proxying
stops working.

 1. Generates a token kube-proxy in AWS, GCE, and Vagrant setup scripts.
 1. Distributes the token via salt-overlay, and salt to /var/lib/kube-proxy/kubeconfig
 1. Changes kube-proxy args:
   - use the --kubeconfig argument
   - changes --master argument from http://MASTER:7080 to https://MASTER
     - http -> https
     - explicit port 7080 -> implied 443

Possible ways this might break other distros:

Mitigation: there is an default empty kubeconfig file.
If the distro does not populate the salt-overlay, then
it should get the empty, which parses to an empty
object, which, combined with the --master argument,
should still work.

Mitigation:
  - azure: Special case to use 7080 in
  - rackspace: way out of date, so don't care.
  - vsphere: way out of date, so don't care.
  - other distros: not using salt.
2015-04-27 08:59:57 -07:00
CJ Cullen 924015dc94 Merge pull request #7182 from justinsb/aws_fix_hostname
AWS: Set hostname_override for minions, back to fully-qualified name
2015-04-22 14:13:53 -07:00
Justin Santa Barbara 4120849cc4 AWS: Set hostname_override for minions, back to fully-qualified name
This is a stop-gap fix; we'd really like to use EC2 instance ids, but that is
blocked by #7092 or changing that health-check to not assume that the node name
is resolvable.

This stop-gap essentially reverts #7072 for AWS
2015-04-22 11:28:53 -07:00
Zach Loafman 86468cd29d Revert "Added kube-proxy token." 2015-04-22 10:55:08 -07:00
Zach Loafman b98f93bb4b Merge pull request #7112 from erictune/kubeconfig-secrets
Extend PR#5470 for AWS and Vagrant
2015-04-22 09:25:53 -07:00
Eric Tune 2ca8a9d15d Added kube-proxy token.
Generates the new token on AWS, GCE, Vagrant.
Renames instance metadata from "kube-token" to "kubelet-token".
(Is this okay for GKE?)

Having separate tokens for kubelet and kube-proxy permits
using principle of least privilege, makes it easy to
rate limit the clients separately, allows annotation
of apiserver logs with the client identity at a finer grain
than just source-ip.
2015-04-21 09:21:31 -07:00
Eric Tune 7475efbcfb Extend PR#5470 for AWS and Vagrant 2015-04-21 08:22:31 -07:00