78 lines
2.3 KiB
YAML
78 lines
2.3 KiB
YAML
---
|
|
- hosts: "masters, workers"
|
|
remote_user: ubuntu
|
|
become: yes
|
|
become_method: sudo
|
|
become_user: root
|
|
gather_facts: yes
|
|
connection: ssh
|
|
|
|
tasks:
|
|
- name: Create containerd config file
|
|
file:
|
|
path: "/etc/modules-load.d/containerd.conf"
|
|
state: "touch"
|
|
|
|
- name: Add conf for containerd
|
|
blockinfile:
|
|
path: "/etc/modules-load.d/containerd.conf"
|
|
block: |
|
|
overlay
|
|
br_netfilter
|
|
|
|
- name: modprobe
|
|
shell: |
|
|
sudo modprobe overlay
|
|
sudo modprobe br_netfilter
|
|
|
|
|
|
- name: Set system configurations for Kubernetes networking
|
|
file:
|
|
path: "/etc/sysctl.d/99-kubernetes-cri.conf"
|
|
state: "touch"
|
|
|
|
- name: Add conf for containerd
|
|
blockinfile:
|
|
path: "/etc/sysctl.d/99-kubernetes-cri.conf"
|
|
block: |
|
|
net.bridge.bridge-nf-call-iptables = 1
|
|
net.ipv4.ip_forward = 1
|
|
net.bridge.bridge-nf-call-ip6tables = 1
|
|
|
|
- name: Apply new settings
|
|
command: sudo sysctl --system
|
|
|
|
- name: install containerd
|
|
shell: |
|
|
sudo apt-get update && sudo apt-get install -y containerd
|
|
sudo mkdir -p /etc/containerd
|
|
sudo containerd config default | sudo tee /etc/containerd/config.toml
|
|
sudo systemctl restart containerd
|
|
|
|
- name: disable swap
|
|
shell: |
|
|
sudo swapoff -a
|
|
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
|
|
|
|
- name: install and configure dependencies
|
|
shell: |
|
|
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
|
|
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
|
|
|
|
- name: Create kubernetes repo file
|
|
file:
|
|
path: "/etc/apt/sources.list.d/kubernetes.list"
|
|
state: "touch"
|
|
|
|
- name: Add K8s Source
|
|
blockinfile:
|
|
path: "/etc/apt/sources.list.d/kubernetes.list"
|
|
block: |
|
|
deb https://apt.kubernetes.io/ kubernetes-xenial main
|
|
|
|
- name: install kubernetes
|
|
shell: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y kubelet=1.20.1-00 kubeadm=1.20.1-00 kubectl=1.20.1-00
|
|
sudo apt-mark hold kubelet kubeadm kubectl
|