{% if grains['kernel'] == 'Linux' %} include: - softwares.docker-ce Disable Swap mount: mount.unmounted: - name: none - persist: True Disable Swap now: cmd.run: - name: 'swapoff -a' Remove K8S Repository: file.absent: - names: - /etc/apt/sources.list.d/k8s.list - /etc/yum.repos.d/k8s.repo - /etc/yum.repos.d/kubernetes.repo Debian K8S Add Repo: pkgrepo.managed: {% if grains['os'] == 'Debian' %} - name: deb https://apt.kubernetes.io/ kubernetes-xenial main - file: /etc/apt/sources.list.d/k8s.list - enable: 1 - key_url: https://packages.cloud.google.com/apt/doc/apt-key.gpg {% elif grains['os'] == 'CentOS' %} - name: kubernetes - baseurl: https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 - enabled: 1 - gpgcheck: 1 - repo_gpgcheck: 1 - gpgkey: https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg - humanname: K8S for CentOS - exclude: 'kube*' {% endif %} {% if grains['os'] == 'Debian' %} K8S installation: pkg.installed: - pkgs: - kubelet - kubeadm - kubectl - kubernetes-cni {% elif grains['os'] == 'CentOS' %} Configure SeLinux: file.line: - name: /etc/selinux/config - mode: replace - match: '^SELINUX=enforcing$' - content: "SELINUX=permissive" Desactivons SELinux: cmd.run: - name: 'setenforce 0' Correct routing: file.append: - name: /etc/sysctl.d/k8s.conf - text: | net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 Restart sysctl: cmd.run: - name: "sysctl --system" Installons K8S sur machine de type RedHat: cmd.run: - name: 'yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes' # Start K8S sur machine de type RedHat: # cmd.run: # - name: 'systemctl enable kubelet && systemctl start kubelet' # Enable K8S sur machine de type RedHat: # service.enabled: # - enable: True # - name: kubelet Start and enable K8S sur machine de type RedHat: service.running: - enable: True - name: kubelet {% endif %} {% endif %}