DevOps/Kubernetes2023. 11. 6. 20:40LDAP을 활용한 Kubernetes RBAC 구현

K8s에서 LDAP을 이용해 접근 제어 관리를 하기 위해 사용하는 항목들을 정리해본다. LDAP_BIND_DN LDAP 클라이언트가 서버에 연결한 후 인증하기 위해 사용되는 Distinguished Name(DN)이다. DN은 LDAP 디렉터리 트리 내에서 고유한 엔트리(항목)을 식별하는 방법 중 하나이다. 일반적으로 사용자 또는 응용 프로그램이 디렉터리 서비스에 대한 액세스를 허용하도록 인증할 때 사용된다. 클라이언트가 서버에 연결하고 특정 DN을 사용하여 인증을 수행할 수 있다. 이 DN은 LDAP 서버에 등록된 사용자 또는 서비스 계정을 나타내며, 일반적으로 다음과 같은 형식을 가진다. CN=John Smith,OU=Users,DC=example,DC=com 위의 DN 예제에서는 "CN"은 Comm..

[Kubernetes] 쿠버네티스 컴포넌트
DevOps/Kubernetes2023. 2. 7. 02:20[Kubernetes] 쿠버네티스 컴포넌트

쿠버네티스 클러스터의 컴포넌트 마스터 컴포넌트 etcd 쿠버네티스 클러스터 구성을 유지하는 분산 KVS. 데이터를 Key-Value형으로 관리한다. 어떤 파드를 어떻게 배치할지와 같은 정보를 갖고 있어서 API Server가 이를 참조한다. 매니페스트의 내용이 저장되어 있다고 생각하면 좋을 것이다. 분산 시스템에서 노드 사이의 상태를 공유하는 합의 알고리즘 중 하나인 raft 알고리즘을 구현한 것. 쿠버네티스에서는 필요한 모든 데이터를 저장하는 데이터베이스 역할을 한다. 마스터 서버에서 분리시킬 수도 있다. kube-apiserver 쿠버네티스 클러스터의 API를 사용할 수 있도록 하는 컴포넌트 쿠버네티스의 리소스 정보를 관리하기 위한 프런트엔드 REST API. 각 컴포넌트로부터 리소스 정보를 받아 데..

[Kubernetes] AWS EKS - Fargate로 구성하기
DevOps/Kubernetes2022. 6. 14. 10:09[Kubernetes] AWS EKS - Fargate로 구성하기

🚀 AWS Fargate AWS Fargate - Amazon EKS AWS Fargate는 서버리스형 컨테이너 서비스로서 Amazon EKS 클러스터의 일부로 Kubernetes 파드로 실행되는 컨테이너에 대해 적절한 크기의 온디맨드 컴퓨팅 용량을 제공한다. 컨테이너를 실행하는 리소스 비용만 초단위에 따라 지불하면 된다. Fargate를 이용해 EC2 인스턴스를 사용하지 않고 파드를 실행할 수 있다. 우리가 EKS를 사용할 때 컨트롤 플레인은 AWS에서 관리해주지만 워커 노드들은 오토 스케일링 그룹을 이용해 EC2 인스턴스를 배포해서 사용한다. → 즉, EC2 인스턴스의 관리는 사용자의 몫이다. Fargate는 EC2 인스턴스를 추상화시켰기 때문에 사용자가 관리할 필요가 없다. 사용자는 운영체제 버전 ..

[Kubernetes] AWS EKS - CloudWatch Container Insight
DevOps/Kubernetes2022. 6. 14. 09:49[Kubernetes] AWS EKS - CloudWatch Container Insight

🚀 CloudWatch Container Insight Amazon EKS 및 Kubernetes에서 Container Insights의 빠른 시작 설정 - Amazon CloudWatch 안정적인 서비스의 운영을 위해서는 서비스의 CPU, Memory 등을 모니터링하고 Application Log를 확인하는 것이 중요하다. 쿠버네티스에서도 마찬가지로 Cluster, Namespace, Service, Pod 등에 대한 모니터링과 필요에 따라 Application 로그 수집이 필요하다. AWS에서 제공하는 Container Insights와 로그 수집기인 Fluent Bit로 로그를 수집하고 모니터링 할 수 있다. Container Insights (모니터링) ECS, EKS Cluster에 대하여 CP..

[Kubernetes] AWS EKS - Clustering Autoscaling (클러스터 오토스케일링)
DevOps/Kubernetes2022. 6. 13. 11:04[Kubernetes] AWS EKS - Clustering Autoscaling (클러스터 오토스케일링)

🚀 Cluster Autoscaler AutoScaling - Amazon EKS EKS의 각각의 워커 노드를 EC2 인스턴스로 구성했을 때 파드의 크기가 아주 작다고해도 무한정의 파드를 배치할 수는 없다. 여러명의 개발자가 여러개의 파드를 배치하거나 HPA(Horizontal Pod AutoScaling)에 의해 여러개의 파드가 만들어지면, 노드가 가득 차버려서 파드가 스케줄링 될 수 없어 pending 상태에 머무르는 상황이 발생한다. 이럴 때 사용하는 것이 Cluster Autoscaling(CA)이다. CA는 리소스 부족으로 인해 예약할 수 없는 파드가 있는 경우 클러스터의 크기를 늘린다. 특정 수의 시스템을 초과해 확장 또는 축소하지 않도록 구성할 수 있다. 워커 노드의 확장 결정을 내리는 순서..

[Kubernetes] 쿠버네티스 모니터링 (Monitoring)  - Metrics Server
DevOps/Kubernetes2022. 6. 13. 11:01[Kubernetes] 쿠버네티스 모니터링 (Monitoring) - Metrics Server

🚀 Metrics Server란 ? Kubernetes 지표 서버 설치 - Amazon EKS 쿠버네티스의 Metrics Server란 각 노드에 설치된 kubectl을 통해서 노드 및 파드의 CPU, Memory의 사용량을 수집한다. Linux의 top 명령을 쿠버네티스에서 사용하는 것과 비슷하다. 쿠버네티스 v1.11 이후로 Heapster를 deprecated 시키고 Metrics Server를 모니터링 표준으로 도입하였다. Metircs Server는 Heapster를 간소화한 버전이라고 생각하면 된다. kubectl에서 메트릭 데이터를 수집해서 메모리에 저장한다. 또한 apiserver를 통해 파드나 노드의 메트릭을 조회하는데 사용되는 Metrics API를 제공한다. 쿠버네티스에서 필요한 핵심..

image