Skip to content

Commit 176eaaa

Browse files
committedJun 1, 2022
Make playbooks code cleaner
1 parent 6a5dad8 commit 176eaaa

4 files changed

+26
-20
lines changed
 

‎playbooks/bootstrap-control-plane.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@
135135
sudo systemctl start kube-apiserver kube-controller-manager kube-scheduler
136136
-
137137
name: 'Kubernetes Frontend Load Balancer'
138-
hosts: loadbalancer-1
138+
hosts: loadbalancer
139139
tasks:
140140
-
141141
name: 'Install haproxy'
@@ -144,7 +144,7 @@
144144
name: 'Modify haproxy configuration file'
145145
shell: |
146146
INTERNAL_IP=$(ip addr show enp0s8 | grep "inet " | awk '{print $2}' | cut -d / -f 1)
147-
MASTER_NODES=$(cat /vagrant/.vagrant/shared-folder/inventory.txt | grep master-* | sed 's/^/ server /' | sed 's/$/:6443 check fail 3 rise 2/')
147+
MASTER_NODES=$(cat /vagrant/.vagrant/shared-folder/inventory.txt | grep master-* | sed 's/^/ server /' | sed 's/$/:6443 check fall 3 rise 2/')
148148
cat <<EOF | sudo tee /etc/haproxy/haproxy.cfg
149149
frontend kubernetes
150150
bind ${INTERNAL_IP}:6443

‎playbooks/pod-networking-solution.yml

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
-
2-
name: 'Provisioning pod Network (CNI)'
2+
name: 'Provisioning pod Network (CNI) to worker nodes'
33
hosts: worker-*
44
tasks:
55
-
66
name: 'Install CNI plugins required for Weave'
77
shell: |
88
wget https://github.com/containernetworking/plugins/releases/download/v0.7.5/cni-plugins-amd64-v0.7.5.tgz
99
sudo tar -xzvf cni-plugins-amd64-v0.7.5.tgz --directory /opt/cni/bin/
10+
-
11+
name: 'Deploy Weave Network on master node'
12+
hosts: master-1
13+
tasks:
1014
-
1115
name: 'Deploy Weave Network'
1216
shell: |
1317
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
14-
ignore_errors: true #If there is an error, it means Weave Network is already deployed
15-
delegate_to: master-1

‎playbooks/prerequisites.yml

+3-6
Original file line numberDiff line numberDiff line change
@@ -69,15 +69,12 @@
6969
INTERNAL_IP=$(ip addr show enp0s8 | grep "inet " | awk '{print $2}' | cut -d / -f 1)
7070
HOSTNAME=$(hostname -s)
7171
echo $HOSTNAME $INTERNAL_IP >> /vagrant/.vagrant/shared-folder/inventory.txt
72-
-
73-
name: 'Update /etc/hosts on all nodes'
74-
hosts: all
75-
tasks:
7672
-
7773
name: 'Append nodes IP addresses to /etc/hosts file'
7874
shell: |
79-
cat <<EOF | sudo tee /etc/hosts
80-
cat /vagrant/.vagrant/shared-folder/inventory.txt | awk '{print $2 " " $1}'
75+
LIST_IP=$(cat /vagrant/.vagrant/shared-folder/inventory.txt | awk '{print $2 " " $1}')
76+
cat <<EOF | sudo tee -a /etc/hosts
77+
${LIST_IP}
8178
EOF
8279
-
8380
name: 'Install kubectl on Master nodes'

‎playbooks/tls-bootstrap-kube-worker-nodes.yml

+16-9
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@
2323
shell: |
2424
cd /vagrant/.vagrant/shared-folder
2525
sudo cp ca.crt /var/lib/kubernetes/
26+
-
27+
name: 'Give CSR access rights to Worker nodes'
28+
hosts: master-1
29+
tasks:
2630
-
2731
name: 'Create Bootstrap Token to be used by Worker nodes (kubelet) to invoke Certificate API'
2832
shell: |
@@ -55,21 +59,17 @@
5559
# Extra groups to authenticate the token as. Must start with "system:bootstrappers:"
5660
auth-extra-groups: system:bootstrappers:worker
5761
EOF
58-
-
59-
name: 'Apply Bootstrap Token'
60-
shell: |
61-
cd /vagrant/.vagrant/shared-folder
6262
kubectl create -f bootstrap-token-07401b.yaml
63-
ignore_errors: true #If there is an error, it means the Bootstrap Token is already applied
64-
delegate_to: master-1
6563
-
6664
name: 'Authorize Worker nodes (kubelet) to create, approve and auto renew Certificates'
6765
shell: |
6866
kubectl create clusterrolebinding create-csrs-for-bootstrapping --clusterrole=system:node-bootstrapper --group=system:bootstrappers
6967
kubectl create clusterrolebinding auto-approve-csrs-for-group --clusterrole=system:certificates.k8s.io:certificatesigningrequests:nodeclient --group=system:bootstrappers
7068
kubectl create clusterrolebinding auto-approve-renewals-for-nodes --clusterrole=system:certificates.k8s.io:certificatesigningrequests:selfnodeclient --group=system:nodes
71-
ignore_errors: true #If there is an error, it means Worker nodes can already create, approve and auto renew Certificates
72-
delegate_to: master-1
69+
-
70+
name: 'Add kube services for Worker nodes (kubelet & kube-proxy)'
71+
hosts: worker-*
72+
tasks:
7373
-
7474
name: 'Configure kubelet to TLS Bootstrap'
7575
shell: |
@@ -184,7 +184,14 @@
184184
sudo systemctl daemon-reload
185185
sudo systemctl enable kubelet kube-proxy
186186
sudo systemctl start kubelet kube-proxy
187+
-
188+
name: 'Wait for Workers to generate CSRs'
189+
pause:
190+
seconds: 10
191+
-
192+
name: 'Approve Server CSR from Master node'
193+
hosts: master-1
194+
tasks:
187195
-
188196
name: 'Approve Server CSR'
189197
shell: "kubectl certificate approve $(kubectl get csr|grep csr|awk -F ' ' '{print $1}')"
190-
delegate_to: master-1

0 commit comments

Comments
 (0)
Please sign in to comment.