Skip to content

Instantly share code, notes, and snippets.

@cankush625
Created April 24, 2021 16:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cankush625/b453c2ef904228f1901038f0e2f635b1 to your computer and use it in GitHub Desktop.
Save cankush625/b453c2ef904228f1901038f0e2f635b1 to your computer and use it in GitHub Desktop.
# Amazon Linux 2
- name: Install docker
package:
name: docker
state: present
register: dockerinstall
- name: Update docker driver to systemd
copy:
src: daemon.json
dest: /etc/docker/daemon.json
- name: Start and Enable docker
service:
name: docker
state: started
enabled: yes
- name: Configure yum for kubernetes on Amazon Linux2
yum_repository:
name: kubernetes
description: Yum repo for Kubernetes
baseurl: https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
gpgcheck: no
register: kuberepo
- name: Install kubelet, kubeadm and kubectl packages
package:
name: "{{ packages }}"
state: present
vars:
packages:
- kubelet
- kubeadm
- kubectl
- name: Enable kubelet
service:
name: kubelet
state: started
enabled: yes
- name: Pull the kubernetes service images - kubeadm
command: kubeadm config images pull
- name: Install iproute-tc package
package:
name: iproute-tc
state: present
- name: Edit /etc/sysctl.conf file
lineinfile:
dest: /etc/sysctl.conf
line: "net.bridge.bridge-nf-call-iptables = 1"
- name: Initialize the Kubernetes Master - kubeadm init
command: "kubeadm init --pod-network-cidr={{ pod_network_cidr }} --control-plane-endpoint={{ control_plane_endpoint_ip }}:6443 --ignore-preflight-errors=NumCPU --ignore-preflight-errors=Mem"
ignore_errors: true
- name: Create /.kube directory
file:
path: $HOME/.kube
state: directory
- name: Copy kubernetes admin.conf file to /.kube/
copy:
src: /etc/kubernetes/admin.conf
dest: $HOME/.kube/config
remote_src: yes
- name: Change ownership of /.kube/config
file:
path: $HOME/.kube/config
owner: "{{ owner }}"
group: "{{ group }}"
- name: Copy kube-flannel.yml to master node
get_url:
url: https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
dest: $HOME/kube-flannel.yml
- name: Set network in the $HOME/kube-flannel.yml file
lineinfile:
path: $HOME/kube-flannel.yml
regexp: '\"Network\":*'
line: " \"Network\": \"{{ pod_network_cidr }}\","
- name: Install CNI (Flannel)
command: kubectl apply -f $HOME/kube-flannel.yml
- name: Create a token to join the slave nodes
command: kubeadm token create --print-join-command
register: join_command
- name: Print the command to join the slave nodes
debug:
var: join_command.stdout_lines
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment