mirror of
https://github.com/phfroidmont/self-hosting.git
synced 2025-12-25 13:46:59 +01:00
Improve kubernetes-ca role readability
This commit is contained in:
parent
a57445c364
commit
c19e9410f8
2 changed files with 16 additions and 17 deletions
|
|
@ -32,6 +32,7 @@ k8s_csr:
|
||||||
names_o: "Kubernetes"
|
names_o: "Kubernetes"
|
||||||
names_ou: "{{ k8s_config_cluster_name }}"
|
names_ou: "{{ k8s_config_cluster_name }}"
|
||||||
names_st: "Luxembourg"
|
names_st: "Luxembourg"
|
||||||
|
hostnames: "{{etcdHosts}}"
|
||||||
- name: "apiserver"
|
- name: "apiserver"
|
||||||
cn: "Kubernetes"
|
cn: "Kubernetes"
|
||||||
key_algo: "rsa"
|
key_algo: "rsa"
|
||||||
|
|
@ -41,6 +42,7 @@ k8s_csr:
|
||||||
names_o: "Kubernetes"
|
names_o: "Kubernetes"
|
||||||
names_ou: "{{ k8s_config_cluster_name }}"
|
names_ou: "{{ k8s_config_cluster_name }}"
|
||||||
names_st: "Luxembourg"
|
names_st: "Luxembourg"
|
||||||
|
hostnames: "{{k8sHosts}}"
|
||||||
- name: "admin"
|
- name: "admin"
|
||||||
cn: "admin"
|
cn: "admin"
|
||||||
key_algo: "rsa"
|
key_algo: "rsa"
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,4 @@
|
||||||
---
|
---
|
||||||
#- name: Display hostvars
|
|
||||||
# debug: var=hostvars
|
|
||||||
|
|
||||||
- name: Generate list of IP addresses and hostnames needed for Kubernetes API server certificate
|
- name: Generate list of IP addresses and hostnames needed for Kubernetes API server certificate
|
||||||
set_fact:
|
set_fact:
|
||||||
tmpK8sHosts: |
|
tmpK8sHosts: |
|
||||||
|
|
@ -85,6 +82,8 @@
|
||||||
tags:
|
tags:
|
||||||
- kubernetes-ca
|
- kubernetes-ca
|
||||||
loop: "{{ k8s_csr.master|flatten(levels=1)}}"
|
loop: "{{ k8s_csr.master|flatten(levels=1)}}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.name }}"
|
||||||
|
|
||||||
- name: Generate CA and private key
|
- name: Generate CA and private key
|
||||||
shell: cfssl gencert -initca ca-csr.json | cfssljson -bare ca
|
shell: cfssl gencert -initca ca-csr.json | cfssljson -bare ca
|
||||||
|
|
@ -108,24 +107,19 @@
|
||||||
tags:
|
tags:
|
||||||
- kubernetes-ca
|
- kubernetes-ca
|
||||||
|
|
||||||
- name: Generate TLS certificate for etcd
|
- name: Generate TLS certificates whith hostname
|
||||||
shell: "cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -hostname={{etcdHosts}} -profile=kubernetes etcd-csr.json | cfssljson -bare etcd"
|
shell: "cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -hostname={{item.hostnames}} -profile=kubernetes {{item.name}}-csr.json | cfssljson -bare {{item.name}}"
|
||||||
args:
|
args:
|
||||||
chdir: "{{k8s_ca_conf_directory}}"
|
chdir: "{{k8s_ca_conf_directory}}"
|
||||||
creates: "{{k8s_ca_conf_directory}}/etcd-key.pem"
|
creates: "{{k8s_ca_conf_directory}}/{{item.name}}-key.pem"
|
||||||
tags:
|
tags:
|
||||||
- kubernetes-ca
|
- kubernetes-ca
|
||||||
|
loop: "{{ k8s_csr.master|flatten(levels=1)}}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.name }}"
|
||||||
|
when: item.hostnames is defined
|
||||||
|
|
||||||
|
- name: Generate TLS certificates whithout hostname
|
||||||
- name: Generate TLS certificate for Kubernetes API server
|
|
||||||
shell: "cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -hostname={{k8sHosts}} -profile=kubernetes apiserver-csr.json | cfssljson -bare apiserver"
|
|
||||||
args:
|
|
||||||
chdir: "{{k8s_ca_conf_directory}}"
|
|
||||||
creates: "{{k8s_ca_conf_directory}}/apiserver-key.pem"
|
|
||||||
tags:
|
|
||||||
- kubernetes-ca
|
|
||||||
|
|
||||||
- name: Generate TLS certificates
|
|
||||||
shell: "cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes {{item.name}}-csr.json | cfssljson -bare {{item.name}}"
|
shell: "cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=kubernetes {{item.name}}-csr.json | cfssljson -bare {{item.name}}"
|
||||||
args:
|
args:
|
||||||
chdir: "{{k8s_ca_conf_directory}}"
|
chdir: "{{k8s_ca_conf_directory}}"
|
||||||
|
|
@ -133,12 +127,15 @@
|
||||||
tags:
|
tags:
|
||||||
- kubernetes-ca
|
- kubernetes-ca
|
||||||
loop: "{{ k8s_csr.master|flatten(levels=1)}}"
|
loop: "{{ k8s_csr.master|flatten(levels=1)}}"
|
||||||
|
loop_control:
|
||||||
|
label: "{{ item.name }}"
|
||||||
|
when: item.hostnames is not defined
|
||||||
|
|
||||||
- name: Generate TLS certificates for Kubernetes worker hosts
|
- name: Generate TLS certificates for Kubernetes worker hosts
|
||||||
shell: "cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -hostname={{hostvars[item]['ansible_hostname']}},{{hostvars[item]['ansible_default_ipv4']['address']}},{{hostvars[item]['ansible_'+hostvars[item]['peervpn_conf_interface']].ipv4.address}} -profile=kubernetes {{item}}-csr.json | cfssljson -bare {{item}}"
|
shell: "cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -hostname={{hostvars[item]['ansible_hostname']}},{{hostvars[item]['ansible_default_ipv4']['address']}},{{hostvars[item]['ansible_'+hostvars[item]['peervpn_conf_interface']].ipv4.address}} -profile=kubernetes {{item}}-csr.json | cfssljson -bare {{item}}"
|
||||||
args:
|
args:
|
||||||
chdir: "{{k8s_ca_conf_directory}}"
|
chdir: "{{k8s_ca_conf_directory}}"
|
||||||
creates: "{{k8s_ca_conf_directory}}/cert-{{item}}-key.pem"
|
creates: "{{k8s_ca_conf_directory}}/{{item}}-key.pem"
|
||||||
with_inventory_hostnames:
|
with_inventory_hostnames:
|
||||||
- k8s_worker
|
- k8s_worker
|
||||||
tags:
|
tags:
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue