전체 글 467

[CKA] 43. k8s 각종 보안 (image, securityContext)

개요 k8s에서 사용되는 각종 보안을 image, securityContext 알아보겠습니다. image 보안 k8s에서 image를 pull로 받아 올 때 대분 docker hub를 사용합니다. 그러나 대외비로 작성된 image의 경우 따로 Private Repository를 만들어서 사용합니다. 본 post에는 private repository 구성부터 k8s에서 어떻게 사용할 수 있는지 알아보겠습니다. private repository 구성 방법은 아래 post 확인 부탁 드립니다. [docker] docker registry-image 서버 구축 private repository login docker login private-registry.io private repository image 주소..

Cloud/k8s-CKA 2023.11.05

[CKA] 42. service account

개요 k8s에는 2개의 계정분류가 존재합니다. 1. user account - 사람이 k8s관리는 위해서 사는 계정 2. service account - k8s service가 k8s에 무언가 요청을 하기 위해서 사용하는 게정 위 두 종류 계정 중. user account은 지난번 Post([CKA] 38. k8s에서 사용자 추가 및 권한 제어)를 참고하시면 되시고요. 이번 Post에서는 service account가 무엇인지 살펴보겠습니다. 용도 K8s의 Service Account는 주로 Pods, system components 등이 Kubernetes API와 상호작용할 때 사용하는 계정입니다. 그러면 이제부터 Service Account에 대하여 상세하게 알아보겠습니다. 개념 Service Ac..

Cloud/k8s-CKA 2023.11.04

[Debugging] Linux application debugging

개요 linux에서 C++로 개발된 application을 실행 할 때 Debugging하는 방법을 알아보겠습니다. 목차 ... 실행 전 연결된 library 확인 리눅스에서 현재 실행 전 프로세스에 로딩될 라이브러리를 확인하기 위해 여러 가지 방법을 사용할 수 있습니다. 다음은 그 중 몇 가지 방법입니다: ldd ldd 명령어는 실행 파일에 대한 종속 라이브러리를 출력합니다. 실행 중인 프로세스의 실행 파일을 찾아서 `ldd`를 사용하여 어떤 라이브러리가 연결되었는지 확인할 수 있습니다. ldd /path/to/executable 이 방법은 실행 파일에 대한 경로를 알고 있어야 하며, 현재 로딩된 라이브러리와 실행 시 로딩될 라이브러리 사이에 차이가 있을 수 있음에 유의해야 합니다. nm nm 명령어는..

[CKA] 41. Authorization (권한부여)

개요 k8s은 Authorization을 통하여 사용자가 할 수 있는 것을 제한하고 있습니다. 그래서 이번에는 Authorization의 종류 및 사용법을 알아보겠습니다. Authorization mechanism 종류 k8s에서는 Authorizaion을 위하여 6개의 mechanism을 제공합니다. Node Authorization node authorizion은 kubelet이 API 서버에 요청할 때 사용됩니다. 이 mechanism은 kubelet이 자신에게 할당된 resource에만 access 할 수 있도록 제한합니다. ABAC (Attribute-based access control) ABAC는 속성 기반의 권한 부여 방식입니다. 정책 파일에서 정의된 속성 조합을 기반으로 요청이 허용되는지..

Cloud/k8s-CKA 2023.10.28

[CKA] 40. API 그룹과 목적

개요 k8s에서 제공하는 apiserver의 api 그룹과 api 사용 시 필요한 인증을 알아보겠습니다. API 그룹 k8s에서는 cluster관리를 위해서 다양한 API를 제공합니다. 그리고 이러한 API를 용도에 맞게 분류해 놓았습니다. https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#api-overview Kubernetes API Reference Docs API Overview Welcome to the Kubernetes API. You can use the Kubernetes API to read and write Kubernetes resource objects via a Kubernetes API endpoint...

Cloud/k8s-CKA 2023.10.28

[CKA] 39. kubeconfig 구조 분석 및 관리

개요 k8s의 설정 파일인 kubeconfig의 구조 분석 및 필요 성을 알아보겠습니다. 파일의 위치 kubeadmn으로 설치를 하였다면 kubeconfig파일의 위치는 아래와 같습니다. 원본 파일 /etc/kubernetes/admin.conf 복사된 파일 kubectl은 기본적으로 아래 경로에있는 설정 파일을 사용합니다. 그래서 kubeadm로 설치시 마지막에 원본파일을 아래 경로에 복사하게 합니다. $HOME/.kube/config kubeconfig 목적 kubectl이 다양한 사용자 및 cluster의 조합을 사용하여 k8s 접근을 위해서 사용하는 설정 파일입니다. kubeconfig 주요 정보 cluster 연결 정보 제공 cluster의 API 서버 주소 및 CA 인증서 정보를 제공합니다. ..

Cloud/k8s-CKA 2023.10.26

[CKA] 38. k8s에서 사용자 추가 및 권한 제어

개요 k8s에서 사용자를 추가하는 방법을 알아보고 사용자의 권한을 제한하는 방법을 알아보겠습니다. 그럼 사용자를 생성하는 방법부터 시작하겠습니다. 핵심 csr을 이용하여 CertificateSigningRequest를 적용한 후 승인 한다. 이때 csr은 base64로 인코딩된것을 사용한다. 사용자 추가 절차 1. 개인키 생성 2. csr 생성 3. CertificateSigningRequest Object 생성 이때 csr을 base64 로 인코딩한 값을 사용합니다. 4. CertificateSigningRequest Object 승인 승인은 contoller-manager에서 담당합니다. 5. 승인된 CertificateSigningRequest Object에서 승인된 인증서 가져오기 6. 승인된 인..

Cloud/k8s-CKA 2023.10.15

[CKA] 37. k8s에서의 상호 인증 원리

개요 k8s에서 어떻게 상호 인증을 하는지 알아보겠습니다. 사전 필수 지식 [CKA] 35. Security - TLS통신 이해를 위한 PKI 기본 지식 상호 인증 원리 k8s에 있는 여러 service(apiserver, etcd, kubelet ...) 들은 상호 인증을 위해서 인증서와 개인키를 사용합니다. service 별 인증서 아래 그림은 service별 인증서(*.crt) 및 개인키(*. key)를 분리해 놓은 자료입니다. 위 그림에서 모든 인증서 admin.crt, scheduler.crt, controller-manager.crt, kube-proxy.crt 등등은 모두ca.crt 와 ca.key를 사용하여 전자 서명이 되어있습니다. admin.crt 생성 과정 모든 인증서 생성과정은 이름..

Cloud/k8s-CKA 2023.10.13

[CKA] 36. Security - TLS 통신과정

개요 Transport Layer Security로써 L4 Layer위에 올라가는 보안을 위한 통신 Protocol입니다. 원리 Client와 Server간에 "비대칭키를 사용하여 대칭키 암호화 키를 교환한" 후 이후 통신부터는"대칭키를 사용하여 암호화 통신"을 하는 방식으로 Client와 Server 간의 데이터 통신을 보호합니다. 여기서 암호화 통신을 위해서 비대칭키과 대칭키를 사용하는 이유는 아래와 같습니다 비대칭키만 사용하게 되면 "대칭키 암호화 방식에 비해 비대칭 키 암호화는 계산이 복잡하고 느리기 때문에 대량의 데이터를 암호화하거나 복호화하는 데 사용하기에는 부적합합니다." 그래서 대칭키교환을 위해서만 비대칭키를 사용합니다. 검증 환경 구성 목차 TLS 통신을 위한 인증서 생성 인증서를 ngn..

Cloud/k8s-CKA 2023.09.21