cb2e5ac776
* Drop linux capabilities for unprivileged containerized worlkoads Kargo configures for deployments. * Configure required securityContext/user/group/groups for kube components' static manifests, etcd, calico-rr and k8s apps, like dnsmasq daemonset. * Rework cloud-init (etcd) users creation for CoreOS. * Fix nologin paths, adjust defaults for addusers role and ensure supplementary groups membership added for users. * Add netplug user for network plugins (yet unused by privileged networking containers though). * Grant the kube and netplug users read access for etcd certs via the etcd certs group. * Grant group read access to kube certs via the kube cert group. * Remove priveleged mode for calico-rr and run it under its uid/gid and supplementary etcd_cert group. * Adjust docs. * Align cpu/memory limits and dropped caps with added rkt support for control plane. Signed-off-by: Bogdan Dobrelya <bogdando@mail.ru>
61 lines
1.7 KiB
YAML
61 lines
1.7 KiB
YAML
---
|
|
# Required from inventory:
|
|
# calico_rr_ip - which specific IP to use for RR, defaults to
|
|
# "ip" from inventory or "ansible_default_ipv4.address"
|
|
|
|
- name: Calico-rr | Set IP fact
|
|
set_fact:
|
|
rr_ip: "{{ calico_rr_ip | default(ip) | default(ansible_default_ipv4.address) }}"
|
|
|
|
- name: Calico-rr | Create calico certs directory
|
|
file:
|
|
dest: "{{ calico_cert_dir }}"
|
|
state: directory
|
|
mode: 0750
|
|
owner: "{{ netplug_user }}"
|
|
group: "{{ netplug_group }}"
|
|
|
|
- name: Calico-rr | Link etcd certificates for calico-node
|
|
file:
|
|
src: "{{ etcd_cert_dir }}/{{ item.s }}"
|
|
dest: "{{ calico_cert_dir }}/{{ item.d }}"
|
|
state: hard
|
|
force: yes
|
|
with_items:
|
|
- {s: "ca.pem", d: "ca_cert.crt"}
|
|
- {s: "node-{{ inventory_hostname }}.pem", d: "cert.crt"}
|
|
- {s: "node-{{ inventory_hostname }}-key.pem", d: "key.pem"}
|
|
|
|
- name: Calico-rr | Create dir for logs
|
|
file:
|
|
path: /var/log/calico-rr
|
|
state: directory
|
|
mode: 0755
|
|
owner: "{{ netplug_user }}"
|
|
group: "{{ netplug_group }}"
|
|
|
|
- name: Calico-rr | Write calico-rr.env for systemd init file
|
|
template: src=calico-rr.env.j2 dest=/etc/calico/calico-rr.env
|
|
notify: restart calico-rr
|
|
|
|
- name: Calico-rr | Write calico-rr systemd init file
|
|
template: src=calico-rr.service.j2 dest=/etc/systemd/system/calico-rr.service
|
|
notify: restart calico-rr
|
|
|
|
- name: Calico-rr | Configure route reflector
|
|
command: |-
|
|
{{ bin_dir }}/etcdctl --peers={{ etcd_access_addresses }} \
|
|
set /calico/bgp/v1/rr_v4/{{ rr_ip }} \
|
|
'{
|
|
"ip": "{{ rr_ip }}",
|
|
"cluster_id": "{{ cluster_id }}"
|
|
}'
|
|
delegate_to: "{{groups['etcd'][0]}}"
|
|
|
|
- meta: flush_handlers
|
|
|
|
- name: Calico-rr | Enable calico-rr
|
|
service:
|
|
name: calico-rr
|
|
state: started
|
|
enabled: yes
|