Commit Graph

26 Commits

Author SHA1 Message Date
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
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
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
24de0b4598 AWS: Fix script issue where local used outside of function 2015-06-06 12:19:30 -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
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
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
derekwaynecarr
468bf1da75 Enable common set of admission controllers across salt providers 2015-03-11 11:06:00 -04:00
Satnam Singh
19b927ea57 Name a cluster and use it to make forwarding rules for GCE 2015-02-23 17:04:33 -08:00
Justin Santa Barbara
3fb61912aa Quote args in /srv/salt-overlay/pillar, add new vars 2015-01-29 20:35:36 -05:00
Justin Santa Barbara
d20188c6d4 Create shared secret in AWS scripts 2015-01-29 20:35:35 -05:00
Tim Hockin
59164ca844 Make DNS an option for cluster turnup 2014-12-29 09:18:12 -08:00
Tim Hockin
47141f05c7 standard config opt names: logging 2014-11-25 17:41:53 -08:00
Tim Hockin
52ad94d766 standard config opt names: node monitoring 2014-11-25 17:39:28 -08:00
Brendan Burns
62bd634c07 Update the AWS config. 2014-11-10 13:33:43 -08:00