File tree Expand file tree Collapse file tree 9 files changed +617
-0
lines changed Expand file tree Collapse file tree 9 files changed +617
-0
lines changed Load Diff Large diffs are not rendered by default.
Original file line number Diff line number Diff line change
1
+ #Enter the IP Address of the Kubernetes Master node to the ad_addr variable.
2
+ ad_addr: 192.168.2.1
3
+ cidr_v: 172.16.0.0/16
4
+
5
+ packages:
6
+ - kubeadm
7
+ - kubectl
8
+
9
+ services:
10
+ - docker
11
+ - kubelet
12
+ - firewalld
13
+
14
+ ports:
15
+ - "6443/tcp"
16
+ - "10250/tcp"
17
+
18
+ token_file: join_token
Original file line number Diff line number Diff line change
1
+ [kubernetes-master-nodes]
2
+ kubernetes-master ansible_host =192.168.2.1
3
+
4
+ [kubernetes-worker-nodes]
5
+ kubernetes-worker ansible_host =192.168.2.2
Original file line number Diff line number Diff line change
1
+ ---
2
+ - hosts : kubernetes-master-nodes
3
+ vars_files :
4
+ - env_variables
5
+ tasks :
6
+ - name : Pulling images required for setting up a Kubernetes cluster
7
+ shell : kubeadm config images pull
8
+
9
+ - name : Resetting kubeadm
10
+ shell : kubeadm reset -f
11
+ register : output
12
+
13
+ - name : Initializing Kubernetes cluster
14
+ shell : kubeadm init --apiserver-advertise-address {{ad_addr}} --pod-network-cidr={{cidr_v}}
15
+ register : output
16
+
17
+ - name : Storing Logs and Generated token for future purpose.
18
+ local_action : copy content={{ output.stdout }} dest=/home/centos/{{ token_file }}
19
+
20
+ - name : Copying required files
21
+ shell : |
22
+ mkdir -p $HOME/.kube
23
+ sudo cp -f /etc/kubernetes/admin.conf $HOME/.kube/config
24
+ sudo chown $(id -u):$(id -g) $HOME/.kube/config
25
+
26
+ - name : Install Network Add-on
27
+ command : kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Original file line number Diff line number Diff line change
1
+ ---
2
+ - hosts : kubernetes-worker-nodes
3
+ vars_files :
4
+ - env_variables
5
+ tasks :
6
+ - name : Copying token to worker nodes
7
+ copy : src=/home/centos/{{ token_file }} dest=/home/centos/join_token
8
+
9
+ - name : Joining worker nodes with kubernetes master
10
+ shell : |
11
+ kubeadm reset -f
12
+ cat /home/centos/join_token | tail -2 > out.sh
13
+ sh out.sh
Original file line number Diff line number Diff line change
1
+ ---
2
+ - hosts : all
3
+ vars_files :
4
+ - env_variables
5
+ tasks :
6
+ - name : Disabling Swap on all nodes
7
+ shell : swapoff -a
8
+
9
+ - name : Commenting Swap entries in /etc/fstab
10
+ replace :
11
+ path : /etc/fstab
12
+ regexp : ' (.*swap*)'
13
+ replace : ' #\1'
14
+
15
+
Original file line number Diff line number Diff line change
1
+ ---
2
+ - hosts : all
3
+ vars_files :
4
+ - env_variables
5
+ tasks :
6
+ - name : Creating a repository file for Kubernetes
7
+ file :
8
+ path : /etc/yum.repos.d/kubernetes.repo
9
+ state : touch
10
+
11
+ - name : Adding repository details in Kubernetes repo file.
12
+ blockinfile :
13
+ path : /etc/yum.repos.d/kubernetes.repo
14
+ block : |
15
+ [kubernetes]
16
+ name=Kubernetes
17
+ baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
18
+ enabled=1
19
+ gpgcheck=1
20
+ repo_gpgcheck=1
21
+ gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
22
+ https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
23
+
24
+ - name : Installing Docker and firewalld
25
+ shell : |
26
+ yum install firewalld -y
27
+ yum install -y yum-utils device-mapper-persistent-data lvm2
28
+ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
29
+ yum install docker-ce -y
30
+
31
+ - name : Installing required packages
32
+ yum :
33
+ name : " {{ item }}"
34
+ state : present
35
+ with_items : " {{ packages }}"
36
+
37
+ - name : Starting and Enabling the required services
38
+ service :
39
+ name : " {{ item }}"
40
+ state : started
41
+ enabled : yes
42
+ with_items : " {{ services }}"
43
+
44
+ - name : Allow Network Ports in Firewalld
45
+ firewalld :
46
+ port : " {{ item }}"
47
+ state : enabled
48
+ permanent : yes
49
+ immediate : yes
50
+ with_items : " {{ ports }}"
51
+
52
+ - name : Enabling Bridge Firewall Rule
53
+ shell : " echo '1' > /proc/sys/net/bridge/bridge-nf-call-iptables"
Original file line number Diff line number Diff line change
1
+ ---
2
+ - import_playbook : playbooks/prerequisites.yml
3
+ - import_playbook : playbooks/setting_up_nodes.yml
4
+ - import_playbook : playbooks/configure_master_node.yml
Original file line number Diff line number Diff line change
1
+ ---
2
+ - import_playbook : playbooks/configure_worker_nodes.yml
You can’t perform that action at this time.
0 commit comments