Browse Source

temp

pull/7/head
fedy95 4 years ago
parent
commit
1f11dfc882
  1. 8
      ansible-desktop.yml
  2. 18
      hosts
  3. 10
      roles/common/tasks/main.yml
  4. 0
      roles/docker-compose/tasks/main.yml
  5. 0
      roles/docker-compose/vars/main.yml
  6. 52
      roles/docker/tasks/docker.yml
  7. 52
      roles/docker/tasks/main.yml
  8. 82
      roles/kube-dependencies/tasks/main.yml
  9. 3
      roles/kube-dependencies/vars/main.yml

8
ansible-desktop.yml

@ -1,7 +1,13 @@
---
- name: Base playbook
- name: docker-units playbook
hosts: docker-units
roles:
- { role: common, become: true }
- { role: docker, become: true }
- { role: docker-compose, become: true }
- name: k8s playbook
hosts: docker-units
roles:
- { role: common, become: true }
...

18
hosts

@ -1,8 +1,20 @@
[k8s:children]
k8s-master
k8s-worker
[k8s-master]
k8s-master-01 ansible_host=192.168.1.180
k8s-master-02 ansible_host=192.168.1.181
[k8s-worker]
k8s-worker-01 ansible_host=192.168.1.190
k8s-worker-02 ansible_host=192.168.1.191
[docker-units]
10.10.10.6
192.168.1.151
homeassistant ansible_host=10.10.10.6
pi-hole ansible_host=192.168.1.151
[docker-units:vars]
[all:vars]
ansible_connection=ssh
ansible_ssh_private_key_file=/home/fedy95/.ssh/id_rsa
ansible_user=fedy95

10
roles/common/tasks/main.yml

@ -25,4 +25,14 @@
- 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
...

0
roles/docker/tasks/docker-compose.yml → roles/docker-compose/tasks/main.yml

0
roles/docker/vars/main.yml → roles/docker-compose/vars/main.yml

52
roles/docker/tasks/docker.yml

@ -1,52 +0,0 @@
---
- name: Update apt cache
apt:
update_cache: yes
cache_valid_time: "{{ aptcachetime }}"
- name: Upgrade all apt packages
apt: upgrade=dist
- name: Install docker packages
apt:
name: "{{ item }}"
state: present
update_cache: yes
loop:
- 'apt-transport-https'
- 'ca-certificates'
- 'curl'
- 'gnupg'
- 'lsb-release'
- name: Add Docker GPG key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: Add deb repository
apt_repository:
repo: deb https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable
state: present
update_cache: yes
- name: Install docker
apt:
name: "{{ item }}"
state: present
update_cache: yes
loop:
- 'docker-ce'
- 'docker-ce-cli'
- 'containerd.io'
- name: Ensure docker users are added to the docker group.
user:
name: "{{ item }}"
groups: docker
append: true
with_items: "{{ ansible_env.USER }}"
- name: "Ensure Docker is {{ docker.start | ternary('started','stopped') }}"
service: name=docker state={{ docker.start | ternary('restarted','stopped') }} enabled={{ docker.service_enabled }}
...

52
roles/docker/tasks/main.yml

@ -1,4 +1,52 @@
---
- include_tasks: docker.yml
- include_tasks: docker-compose.yml
- name: Update apt cache
apt:
update_cache: yes
cache_valid_time: "{{ aptcachetime }}"
- name: Upgrade all apt packages
apt: upgrade=dist
- name: Install docker packages
apt:
name: "{{ item }}"
state: present
update_cache: yes
loop:
- 'apt-transport-https'
- 'ca-certificates'
- 'curl'
- 'gnupg'
- 'lsb-release'
- name: Add Docker GPG key
apt_key:
url: https://download.docker.com/linux/ubuntu/gpg
state: present
- name: Add deb repository
apt_repository:
repo: deb https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable
state: present
update_cache: yes
- name: Install docker
apt:
name: "{{ item }}"
state: present
update_cache: yes
loop:
- 'docker-ce'
- 'docker-ce-cli'
- 'containerd.io'
- name: Ensure docker users are added to the docker group.
user:
name: "{{ item }}"
groups: docker
append: true
with_items: "{{ ansible_env.USER }}"
- name: "Ensure Docker is {{ docker.start | ternary('started','stopped') }}"
service: name=docker state={{ docker.start | ternary('restarted','stopped') }} enabled={{ docker.service_enabled }}
...

82
roles/kube-dependencies/tasks/main.yml

@ -0,0 +1,82 @@
- 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:
- name: install kubectl
apt:
name: kubectl={{ kube_version }}
state: present
force: yes
- name: initialize the cluster
shell: kubeadm init --pod-network-cidr=10.244.0.0/16 >> cluster_initialized.txt
args:
chdir: $HOME
creates: cluster_initialized.txt
- name: create .kube directory
become: yes
become_user: ubuntu
file:
path: $HOME/.kube
state: directory
mode: 0755
- name: copy admin.conf to user's kube config
copy:
src: /etc/kubernetes/admin.conf
dest: /home/ubuntu/.kube/config
remote_src: yes
owner: ubuntu
- 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
creates: pod_network_setup.txt
- hosts: k8s-master
become: yes
gather_facts: false
tasks:
- name: get join command
shell: kubeadm token create --print-join-command
register: join_command_raw
- name: set join command
set_fact:
join_command: "{{ join_command_raw.stdout_lines[0] }}"
- hosts: k8s-workers
become: yes
tasks:
- name: join cluster
shell: "{{ hostvars['master'].join_command }} >> node_joined.txt"
args:
chdir: $HOME
creates: node_joined.txt

3
roles/kube-dependencies/vars/main.yml

@ -0,0 +1,3 @@
---
kube_version: "1.14.0-00"
...