Commit graph

353 commits

Author SHA1 Message Date
Robert Neumann
8b289ad9e1 Fix the file path for all.yml and k8s-cluster.yml (#4210) 2019-02-11 14:55:41 -08:00
Maxime Guyot
954676b3d8 Update the admin cert paths (#4135) 2019-02-11 14:10:10 -08:00
tikitavi
befa8a6cbd fix error with delete host in inventory.py script (#4203)
* fix error with delete host in inventory.py script

* minor fix
2019-02-11 15:57:51 +03:00
Maxime Guyot
7e974f1401 Fix MetaLB library (#4195) 2019-02-07 17:31:53 +03:00
tikitavi
263c8731f2 add to inventory.py script ability to indicate ip ranges (#4182)
* add to inventory.py script ability to indicate ip ranges

* add test for range2ip function for inventory.py script

some fixes

* add negative test for range2ip function for inventory.py script
2019-02-06 18:22:13 +03:00
Petr Ruzicka
91e2d61cf2 Adding link to ../../contrib in README (#4097) 2019-01-31 14:44:06 -08:00
Maxime Guyot
40f1c51ec3 Add support for Packet with Terraform (#4043)
* Add support for Packet with Terraform

Co-Author: johnstudarus <john@jhlconsulting.com>

* removed advanced features to streamline

* clarifying usage

* Update README.md

provide a better test to validate things are working OK

* Update README.md

clarifying what to set

* minor wordsmithing

* Fix admin cert path

* clarifying how to configure keys

* enabling kubeconfig_localhost

pull over the configuration file via playbooks rather than the key files individually

* Create output.tf

* Add support for node specific plans
2019-01-31 07:24:36 -08:00
Sascha Marcel Schmidt
435993891b fix assertions, use msg instead of message (#3913) 2019-01-09 11:01:47 -08:00
Đào Hoàng Sơn
01cd4cf1c6 Remove vault role from inventory_builder. (#3863)
Related to https://github.com/kubernetes-sigs/kubespray/pull/3684
2018-12-09 18:13:42 +01:00
Andreas Krüger
ddffdb63bf Remove non-kubeadm deployment (#3811)
* Remove non-kubeadm deployment

* More cleanup

* More cleanup

* More cleanup

* More cleanup

* Fix gitlab

* Try stop gce first before absent to make the delete process work

* More cleanup

* Fix bug with checking if kubeadm has already run

* Fix bug with checking if kubeadm has already run

* More fixes

* Fix test

* fix

* Fix gitlab checkout untill kubespray 2.8 is on quay

* Fixed

* Add upgrade path from non-kubeadm to kubeadm. Revert ssl path

* Readd secret checking

* Do gitlab checks from v2.7.0 test upgrade path to 2.8.0

* fix typo

* Fix CI jobs to kubeadm again. Fix broken hyperkube path

* Fix gitlab

* Fix rotate tokens

* More fixes

* More fixes

* Fix tokens
2018-12-06 02:33:38 -08:00
Miao Zhou
885c6cff71 Fix AWS Node Labels Error
Now the `kubespray-aws-inventory.py` script always set a node_labels key
to ansible_host.

When AWS instance did not set property labels, it would be an empty
string.

The TASK `Write kubelet config file (kubeadm or non-kubeadm)` will
failed with a msg:

`AnsibleUndefinedVariable: 'unicode object' has no attribute 'items'`.
2018-11-23 17:37:41 +08:00
Evgeny Zislis
29ee581067 pin hvac version to 0.6.4 (#3692) 2018-11-15 02:08:33 -08:00
Mateus Caruccio
087b7fa38e Set node labels from AWS instance tag (#3544)
Set kubernetes node labels from a given comma-separated list of `key=value` from AWS instance tag `kubespray-node-labels`.
2018-11-14 00:21:56 -08:00
Antoine Legrand
3dcb914607 Remove Vault (#3684)
* Remove Vault

* Remove reference to 'kargo' in the doc

* change check order
2018-11-10 08:51:24 -08:00
Thomas Nys
fb9155c450 Add the option to create a DNS record for bastion deployed to Azure (#3675)
This is rather convenient if you want to configure exceptions on a
company firewall.
2018-11-09 11:30:35 +01:00
Thomas Nys
dc3195310c Add the option to add multiple ssh public keys for Azure infrastructure (#3674)
This give users the option to define multiple ssh public keys when
deploying the base infrastructure on Azure.
2018-11-08 15:25:07 +01:00
Erwan Miran
89ac53acd7 _ansible_item_label is not necessarily set (#3646) 2018-11-07 12:39:44 -08:00
Andreas Holmsten
289be0a0db
Fix capitalisation 2018-11-05 12:47:23 +01:00
Aivars Sterns
3c5f20190f
Merge pull request #3629 from holmsten/terraform-ops-worker-allowed-ports
[contrib/terraform/openstack] Allow user defined port ranges for worker security group
2018-11-03 17:52:00 +02:00
Andreas Holmsten
6c34745958
Add worker_allowed_ports
* [contrib/terraform/openstack] Add worker_allowed_ports

  Allow user to define in terraform template which ports and remote
  IPs that are allowed to access worker nodes. This is useful when you
  don't want to open up whole NodePort range to the outside world, or
  ports outside NodePort range.
2018-11-01 17:48:37 +01:00
Ye Ben
d8b357ce49
fix typo doesnt -> doesn't
fix typos in line 114 and 116: doesnt -> doesn't
2018-10-31 21:27:58 +08:00
AdamDang
b8bafb2893 Fix a typo in dind/README.md (#3620)
appropiate->appropriate
2018-10-31 11:01:13 +01:00
Ted Wexler
58b4fea2b1 Add an 'access_ip' for openstack resources to the terraform inventory builder script (#3592)
* Add an 'access_ip' for openstack resources to the terraform inventory builder script

* Update Openstack README

* Only use ipv4

* If there's a floating IP assigned to an openstack instance, use that for access_ip
2018-10-29 19:28:23 +01:00
Maxime Guyot
38beab8fe8 Add support for router less deployments 2018-10-19 12:39:34 +02:00
Miouge1
6e34918b52 Add list of know working OpenStack clouds 2018-10-18 11:04:04 +02:00
Andreas Krüger
52b5309385
Merge pull request #3532 from jjo/jjo-improve-dind
[jjo] improve contrib/dind/run-test-distros.sh via spec files
2018-10-17 09:47:16 +02:00
Mateus Caruccio
7f4e048052 kubespray-aws-inventory.py ported to python 3 (#3528) 2018-10-16 23:53:39 -07:00
JuanJo Ciarlante
7fe7357154
improve contrib/dind/README.md 2018-10-16 21:25:41 -03:00
JuanJo Ciarlante
635261eb12
[jjo] improve dind run-test-distros.sh via spec files 2018-10-16 21:25:41 -03:00
Erwan Miran
7bec169d58 Fix ansible syntax to avoid ansible deprecation warnings (#3512)
* failed

* version_compare

* succeeded

* skipped

* success

* version_compare becomes version since ansible 2.5

* ansible minimal version updated in doc and spec

* last version_compare
2018-10-16 15:33:30 -07:00
Andreas Krüger
b1974ab3cf
Merge pull request #3515 from SataQiu/fix-20181012
fix typo
2018-10-16 09:11:08 +02:00
JuanJo Ciarlante
4077934519 [jjo] add DIND support to contrib/ (#3468)
* [jjo] add DIND support to contrib/

- add contrib/dind with ansible playbook to
  create "node" containers, and setup them to mimic
  host nodes as much as possible (using Ubuntu images),
  see contrib/dind/README.md

- nodes' /etc/hosts editing via `blockinfile` and
  `lineinfile` need `unsafe_writes: yes` because /etc/hosts
  are mounted by docker, and thus can't be handled atomically
  (modify copy + rename)

* dind-host role: set node container hostname on creation

* add "Resulting deployment" section with some CLI outputs

* typo

* selectable node_distro: debian, ubuntu

* some fixes for node_distro: ubuntu

* cpu optimization: add early `pkill -STOP agetty`

* typo

* add centos dind support ;)

* add kubespray-dind.yaml, support fedora

- add kubespray-dind.yaml (former custom.yaml at README.md)
- rework README.md as per above
- use some YAML power to share distros' commonality
- add fedora support

* create unique /etc/machine-id and other updates

- create unique /etc/machine-id in each docker node,
  used as seed for e.g. weave mac addresses

- with above, now netchecker 100% passes WoHooOO!
  🎉 🎉 🎉

- updated README.md output from (1.12.1, verified
  netcheck)

* minor typos

* fix centos node creation, needs earlier udevadm removal to avoid flaky facts, also verified netcheck Ok \o/

* add Q&D test-distros.sh, back to manual /etc/machine-id hack

* run-test-distros.sh cosmetics and minor fixes

* run-test-distros.sh: $rc fix and minor formatting changes

* run-test-distros.sh output cosmetics
2018-10-15 09:44:02 +02:00
Julien Senon
fac8aaa44e Update template for bastion (#3523)
Update template to have bastion section
2018-10-15 09:42:22 +02:00
SataQiu
9ca583d984 fix typo 2018-10-12 15:53:30 +08:00
Giacomo Longo
3f786542d3 Automatically infer bootstrap_os (#3498)
* Automatically infer bootstrap_os

* Rename bootstrap os to os_family
2018-10-10 23:32:10 -07:00
LiuDui
e813b26963 Remove excess Spaces (#3452) 2018-10-10 19:28:39 -07:00
SataQiu
6f4054679e Remove the redundant space (#3418) 2018-09-29 20:31:57 -07:00
KMilhan
df7d53b9ef Fix ready to not to be an AnsibleUnsafeText (#3404) 2018-09-28 05:07:27 -07:00
Andreas Holmsten
0a9a42b544 Change from Nova security groups to Neutron (#2910)
* Replace `openstack_compute_secgroup_v2` with `openstack_networking_secgroup_v2`

The `openstack_networking_secgroup_v2` resource allow specifications of
both ingress and egress. Nova security groups define ingress rules only.

This change will also allow for more user-friendly specified security
rules, as the different security group resources have different HCL
syntax.
2018-09-28 11:35:02 +02:00
Aivars Sterns
bacd8c70e1
Merge pull request #3149 from rguichard/fix-router-id-output
fix the output of router_id with the right id
2018-09-19 15:34:03 +03:00
Rong Zhang
3cd38e0d4c
Merge pull request #3245 from ctang1989/patch-1
terraform.tfvars.example is not correct, remove.
2018-09-17 20:41:08 +08:00
Sascha Marcel Schmidt
cd3b30d3bf
fix path to configuration 2018-09-13 10:15:31 +02:00
Sascha Marcel Schmidt
6a5c828b6c
fix bin_dir 2018-09-11 16:27:20 +02:00
Sascha Marcel Schmidt
97aa87612a
use bin_dir 2018-09-11 16:27:17 +02:00
Sascha Marcel Schmidt
157639e451
use privileged user 2018-09-06 16:38:11 +02:00
k8s-ci-robot
a3caeba242
Merge pull request #2931 from torvitas/master
Heketi/GlusterFS
2018-09-06 03:07:35 -07:00
Sascha Marcel Schmidt
df6cf9aa51
add cleanup 2018-09-05 17:18:53 +02:00
Sascha Marcel Schmidt
5cf1396cb7
removes unnecessary check 2018-09-05 17:17:49 +02:00
Sascha Marcel Schmidt
6ffddbff24
fix database not available heketi error 2018-09-05 16:03:32 +02:00
Sascha Marcel Schmidt
64b0ce974d
use bin_dir variable 2018-09-05 16:02:55 +02:00
Sascha Marcel Schmidt
ce776f0f6a
actually use heketi auth 2018-09-05 15:59:56 +02:00
Sascha Marcel Schmidt
949984601f
actually use heketi auth 2018-09-05 15:58:44 +02:00
唐超
ca6c5e2a6a
terraform.tfvars.example is not correct, remove. 2018-09-05 17:41:34 +08:00
Sascha Marcel Schmidt
9cc8ef4b91 MetalLB as loadbalancer for on premise deployments (#3027)
* add metallb as loadbalancer for on premise deployments

* improve configuration

* add variables to DaemonSet
2018-09-04 15:17:23 +03:00
Timo Ribbers
83e3b72220
Fix node hostname in glusterfs inventory.example
Remove duplicate hostname usage.
2018-08-22 11:03:38 +02:00
rguichard
6650bc6b25 fix the output of router_id with the right id 2018-08-21 13:21:25 +02:00
Antoine Legrand
b490231f59
Merge pull request #2025 from kubernetes-incubator/terraform-aws-inventory
contrib/terraform/aws: Make path to generated inventory configurable
2018-08-17 15:55:38 +02:00
Antoine Legrand
bc844ca96e
Merge pull request #3079 from wikiselev/master
fix glusterfs ppa and glusterfs server command name errors
2018-08-16 16:15:32 +02:00
Antoine Legrand
a642931422
Merge pull request #3019 from holmsten/terraform-ops-worker-groups
[contrib/terraform/openstack] Add supplementary node groups
2018-08-16 16:06:53 +02:00
Sascha Marcel Schmidt
19e2868484
fix path to bootstrap tear down 2018-08-10 13:42:28 +02:00
wikiselev
53aee6dc24 fix glusterfs ppa and glusterfs server command name errors 2018-08-09 10:14:14 +01:00
Sascha Marcel Schmidt
9fba448053
recator to use kube module, finally fix race condition in storage tasks 2018-08-08 14:22:50 +02:00
Magnus Holm
fcfe12437c contrib/terraform/terraform.py: fix for Ansible 2.6.2+, issue #3067 2018-08-07 15:22:14 +02:00
Simon Li
d284961d47
Change heketi-tear-down to run on nodes instead of localhost delegate_to 2018-08-07 13:52:49 +02:00
Simon Li
8ac57201a7
Prefix heketi kubectl calls with {{ bin_dir }} 2018-08-07 13:48:16 +02:00
Rong Zhang
16bd0d2b5d
Merge pull request #2900 from drekle/configure_openstack_subnet_CIDR
Configure openstack subnet cidr
2018-08-07 17:27:01 +08:00
Rong Zhang
2c38e4e1ac
Merge pull request #3059 from okumin/fix-glusterfs-group_vars
Fix a broken symbolic link for group_vars
2018-08-07 16:55:32 +08:00
Rong Zhang
411d07a4f6
Merge pull request #3047 from rguichard/openstack-az-support
availability zones support for OpenStack
2018-08-07 16:51:41 +08:00
okumin
a953f1ca8b Fix a broken symbolic link for group_vars 2018-08-04 23:49:06 +09:00
Rong Zhang
9172150966
Merge pull request #3044 from jerryrelmore/patch-4
Clarify etcd deployment script failure mechanism
2018-08-01 22:57:14 +08:00
rguichard
c19643cee2 availability zones support for OpenStack
allow masters, nodes and gluster nodes (within each group) to be scheduled
on differents AZ.
2018-08-01 16:42:58 +02:00
Jerry Elmore
1385091768
Clarify etcd deployment script failure mechanism
Attempting to clarify the language surrounding the etcd node deployment script failure mechanism. I had this error when doing a new cluster deployment last night and, though it should have been, it wasn't immediately apparent to me what was causing the issue (since my default master node hostnames do not specify whether they are also acting as etcd replicas).
2018-07-31 15:15:49 -04:00
rguichard
1a38a9df88 add security groups for traffic to 30000-32767/tcp
This will make NodePort services work out of the box
2018-07-27 14:57:29 +02:00
Sascha Marcel Schmidt
2bd8fbb2dd
add missing templates 2018-07-25 16:46:12 +02:00
Sascha Marcel Schmidt
205ea33b10
"fix" race condition 2018-07-25 16:42:57 +02:00
Sascha Marcel Schmidt
c42397d7db
run kubectl on one of the masters 2018-07-25 16:42:30 +02:00
Sascha Marcel Schmidt
306a6a751f
wait for job to complete 2018-07-08 13:16:25 +02:00
Sascha Marcel Schmidt
318c69350e
pin heketi image version 2018-07-08 13:15:54 +02:00
Sascha Marcel Schmidt
6d1804d8a4
also remove storage class 2018-07-05 14:19:18 +02:00
Sascha Marcel Schmidt
ee67ece641
suppress unnecessary change 2018-07-05 14:18:27 +02:00
Rong Zhang
4d7426ec95 Fix terraform env Not effective (#2966)
Add TF_VAR_ to terraform env
2018-07-05 12:20:02 +03:00
Sascha Marcel Schmidt
f703814561
add tear down playbook 2018-07-05 02:15:05 +02:00
Sascha Marcel Schmidt
c39835628d
prevent some race conditions, increase over all time limits 2018-07-05 02:14:36 +02:00
Sascha Marcel Schmidt
1253725975
add necessary chdir 2018-07-04 19:31:25 +02:00
Sascha Marcel Schmidt
f4c1d6a5d7
remove unnecessary check for existing artifact 2018-07-04 19:08:02 +02:00
Sascha Marcel Schmidt
d7abdced05
fix typo 2018-07-04 18:58:45 +02:00
Sascha Marcel Schmidt
78aeef074e
add hint on how to install heketi-cli 2018-07-04 18:40:48 +02:00
Sascha Marcel Schmidt
0b7aa33bc2
add jmespath as requirement 2018-07-04 18:25:35 +02:00
Andreas Holmsten
b900bd6e94
[contrib/terraform/openstack] Add supplementary node groups
* Add supplementary node groups

  To add additional ansible groups to the k8s nodes, such as
  `kube-ingress` for running ingress controller pods. Empty by default.
2018-06-28 16:46:20 +02:00
Sascha Marcel Schmidt
8e275ab2bd
change order and validation of bootstrap and rest tasks as well as
volumes
2018-06-27 12:30:14 +02:00
Sascha Marcel Schmidt
b56f465145
fix creation of heketi volumes and storage provisioning validation 2018-06-27 10:12:23 +02:00
Sascha Marcel Schmidt
74cad6b811
pin versions of container images 2018-06-27 10:11:14 +02:00
Sascha Marcel Schmidt
8ef0cf771f
update link 2018-06-25 15:09:22 +02:00
Sascha Marcel Schmidt
9516170ce5
remove unnecessary become flag 2018-06-25 15:09:19 +02:00
Sascha Marcel Schmidt
5aefa847df
add fences 2018-06-25 15:09:16 +02:00
Sascha Marcel Schmidt
831ef7ea2c
add readme 2018-06-25 15:09:13 +02:00
Sascha Marcel Schmidt
9c7e30e4b4
add sample inventory 2018-06-25 15:09:03 +02:00
Sascha Marcel Schmidt
8c5bfc7718
add debian compatibility 2018-06-25 15:08:53 +02:00
Sascha Marcel Schmidt
61046a6923
move heketi playbook 2018-06-25 15:08:35 +02:00
Sascha Marcel Schmidt
9d2fabc9b9
add heketi/glusterfs as additional contributional network storage 2018-06-25 15:08:18 +02:00
Derek Lemon
27d62941b2 Add the subnet_cidr as a required argument to the network module 2018-06-14 17:41:58 +00:00
Derek Lemon
ab345c5f69 Change was not picked up 2018-06-14 17:31:04 +00:00
Derek Lemon
a06f641b6c Configurable openstack subnet cidr 2018-06-14 16:40:32 +00:00
hvle
a2a26755fe docs(azure cli): update links
install and login links
2018-06-07 07:10:33 +02:00
Paul Montero
3f1887316b
Set widely used header for python for different OS 2018-05-17 17:00:49 -05:00
Giri Kuncoro
3a1f6810b7 Remove loadbalancer_apiserver binding on readme 2018-05-08 14:55:52 +05:30
Giri Kuncoro
0fb017b9c1 Rename ansible user env vars 2018-05-02 14:07:54 +07:00
Pablo Moreno
df6c5b28a1 [contrib/terraform/openstack] Backward compatibility changes (#2539)
* [terraform/openstack] Restores ability to use existing public nodes and masters as bastion.

* [terraform/openstack] Uses network_id as output

* [terraform/openstack] Fixes link to inventory/local/group_vars

* [terraform/openstack] Adds supplementary master groups

* [terraform/openstack] Updates documentation avoiding manual setups for bastion (as they are not needed now).

* [terraform/openstack] Supplementary master groups in docs.

* [terraform/openstack] Fixes repeated usage of master fips instead of bastion fips

* [terraform/openstack] Missing change for network_id to subnet_id

* [terraform/openstack] Changes conditional to element( concat ) form to avoid type issues with empty lists.
2018-04-30 18:11:07 +03:00
avoidik
26caad4f12 Allow ansible_ssh_private_key_file for Openstack 2018-03-31 02:38:01 +03:00
Andreas Krüger
7e58b96328
Merge pull request #2525 from avoidik/openstack_subnet_fix
Return subnet_id as defined in kubespray.tf
2018-03-30 13:42:12 +02:00
avoidik
076b5c153f Return subnet_id as defined in kubespray.tf 2018-03-27 11:13:36 +03:00
dvazar
9511178666 fixed: creation of an inventory template 2018-03-26 12:00:02 +07:00
Spencer Smith
2132ec0269
Merge pull request #2378 from dleske/reorg-inventory-for-opst
Update OpenStack contrib to use per-cluster inventory layout
2018-03-09 15:21:21 -05:00
RongZhang
dada98143c Fix kubespary rpm spec file some requires (#2417)
Fix kubespary rpm spec file some requires
2018-03-05 13:53:51 +03:00
brant
739f6c78ad remove [calico-rr] 2018-03-02 15:41:04 +08:00
brant
40d72d1865 added [calico-rr] 2018-03-02 13:48:11 +08:00
Drew Leske
b6698e686a
Update README.md with minor fixes/clarifications 2018-02-23 16:54:13 -08:00
Drew Leske
66bd570584
Update README.md with minor fixes and cleanup 2018-02-23 15:05:29 -08:00
Drew Leske
e2c5a3895b Rename sample inventory directory to be less awkward 2018-02-23 14:39:31 -08:00
Drew Leske
fe719c1bc1 Update OpenStack contrib to use per-cluster inventory layout
Supports Kubespray workspace with multiple OpenStack-deployed k8s
clusters.

* Create sample inventory directory for template
* Moved broken `group_vars` symlink to sample directory
* Created sample cluster Terraform file
* Updated documentation
2018-02-23 12:08:45 -08:00
Drew Leske
89fe6505f9 Correct use of deprecated argument to TF/OpenStack module
https://www.terraform.io/docs/providers/openstack/r/networking_router_v2.html#external_gateway
2018-02-22 22:41:19 -08:00
Aivars Sterns
bfe196236f
Merge pull request #2033 from ArchiFleKs/terraform-fix-cred
Update Terraform docs and authentication method
2018-02-21 12:16:24 +02:00
Wong Hoi Sing Edison
4a36b091f4 Update default CONFIG_FILE for contrib/inventory_builder/inventory.py 2018-02-12 18:01:56 +08:00
Wong Hoi Sing Edison
1a1d154e14 Support multiple inventory files under individual inventory directory 2018-02-08 08:08:15 +08:00
Bogdan Dobrelya
c116b8022e
Update rpm spec and pbr setup configs (#2170)
* Update rpm spec and pbr setup configs

* Rename package to kubespray
* Do not break Fedora's FHS and install to /usr/share instead
* Remove the vendor tag
* Update source0 for better artifacts' names
* Fix missing files build errors
* Make version/release to auto match from git and fit PEP 440

Co-authored-by: Matthias Runge <mrunge@redhat.com>
Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru>

* Add package paths to roles search in ansible conf

Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru>

* Poke jinja2 requirements in rpm spec file

Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru>
2018-01-18 16:22:37 +01:00
ArchiFleKs
20779df686 remove kube-node from master node by default 2018-01-17 19:02:02 +01:00
ArchiFleKs
ba7b1d74d0 remove user_data which may mess up /etc/hosts 2018-01-17 14:29:23 +01:00
Ronald Rivera
88f9e25f76 Updated with correct syntax to access default_tags variable. 2018-01-07 15:39:58 +00:00
ArchiFleKs
74fd975b57 run terraform FMT for readability 2018-01-05 12:09:04 +01:00
ArchiFleKs
6eb6e806e7 Update Terraform docs and authentication method
Hardcoded variables are removed from variables.tf file because it might
not be suitable for all OpenStack Cloud depending on Identity API
version available (between v2 or v3) and preferred authentication
method.
2018-01-05 11:25:37 +01:00
ArchiFleKs
5e3fd2253f Change OpenStack inventory to python2
For distribution who ship python3 as default python, it breaks the
inventory script as it is not compatible with python3.
2017-12-11 14:25:05 +01:00
BenGalewsky
591ae700ce Update OpenStack Terraform: Modules, Bastions, and New Floating IP config (#1958)
* Adding bastion and private network provisioning for openstack terraform

* Remove usage of floating-ip property

* Combine openstack instances + floating ips

* Fix relating floating IPs to hosts for openstack builds

* Tighten up security groups

Allow ssh into all instances with floating IP

* Add the gluster hosts to the no-floating group

* Break terraform into modules

* Update README and var descriptions to match current config

* Remove volume property in gluster compute def

* Include cluster name in internal network and router names

* Make dns_nameservers a variable
2017-12-05 12:48:47 +00:00
Jan Jungnickel
8766b36144 Make path to generated inventory configurable 2017-12-04 16:41:35 +01:00
Jan Jungnickel
b3745f2614 contrib/terraform/aws: Tag instances and remove loadbalancer ip (#2023)
* Properly tag instances and subnets with `kubernetes.io/cluster/$cluster_name`

This is required by kubernetes to support multiple clusters in a single vpc/az

* Get rid of loadbalancer_apiserver_address as it is no longer needed
2017-12-04 14:31:46 +00:00
Jean-Marie F
ca8a9c600a Terraform - Remove the need for region specific reference data (#1962)
* Dynamically retrieve aws_bastion_ami latest reference by querying AWS rather than hard coded

* Dynamically retrieve the list of availability_zones instead of needing to have them hard coded

* Limit availability zones to first 2, using slice extrapolation function

* Replace the need for hardcoded variable "aws_cluster_ami" by the data provided by Terraform

* Move ami choosing to vars, so people don't need to edit create infrastructure if they want another vendor image (as suggested by @atoms)

* Make name of the data block agnostic of distribution, given there are more than one distribution supported

* Add documentation about other distros being supported and what to change in which location to make these changes
2017-11-30 15:27:52 +00:00
Aivars Sterns
e6c88db0a0 change how terraform generates apiserver variables (#1922) 2017-11-02 12:26:11 +00:00
Aivars Sterns
84cf6fbe83 change ssh_args/bastion configuration (#1883) 2017-10-27 12:18:39 +01:00
Simon Li
74d54946bf Add note that glusterfs is not automatically deployed (#1834) 2017-10-18 13:26:14 +01:00
Aivars Sterns
7ef1e1ef9d update terraform, fix deprecated values add default_tags, fix ansible inventory (#1821) 2017-10-18 11:44:32 +01:00
Pablo Moreno
5fb6b2eaf7 [contrib/network-storage/glusterfs] adds service for glusterfs endpoint (#1800) 2017-10-16 08:48:29 +01:00
Pablo Moreno
404caa111a [contrib/network-storage/glusterfs] bootstrap for glusterfs nodes (#1799) 2017-10-16 08:23:38 +01:00
Pablo Moreno
c819238da9 Adds support for separate etcd machines on terraform/openstack deployment (#1674) 2017-09-27 10:59:09 +01:00
Tennis Smith
a47aaae078 Add bastion host definitions (#1621)
* Add comment line and documentation for bastion host usage

* Take out unneeded sudo parm

* Remove blank lines

* revert changes

* take out disabling of strict host checking
2017-09-07 23:26:52 +03:00
Tennis Smith
35d48cc88c Point apiserver address to 0.0.0.0 (#1617)
* Point apiserver address to 0.0.0.0
Added loadbalancer api server address
* Update documentation
2017-09-05 18:41:47 +03:00
Yorgos Saslis
82eedbd622 Update ansible inventory file when template changes (#1612)
This trigger ensures the inventory file is kept up-to-date. Otherwise, if the file exists and you've made changes to your terraform-managed infra without having deleted the file, it would never get updated. 

For example, consider the case where you've destroyed and re-applied the terraform resources, none of the IPs would get updated, so ansible would be trying to connect to the old ones.
2017-09-05 14:10:53 +03:00
Bogdan Dobrelya
1b3ced152b Merge pull request #1544 from bogdando/rpm_spec
[WIP] Support pbr builds and prepare for RPM packaging as the ansible-kubespray artifact
2017-08-21 09:13:59 +02:00
Abdelsalam Abbas
01a130273f fix issues with if condition (#1537) 2017-08-20 13:55:13 +03:00
Bogdan Dobrelya
48edf1757b Adjust the rpm spec data
Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru>
2017-08-18 14:09:55 +02:00
Matthew Mosesohn
2645e88b0c Fix vault setup partially (#1531)
This does not address per-node certs and scheduler/proxy/controller-manager
component certs which are now required. This should be handled in a
follow-up patch.
2017-08-18 15:09:45 +03:00
Bogdan Dobrelya
db121049b3 Move the spec file
Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru>
2017-08-18 13:59:27 +02:00
Bogdan Dobrelya
4ee77ce026 Add an RPM spec file and customize ansible roles_path
Install roles under /usr/local/share/kubespray/roles,
playbooks - /usr/local/share/kubespray/playbooks/,
ansible.cfg and inventory group vars - into /etc/kubespray.
Ship README and an example inventory as the package docs.
Update the ansible.cfg to consume the roles from the given path,
including virtualenvs prefix, if defined.

Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru>
2017-08-18 11:54:20 +02:00
Abdelsalam Abbas
fee3f288c0 update azure contrib to use azure cli 2.0 2017-08-11 20:13:02 +02:00
Brad Beam
b0a28b1e80 Merge pull request #1462 from Abdelsalam-Abbas/azure_vars
Add more variables for more clarity
2017-08-10 08:29:09 -05:00
Alexander Chumakov
03572d175f [terraform/openstack] fixed mistake in README.md 2017-07-26 17:42:44 +03:00
Abdelsalam Abbas
d6aeb767a0 Add more azure variables for more clarity 2017-07-20 15:29:27 +02:00
Spencer Smith
a9f318d523 Merge pull request #1424 from Abdelsalam-Abbas/fix_azure_https_ports
fix azure kubernetes port to 6443
2017-07-11 08:55:30 -04:00
Alexander Chumakov
f3165a716a Add more config to README.md
Add resolvconf_mode and cloud_provider config description to README.md
2017-07-11 12:46:19 +03:00
Abdelsalam Abbas
ecaa7dad49 add a variable for kube_apiserver at all 2017-07-10 20:16:02 +02:00
Alexander Chumakov
442be2ac02 [terraform/openstack] README.md Guide expanded
Add section how to configure k8s cluster and set up kubectl
2017-07-10 18:53:57 +03:00
Abdelsalam Abbas
22d600e8c0 fix azure kubernetes port to 6443 2017-07-09 09:56:32 +02:00
Spencer Smith
83265b7f75 renaming kargo-cli to kubespray-cli 2017-06-23 12:35:10 -04:00
Spencer Smith
8203383c03 rename almost all mentions of kargo 2017-06-16 13:25:46 -04:00
Spencer Smith
1f470eadd1 Added dynamic inventory for AWS as contrib 2017-05-18 17:52:44 -04:00
Brad Beam
55f6b6a6ab Merge pull request #940 from Connz/patch-1
Fixed nova command to get available flavors
2017-05-16 21:24:07 -05:00
Vincent Schwarzer
c48ffa24be Fixes for AWS Terraform Deployment and Updated Readme 2017-04-12 15:15:54 +02:00
Matthew Mosesohn
d27ca7854f Merge pull request #1161 from VincentS/aws_deployment
Fixes for AWS Terraform Deployment
2017-03-23 11:59:39 +03:00
Matthew Mosesohn
3889c2e01c Add KVM hypervisor playbook to contrib
Optional Ansible playbook for preparing a host for running Kargo.
This includes creation of a user account, some basic packages,
and sysctl values required to allow CNI networking on a libvirt network.
2017-03-21 19:50:01 +03:00
Vincent Schwarzer
952ab03d2a Fixes for AWS Terraform Deployment 2017-03-20 12:08:17 +01:00
Matthew Mosesohn
859c08620b Merge pull request #1105 from VincentS/aws_deployment
AWS Terraform for Kargo
2017-03-20 12:55:11 +03:00
Bogdan Dobrelya
34ecf4ea51 Merge pull request #1109 from pcm32/feature/fixTerraformOS
Restores working order of contrib/terraform/openstack
2017-03-15 17:15:35 +01:00
Connz
28473e919f Fixed nova command to get available flavors
The nova command for getting the flavors is not
nova list-flavors
but
nova flavor-list
2017-03-09 11:10:25 +01:00
Vincent Schwarzer
3c6b1480b8 Rewrote AWS Terraform for Kargo
Rewrote AWS Terraform deployment for AWS Kargo. It supports now
multiple Availability Zones, AWS Loadbalancer for Kubernetes API,
Bastion Host, ...

For more information see README
2017-03-06 12:52:02 +01:00
Vincent Schwarzer
5ae85b9de5 Added Missing AWS IAM Profiles and Policies
The AWS IAM profiles and policies required to run Kargo on AWS
are no longer hosted in the kubernetes main repo since kube-up got
deprecated. Hence we have to move the files into the kargo repository.
2017-03-03 15:30:07 +01:00
Pablo Moreno
cf26585cff Restores working order of contrib/terraform/openstack, includes vault group and avoids group_vars/k8s-cluster.yml 2017-03-02 23:58:07 +00:00
Bogdan Dobrelya
712872efba Rework inventory all by real groups' vars
* Leave all.yml to keep only optional vars
* Store groups' specific vars by existing group names
* Fix optional vars casted as mandatory (add default())
* Fix missing defaults for an optional IP var
* Relink group_vars for terraform to reflect changes

Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru>
2017-02-23 09:43:42 +01:00
Brad Beam
b54eb609bf Consolidating kube.py module 2017-01-27 11:28:11 -06:00
Bogdan Dobrelya
85a8a54d3e Merge pull request #935 from sc68cal/terraform_groupvars_update
Update the group_vars for Terraform
2017-01-24 11:33:17 +01:00
Matthew Mosesohn
882544446a Merge pull request #928 from sc68cal/terraform_identity_version
Specify the version of the credentials to download from Horizon
2017-01-24 12:21:27 +03:00
Sean M. Collins
73160c9b90 Update terraform's group_vars to be a symlink
That way, it will not become stale.

Related bug #929
2017-01-23 16:08:37 -05:00
Sean M. Collins
2184d6a3ff Specify the version of the credentials to download from Horizon
More recent versions of OpenStack Horizon provide Identity v2 and
Identity v3 versions of the RC file.
2017-01-23 14:52:51 -05:00
Matthew Mosesohn
f742fc3dd1 Add scale thresholds to split etcd and k8s-masters
Also adds calico-rr group if there are standalone etcd nodes.
Now if there are 50 or more nodes, 3 etcd nodes will be standalone.
If there are 200 or more nodes, 2 kube-masters will be standalone.
If thresholds are exceeded, kube-node group cannot add nodes that
belong to etcd or kube-master groups (according to above statements).
2017-01-19 17:30:56 +03:00
Alexander Block
1d2a18b355 Introduce dns_mode and resolvconf_mode and implement docker_dns mode
Also update reset.yml to do more dns/network related cleanup.
2017-01-05 23:38:51 +01:00
Bogdan Dobrelya
f7447837c5 Rename CoreOS fact
Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru>
2017-01-05 14:02:29 +01:00
Matthew Mosesohn
24cbf2287c Update inventory.py 2016-12-29 10:57:58 +03:00
Matthew Mosesohn
95e14ffb54 Add yaml/json loader for inventory 2016-12-28 16:50:31 +03:00
Matthew Mosesohn
7b86b87dca Add inventory builder python script
Includes tox support for running unit tests.
Small note added to getting-started guide for using
inventory_builder.py

Also adds manual-only unit test.
2016-12-23 13:00:56 +03:00
Antoine Legrand
26e3142c95 Merge branch 'master' into standalone_kubelet 2016-12-13 17:26:21 +01:00
Bogdan Dobrelya
c75f394707 Address standalone kubelet config case
Also place in global vars and do not repeat the kube_*_config_dir
and kube_namespace vars for better code maintainability and UX.

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
2016-12-13 16:35:53 +01:00
Alexander Block
c87f4f613e Add Azure Resource Manager templates to contrib folder 2016-12-13 15:37:04 +01:00
Alexander Block
f12e9fa22a Delete .tfstate and .tfstate.backup from openstack terraform 2016-12-13 15:37:04 +01:00
Bogdan Dobrelya
284a21012c Fix bad symlink
Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
2016-12-09 13:34:52 +01:00
Bogdan Dobrelya
e9c591e6de Symlink global vars for terraform
Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
2016-12-08 12:07:01 +01:00
Pablo Moreno
27e239c8d6 GlusterFS with external VMs, terraform/os included 2016-12-06 11:03:13 +00:00
Dan Bode
cb84b93930 Decouple etcd/k8s-cluster roles in ec2 terraform
Currently, the terraform script in contrib
adds etcd role as a child of k8s-cluster in
its generated inventory file.

This is problematic when the etcd role is
deployed on separate nodes from the k8s master
and nodes. In this case, this leads to failures
of the k8s node since the PKI certs required for
that role have not been propogated.
2016-11-21 10:44:13 -08:00
Bogdan Dobrelya
a03540dabc Add download localhost and enable for CI
* Add download_localhost for the download_run_once mode, which is
  use the ansible host (a travis node for CI case) to store and
  distribute containers across cluster nodes in inventory.
  Defaults to false.
* Rework download_run_once logic to fix idempotency of uploading
  containers.
* For Travis CI, enable docker images caching and run Travis
  workers with sudo enabled as a dependency
* For Travis CI, deploy with download_localhost and download_run_once
  enabled to shourten dev path drastically.
* Add compression for saved container images. Defaults to 'best'.

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
Co-authored-by: Aleksandr Didenko <adidenko@mirantis.com>
2016-11-18 16:00:07 +01:00
sneumann
e9a48770a7 Fix sugested bootstrap options 2016-11-15 17:52:35 +01:00
Pablo Moreno
f320b79c0c Adds missing ip based on internal ip, for etcd 2016-11-14 02:04:13 +00:00
Matthew Mosesohn
f106bf5bc4 adds ability to have hosts with no floating ips on terraform/openstack (+8 squashed commits)
Squashed commits:
[f9355ea] Swap order in which we reload docker/socket
[2ca6819] Reload docker.socket after installing flannel on coreos

Workaround for #569
[9f976e5] Vagrantfile: setup proxy inside virtual machines

In corporate networks, it is good to pre-configure proxy variables.
[9d7142f] Vagrantfile: use Ubuntu 16.04 LTS

Use recent supported version of Ubuntu for local development setup
with Vagrant.
[50f77cc] Add CI test layouts

* Drop Wily from test matrix
* Replace the Wily cases dropped with extra cases to test separate
  roles deployment

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
[03e162b] Update OWNERS
[c7b00ca] Use tar+register instead of copy/slurp for distributing tokens and certs

Related bug: https://github.com/ansible/ansible/issues/15405

Uses tar and register because synchronize module cannot sudo on the
remote side correctly and copy is too slow.

This patch dramatically cuts down the number of tasks to process
for cert synchronization.
[2778ac6] Add new var skip_dnsmasq_k8s

If skip_dnsmasq is set, it will still not set up dnsmasq
k8s pod. This enables independent setup of resolvconf section
before kubelet is up.
2016-11-07 10:53:13 +00:00
Smaine Kahlouch
9ddace0566 Merge pull request #294 from billyoung/master
Add IAM profiles for Kubernetes nodes
2016-06-18 11:03:24 +02:00
Smaine Kahlouch
bf94d6f45e Merge pull request #285 from paulczar/contrib_terraform_openstack
WIP: terraform openstack
2016-06-17 10:09:18 +02:00