Compare commits

...

1 Commits

Author SHA1 Message Date
ant31
32520037b5 Etcd certs: use symlink in kubeadm config 2025-03-26 11:46:18 +01:00
5 changed files with 42 additions and 4 deletions

View File

@@ -27,3 +27,11 @@ etcd_extra_vars: {}
# etcd_max_request_bytes: "1572864"
etcd_compaction_retention: "8"
# softlink to etcd certs
etcd_cert_paths:
client:
ca: "{{ etcd_cert_dir }}/ca.pem"
cert: "{{ etcd_cert_dir }}/node-{{ inventory_hostname }}.pem"
key: "{{ etcd_cert_dir }}/node-{{ inventory_hostname }}-key.pem"

View File

@@ -23,10 +23,6 @@ kube_apiserver_etcd_compaction_interval: "5m0s"
# in the request is actually present in etcd.
kube_apiserver_service_account_lookup: true
kube_etcd_cacert_file: ca.pem
kube_etcd_cert_file: node-{{ inventory_hostname }}.pem
kube_etcd_key_file: node-{{ inventory_hostname }}-key.pem
# Associated interfaces must be reachable by the rest of the cluster, and by
# CLI/web clients.
kube_controller_manager_bind_address: "::"

View File

@@ -0,0 +1,24 @@
---
- name: Create etcd cert directory
ansible.builtin.file:
path: "{{ etcd_cert_dir }}"
state: directory
mode: '0750'
when:
- inventory_hostname in groups['kube_control_plane']
- name: Generate symlink to etcd certs
ansible.builtin.file:
src: "{{ etcd_cert_paths.client[item.src] }}"
dest: "{{ etcd_cert_dir }}/{{ item.dest }}"
state: link
force: true
loop:
- src: ca
dest: "{{ kube_etcd_cacert_file }}"
- src: cert
dest: "{{ kube_etcd_cert_file }}"
- src: key
dest: "{{ kube_etcd_key_file }}"
when:
- inventory_hostname in groups['kube_control_plane']

View File

@@ -4,6 +4,11 @@
tags:
- k8s-pre-upgrade
- name: Create etcd cert symbolic links
import_tasks: 0010-etcd-link.yml
when:
- etcd_deployment_type != "kubeadm"
- name: Create webhook token auth config
template:
src: webhook-token-auth-config.yaml.j2

View File

@@ -27,3 +27,8 @@ kube_pods_subnets: >-
{%- else -%}
{{ kube_pods_subnet_ipv6 }}
{%- endif -%}
# Symlinks to etcd certs
kube_etcd_cacert_file: "kube-client-ca.pem"
kube_etcd_cert_file: "kube-client-cert.pem"
kube_etcd_key_file: "kube-client-key.pem"