generated from infra/template
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.4 KiB
55 lines
1.4 KiB
- hosts: k8s-master
|
|
become: yes
|
|
tasks:
|
|
- name: install kubectl
|
|
apt:
|
|
name: kubectl={{ kube_version }}
|
|
state: present
|
|
force: yes
|
|
|
|
- name: initialize the cluster
|
|
shell: kubeadm init --pod-network-cidr=10.244.0.0/16 >> cluster_initialized.txt
|
|
args:
|
|
chdir: $HOME
|
|
creates: cluster_initialized.txt
|
|
|
|
- name: create .kube directory
|
|
file:
|
|
path: $HOME/.kube
|
|
state: directory
|
|
mode: 0755
|
|
|
|
- name: copy admin.conf to user's kube config
|
|
copy:
|
|
src: /etc/kubernetes/admin.conf
|
|
dest: $HOME/.kube/config
|
|
remote_src: yes
|
|
owner: fedy95
|
|
|
|
- name: install Pod network
|
|
shell: kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml >> pod_network_setup.txt
|
|
args:
|
|
chdir: $HOME
|
|
creates: pod_network_setup.txt
|
|
|
|
- hosts: k8s-master
|
|
become: yes
|
|
gather_facts: false
|
|
tasks:
|
|
- name: get join command
|
|
shell: kubeadm token create --print-join-command
|
|
register: join_command_raw
|
|
|
|
- name: set join command
|
|
set_fact:
|
|
join_command: "{{ join_command_raw.stdout_lines[0] }}"
|
|
|
|
|
|
- hosts: k8s-workers
|
|
become: yes
|
|
tasks:
|
|
- name: join cluster
|
|
shell: "{{ hostvars['master'].join_command }} >> node_joined.txt"
|
|
args:
|
|
chdir: $HOME
|
|
creates: node_joined.txt
|