From b187d5012df4fe09f30916734ed0bb91ae8dcace Mon Sep 17 00:00:00 2001 From: Gorka Benguria Elguezabal <gorka.benguria@tecnalia.com> Date: Tue, 1 Jun 2021 09:00:04 +0200 Subject: [PATCH] enables ingress and metallb --- Vagrantfile | 3 +++ ansible/01_add_required_ansible_modules.sh | 12 +++++++++ ...EtcHosts.sh => 02_hosts_from_inventory.sh} | 0 ansible/{02_upgrade.sh => 03_upgrade.sh} | 0 ansible/{03_epel.sh => 04_epel.sh} | 0 .../{04_development.sh => 05_development.sh} | 0 ..._eth1.sh => 06_check_macs_vagrant_eth1.sh} | 0 ...> 07_install_kubernetes_kubeadm_docker.sh} | 0 ....sh => 08_bootstrap_kubernetes_kubeadm.sh} | 0 ....sh => 09_enable_kubectl_at_management.sh} | 0 ansible/10_calico_network_kubernetes.sh | 12 +++++++++ ...bernetes.sh => 11_kubernetes_dashboard.sh} | 2 +- ansible/12_enable_helm_at_management.sh | 12 +++++++++ ansible/13_install_metallb.sh | 12 +++++++++ ansible/14_install_nginx_ingress.sh | 12 +++++++++ .../files/requirements.yaml | 4 +++ .../ansible_kubernetes/tasks/main.yaml | 13 ++++++++++ .../add_required_ansible_modules/site.yaml | 5 ++++ ansible/ansible.cfg | 1 + .../roles/kubernetes_master/tasks/main.yaml | 2 +- .../roles/kubernetes_node/tasks/main.yaml | 2 +- .../roles/calico/tasks/main.yaml | 0 .../site.yaml | 0 .../clean-kubernetes/files/clean-kubernetes | 1 + .../roles/helm/tasks/main.yaml | 22 ++++++++++++++++ ansible/enable_helm_at_management/site.yaml | 5 ++++ .../roles/kubectl_user/tasks/main.yaml | 2 +- .../enable_kubectl_at_management/site.yaml | 5 +++- .../roles/metallb/tasks/main.yaml | 25 +++++++++++++++++++ .../roles/metallb/templates/values.yaml.j2 | 6 +++++ .../roles/metallb/vars/main.yaml | 2 ++ ansible/install_metallb/site.yaml | 5 ++++ .../roles/nginx_ingress/tasks/main.yaml | 18 +++++++++++++ .../roles/nginx_ingress/vars/main.yaml | 2 ++ ansible/install_nginx_ingress/site.yaml | 6 +++++ .../roles/dashboard/tasks/main.yaml | 9 +++++++ ansible/kubernetes_dashboard/site.yaml | 5 ++++ scripts/ansible/install.sh | 16 ++++++++++-- 38 files changed, 214 insertions(+), 7 deletions(-) create mode 100755 ansible/01_add_required_ansible_modules.sh rename ansible/{01_addHostsToEtcHosts.sh => 02_hosts_from_inventory.sh} (100%) rename ansible/{02_upgrade.sh => 03_upgrade.sh} (100%) rename ansible/{03_epel.sh => 04_epel.sh} (100%) rename ansible/{04_development.sh => 05_development.sh} (100%) rename ansible/{05_check_macs_vagrant_eth1.sh => 06_check_macs_vagrant_eth1.sh} (100%) rename ansible/{06_install_kubernetes_kubeadm_docker.sh => 07_install_kubernetes_kubeadm_docker.sh} (100%) rename ansible/{07_bootstrap_kubernetes_kubeadm.sh => 08_bootstrap_kubernetes_kubeadm.sh} (100%) rename ansible/{08_enable_kubectl_at_management.sh => 09_enable_kubectl_at_management.sh} (100%) create mode 100755 ansible/10_calico_network_kubernetes.sh rename ansible/{09_network_kubernetes.sh => 11_kubernetes_dashboard.sh} (81%) create mode 100755 ansible/12_enable_helm_at_management.sh create mode 100755 ansible/13_install_metallb.sh create mode 100755 ansible/14_install_nginx_ingress.sh create mode 100755 ansible/add_required_ansible_modules/ansible_kubernetes/files/requirements.yaml create mode 100755 ansible/add_required_ansible_modules/ansible_kubernetes/tasks/main.yaml create mode 100755 ansible/add_required_ansible_modules/site.yaml rename ansible/{network_kubernetes => calico_network_kubernetes}/roles/calico/tasks/main.yaml (100%) rename ansible/{network_kubernetes => calico_network_kubernetes}/site.yaml (100%) create mode 100755 ansible/enable_helm_at_management/roles/helm/tasks/main.yaml create mode 100755 ansible/enable_helm_at_management/site.yaml create mode 100755 ansible/install_metallb/roles/metallb/tasks/main.yaml create mode 100755 ansible/install_metallb/roles/metallb/templates/values.yaml.j2 create mode 100755 ansible/install_metallb/roles/metallb/vars/main.yaml create mode 100755 ansible/install_metallb/site.yaml create mode 100755 ansible/install_nginx_ingress/roles/nginx_ingress/tasks/main.yaml create mode 100755 ansible/install_nginx_ingress/roles/nginx_ingress/vars/main.yaml create mode 100755 ansible/install_nginx_ingress/site.yaml create mode 100755 ansible/kubernetes_dashboard/roles/dashboard/tasks/main.yaml create mode 100755 ansible/kubernetes_dashboard/site.yaml diff --git a/Vagrantfile b/Vagrantfile index b0c5399..ce424c8 100755 --- a/Vagrantfile +++ b/Vagrantfile @@ -118,7 +118,10 @@ Vagrant.configure("2") do |config| vb.customize "pre-import", [ "setproperty", "machinefolder", File.join(File.dirname(__FILE__), vms.relative_machinefolder) ] vb.customize "post-boot", [ "setproperty", "machinefolder", "default" ] end + subconfig.vm.network "private_network", ip: vms.management.ip, netmask: "255.255.255.0", auto_config: true, adapter: 2 + + subconfig.vm.network "forwarded_port", guest: 8001, host: 8001 end subconfig.disksize.size = vms.management unless vms.management.hdd.to_s diff --git a/ansible/01_add_required_ansible_modules.sh b/ansible/01_add_required_ansible_modules.sh new file mode 100755 index 0000000..37fdf2c --- /dev/null +++ b/ansible/01_add_required_ansible_modules.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e + +# check if docker-compose is available if it is installed exist +hash docker-compose > /dev/null 2>&1 && exit 0 || true +echo Provisioning ansible... + +SCRIPT_DIR=$(dirname "$0") +cd $SCRIPT_DIR + +export ANSIBLE_CONFIG=$SCRIPT_DIR/ansible.cfg +ansible-playbook $SCRIPT_DIR/add_required_ansible_modules/site.yaml diff --git a/ansible/01_addHostsToEtcHosts.sh b/ansible/02_hosts_from_inventory.sh similarity index 100% rename from ansible/01_addHostsToEtcHosts.sh rename to ansible/02_hosts_from_inventory.sh diff --git a/ansible/02_upgrade.sh b/ansible/03_upgrade.sh similarity index 100% rename from ansible/02_upgrade.sh rename to ansible/03_upgrade.sh diff --git a/ansible/03_epel.sh b/ansible/04_epel.sh similarity index 100% rename from ansible/03_epel.sh rename to ansible/04_epel.sh diff --git a/ansible/04_development.sh b/ansible/05_development.sh similarity index 100% rename from ansible/04_development.sh rename to ansible/05_development.sh diff --git a/ansible/05_check_macs_vagrant_eth1.sh b/ansible/06_check_macs_vagrant_eth1.sh similarity index 100% rename from ansible/05_check_macs_vagrant_eth1.sh rename to ansible/06_check_macs_vagrant_eth1.sh diff --git a/ansible/06_install_kubernetes_kubeadm_docker.sh b/ansible/07_install_kubernetes_kubeadm_docker.sh similarity index 100% rename from ansible/06_install_kubernetes_kubeadm_docker.sh rename to ansible/07_install_kubernetes_kubeadm_docker.sh diff --git a/ansible/07_bootstrap_kubernetes_kubeadm.sh b/ansible/08_bootstrap_kubernetes_kubeadm.sh similarity index 100% rename from ansible/07_bootstrap_kubernetes_kubeadm.sh rename to ansible/08_bootstrap_kubernetes_kubeadm.sh diff --git a/ansible/08_enable_kubectl_at_management.sh b/ansible/09_enable_kubectl_at_management.sh similarity index 100% rename from ansible/08_enable_kubectl_at_management.sh rename to ansible/09_enable_kubectl_at_management.sh diff --git a/ansible/10_calico_network_kubernetes.sh b/ansible/10_calico_network_kubernetes.sh new file mode 100755 index 0000000..3d16a06 --- /dev/null +++ b/ansible/10_calico_network_kubernetes.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e + +# check if docker-compose is available if it is installed exist +hash docker-compose > /dev/null 2>&1 && exit 0 || true +echo Provisioning ansible... + +SCRIPT_DIR=$(dirname "$0") +cd $SCRIPT_DIR + +export ANSIBLE_CONFIG=$SCRIPT_DIR/ansible.cfg +ansible-playbook $SCRIPT_DIR/calico_network_kubernetes/site.yaml diff --git a/ansible/09_network_kubernetes.sh b/ansible/11_kubernetes_dashboard.sh similarity index 81% rename from ansible/09_network_kubernetes.sh rename to ansible/11_kubernetes_dashboard.sh index 7db6828..7049d5c 100755 --- a/ansible/09_network_kubernetes.sh +++ b/ansible/11_kubernetes_dashboard.sh @@ -9,4 +9,4 @@ SCRIPT_DIR=$(dirname "$0") cd $SCRIPT_DIR export ANSIBLE_CONFIG=$SCRIPT_DIR/ansible.cfg -ansible-playbook $SCRIPT_DIR/network_kubernetes/site.yaml +ansible-playbook $SCRIPT_DIR/kubernetes_dashboard/site.yaml diff --git a/ansible/12_enable_helm_at_management.sh b/ansible/12_enable_helm_at_management.sh new file mode 100755 index 0000000..a32e24d --- /dev/null +++ b/ansible/12_enable_helm_at_management.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e + +# check if docker-compose is available if it is installed exist +hash docker-compose > /dev/null 2>&1 && exit 0 || true +echo Provisioning ansible... + +SCRIPT_DIR=$(dirname "$0") +cd $SCRIPT_DIR + +export ANSIBLE_CONFIG=$SCRIPT_DIR/ansible.cfg +ansible-playbook $SCRIPT_DIR/enable_helm_at_management/site.yaml diff --git a/ansible/13_install_metallb.sh b/ansible/13_install_metallb.sh new file mode 100755 index 0000000..8376202 --- /dev/null +++ b/ansible/13_install_metallb.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e + +# check if docker-compose is available if it is installed exist +hash docker-compose > /dev/null 2>&1 && exit 0 || true +echo Provisioning ansible... + +SCRIPT_DIR=$(dirname "$0") +cd $SCRIPT_DIR + +export ANSIBLE_CONFIG=$SCRIPT_DIR/ansible.cfg +ansible-playbook $SCRIPT_DIR/install_metallb/site.yaml -e "kubernetes_metallb_pool_start_ip=192.168.56.200" -e "kubernetes_metallb_pool_end_ip=192.168.56.210" diff --git a/ansible/14_install_nginx_ingress.sh b/ansible/14_install_nginx_ingress.sh new file mode 100755 index 0000000..3260c1a --- /dev/null +++ b/ansible/14_install_nginx_ingress.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e + +# check if docker-compose is available if it is installed exist +hash docker-compose > /dev/null 2>&1 && exit 0 || true +echo Provisioning ansible... + +SCRIPT_DIR=$(dirname "$0") +cd $SCRIPT_DIR + +export ANSIBLE_CONFIG=$SCRIPT_DIR/ansible.cfg +ansible-playbook $SCRIPT_DIR/install_nginx_ingress/site.yaml diff --git a/ansible/add_required_ansible_modules/ansible_kubernetes/files/requirements.yaml b/ansible/add_required_ansible_modules/ansible_kubernetes/files/requirements.yaml new file mode 100755 index 0000000..ca5ceb4 --- /dev/null +++ b/ansible/add_required_ansible_modules/ansible_kubernetes/files/requirements.yaml @@ -0,0 +1,4 @@ +--- +collections: +# With just the collection name +- community.kubernetes diff --git a/ansible/add_required_ansible_modules/ansible_kubernetes/tasks/main.yaml b/ansible/add_required_ansible_modules/ansible_kubernetes/tasks/main.yaml new file mode 100755 index 0000000..c7dd1b7 --- /dev/null +++ b/ansible/add_required_ansible_modules/ansible_kubernetes/tasks/main.yaml @@ -0,0 +1,13 @@ +# https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ +--- +- block: + - name: Add ansible module requirements + # https://github.com/helm/helm/releases + shell: + cmd: ansible-galaxy install -r {{ role_path }}/files/requirements.yaml + register: add_ansible_modules + + - name: Add ansible module requirements + debug: + msg: "{{ add_ansible_modules.cmd }}" + become: yes \ No newline at end of file diff --git a/ansible/add_required_ansible_modules/site.yaml b/ansible/add_required_ansible_modules/site.yaml new file mode 100755 index 0000000..f0c491f --- /dev/null +++ b/ansible/add_required_ansible_modules/site.yaml @@ -0,0 +1,5 @@ +# modified from https://github.com/danpilch/easy-kubeadm +--- +- hosts: management + roles: + - name: ansible_kubernetes diff --git a/ansible/ansible.cfg b/ansible/ansible.cfg index 0b5ddb0..6fe4f64 100755 --- a/ansible/ansible.cfg +++ b/ansible/ansible.cfg @@ -3,3 +3,4 @@ host_key_checking = False inventory = hosts.yaml ; This is relative to ansible.cfg folder remote_user = vagrant +deprecation_warnings=False ; to remove the python version depretation warning diff --git a/ansible/bootstrap_kubernetes_kubeadm/roles/kubernetes_master/tasks/main.yaml b/ansible/bootstrap_kubernetes_kubeadm/roles/kubernetes_master/tasks/main.yaml index 1e92c6d..51932d6 100755 --- a/ansible/bootstrap_kubernetes_kubeadm/roles/kubernetes_master/tasks/main.yaml +++ b/ansible/bootstrap_kubernetes_kubeadm/roles/kubernetes_master/tasks/main.yaml @@ -50,6 +50,6 @@ - name: Start secondary master nodes command debug: msg: "{{ kubeadm_master_join.cmd }}" - when: inventory_hostname in groups['kubernetes_masters'][1:] and is_multi_master + when: inventory_hostname in groups['kubernetes_masters'][1] become: yes \ No newline at end of file diff --git a/ansible/bootstrap_kubernetes_kubeadm/roles/kubernetes_node/tasks/main.yaml b/ansible/bootstrap_kubernetes_kubeadm/roles/kubernetes_node/tasks/main.yaml index fa581ef..6ee6333 100755 --- a/ansible/bootstrap_kubernetes_kubeadm/roles/kubernetes_node/tasks/main.yaml +++ b/ansible/bootstrap_kubernetes_kubeadm/roles/kubernetes_node/tasks/main.yaml @@ -8,7 +8,7 @@ - name: Start secondary master nodes command debug: msg: "{{ kubeadm_node_join.cmd }}" - when: inventory_hostname in groups['kubernetes_nodes']['0'] + when: inventory_hostname in groups['kubernetes_nodes'][0] become: yes diff --git a/ansible/network_kubernetes/roles/calico/tasks/main.yaml b/ansible/calico_network_kubernetes/roles/calico/tasks/main.yaml similarity index 100% rename from ansible/network_kubernetes/roles/calico/tasks/main.yaml rename to ansible/calico_network_kubernetes/roles/calico/tasks/main.yaml diff --git a/ansible/network_kubernetes/site.yaml b/ansible/calico_network_kubernetes/site.yaml similarity index 100% rename from ansible/network_kubernetes/site.yaml rename to ansible/calico_network_kubernetes/site.yaml diff --git a/ansible/clean_kubernetes_docker/roles/clean-kubernetes/files/clean-kubernetes b/ansible/clean_kubernetes_docker/roles/clean-kubernetes/files/clean-kubernetes index d26d626..d329818 100755 --- a/ansible/clean_kubernetes_docker/roles/clean-kubernetes/files/clean-kubernetes +++ b/ansible/clean_kubernetes_docker/roles/clean-kubernetes/files/clean-kubernetes @@ -7,5 +7,6 @@ rm -rf /var/lib/kubelet /etc/kubernetes /var/lib/etcd /etc/cni /etc/kubernetes mkdir -p /etc/kubernetes ip link | grep -q cbr0 && ip link set cbr0 down && ip link del cbr0 ip link | grep -q cni0 && ip link set cni0 down && ip link del cni0 +ip link | grep -q tunl0 && rmmod ipip systemctl start kubelet diff --git a/ansible/enable_helm_at_management/roles/helm/tasks/main.yaml b/ansible/enable_helm_at_management/roles/helm/tasks/main.yaml new file mode 100755 index 0000000..a2e0c52 --- /dev/null +++ b/ansible/enable_helm_at_management/roles/helm/tasks/main.yaml @@ -0,0 +1,22 @@ +# https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/ +--- +- block: + - name: Retrieve helm binary archive. + # https://github.com/helm/helm/releases + unarchive: + src: https://get.helm.sh/helm-v3.6.0-linux-amd64.tar.gz + dest: /tmp + creates: /usr/bin/helm + remote_src: yes + + - name: Move helm binary into place. + command: cp /tmp/linux-amd64/helm /usr/bin/helm + args: + creates: /usr/bin/helm + become: yes + +- name: Add helm autocompletion to bashrc for user + lineinfile: + dest: "/home/{{ ansible_user }}/.bashrc" + line: "source <(helm completion bash)" + state: present diff --git a/ansible/enable_helm_at_management/site.yaml b/ansible/enable_helm_at_management/site.yaml new file mode 100755 index 0000000..e899a28 --- /dev/null +++ b/ansible/enable_helm_at_management/site.yaml @@ -0,0 +1,5 @@ +# modified from https://github.com/danpilch/easy-kubeadm +--- +- hosts: management + roles: + - name: helm diff --git a/ansible/enable_kubectl_at_management/roles/kubectl_user/tasks/main.yaml b/ansible/enable_kubectl_at_management/roles/kubectl_user/tasks/main.yaml index 5bd0bc3..9b93030 100755 --- a/ansible/enable_kubectl_at_management/roles/kubectl_user/tasks/main.yaml +++ b/ansible/enable_kubectl_at_management/roles/kubectl_user/tasks/main.yaml @@ -23,7 +23,7 @@ owner: "{{ ansible_user }}" group: "{{ ansible_user }}" -- name: Add kubectl autocompletion to bashrc for vagrant user +- name: Add kubectl autocompletion to bashrc for user lineinfile: dest: "/home/{{ ansible_user }}/.bashrc" line: "source <(kubectl completion bash)" diff --git a/ansible/enable_kubectl_at_management/site.yaml b/ansible/enable_kubectl_at_management/site.yaml index c1d1ca0..72a6e89 100755 --- a/ansible/enable_kubectl_at_management/site.yaml +++ b/ansible/enable_kubectl_at_management/site.yaml @@ -16,4 +16,7 @@ - hosts: management tasks: - name: Copy the file to {{ inventory_hostname }} - copy: src=buffer/admin.conf dest=/home/{{ ansible_user }}/.kube/config + copy: + src: buffer/admin.conf + dest: /home/{{ ansible_user }}/.kube/config + mode: '0600' \ No newline at end of file diff --git a/ansible/install_metallb/roles/metallb/tasks/main.yaml b/ansible/install_metallb/roles/metallb/tasks/main.yaml new file mode 100755 index 0000000..ade0738 --- /dev/null +++ b/ansible/install_metallb/roles/metallb/tasks/main.yaml @@ -0,0 +1,25 @@ +--- +- name: Define sysconfig kubelet + template: + src: "values.yaml.j2" + dest: "/tmp/values.yaml" + +- name: Install bitnami repo + kubernetes.core.helm_repository: + name: bitnami + repo_url: "{{ helm_chart_url }}" + +- name: Install metallb with helm + kubernetes.core.helm: + name: helm-bitnami-metallb + namespace: cluster-configuration + create_namespace: yes + chart_ref: bitnami/metallb + values_files: + - /tmp/values.yaml + register: install_metallb + +- name: Install metallb with helm command + debug: + msg: "{{ install_metallb.command }}" + diff --git a/ansible/install_metallb/roles/metallb/templates/values.yaml.j2 b/ansible/install_metallb/roles/metallb/templates/values.yaml.j2 new file mode 100755 index 0000000..79ac4e4 --- /dev/null +++ b/ansible/install_metallb/roles/metallb/templates/values.yaml.j2 @@ -0,0 +1,6 @@ +configInline: + address-pools: + - name: default + protocol: layer2 + addresses: + - {{ kubernetes_metallb_pool_start_ip }}-{{ kubernetes_metallb_pool_end_ip }} \ No newline at end of file diff --git a/ansible/install_metallb/roles/metallb/vars/main.yaml b/ansible/install_metallb/roles/metallb/vars/main.yaml new file mode 100755 index 0000000..44dc8ae --- /dev/null +++ b/ansible/install_metallb/roles/metallb/vars/main.yaml @@ -0,0 +1,2 @@ +--- +helm_chart_url: "https://charts.bitnami.com/bitnami" \ No newline at end of file diff --git a/ansible/install_metallb/site.yaml b/ansible/install_metallb/site.yaml new file mode 100755 index 0000000..4dd96d6 --- /dev/null +++ b/ansible/install_metallb/site.yaml @@ -0,0 +1,5 @@ +# modified from https://github.com/danpilch/easy-kubeadm +--- +- hosts: management + roles: + - name: metallb diff --git a/ansible/install_nginx_ingress/roles/nginx_ingress/tasks/main.yaml b/ansible/install_nginx_ingress/roles/nginx_ingress/tasks/main.yaml new file mode 100755 index 0000000..fa2f3bc --- /dev/null +++ b/ansible/install_nginx_ingress/roles/nginx_ingress/tasks/main.yaml @@ -0,0 +1,18 @@ +--- +- name: Install bitnami repo + kubernetes.core.helm_repository: + name: bitnami + repo_url: "{{ helm_chart_url }}" + +- name: Install nginx ingress with helm + kubernetes.core.helm: + name: helm-bitnami-nginx-ingress + namespace: cluster-configuration + create_namespace: yes + chart_ref: bitnami/nginx-ingress-controller + register: install_nginx_ingress_controller + +- name: Install nginx ingress with helm command + debug: + msg: "{{ install_nginx_ingress_controller.command }}" + diff --git a/ansible/install_nginx_ingress/roles/nginx_ingress/vars/main.yaml b/ansible/install_nginx_ingress/roles/nginx_ingress/vars/main.yaml new file mode 100755 index 0000000..44dc8ae --- /dev/null +++ b/ansible/install_nginx_ingress/roles/nginx_ingress/vars/main.yaml @@ -0,0 +1,2 @@ +--- +helm_chart_url: "https://charts.bitnami.com/bitnami" \ No newline at end of file diff --git a/ansible/install_nginx_ingress/site.yaml b/ansible/install_nginx_ingress/site.yaml new file mode 100755 index 0000000..a1bc3c2 --- /dev/null +++ b/ansible/install_nginx_ingress/site.yaml @@ -0,0 +1,6 @@ +# modified from https://github.com/danpilch/easy-kubeadm +--- +- hosts: management + roles: + - name: nginx_ingress + diff --git a/ansible/kubernetes_dashboard/roles/dashboard/tasks/main.yaml b/ansible/kubernetes_dashboard/roles/dashboard/tasks/main.yaml new file mode 100755 index 0000000..dca4057 --- /dev/null +++ b/ansible/kubernetes_dashboard/roles/dashboard/tasks/main.yaml @@ -0,0 +1,9 @@ +# https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/ +# https://github.com/kubernetes/dashboard/tags +--- +- name: Install kubernetes dashboard + shell: "kubectl apply -f 'https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml'" + register: dashboard_network +- name: Install kubernetes dashboard command + debug: + msg: "{{ dashboard_network.cmd }}" \ No newline at end of file diff --git a/ansible/kubernetes_dashboard/site.yaml b/ansible/kubernetes_dashboard/site.yaml new file mode 100755 index 0000000..a62720e --- /dev/null +++ b/ansible/kubernetes_dashboard/site.yaml @@ -0,0 +1,5 @@ +# modified from https://github.com/danpilch/easy-kubeadm +--- +- hosts: management + roles: + - name: dashboard diff --git a/scripts/ansible/install.sh b/scripts/ansible/install.sh index c2b65b2..e1bdefa 100755 --- a/scripts/ansible/install.sh +++ b/scripts/ansible/install.sh @@ -5,5 +5,17 @@ set -e hash ansible-playbook > /dev/null 2>&1 && exit 0 || true echo Provisioning ansible... -sudo dnf install epel-release -y -sudo dnf install ansible -y \ No newline at end of file +# this script is executed as sudo therefore no need of sudo +dnf install epel-release -y +dnf install python3-pip -y + +# https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#upgrading-ansible-with-pip +python3 -m pip install --upgrade pip +python3 -m pip install ansible + +# activamos el autocompletado para todos los comandos de python en concreto por ansible +python3 -m pip install argcomplete +/usr/local/bin/activate-global-python-argcomplete + +# Centos 8 vbox has no /usr/local/bin in root path, and is where pip install ansible executables +sed -i -e "s|\(Defaults secure_path.*\)|\1:/usr/local/bin|m" /etc/sudoers -- GitLab