Commit Graph

326 Commits

Author SHA1 Message Date
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
k8s-merge-robot
8c821700f3 Merge pull request #19389 from justinsb/internal_cidr
Auto commit by PR queue bot
2016-01-26 03:58:48 -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
Rudi Chiarito
bc0dd97a70 ECR credential provider 2016-01-22 15:03:25 -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
Alex Mohr
f788e1e11a Merge pull request #19446 from justinsb/aws_reboot_master_on_failure
AWS: Create a cloudwatch alarm to reboot the master on failure
2016-01-21 15:05:14 -08:00
Alex Mohr
d8be60ee57 Merge pull request #19777 from justinsb/echo_sleep_is_silly
kube-up scripts: don't 'echo sleep'
2016-01-21 10:44:38 -08:00
Alex Mohr
eaa61a72b0 Merge pull request #17919 from justinsb/multizone_gce
Ubernetes Lite support for GCE
2016-01-21 10:22:34 -08:00
Justin Santa Barbara
2958ea253a GCE: Allow for reuse of master
This is for internal use at the moment, for testing Ubernetes Lite, but
arguably makes the code a little cleaner.

Also rename KUBE_SHARE_MASTER -> KUBE_USE_EXISTING_MASTER
2016-01-20 15:37:00 -05:00
Justin Santa Barbara
dcd7e813f7 AWS: Update AMIs for Ubuntu Vivid
Update to the latest AMIs for Vivid, as sourced from:
http://cloud-images.ubuntu.com/locator/ec2/
2016-01-18 16:47:06 -05:00
Justin Santa Barbara
d2e65a89d0 kube-up scripts: don't 'echo sleep'
'echo sleep 5' just prints 'sleep 5'; replace with 'sleep 5'.
2016-01-17 21:29:01 -05:00
Josh Ellithorpe
76e8a8b08d Fix issues with Python3 and bring up a dev cluster 2016-01-12 11:08:42 -08:00
Justin Santa Barbara
d91ad0bb6f AWS: Create a cloudwatch alarm to reboot the master on failure
This is an easier alternative to keep a master running than trying to
dynamically find & attach master volumes.

To actually work, it requires that users create the EC2ActionsAccess IAM
role as required by CloudWatch, see e.g.
http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/UsingIAM.html
2016-01-09 14:53:29 -05:00
Justin Santa Barbara
57265a4c74 AWS: Pass NUM_NODES in instance-data
The bootstrap scripts already assume it is set.
2016-01-05 23:10:43 -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
Michael Nikitochkin
2272de1f67 AWS: Fixed compacting script of cloud init for MacOS
In MacOS there is error during setup a new cluster:

```
+ sed -i -e 's/^[[:blank:]]*#.*$//' -e '/^[[:blank:]]*$/d' /sometmpfile
sed: -e: No such file or directory
```

Because sed version of MacOS does not support modern features.
2015-12-16 09:20:57 +01:00
Thomas Ploch
189f2436e3 [AWS] Wrong assignment of KUBE_MASTER_IP with Elastic IP
Currently when using a custom elastic IP, the ENV var `KUBE_MASTER_IP` gets
the output of `$(assign-elastic-ip $ip $master_id)` assigned.

This is wrong since the command returns a string:
`Attaching IP 99.999.999.999 to instance i-9999999`

This patch fixes the assignment by calling `get_instance_public_ip` again.
2015-12-12 13:53:01 +01:00
k8s-merge-robot
0f399211f7 Merge pull request #18258 from antoineco/ec2
Auto commit by PR queue bot
2015-12-10 11:14:49 -08:00
Justin Santa Barbara
428e4156e2 AWS: Strip more comments from instance user-data
To stay under the 16KB limit
2015-12-07 22:27:33 -05:00
Antoine Cotten
926148c5ee Add warning about AWS EC2 't2' instance type 2015-12-06 19:56:13 +01:00
k8s-merge-robot
b69018eab2 Merge pull request #17844 from eosrei/kube-util-minion-node
Auto commit by PR queue bot
2015-12-02 03:06:27 -08:00
k8s-merge-robot
bb86936765 Merge pull request #17803 from davidsiefert/master
Auto commit by PR queue bot
2015-12-01 02:15:11 -08:00
k8s-merge-robot
7bcd7759fa Merge pull request #17814 from themez/master
Auto commit by PR queue bot
2015-12-01 00:22:51 -08:00
jiangyaoguo
a739fc44c4 keep kubeproxy hostname consistent with kubelet 2015-11-28 10:47:29 +08:00
Brad Erickson
0bd16e0437 Minion->Node rename: kube-util hosting provider helper functions 2015-11-26 09:31:46 -08:00
ThemeZ
3342e4e1d3 Correct s3 url base for region "cn-north-1" 2015-11-26 11:37:28 +08:00
David Siefert
94d32588f4 Extracting more functions for reuse out of kube-up 2015-11-25 17:29:30 -06: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
8431993a44 Minion->Node rename: NODE_SG_ID, NODE_SG_NAME 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
fc04b55088 Minion->Node rename: NODE_NAMES, NODE_NAME, NODE_PORT 2015-11-25 00:45:09 -08:00
Brad Erickson
83ed2fa22e Minion->Node rename: NODE_DISK_SIZE, NODE_DISK_TYPE, NODE_HOSTNAME, etc
NODE_IDS
NODE_ID
NODE_IMAGE_PROJECT
NODE_IMAGE
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
ae314ad246 Minion->Node rename: KUBE_NODE_IP_ADDRESSES, KUBE_NODE_IP_ADDRESS 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
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
440bdd27d5 Merge pull request #17087 from justinsb/aws_delete_ebs
Auto commit by PR queue bot
2015-11-12 01:17:40 -08: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
Justin Santa Barbara
d5f62ca67b AWS: Don't use JSON parsing in kube-up
We use the AWS CLI support for --query and --filter instead; should be
more reliable and clearer.

Also set the output format to text, so we don't have to set it every
time and don't risk problems if we forget to set it.

Fixes #16747

We do still have to use JSON parsing in one place: ELB does not support
--filter, so we have to use Python there.
2015-11-10 23:30:42 -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
k8s-merge-robot
6fbae33eb1 Merge pull request #16918 from justinsb/aws_fix_kubedown_no_instances
Auto commit by PR queue bot
2015-11-10 11:11:56 -08:00
k8s-merge-robot
157f663f5b Merge pull request #16867 from justinsb/aws_log_upload_urls
Auto commit by PR queue bot
2015-11-07 00:00:28 -08:00
k8s-merge-robot
da158f9bcf Merge pull request #16922 from justinsb/aws_update_vivic
Auto commit by PR queue bot
2015-11-06 13:01:17 -08:00
k8s-merge-robot
b719d7a45e Merge pull request #15070 from justinsb/aws_print_region_if_not_matching
Auto commit by PR queue bot
2015-11-06 10:31:29 -08:00
Justin Santa Barbara
4c02b85c7a AWS: Update Ubuntu Vivid AMIs
Pick up some updates, and reduce need for users to update manually.
2015-11-06 11:58:39 -05:00
Justin Santa Barbara
84bab0dae5 AWS: kube-down was failing with no instances
The new delete-ASG logic wasn't correct if there were no instances
2015-11-06 10:43:13 -05:00