88 lines
2.8 KiB
YAML
88 lines
2.8 KiB
YAML
---
|
|
- name: Cilium | Ensure BPFFS mounted
|
|
mount:
|
|
fstype: bpf
|
|
path: /sys/fs/bpf
|
|
src: bpffs
|
|
state: mounted
|
|
|
|
- name: Cilium | Create Cilium certs directory
|
|
file:
|
|
dest: "{{ cilium_cert_dir }}"
|
|
state: directory
|
|
mode: 0750
|
|
owner: root
|
|
group: root
|
|
when:
|
|
- identity_allocation_mode == "kvstore"
|
|
|
|
- name: Cilium | Link etcd certificates for cilium
|
|
file:
|
|
src: "{{ etcd_cert_dir }}/{{ item.s }}"
|
|
dest: "{{ cilium_cert_dir }}/{{ item.d }}"
|
|
mode: 0644
|
|
state: hard
|
|
force: yes
|
|
loop:
|
|
- {s: "{{ kube_etcd_cacert_file }}", d: "ca_cert.crt"}
|
|
- {s: "{{ kube_etcd_cert_file }}", d: "cert.crt"}
|
|
- {s: "{{ kube_etcd_key_file }}", d: "key.pem"}
|
|
when:
|
|
- identity_allocation_mode == "kvstore"
|
|
|
|
- name: Cilium | Create hubble dir
|
|
file:
|
|
path: "{{ kube_config_dir }}/addons/hubble"
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: 0755
|
|
when:
|
|
- inventory_hostname == groups['kube_control_plane'][0]
|
|
- cilium_hubble_install
|
|
|
|
- name: Cilium | Create Cilium node manifests
|
|
template:
|
|
src: "{{ item.file }}.j2"
|
|
dest: "{{ kube_config_dir }}/{{ item.file }}"
|
|
mode: 0644
|
|
loop:
|
|
- {name: cilium, file: cilium-config.yml, type: cm}
|
|
- {name: cilium, file: cilium-crb.yml, type: clusterrolebinding}
|
|
- {name: cilium, file: cilium-cr.yml, type: clusterrole}
|
|
- {name: cilium, file: cilium-secret.yml, type: secret, when: "{{ cilium_ipsec_enabled }}"}
|
|
- {name: cilium, file: cilium-ds.yml, type: ds}
|
|
- {name: cilium, file: cilium-deploy.yml, type: deploy}
|
|
- {name: cilium, file: cilium-sa.yml, type: sa}
|
|
register: cilium_node_manifests
|
|
when:
|
|
- inventory_hostname in groups['kube_control_plane']
|
|
- item.when | default(True) | bool
|
|
|
|
- name: Cilium | Create Cilium Hubble manifests
|
|
template:
|
|
src: "{{ item.file }}.j2"
|
|
dest: "{{ kube_config_dir }}/addons/hubble/{{ item.file }}"
|
|
mode: 0644
|
|
loop:
|
|
- {name: hubble, file: hubble-config.yml, type: cm}
|
|
- {name: hubble, file: hubble-crb.yml, type: clusterrolebinding}
|
|
- {name: hubble, file: hubble-cr.yml, type: clusterrole}
|
|
- {name: hubble, file: hubble-cronjob.yml, type: cronjob, when: "{{ cilium_hubble_tls_generate }}"}
|
|
- {name: hubble, file: hubble-deploy.yml, type: deploy}
|
|
- {name: hubble, file: hubble-job.yml, type: job, when: "{{ cilium_hubble_tls_generate }}"}
|
|
- {name: hubble, file: hubble-sa.yml, type: sa}
|
|
- {name: hubble, file: hubble-service.yml, type: service}
|
|
register: cilium_hubble_manifests
|
|
when:
|
|
- inventory_hostname == groups['kube_control_plane'][0]
|
|
- cilium_enable_hubble and cilium_hubble_install
|
|
- item.when | default(True) | bool
|
|
|
|
- name: Cilium | Enable portmap addon
|
|
template:
|
|
src: 000-cilium-portmap.conflist.j2
|
|
dest: /etc/cni/net.d/000-cilium-portmap.conflist
|
|
mode: 0644
|
|
when: cilium_enable_portmap
|