Created
April 24, 2021 16:16
-
-
Save cankush625/b453c2ef904228f1901038f0e2f635b1 to your computer and use it in GitHub Desktop.
This file contains 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
# 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