Commit Graph

65 Commits (ad2d3d4c205b679e7f87cb7ae6d7d5ee737558b7)

Author SHA1 Message Date
Prashanth Balasubramanian ad2d3d4c20 Docs etc 2015-11-25 09:42:59 +01:00
Prashanth Balasubramanian 321bc73264 Flannel server in static pod with private etcd. 2015-11-25 09:42:59 +01:00
Prashanth Balasubramanian 4cd1ee177b Salt configuration for flanneld 2015-11-25 09:42:59 +01:00
Mike Danese 1d9d11c836 run kube-proxy in a static pod 2015-11-18 16:52:10 -08:00
Dawn Chen 29614d3fe0 Enable supervisord for other cloud providers. 2015-11-03 09:30:24 -08: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
Mike Danese 8e8437dad8 declare azure/ubuntu/saltstack bankruptcy 2015-10-16 18:21:21 -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
Muhammed Uluyol 7129d477d3 Launch a cluster-local registry.
This registry can be accessed through proxies that run on each node
listening on port 5000. We send the proxy images to the nodes directly
to avoid requests that hit the network during cluster launch. For now,
we continue to pull the registry itself over the network, especially
given its large size (we should be able to dramatically shrink the
image). On GCE we create a PD and use that for storage, otherwise we
use an emptyDir. The registry is not enabled outside of GCE. All
communication is currently plain HTTP. In order to use SSL, we will
need to be able to request a certificate/key from the apiserver signed
by the apiserver's CA cert.
2015-08-20 18:44:05 -07:00
Brendan Burns 15b9d98733 Add support for supervisord as a monit alternative. 2015-08-06 15:48:45 -07:00
Justin Santa Barbara 463458bf5f AWS: Install ntp daemon on all nodes
The AWS API requires a signature on method calls, including the
timestamp to prevent replay attacks.  A time drift of up to 5 minutes
between client and server is tolerated.

However, if the client clock drifts by >5 minutes, the server will start
to reject API calls (with the cryptic "AWS was not able to validate the
provided access credentials").

To prevent this happening, we install ntp on all nodes.

Fix #11371
2015-08-01 14:32:08 -04:00
Victor Marmol f1e66c718d Merge pull request #10590 from roberthbailey/kubelet-on-nodes
Install the kubectl binary on nodes in addition to the master.
2015-07-08 16:13:12 -07:00
Victor Marmol dd37642369 Merge pull request #10488 from justinsb/salt_support_systemd
Salt: support systemd (don't assume Redhat <=> systemd)
2015-07-08 13:43:08 -07:00
Justin Santa Barbara bcd92c7522 Salt: support systemd (don't assume Redhat <=> systemd)
Also work around problems with Salt & systemd services, in particular
that Salt doesn't issue a daemon-reload.
2015-07-03 01:40:15 -04:00
Alex Robinson e5ea6ae854 Run fluentd on the master node by default.
This involves adding the logging-write scope to the master when running on GCE.
2015-07-01 20:07:52 +00:00
Robert Bailey fedddee157 Install the kubectl binary on nodes in addition to the master. 2015-06-30 16:52:17 -07:00
derekwaynecarr db202d4904 Remove nginx from vagrant 2015-06-23 13:07:50 -04:00
derekwaynecarr 2168cee414 Upgrade to Fedora 21, Docker 1.6, clean-up SDN 2015-06-04 10:59:23 -04:00
Dawn Chen 55501a6314 Have default LimitRange created for cluster: 100m cpu.share per container 2015-05-19 10:23:40 -07: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
Dawn Chen 87e0d5da08 Merge pull request #7186 from ArtfulCoder/no_log_pod_on_master
removed elasticsearch and fluentd-gcp pods from master
2015-04-22 14:40:07 -07:00
Abhishek Shah 8cf11fd608 removed elasticsearch and fluentd-gcp pods from master 2015-04-22 12:54:57 -07:00
Robert Bailey dc45f7f9e6 Remove nginx and replace basic auth with bearer token auth for GCE.
- Configure the apiserver to listen securely on 443 instead of 6443.
 - Configure the kubelet to connect to 443 instead of 6443.
 - Update documentation to refer to bearer tokens instead of basic auth.
2015-04-22 11:11:20 -07:00
Justin Santa Barbara b9fd56050a Add safe_format_and_mount script to aws
Apache licensed :-)
2015-04-10 13:25:42 -07:00
Abhishek Shah 4996ccbf2d Load docker images of kubernetes components after docker is installed. 2015-04-09 09:06:42 -07:00
Abhishek Shah 39bb6d3777 Enable log collection from master. 2015-04-02 18:37:07 -07:00
derekwaynecarr c6bf46acd7 Fix vagrant with etcd in pod 2015-04-02 16:55:29 -04:00
Abhishek Shah d1015e785f Add salt configuration to remove cadvisor.manifest from master. cadvisor is now part of kubelet 2015-03-26 10:15:30 -07:00
Brendan Burns 8bac135f85 Configure docker and kubelet on AWS master. 2015-03-24 17:19:06 -07:00
Victor Marmol 1a7f7245e7 Remove cAdvisor manifest from cluster startup.
cAdvisor is now integrated into the Kubelet and runs inside of it.
2015-03-13 16:06:42 -07:00
Brendan Burns 966e8301a0 Add kubelet to the master. 2015-03-13 12:09:24 -07:00
Brendan Burns 17ff8fb421 Configure docker on the master like we do on workers. 2015-03-12 10:37:30 -07:00
derekwaynecarr 22e559d769 Provision network before kubelet 2015-03-10 10:30:50 -04:00
derekwaynecarr 87a41b0934 Improve vagrant reliablility, fix race condition with openvswitch and docker 2015-02-21 13:31:50 -05:00
saadali 4dea0488e6 Add monit process monitoring for kubelet and docker 2015-02-19 22:22:05 -08:00
Zach Loafman 6b3bb763f0 Merge pull request #4287 from derekwaynecarr/docker_group_gone
Docker 1.4.1 on Fedora no longer provisions a docker group
2015-02-10 14:28:02 -08:00
derekwaynecarr 46eb657722 docker does not provision a docker group anymore, so do not add vagrant user to it 2015-02-10 11:15:22 -05:00
Rajat Chopra 1d12cad456 Fix vagrant networking. Include the master as part of overlay. And remove STP for efficiency.
fix e2e services for vagrant
Kubelet should wait on SDN to finish
Do not require docker on master for default clouds
2015-02-09 14:37:27 -08:00
Zach Loafman 6b8c332cd3 Revert "Fix vagrant networking" 2015-02-09 13:40:11 -08:00
Rajat Chopra b61ea1bbf1 Fix vagrant networking. Include the master as part of overlay. And remove STP for efficiency. 2015-02-05 17:41:27 -08:00
Justin Santa Barbara 7790435915 Fix for bool vs string comparisons in salt templates
Fixes #4118
2015-02-04 14:09:10 -05:00
Brendan Burns c7c11d7731 Add monit support for restarting etcd to the master. 2015-01-27 20:15:24 -08:00
Zach Loafman a305269e18 Deferred creation of SkyDNS, monitoring and logging objects
This implements phase 1 of the proposal in #3579, moving the creation
of the pods, RCs, and services to the master after the apiserver is
available.

This is such a wide commit because our existing initial config story
is special:

* Add kube-addons service and associated salt configuration:
** We configure /etc/kubernetes/addons to be a directory of objects
that are appropriately configured for the current cluster.
** "/etc/init.d/kube-addons start" slurps up everything in that dir.
(Most of the difficult is the business logic in salt around getting
that directory built at all.)
** We cheat and overlay cluster/addons into saltbase/salt/kube-addons
as config files for the kube-addons meta-service.
* Change .yaml.in files to salt templates
* Rename {setup,teardown}-{monitoring,logging} to
{setup,teardown}-{monitoring,logging}-firewall to properly reflect
their real purpose now (the purpose of these functions is now ONLY to
bring up the firewall rules, and possibly to relay the IP to the user).
* Rework GCE {setup,teardown}-{monitoring,logging}-firewall: Both
functions were improperly configuring global rules, yet used
lifecycles tied to the cluster. Use $NODE_INSTANCE_PREFIX with the
rule. The logging rule needed a $NETWORK specifier. The monitoring
rule tried gcloud describe first, but given the instancing, this feels
like a waste of time now.
* Plumb ENABLE_CLUSTER_MONITORING, ENABLE_CLUSTER_LOGGING,
ELASTICSEARCH_LOGGING_REPLICAS and DNS_REPLICAS down to the master,
since these are needed there now.

(Desperately want just a yaml or json file we can share between
providers that has all this crap. Maybe #3525 is an answer?)

Huge caveats: I've gone pretty firm testing on GCE, including
twiddling the env variables and making sure the objects I expect to
come up, come up. I've tested that it doesn't break GKE bringup
somehow. But I haven't had a chance to test the other providers.
2015-01-21 12:25:50 -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 5122e4cc3a Remove deprecated nsinit from the node definition. 2014-11-17 22:20:57 -08:00
Eric Paris a99c3c7963 rename kube server binaries to kube-
apiserver becomes kube-apiserver
controller-manager -> kube-controller-manager
scheduler and proxy similarly.

Only thing I promise is that right now hack/build-go.sh and
build/release.sh exit with 0.  That's it.  Who knows if any of this
actually works....
2014-11-13 20:08:26 -05:00
Joe Beda ee2f030623 Give the API server access to TLS certs.
Moved the cert generation to a separate salt state and put it in a more appropriate sharable location (`/srv/kubernetes/`).
2014-11-12 18:14:24 -08:00
Joe Beda a839599883 Install client tools on master.
We now include kubecfg and kubectl in "server binary" tar and place them into /usr/local/bin on the master.
2014-11-07 17:13:18 -08:00
Joe Beda 8100c063b8 Turn on auto security updates for debian based systems.
Fixes #2008
2014-10-27 13:49:51 -07:00