45 lines
974 B
YAML
45 lines
974 B
YAML
---
|
|
|
|
- name: Check if Kubernetes has already been initialized.
|
|
stat:
|
|
path: /etc/kubernetes/admin.conf
|
|
register: k8s_init_stat
|
|
|
|
- block:
|
|
- block:
|
|
- name: Create kubeadm-config.yaml
|
|
template:
|
|
src: kubeadm-config.yaml.j2
|
|
dest: "/etc/kubernetes/kubeadm-kubelet-config.yaml"
|
|
owner: root
|
|
group: root
|
|
mode: '0644'
|
|
|
|
|
|
- name: Initialize Kubernetes control plane with kubeadm init
|
|
command: >
|
|
kubeadm init
|
|
--config /etc/kubernetes/kubeadm-kubelet-config.yaml
|
|
--upload-certs
|
|
register: k8s_init
|
|
|
|
when: hostvars[inventory_hostname].role_node == "control-first"
|
|
|
|
|
|
|
|
- name: Ensure .kube directory exists.
|
|
file:
|
|
path: ~/.kube
|
|
state: directory
|
|
mode: 0755
|
|
|
|
- name: Symlink the kubectl admin.conf to ~/.kube/conf.
|
|
file:
|
|
src: /etc/kubernetes/admin.conf
|
|
dest: ~/.kube/config
|
|
state: link
|
|
mode: 0644
|
|
|
|
|
|
when: not k8s_init_stat.stat.exists
|