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)
|
|