aboutsummaryrefslogtreecommitdiffstats
path: root/resources/tools/testbed-setup/ansible/roles/kubernetes
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2019-10-16 16:25:41 +0000
committerPeter Mikus <pmikus@cisco.com>2019-10-17 08:14:25 +0000
commitd3e0654a57aa958aaef1906e4a759e521655a86b (patch)
treecc0548cf87706dee62451a07add29bbb398e30eb /resources/tools/testbed-setup/ansible/roles/kubernetes
parentbf0ea7aee82f32752c4b1a3abc1f60294fbc1f40 (diff)
Ansible: Role cleanup
+ Separate and reuse role (better naming) + Cleanup in naming + Introduce defaults that can be overriden Signed-off-by: Peter Mikus <pmikus@cisco.com> Change-Id: Iedaf7caba1d05a35a6f61cd21a483cdbc0073d32
Diffstat (limited to 'resources/tools/testbed-setup/ansible/roles/kubernetes')
-rw-r--r--resources/tools/testbed-setup/ansible/roles/kubernetes/defaults/main.yaml12
-rw-r--r--resources/tools/testbed-setup/ansible/roles/kubernetes/tasks/main.yaml14
-rw-r--r--resources/tools/testbed-setup/ansible/roles/kubernetes/tasks/ubuntu_bionic.yaml37
3 files changed, 63 insertions, 0 deletions
diff --git a/resources/tools/testbed-setup/ansible/roles/kubernetes/defaults/main.yaml b/resources/tools/testbed-setup/ansible/roles/kubernetes/defaults/main.yaml
new file mode 100644
index 0000000000..ed936e5da5
--- /dev/null
+++ b/resources/tools/testbed-setup/ansible/roles/kubernetes/defaults/main.yaml
@@ -0,0 +1,12 @@
+# Version options.
+kubernetes_version: '1.11.0-00'
+kubernetes_apt_package_state: present
+
+# Service options.
+kubernetes_service_state: started
+kubernetes_service_enabled: true
+kubernetes_restart_handler_state: restarted
+
+# APT options.
+kubernetes_apt_repository: 'deb http://apt.kubernetes.io/ kubernetes-xenial main'
+kubernetes_apt_repository_state: present
diff --git a/resources/tools/testbed-setup/ansible/roles/kubernetes/tasks/main.yaml b/resources/tools/testbed-setup/ansible/roles/kubernetes/tasks/main.yaml
new file mode 100644
index 0000000000..160ffb8c06
--- /dev/null
+++ b/resources/tools/testbed-setup/ansible/roles/kubernetes/tasks/main.yaml
@@ -0,0 +1,14 @@
+---
+# file: roles/kubernetes/tasks/main.yaml
+
+- name: Kubernetes - Install distribution - release - machine prerequisites
+ include_tasks: '{{ ansible_distribution|lower }}_{{ ansible_distribution_release }}.yaml'
+ tags: install-kubernetes
+
+- name: Kubernetes - Apply kubelet parameter
+ lineinfile:
+ path: '/etc/default/kubelet'
+ state: 'present'
+ regexp: '^KUBELET_EXTRA_ARGS=*'
+ line: 'KUBELET_EXTRA_ARGS=--feature-gates HugePages=false'
+ tags: install-kubernetes
diff --git a/resources/tools/testbed-setup/ansible/roles/kubernetes/tasks/ubuntu_bionic.yaml b/resources/tools/testbed-setup/ansible/roles/kubernetes/tasks/ubuntu_bionic.yaml
new file mode 100644
index 0000000000..ddb885f6ee
--- /dev/null
+++ b/resources/tools/testbed-setup/ansible/roles/kubernetes/tasks/ubuntu_bionic.yaml
@@ -0,0 +1,37 @@
+---
+# file: roles/kubernetes/tasks/ubuntu_bionic.yaml
+
+- name: Kubernetes repository - Dependencies
+ apt:
+ name:
+ - 'apt-transport-https'
+ - 'ca-certificates'
+ - 'software-properties-common'
+ state: 'present'
+ cache_valid_time: 3600
+ install_recommends: False
+ tags: install-kubernetes
+
+- name: Kubernetes repository - Add an Apt signing key
+ apt_key:
+ url: 'https://packages.cloud.google.com/apt/doc/apt-key.gpg'
+ state: 'present'
+ tags: install-kubernetes
+
+- name: Kubernetes repository - Install APT repository
+ apt_repository:
+ repo: '{{ kubernetes_apt_repository }}'
+ state: '{{ kubernetes_apt_repository_state }}'
+ update_cache: True
+ tags: install-kubernetes
+
+- name: Kubernetes - Install
+ apt:
+ name:
+ - 'kubernetes-cni=0.6.0-00'
+ - 'kubeadm={{ kubernetes_version }}'
+ - 'kubectl={{ kubernetes_version }}'
+ - 'kubelet={{ kubernetes_version }}'
+ state: '{{ kubernetes_apt_package_state }}'
+ force: True
+ tags: install-kubernetes