From c9f156822b815a415bef8782684d2f86d378dcc2 Mon Sep 17 00:00:00 2001 From: fedy95 Date: Tue, 27 Apr 2021 18:00:32 +0300 Subject: [PATCH] temp --- Makefile | 11 ++--- README.md | 2 + hosts => inventory/hosts | 0 .../docker-units/init.yml | 5 -- playbooks/k8s/init.yml | 18 +++++++ roles/common/tasks/main.yml | 9 ---- roles/k8s/tasks/01_prepare.yml | 48 +++++++++++++++++++ .../{kube-dependencies => k8s}/tasks/main.yml | 31 +----------- roles/k8s/vars/main.yml | 3 ++ roles/kube-dependencies/vars/main.yml | 3 -- 10 files changed, 78 insertions(+), 52 deletions(-) rename hosts => inventory/hosts (100%) rename ansible-desktop.yml => playbooks/docker-units/init.yml (67%) create mode 100644 playbooks/k8s/init.yml create mode 100644 roles/k8s/tasks/01_prepare.yml rename roles/{kube-dependencies => k8s}/tasks/main.yml (65%) create mode 100644 roles/k8s/vars/main.yml delete mode 100644 roles/kube-dependencies/vars/main.yml diff --git a/Makefile b/Makefile index 1e9ca9d..bbb97fd 100644 --- a/Makefile +++ b/Makefile @@ -10,18 +10,17 @@ LINT-YAML-CMD=docker run --rm -it -v $(PWD):/data ${REGISTRY}/${YAMLLINT_TAG} lint-yaml: docker pull ${REGISTRY}/${YAMLLINT_TAG} $(LINT-YAML-CMD) group_vars/all.yml + $(LINT-YAML-CMD) playbooks/ansible-desktop.yml $(LINT-YAML-CMD) roles/common/tasks/main.yml $(LINT-YAML-CMD) roles/docker/defaults/main.yml $(LINT-YAML-CMD) roles/docker/handlers/main.yml - $(LINT-YAML-CMD) roles/docker/tasks/docker.yml - $(LINT-YAML-CMD) roles/docker/tasks/docker-compose.yml $(LINT-YAML-CMD) roles/docker/tasks/main.yml - $(LINT-YAML-CMD) roles/docker/vars/main.yml + $(LINT-YAML-CMD) roles/docker-compose/tasks/main.yml + $(LINT-YAML-CMD) roles/docker-compose/vars/main.yml $(LINT-YAML-CMD) .drone.yml - $(LINT-YAML-CMD) ansible-desktop.yml -run: - ansible-playbook ansible-desktop.yml -i hosts --ask-become-pass +docker-units-init: + ansible-playbook playbooks/docker-units/init.yml -i inventory/hosts --ask-become-pass ping: ansible -i hosts all -m ping diff --git a/README.md b/README.md index 11ba883..f01775a 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ ### docs - [ansible](https://www.ansible.com/) +- https://github.com/IBM/ansible-kubernetes-ha-cluster +- https://www.linuxsysadmins.com/install-kubernetes-cluster-with-ansible/ ### how to run - see Makefile diff --git a/hosts b/inventory/hosts similarity index 100% rename from hosts rename to inventory/hosts diff --git a/ansible-desktop.yml b/playbooks/docker-units/init.yml similarity index 67% rename from ansible-desktop.yml rename to playbooks/docker-units/init.yml index ff6b259..047429e 100644 --- a/ansible-desktop.yml +++ b/playbooks/docker-units/init.yml @@ -5,9 +5,4 @@ - { role: common, become: true } - { role: docker, become: true } - { role: docker-compose, become: true } - -- name: k8s playbook - hosts: docker-units - roles: - - { role: common, become: true } ... diff --git a/playbooks/k8s/init.yml b/playbooks/k8s/init.yml new file mode 100644 index 0000000..2dbbc93 --- /dev/null +++ b/playbooks/k8s/init.yml @@ -0,0 +1,18 @@ +--- +- name: k8s-units playbook + hosts: k8s + roles: + - { role: common, become: true } + - { role: docker, become: true } + - { role: k8s, become: true } + +- name: k8s playbook + hosts: k8s-master + roles: + - { role: common, become: true } + +- name: k8s playbook + hosts: k8s-worker + roles: + - { role: common, become: true } +... diff --git a/roles/common/tasks/main.yml b/roles/common/tasks/main.yml index 96d712d..9899889 100644 --- a/roles/common/tasks/main.yml +++ b/roles/common/tasks/main.yml @@ -26,13 +26,4 @@ - name: Upgrade installed packages apt: upgrade=yes -- name: Disable all swaps from /proc/swaps - shell: | - swapoff --all - -- name: Disable SWAP in fstab - lineinfile: - path: /etc/fstab - regexp: 'swap' - state: absent ... diff --git a/roles/k8s/tasks/01_prepare.yml b/roles/k8s/tasks/01_prepare.yml new file mode 100644 index 0000000..98eeb2c --- /dev/null +++ b/roles/k8s/tasks/01_prepare.yml @@ -0,0 +1,48 @@ +--- +- hosts: k8s + - name: Disable all swaps from /proc/swaps + shell: | + swapoff --all + + - name: Disable SWAP in fstab + lineinfile: + path: /etc/fstab + regexp: 'swap' + state: absent + + - name: Add Google GPG key + apt_key: + url: https://packages.cloud.google.com/apt/doc/apt-key.gpg + state: present + + - name: Add Kubernetes' APT repository + apt_repository: + repo: deb http://apt.kubernetes.io/ kubernetes-xenial main + state: present + filename: 'kubernetes' + mode: 0600 + + - name: Installing Kubernetes Cluster Packages + apt: + name: "{{ item }}" + state: present + cache_valid_time: "{{ aptcachetime }}" + with_items: + - kubelet-{{kubelet_version}} + - kubeadm + - kubectl + loop: [ 'kubeadm', 'kubectl', 'kubelet' ] + + - name: Enable service kubelet persistently + service: + name: kubelet + enabled: yes + +# TODO ??? +# - name: Reboot all the kubernetes nodes. +# reboot: +# post_reboot_delay: 10 +# reboot_timeout: 40 +# connect_timeout: 60 +# test_command: uptime +... diff --git a/roles/kube-dependencies/tasks/main.yml b/roles/k8s/tasks/main.yml similarity index 65% rename from roles/kube-dependencies/tasks/main.yml rename to roles/k8s/tasks/main.yml index cf714be..8d59650 100644 --- a/roles/kube-dependencies/tasks/main.yml +++ b/roles/k8s/tasks/main.yml @@ -1,26 +1,3 @@ -- hosts: k8s - - name: add Kubernetes apt-key - apt_key: - url: https://packages.cloud.google.com/apt/doc/apt-key.gpg - state: present - - - name: add Kubernetes' APT repository - apt_repository: - repo: deb http://apt.kubernetes.io/ kubernetes-xenial main - state: present - filename: 'kubernetes' - - - name: install kubelet - apt: - name: kubelet={{ kube_version }} - state: present - update_cache: true - - - name: install kubeadm - apt: - name: kubeadm={{ kube_version }} - state: present - - hosts: k8s-master become: yes tasks: @@ -37,8 +14,6 @@ creates: cluster_initialized.txt - name: create .kube directory - become: yes - become_user: ubuntu file: path: $HOME/.kube state: directory @@ -47,13 +22,11 @@ - name: copy admin.conf to user's kube config copy: src: /etc/kubernetes/admin.conf - dest: /home/ubuntu/.kube/config + dest: $HOME/.kube/config remote_src: yes - owner: ubuntu + owner: fedy95 - name: install Pod network - become: yes - become_user: ubuntu shell: kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml >> pod_network_setup.txt args: chdir: $HOME diff --git a/roles/k8s/vars/main.yml b/roles/k8s/vars/main.yml new file mode 100644 index 0000000..c0c1eca --- /dev/null +++ b/roles/k8s/vars/main.yml @@ -0,0 +1,3 @@ +--- +kubelet_version: "1.14.0-00" +... diff --git a/roles/kube-dependencies/vars/main.yml b/roles/kube-dependencies/vars/main.yml deleted file mode 100644 index fb9fe16..0000000 --- a/roles/kube-dependencies/vars/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -kube_version: "1.14.0-00" -...