153 lines
3.5 KiB
YAML
153 lines
3.5 KiB
YAML
---
|
|
- hosts: all
|
|
become: true
|
|
tasks:
|
|
- name: Set timezone to Europe/Paris
|
|
community.general.timezone:
|
|
name: Europe/Paris
|
|
|
|
- name: maj fichier hosts
|
|
ansible.builtin.blockinfile:
|
|
path: /etc/hosts
|
|
block: |
|
|
192.168.56.10 k8s-master
|
|
192.168.56.11 node-1
|
|
192.168.56.12 node-2
|
|
|
|
- name: Forwarding IPv4 and letting iptables see bridged traffic
|
|
ansible.builtin.blockinfile:
|
|
path: /etc/modules-load.d/k8s.conf
|
|
create: yes
|
|
block: |
|
|
overlay
|
|
br_netfilter
|
|
|
|
- name: charge module overlay
|
|
community.general.modprobe:
|
|
state: present
|
|
name: overlay
|
|
|
|
- name: charge module overlay et br_netfilter
|
|
community.general.modprobe:
|
|
state: present
|
|
name: br_netfilter
|
|
|
|
- name: persistance des bridges
|
|
ansible.builtin.blockinfile:
|
|
path: /etc/sysctl.d/k8s.conf
|
|
create: yes
|
|
block: |
|
|
net.bridge.bridge-nf-call-iptables = 1
|
|
net.bridge.bridge-nf-call-ip6tables = 1
|
|
net.ipv4.ip_forward = 1
|
|
|
|
- name: applique les parametres sysctl
|
|
command: "sysctl --system"
|
|
|
|
- name: Recupere get-docker
|
|
get_url:
|
|
url: "https://get.docker.com"
|
|
dest: /tmp/get-docker.sh
|
|
|
|
- name: lance get-docker - installe docker, containerd ...
|
|
command: 'sh /tmp/get-docker.sh'
|
|
|
|
- name: Add vagrant user to docker group
|
|
user:
|
|
name: vagrant
|
|
group: docker
|
|
|
|
- name: cree repertoire /etc/containerd
|
|
file:
|
|
path: /etc/containerd
|
|
state: directory
|
|
|
|
- name: genere config.toml (containerd)
|
|
#command: "sudo containerd config default | sudo tee /etc/containerd/config.toml"
|
|
shell: "containerd config default | tee /etc/containerd/config.toml"
|
|
|
|
- name: configure cgroup driver pour systemd (config.toml)
|
|
replace:
|
|
path: "/etc/containerd/config.toml"
|
|
regexp: 'SystemdCgroup = false'
|
|
replace: 'SystemdCgroup = true'
|
|
backup: yes
|
|
|
|
- name: redemarre containerd
|
|
service:
|
|
name: containerd
|
|
state: restarted
|
|
enabled: yes
|
|
|
|
- name: Remove swapfile from /etc/fstab
|
|
mount:
|
|
name: "{{ item }}"
|
|
fstype: swap
|
|
state: absent
|
|
with_items:
|
|
- swap
|
|
- none
|
|
|
|
- name: Disable swap
|
|
command: swapoff -a
|
|
when: ansible_swaptotal_mb > 0
|
|
|
|
- name: Add an apt signing key for Kubernetes
|
|
apt_key:
|
|
url: https://packages.cloud.google.com/apt/doc/apt-key.gpg
|
|
state: present
|
|
|
|
- name: Adding apt repository for Kubernetes
|
|
apt_repository:
|
|
repo: deb https://apt.kubernetes.io/ kubernetes-xenial main
|
|
state: present
|
|
filename: kubernetes.list
|
|
|
|
- name: Install Kubernetes binaries
|
|
apt:
|
|
name: "{{ packages }}"
|
|
state: present
|
|
update_cache: yes
|
|
vars:
|
|
packages:
|
|
- kubelet
|
|
- kubeadm
|
|
- kubectl
|
|
|
|
- name: Cree file kubelet
|
|
ansible.builtin.file:
|
|
path: /etc/default/kubelet
|
|
state: touch
|
|
|
|
- name: Configure node ip
|
|
lineinfile:
|
|
path: /etc/default/kubelet
|
|
line: KUBELET_EXTRA_ARGS=--node-ip={{ node_ip }}
|
|
create: yes
|
|
|
|
- name: Restart kubelet
|
|
service:
|
|
name: kubelet
|
|
daemon_reload: yes
|
|
state: restarted
|
|
|
|
- name: redemarre containerd
|
|
service:
|
|
name: containerd
|
|
state: restarted
|
|
|
|
- name: Copy the join command to server location
|
|
copy:
|
|
src: join-command
|
|
dest: /tmp/join-command.sh
|
|
mode: 0777
|
|
|
|
- name: Join the node to cluster
|
|
command: sh /tmp/join-command.sh
|
|
|
|
- name: docker status
|
|
service:
|
|
name: docker
|
|
state: started
|
|
|