57 lines
1.5 KiB
YAML
57 lines
1.5 KiB
YAML
---
|
|
- name: Initialize Kubernetes master with kubeadm init.
|
|
command: >
|
|
kubeadm init
|
|
--pod-network-cidr={{ kubernetes_pod_network.cidr }}
|
|
--apiserver-advertise-address={{ kubernetes_apiserver_advertise_address | default(ansible_default_ipv4.address, true) }}
|
|
{{ kubernetes_kubeadm_init_extra_opts }}
|
|
register: kubeadmin_init
|
|
when: not kubernetes_init_stat.stat.exists
|
|
|
|
- name: Print the init output to screen.
|
|
debug:
|
|
var: kubeadmin_init.stdout
|
|
verbosity: 2
|
|
when: not kubernetes_init_stat.stat.exists
|
|
|
|
- name: Ensure .kube directory exists.
|
|
file:
|
|
path: ~/.kube
|
|
state: directory
|
|
|
|
- name: Symlink the kubectl admin.conf to ~/.kube/conf.
|
|
file:
|
|
src: /etc/kubernetes/admin.conf
|
|
dest: ~/.kube/config
|
|
state: link
|
|
|
|
- name: Configure Calico networking.
|
|
command: "{{ item }}"
|
|
with_items:
|
|
- kubectl apply -f {{ kubernetes_calico_manifest_file }}
|
|
register: calico_result
|
|
changed_when: "'created' in calico_result.stdout"
|
|
when: kubernetes_pod_network.cni == 'calico'
|
|
|
|
- name: Configure Metric Server
|
|
command: "{{ item }}"
|
|
with_items:
|
|
- kubectl apply -f {{ kubernetes_metric_server_file }}
|
|
register: metric_server_result
|
|
changed_when: "'created' in metric_server_result.stdout"
|
|
|
|
- name: Kubectl Cheat Sheet
|
|
lineinfile:
|
|
path: ~/.bashrc
|
|
line: "{{ item }}"
|
|
with_items:
|
|
- echo "source <(kubectl completion bash)"
|
|
- alias k=kubectl
|
|
- complete -o default -F __start_kubectl k
|
|
|
|
- name: Get kubeconfig
|
|
fetch:
|
|
src: /etc/kubernetes/admin.conf
|
|
dest: ~/.kube/data/ansible_config
|
|
flat: yes
|