Skip to content

Commit cce3174

Browse files
authored
Add files via upload
0 parents  commit cce3174

9 files changed

+617
-0
lines changed

centos/ansible.cfg

Lines changed: 480 additions & 0 deletions
Large diffs are not rendered by default.

centos/env_variables

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
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

centos/hosts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
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
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
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
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
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

centos/playbooks/prerequisites.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
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+

centos/playbooks/setting_up_nodes.yml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
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"

centos/setup_master_node.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
- import_playbook: playbooks/prerequisites.yml
3+
- import_playbook: playbooks/setting_up_nodes.yml
4+
- import_playbook: playbooks/configure_master_node.yml

centos/setup_worker_nodes.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
---
2+
- import_playbook: playbooks/configure_worker_nodes.yml

0 commit comments

Comments
 (0)