initial commit
This commit is contained in:
67
ansible/playbooks/05-master-init.yml
Normal file
67
ansible/playbooks/05-master-init.yml
Normal file
@@ -0,0 +1,67 @@
|
||||
---
|
||||
- name: Initialize Kubernetes master
|
||||
hosts: masters
|
||||
become: true
|
||||
|
||||
vars:
|
||||
pod_network_cidr: "10.244.0.0/16" # Flannel default
|
||||
|
||||
tasks:
|
||||
- name: Check if cluster already initialized
|
||||
stat:
|
||||
path: /etc/kubernetes/admin.conf
|
||||
register: kubeadm_init_done
|
||||
|
||||
- name: Run kubeadm init
|
||||
command: >
|
||||
kubeadm init
|
||||
--apiserver-advertise-address={{ ansible_host }}
|
||||
--pod-network-cidr={{ pod_network_cidr }}
|
||||
when: not kubeadm_init_done.stat.exists
|
||||
register: kubeadm_output
|
||||
|
||||
- name: Create .kube dir for cloud-user
|
||||
file:
|
||||
path: /home/cloud-user/.kube
|
||||
state: directory
|
||||
mode: "0700"
|
||||
owner: cloud-user
|
||||
group: cloud-user
|
||||
|
||||
- name: Copy admin.conf to cloud-user kubeconfig
|
||||
copy:
|
||||
src: /etc/kubernetes/admin.conf
|
||||
dest: /home/cloud-user/.kube/config
|
||||
remote_src: true
|
||||
owner: cloud-user
|
||||
group: cloud-user
|
||||
mode: "0600"
|
||||
|
||||
- name: Create .kube dir for root (enables sudo kubectl)
|
||||
file:
|
||||
path: /root/.kube
|
||||
state: directory
|
||||
mode: "0700"
|
||||
|
||||
- name: Copy admin.conf to root kubeconfig
|
||||
copy:
|
||||
src: /etc/kubernetes/admin.conf
|
||||
dest: /root/.kube/config
|
||||
remote_src: true
|
||||
mode: "0600"
|
||||
|
||||
- name: Install Flannel CNI
|
||||
command: kubectl apply -f https://github.com/flannel-io/flannel/releases/latest/download/kube-flannel.yml
|
||||
environment:
|
||||
KUBECONFIG: /etc/kubernetes/admin.conf
|
||||
|
||||
- name: Get join command
|
||||
command: kubeadm token create --print-join-command
|
||||
register: join_command
|
||||
|
||||
- name: Save join command to local file
|
||||
local_action:
|
||||
module: copy
|
||||
content: "{{ join_command.stdout }}"
|
||||
dest: /tmp/k8s_join_command.sh
|
||||
mode: "0600"
|
||||
Reference in New Issue
Block a user