Kubernetes TLS Certificates Creation
Contents
Generate Tools
OpenSSL
In this lecture, we will use OpenSSL.
Generate Process
Check CRT
| |
Generate Keys
| |
Certificate Signing Request
| |
Sign Certificates
| |
CA(Certificate Authority) Creation
CA Generate Keys
| |
CA Certificate Signing Request(CSR)
| |
CA Sign Certificates
Note
-signkey is 'ca.key. | |
Admin User Creation
Admin User Generate Keys
| |
Admin User Certificate Signing Request(CSR)
| |
Admin User Sign Certificates
Note
-CA is 'ca.crt.-CAkey is 'ca.key.There’s no
-signkey. | |
Certificate Attributes
| Key | Type | Kubernetes |
|---|---|---|
| CN | Common Name | kube-admin |
| OU | Organization Unit | system:masters |
| O | Organization | - |
| L | Locality | - |
| S | State or Province Name | - |
| C | Country Name | - |
Kubernetes Certificate Attributes
| Component | Key | Value |
|---|---|---|
| Certificate Authority | CN | KUBERNETES-CA |
| Admin User | CN | kube-admin |
| OU | system:masters | |
| KUBE SCHEDULER | CN | kube-scheduler |
| OU | system:kube-scheduler | |
| KUBE CONTROLLER MANGER | CN | kube-controller-manager |
| OU | system:kube-controller-manager | |
| KUBE PROXY | CN | kube-proxy |
| OU | kube-proxy | |
| ETCD SERVER | CN | etcd-server |
Kubernetes Certificate Output Files
| Component | Key File | CSR File | CRT File |
|---|---|---|---|
| Certificate Authority | ca.key | ca.csr | ca.crt |
| Admin User | admin.key | admin.csr | admin.crt |
| KUBE SCHEDULER | scheduler.key | scheduler.csr | scheduler.crt |
| KUBE CONTROLLER MANAGER | controller-manager.key | controller-manager.csr | controller-manager.crt |
| KUBE PROXY | kube-proxy.key | kube-proxy.csr | kube-proxy.crt |
Kubernetes Certificate Configuration
| Component | Service File Location |
|---|---|
| KUBE API SERVER | /etc/kubernetes/manifests/kube-apiserver.yaml |
| KUBE SCHEDULER | /etc/kubernetes/manifests/kube-scheduler.yaml |
| KUBE CONTROLLER MANAGER | /etc/kubernetes/manifests/kube-controller-manager.yaml |
| ETCD | /etc/kubernetes/manifests/etcd.yaml |
Client Certificates for Clients
Curl
| |
Result
| |
kube-config.yaml
| |
ETCD SERVERS
Certificates
ETCD-SERVER
ETCD-PEER
etcd.yaml
| |
KUBE API SERVER
Certificates
KUBE-API SERVER
Generate Keys
| |
CSR(Certificate Signing Request)
| |
openssl.cnf
| |
CRT(Certificate)
| |
KUBECTL NODES(SERVER CERT)
Node CERT
Each Node
In below example,
CERTIFICATE Group is Node Name.In below example,
node01.kubelet-config.yaml(node01)
| |
CozyFex