Created
May 21, 2020 03:52
-
-
Save blachniet/f6d45f3e9c08464288acc58e84bb942d to your computer and use it in GitHub Desktop.
Ansible playbook to install Minikube on a VM with the "none" driver. Add your inventory in a file named `hosts`, then execute the playbook with `ansible-playbook --ask-become-pass -i hosts ./playbook.yml`
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
net.bridge.bridge-nf-call-ip6tables = 1 | |
net.bridge.bridge-nf-call-iptables = 1 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[kubernetes] | |
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
- hosts: all | |
become: yes | |
handlers: | |
- name: disable swap | |
shell: | | |
swapoff -a | |
- name: sysctl system | |
shell: | | |
sysctl --system | |
- name: reload firewall | |
shell: | | |
firewall-cmd --reload | |
- name: start minikube | |
shell: | | |
minikube start --driver=none | |
- name: enable kubelet.service | |
service: | |
name: kubelet.service | |
enabled: yes | |
state: started | |
tasks: | |
# Disable swap | |
- name: disable swap in fstab | |
replace: | |
path: /etc/fstab | |
regexp: '^([^#].*?\sswap\s+swap\s+.*)$' | |
replace: '# \1' | |
notify: | |
- disable swap | |
# Let iptables see bridged traffic | |
- name: modprob | |
modprobe: | |
name: br_netfilter | |
state: present | |
notify: | |
- sysctl system | |
- name: k8s sysctl config | |
template: | |
src: k8s.conf | |
dest: /etc/sysctl.d/k8s.conf | |
notify: | |
- sysctl system | |
# Kubernetes v1.18.2 requires conntrack to be installed in root's path | |
- name: ensure conntrack | |
yum: | |
name: conntrack-tools | |
state: latest | |
# Docker | |
- name: ensure docker installed | |
yum: | |
name: docker | |
state: latest | |
- name: ensure docker service | |
service: | |
name: docker | |
enabled: yes | |
state: started | |
# Firewall | |
- name: minikube api server port | |
firewalld: | |
port: 8443/tcp | |
permanent: yes | |
state: enabled | |
notify: | |
- reload firewall | |
# Kubernetes | |
- name: add kubernetes repo for yum | |
template: | |
src: kubernetes.repo | |
dest: /etc/yum.repos.d/kubernetes.repo | |
- name: Put SELinux in permissive mode, logging actions that would be blocked. | |
selinux: | |
policy: targeted | |
state: permissive | |
# Install kubectl | |
- name: install kubectl | |
yum: | |
name: kubectl | |
state: latest | |
# Download and install minikube | |
- name: download minikube rpm | |
get_url: | |
url: https://storage.googleapis.com/minikube/releases/latest/minikube-latest.x86_64.rpm | |
dest: /tmp/minikube-latest.x86_64.rpm | |
- name: install minikube | |
yum: | |
name: /tmp/minikube-latest.x86_64.rpm | |
notify: | |
- start minikube | |
- enable kubelet.service |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment