Commit graph

3101 commits

Author SHA1 Message Date
Antoine Legrand
af4c41f32e Merge pull request #363 from mattymo/kubelet
Deploy kubelet and kube-apiserver as containers
2016-07-24 01:02:33 +02:00
Matthew Mosesohn
0cdbc13f1e Deploy kubelet and kube-apiserver as containers
kubelet via docker
kube-apiserver as a static pod

Fixed etcd service start to be more tolerant of slow start.

Workaround for kube_version to stay in download role, but not
download an files by creating a new "nothing" download entry.
2016-07-22 16:42:34 +03:00
Matthew Mosesohn
d0a1e15ef3 Deploy kubelet and kube-apiserver as containers
kubelet via docker
kube-apiserver as a static pod

Fixed etcd service start to be more tolerant of slow start.

Workaround for kube_version to stay in download role, but not
download an files by creating a new "nothing" download entry.
2016-07-22 16:42:34 +03:00
Antoine Legrand
d3c123b585 Merge pull request #375 from bogdando/ha_docs
Add ha docs
2016-07-22 15:16:01 +02:00
Antoine Legrand
a4da0e4ee2 Merge pull request #375 from bogdando/ha_docs
Add ha docs
2016-07-22 15:16:01 +02:00
Bogdan Dobrelya
7639fadaba Add ha docs
Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
2016-07-22 14:44:36 +02:00
Bogdan Dobrelya
7d816aecf1 Add ha docs
Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
2016-07-22 14:44:36 +02:00
Antoine Legrand
c9a3c699e0 Merge pull request #374 from kubespray/revert-lb
Revert "Add HA/LB endpoints for kube-apiserver"
2016-07-22 14:17:50 +02:00
Antoine Legrand
a63b05efbc Merge pull request #374 from kubespray/revert-lb
Revert "Add HA/LB endpoints for kube-apiserver"
2016-07-22 14:17:50 +02:00
Matthew Mosesohn
74129d199c Revert "Add HA/LB endpoints for kube-apiserver"
This reverts commit a70c3b661e.
2016-07-22 13:54:38 +03:00
Matthew Mosesohn
7f212ca9cb Revert "Add HA/LB endpoints for kube-apiserver"
This reverts commit a70c3b661e.
2016-07-22 13:54:38 +03:00
Antoine Legrand
50a0d5d0d4 Merge pull request #361 from bogdando/issue/26_p2
Add HA/LB endpoints for kube-apiserver
2016-07-21 14:43:53 +02:00
Antoine Legrand
296eccd238 Merge pull request #361 from bogdando/issue/26_p2
Add HA/LB endpoints for kube-apiserver
2016-07-21 14:43:53 +02:00
Aleksandr Didenko
10f162d52a Support --ipip option for calico pool
Adds new boolean configuration variable for calico network plugin
`ipip`. When it's enabled calico pool is created with '--ipip'
option (IP-over-IP encapsulation across hosts).

Also refactor pool creation tasks to simplify logic and make tasks
more readable.
2016-07-21 13:05:40 +02:00
Aleksandr Didenko
f94eb0b997 Support --ipip option for calico pool
Adds new boolean configuration variable for calico network plugin
`ipip`. When it's enabled calico pool is created with '--ipip'
option (IP-over-IP encapsulation across hosts).

Also refactor pool creation tasks to simplify logic and make tasks
more readable.
2016-07-21 13:05:40 +02:00
Bogdan Dobrelya
fcb1735c09 Add HA/LB endpoints for kube-apiserver
* Add auto-evaluated internal endpoints and clarify the loadbalancer_apiserver
vars and usecases.
* Add loadbalancer_apiserver_localhost (default false). If enabled, override
the external LB and expect localhost:443/8080 to be new internal only frontends.
* Add kube_apiserver_multiaccess to ignore loadbalancers, and make clients
to access the apiservers as a comma-separated list of access_ip/ip/ansible ip
(a default mode). When disabled, allow clients to use the given loadbalancers.
* Define connections security mode for kube controllers, schedulers, proxies.
It is insecure be default, which is the current deployment choice.
* Rework the groups['kube-master'][0] hardcode defining the apiserver
endpoints.
* Improve grouping of vars and add facts for kube_apiserver.
* Define kube_apiserver_insecure_bind_address as a fact, add more
facts for ease of use.

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
2016-07-21 11:05:03 +02:00
Bogdan Dobrelya
a70c3b661e Add HA/LB endpoints for kube-apiserver
* Add auto-evaluated internal endpoints and clarify the loadbalancer_apiserver
vars and usecases.
* Add loadbalancer_apiserver_localhost (default false). If enabled, override
the external LB and expect localhost:443/8080 to be new internal only frontends.
* Add kube_apiserver_multiaccess to ignore loadbalancers, and make clients
to access the apiservers as a comma-separated list of access_ip/ip/ansible ip
(a default mode). When disabled, allow clients to use the given loadbalancers.
* Define connections security mode for kube controllers, schedulers, proxies.
It is insecure be default, which is the current deployment choice.
* Rework the groups['kube-master'][0] hardcode defining the apiserver
endpoints.
* Improve grouping of vars and add facts for kube_apiserver.
* Define kube_apiserver_insecure_bind_address as a fact, add more
facts for ease of use.

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
2016-07-21 11:05:03 +02:00
Antoine Legrand
08ecddf6d2 Merge pull request #365 from kubespray/etcddockerdefault
Set default etcd deployment to docker
2016-07-21 10:59:49 +02:00
Antoine Legrand
0f246bfba4 Merge pull request #365 from kubespray/etcddockerdefault
Set default etcd deployment to docker
2016-07-21 10:59:49 +02:00
mattymo
623becabf8 Merge branch 'master' into etcddockerdefault 2016-07-20 19:16:47 +03:00
mattymo
8141b72d5e Merge branch 'master' into etcddockerdefault 2016-07-20 19:16:47 +03:00
Antoine Legrand
f66ed81a8f Merge pull request #367 from bogdando/set_facts
Fix set_facts visibility
2016-07-20 18:00:15 +02:00
Antoine Legrand
277c5d74cc Merge pull request #367 from bogdando/set_facts
Fix set_facts visibility
2016-07-20 18:00:15 +02:00
Matthew Mosesohn
40207937f7 Set default etcd deployment to docker
Improved docker reload command to wait for etcd to be
up before proceeding. Switched reload to run restart
because it can't reload if it is not guaranteed to be
in running state.
2016-07-20 18:26:16 +03:00
Matthew Mosesohn
7a86b6c73e Set default etcd deployment to docker
Improved docker reload command to wait for etcd to be
up before proceeding. Switched reload to run restart
because it can't reload if it is not guaranteed to be
in running state.
2016-07-20 18:26:16 +03:00
Antoine Legrand
a4e3c75f69 Merge pull request #366 from mattymo/kubeletresolv
Add variable kube_resolv_conf
2016-07-20 13:47:59 +02:00
Antoine Legrand
52a85d5757 Merge pull request #366 from mattymo/kubeletresolv
Add variable kube_resolv_conf
2016-07-20 13:47:59 +02:00
Bogdan Dobrelya
01e554fdb3 Fix set_facts visibility
Move set_facts to the preinstall scope, so every role
may see it. For example, network plugins to see the etcd_endpoint.

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
2016-07-20 11:41:09 +02:00
Bogdan Dobrelya
a76e5dbb11 Fix set_facts visibility
Move set_facts to the preinstall scope, so every role
may see it. For example, network plugins to see the etcd_endpoint.

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
2016-07-20 11:41:09 +02:00
Matthew Mosesohn
925253c3d3 Add variable kube_resolv_conf
Allow configuration of a custom /etc/resolv.conf for kubelet.
2016-07-20 11:57:47 +03:00
Matthew Mosesohn
c3e5aac18e Add variable kube_resolv_conf
Allow configuration of a custom /etc/resolv.conf for kubelet.
2016-07-20 11:57:47 +03:00
Antoine Legrand
116b14d8f8 Merge pull request #355 from bogdando/issues/26
Add etcd proxy support
2016-07-19 17:43:21 +02:00
Antoine Legrand
10b38ab9ff Merge pull request #355 from bogdando/issues/26
Add etcd proxy support
2016-07-19 17:43:21 +02:00
Bogdan Dobrelya
fd83ec6526 Add etcd proxy support
* Enforce a etcd-proxy role to a k8s-cluster group members. This
provides an HA layout for all of the k8s cluster internal clients.
* Proxies to be run on each node in the group as a separate etcd
instances with a readwrite proxy mode and listen the given endpoint,
which is either the access_ip:2379 or the localhost:2379.
* A notion for the 'kube_etcd_multiaccess' is: ignore endpoints and
loadbalancers and use the etcd members IPs as a comma-separated
list. Otherwise, clients shall use the local endpoint provided by a
etcd-proxy instances on each etcd node. A Netwroking plugins always
use that access mode.
* Fix apiserver's etcd servers args to use the etcd_access_endpoint.
* Fix networking plugins flannel/calico to use the etcd_endpoint.
* Fix name env var for non masters to be set as well.
* Fix etcd_client_url was not used anywhere and other etcd_* facts
evaluation was duplicated in a few places.
* Define proxy modes only in the env file, if not a master. Del
an automatic proxy mode decisions for etcd nodes in init/unit scripts.
* Use Wants= instead of Requires= as "This is the recommended way to
hook start-up of one unit to the start-up of another unit"
* Make apiserver/calico Wants= etcd-proxy to keep it always up

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
Co-authored-by: Matthew Mosesohn <mmosesohn@mirantis.com>
2016-07-19 14:09:40 +02:00
Bogdan Dobrelya
32cd6e99b2 Add etcd proxy support
* Enforce a etcd-proxy role to a k8s-cluster group members. This
provides an HA layout for all of the k8s cluster internal clients.
* Proxies to be run on each node in the group as a separate etcd
instances with a readwrite proxy mode and listen the given endpoint,
which is either the access_ip:2379 or the localhost:2379.
* A notion for the 'kube_etcd_multiaccess' is: ignore endpoints and
loadbalancers and use the etcd members IPs as a comma-separated
list. Otherwise, clients shall use the local endpoint provided by a
etcd-proxy instances on each etcd node. A Netwroking plugins always
use that access mode.
* Fix apiserver's etcd servers args to use the etcd_access_endpoint.
* Fix networking plugins flannel/calico to use the etcd_endpoint.
* Fix name env var for non masters to be set as well.
* Fix etcd_client_url was not used anywhere and other etcd_* facts
evaluation was duplicated in a few places.
* Define proxy modes only in the env file, if not a master. Del
an automatic proxy mode decisions for etcd nodes in init/unit scripts.
* Use Wants= instead of Requires= as "This is the recommended way to
hook start-up of one unit to the start-up of another unit"
* Make apiserver/calico Wants= etcd-proxy to keep it always up

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
Co-authored-by: Matthew Mosesohn <mmosesohn@mirantis.com>
2016-07-19 14:09:40 +02:00
Smaine Kahlouch
0efe88a2fc Merge pull request #362 from bogdando/fix_service_unit
Fix systemd service unit for etcd
2016-07-16 10:38:36 +02:00
Smaine Kahlouch
a2540e3318 Merge pull request #362 from bogdando/fix_service_unit
Fix systemd service unit for etcd
2016-07-16 10:38:36 +02:00
Bogdan Dobrelya
70c37ec77b Fix systemd service unit for etcd
See https://github.com/coreos/etcd/issues/4308

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
2016-07-15 16:22:17 +02:00
Bogdan Dobrelya
0b874e8db2 Fix systemd service unit for etcd
See https://github.com/coreos/etcd/issues/4308

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
2016-07-15 16:22:17 +02:00
Smaine Kahlouch
88539013a8 Merge pull request #359 from kubespray/fix_351
deployment idempotent
2016-07-14 21:34:21 +02:00
Smaine Kahlouch
192136df20 Merge pull request #359 from kubespray/fix_351
deployment idempotent
2016-07-14 21:34:21 +02:00
Smana
28204d18cb deployment idempotent 2016-07-14 21:33:24 +02:00
Smana
ab8fdba484 deployment idempotent 2016-07-14 21:33:24 +02:00
Smaine Kahlouch
44271e3802 Merge pull request #358 from kubespray/use_coreos_hyperkube
use hyperkube coreos image
2016-07-14 21:19:10 +02:00
Smana
53907c3bcf use hyperkube coreos image 2016-07-14 21:20:41 +02:00
Smaine Kahlouch
342e6d6823 Merge pull request #358 from kubespray/use_coreos_hyperkube
use hyperkube coreos image
2016-07-14 21:19:10 +02:00
Smana
dfe7bfd127 use hyperkube coreos image 2016-07-14 21:20:41 +02:00
Smaine Kahlouch
6e1870e5b4 Merge pull request #353 from kubespray/proxymode_default_iptables
use iptables as default proxy mode
2016-07-12 11:16:39 +02:00
Smaine Kahlouch
51f55f3748 Merge pull request #353 from kubespray/proxymode_default_iptables
use iptables as default proxy mode
2016-07-12 11:16:39 +02:00
Smana
9bc48b7955 use iptables as default proxy mode 2016-07-12 10:20:43 +02:00