Files
dsk-iac/ansible/01_old/roles/kubernetes_install/tasks/k8s-master.yml
2023-12-19 13:36:16 +09:00

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