147 lines
3.0 KiB
YAML
147 lines
3.0 KiB
YAML
---
|
|
|
|
- name: reboot
|
|
reboot:
|
|
|
|
# - name: clear yum package cache
|
|
# shell: "{{ item }}"
|
|
# args:
|
|
# warn: false
|
|
# with_items:
|
|
# # - yum clean all
|
|
# # - yum-config-manager --enable updates
|
|
|
|
- name: upgrade all packages
|
|
yum:
|
|
name: '*'
|
|
state: latest
|
|
|
|
- name: temporarily disable SELinux
|
|
shell: setenforce 0
|
|
|
|
- name: permanently disable SELinux
|
|
lineinfile:
|
|
dest: /etc/sysconfig/selinux
|
|
regexp: "^SELINUX="
|
|
line: "SELINUX=disabled"
|
|
|
|
- name: temporarily disable swap
|
|
shell: swapoff -a
|
|
|
|
- name: permanently disable swap
|
|
lineinfile:
|
|
dest: /etc/fstab
|
|
regexp: "^/dev/mapper/centos-swap"
|
|
line: "# /dev/mapper/centos-swap swap swap defaults 0 0"
|
|
|
|
- name: add bridge-netfilter kernel module
|
|
shell: modprobe br_netfilter
|
|
|
|
- name: enable bridge-nf-call-iptables
|
|
sysctl:
|
|
name: net.bridge.bridge-nf-call-iptables
|
|
value: 1
|
|
sysctl_set: yes
|
|
state: present
|
|
reload: yes
|
|
|
|
- name: enable bridge-nf-call-ip6tables
|
|
sysctl:
|
|
name: net.bridge.bridge-nf-call-ip6tables
|
|
value: 1
|
|
sysctl_set: yes
|
|
state: present
|
|
reload: yes
|
|
|
|
- name: enable ipv6 default forwarding
|
|
sysctl:
|
|
name: net.ipv6.conf.default.forwarding
|
|
value: 1
|
|
sysctl_set: yes
|
|
state: present
|
|
reload: yes
|
|
|
|
- name: add docker-ce yum repository
|
|
shell: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
|
|
|
|
|
|
- name: copy kubernetes repo config
|
|
copy:
|
|
src: ../files/kubernetes.repo
|
|
dest: /etc/yum.repos.d/kubernetes.repo
|
|
|
|
- name: clear yum package cache
|
|
shell: yum clean all
|
|
args:
|
|
warn: false
|
|
|
|
- name: install dependencies
|
|
package:
|
|
name: "{{ item }}"
|
|
state: installed
|
|
with_items:
|
|
- device-mapper-persistent-data
|
|
|
|
- name: install lvm2
|
|
shell: yum install -y lvm2
|
|
args:
|
|
warn: false
|
|
|
|
- name: installing kubernetes binaries (kubeadm, kubelet and kubectl)
|
|
shell: "{{ item }}"
|
|
args:
|
|
warn: false
|
|
with_items:
|
|
- yum install -y kubelet kubeadm kubectl
|
|
- systemctl enable --now kubelet
|
|
|
|
- name: add docker-ce repo
|
|
shell: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
|
|
|
|
- name: install docker-ce
|
|
package:
|
|
name: docker-ce-18.06.2.ce
|
|
state: installed
|
|
|
|
- name: create docker directory
|
|
file:
|
|
path: /etc/docker
|
|
state: directory
|
|
|
|
- name: deploy docker daemon configuration
|
|
copy:
|
|
src: ../files/docker-daemon.json
|
|
dest: /etc/docker/daemon.json
|
|
|
|
- name: touch /etc/default/kubelet
|
|
file:
|
|
path: /etc/default/kubelet
|
|
state: touch
|
|
owner: root
|
|
group: root
|
|
|
|
- name: set kubelet extra args
|
|
lineinfile:
|
|
dest: /etc/default/kubelet
|
|
regexp: "^KUBELET_EXTRA_ARGS="
|
|
line: "KUBELET_EXTRA_ARGS=--fail-swap-on=false --node-ip={{ host_ipv6 }}"
|
|
|
|
- name: restart services
|
|
systemd:
|
|
name: "{{ item }}"
|
|
enabled: yes
|
|
state: restarted
|
|
daemon_reload: yes
|
|
with_items:
|
|
- docker
|
|
- kubelet
|
|
|
|
- name: open firewall ports
|
|
import_tasks: firewalld.yml
|
|
|
|
# - name: update linux kernel
|
|
# import_tasks: upgrade_kernel.yml
|
|
|
|
- name: reboot
|
|
reboot:
|