144. TLS in Kubernetes

쿠버네티스에서 TLS 를 이용하여 보안해보자 

 

세가지 종류의 인증서

서버 , 클라이언트, ca 의 인증서 세가지 

호스트와 워커노드 사이에 통신할때 보안

관리자가 호스트에 접속할때도 보안

kube-apiserver가 다른 컴포넌트랑 통신할때도 보안 

 

Server Certifiactes for Servers

서버도 마찬가지로 공용키와 사설키를 가진다. 

Client Certifiacates for Clients

 

kubeapiserver 입장에서 모두 클라이언트이다. 

 

etcd server 입장에서는 kube api server는 클라이언트다. 

증명서 종류가 너무 많다. 

 

 


145. TLS in Kubernetes - Certificate Creation

인증서를 생성하는 것에 대해 배워보자

open ssl 을 이용하여 생성

1. 프라이빗 키 생성

2. CSR 요청

3. 서명하기 

admin 도 마찬가지 

 

다른것도 다 비슷하다. 

 

잘모르겟다.. 

 


148. Practice Test - View Certificates

 

1. Identify the certificate file used for the kube-api server.

 

cat /etc/kubernetes/manifests/kube-apiserver.yaml 

 

해당 경로에서 kube-apiserver.yaml 파일을 확인하다. 

command 부분을 확인하면 

tls-cert-file 경로를 보면 된다. 

 

2. Identify the Certificate file used to authenticate kube-apiserver as a client to ETCD Server.

인증하는 파일이므로 

/etc/kubernetes/pki/apiserver-etcd-client.crt

 

3. Identify the key used to authenticate kubeapi-server to the kubelet server.

key 니까 

 

4. Identify the ETCD Server Certificate used to host ETCD server.

Etcd.yaml 파일로 이동한다. 

해당 cert file 이다 .

 

5.

Identify the ETCD Server CA Root Certificate used to serve ETCD Server.

ETCD can have its own CA. So this may be a different CA certificate than the one used by kube-api server.

 

trusted-ca-file 이다 .

 

6. What is the Common Name (CN) configured on the Kube API Server Certificate?

OpenSSL Syntax: openssl x509 -in file-path.crt -text -noout

 

common name은 tls-cert-file 을 통해서 확인할 수 있다. 

 

열기 

cn 

kube-apiserver.이다. 

 

 

7. What is the name of the CA who issued the Kube API Server Certificate?

Issuer 이다. 

kubernetes

 

8. Which of the below alternate names is not configured on the Kube API Server Certificate?

 

 

dns 를 통해서 대체 이름을 확인할 수 있다. 

 

9. What is the Common Name (CN) configured on the ETCD Server certificate? 

etcd

 

10. 

How long, from the issued date, is the Kube-API Server Certificate valid for?

File: /etc/kubernetes/pki/apiserver.crt

 

기간은 1년이다. 

 

 

11.

How long, from the issued date, is the Root CA Certificate valid for?

File: /etc/kubernetes/pki/ca.crt

10년이다. 

 

12.

Kubectl suddenly stops responding to your commands. Check it out! Someone recently modified the /etc/kubernetes/manifests/etcd.yaml file

You are asked to investigate and fix the issue. Once you fix the issue wait for sometime for kubectl to respond. Check the logs of the ETCD container.

 

파드에 커넥션 에러가 뜬다. 

경로 수정

 

13.

The kube-api server stopped again! Check it out. Inspect the kube-api server logs and identify the root cause and fix the issue.

Run crictl ps -a command to identify the kube-api server container. Run crictl logs container-id command to view the logs.

 

This indicates an issue with the ETCD CA certificate used by the kube-apiserver. Correct it to use the file /etc/kubernetes/pki/etcd/ca.crt.

Once the YAML file has been saved, wait for the kube-apiserver pod to be Ready. This can take a couple of minutes.

kube-apiserver.yaml 파일 수정하자


 

+ Recent posts