Skip to content

Commit 0a56fd8

Browse files
authored
~/.kube/config on controller (#63)
* de-couple kube config management from cluster creation * ~/.kube/config management * Kube config
1 parent 888aeae commit 0a56fd8

File tree

2 files changed

+35
-35
lines changed

2 files changed

+35
-35
lines changed

Diff for: cluster.yml

-35
Original file line numberDiff line numberDiff line change
@@ -13,38 +13,3 @@
1313
become: true
1414
ansible.builtin.import_playbook: kubernetes_sigs.kubespray.cluster
1515
tags: kubernetes
16-
17-
- name: Kube config
18-
hosts: all
19-
tags: [kube_config]
20-
tasks:
21-
- name: Fetch kube config from master
22-
when: ansible_hostname in groups['kube_control_plane']
23-
become: true
24-
ansible.builtin.fetch:
25-
src: /etc/kubernetes/admin.conf
26-
dest: "{{ playbook_dir }}/files/"
27-
mode: '0600'
28-
flat: true
29-
30-
- name: Ensure .kube directory exists
31-
become: false
32-
ansible.builtin.file:
33-
path: ~/.kube
34-
state: directory
35-
mode: '0700'
36-
37-
- name: Copy kube config to nodes
38-
become: false
39-
ansible.builtin.copy:
40-
src: "{{ playbook_dir }}/files/admin.conf"
41-
dest: ~/.kube/config
42-
mode: '0600'
43-
44-
- name: Remove kube config from controller
45-
delegate_to: localhost
46-
connection: local
47-
become: false
48-
ansible.builtin.file:
49-
path: "{{ playbook_dir }}/files/admin.conf"
50-
state: absent

Diff for: config.yml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#!/usr/bin/env ansible-playbook
2+
---
3+
4+
- name: Kube config on controller
5+
hosts: all
6+
tags: [kube_config]
7+
gather_facts: false
8+
become: false
9+
tasks:
10+
- name: Create local config dir
11+
delegate_to: localhost
12+
become: false
13+
ansible.builtin.file:
14+
path: .kube
15+
state: directory
16+
mode: '0700'
17+
18+
- name: Fetch kube config from master
19+
when: inventory_hostname in groups['kube_control_plane']
20+
become: true
21+
ansible.builtin.fetch:
22+
src: /etc/kubernetes/admin.conf
23+
dest: ~/.kube/config
24+
mode: '0600'
25+
flat: true
26+
27+
- name: Configure k8s master
28+
delegate_to: localhost
29+
become: false
30+
ansible.builtin.lineinfile:
31+
path: ~/.kube/config
32+
regexp: ' server.*6443$'
33+
line: " server: https://{{ groups['kube_control_plane'][0] }}:6443"
34+
state: present
35+
mode: '0600'

0 commit comments

Comments
 (0)