EKS 인증/인가 AWS EKS의 경우 사용자 인증은 AWS IAM / 인가는 K8S의 RBAC을 사용EKS 인증 모드: API / ConfigMapConfigMap의 경우 Deprecation 예정 EKS 사용자 인증 /인가 IAM 인증을 위한 Token 요청(eks get token)발급받은 Token을 통하여 Pre-Signed URL을 Bearer Token으로 EKS API Cluster Endpoint로 요청 EKS API는 Token Review 를 Webhook token authenticator에 요청 ⇒ (STS GetCallerIdentity 호출) AWS IAM 해당 호출 인증 완료 후 User/Role에 대한 ARN 반환 ConfigMap에서 반환된 Role ARN과 맵핑 정보..
K8S 인증/인가 Kubernetes에서는 API 통신을 위하여 인증(Authentication), 인가/권한(Authorization), Admission Control(승인제어) 단계를 거치게 된다. 인증(Authentication): Kubernetes를 사용하는 사용자가 검증된 사용자인지를 확인하는 절차 X.509 Client Certs : kubeconfig 에 CA crt(발급 기관 인증서) , Client crt(클라이언트 인증서) , Client key(클라이언트 개인키) 를 통해 인증kubectl : 여러 클러스터(kubeconfig)를 관리 가능 - contexts 에 클러스터와 유저 및 인증서/키 참고Service Account : 기본 서비스 어카운트(default) - 시크릿(CA..
Karpenter 고성능의 지능형 k8s 컴퓨팅 프로비저닝 및 관리 솔루션, 수초 이내에 대응 가능, 더 낮은 컴퓨팅 비용으로 노드 선택지능형의 동적인 인스턴스 유형 선택 - Spot, AWS Graviton 등자동 워크로드 Consolidation 기능일관성 있는 더 빠른 노드 구동시간을 통해 시간/비용 낭비 최소화동작 Consolidation Consolidation 동작 방식중단 비용 - 예) 파드가 많이 배치되어서 재스케줄링 영향이 큰 경우 등 , 오래 기동된 노드 TTL, 비용 관련관리 간소화 CA의 경우 AWS ASG와 CA 모두 동작을 해야 하기 때문에 시간이 오래 걸림ASG의 경우 주체가 AWS이고, CA의 경우 EKS가 주체이기 때문에 각 각 확인을 해야 함 Karpenter의 경우 ..
Node Autoscaling Node Autoscaling이란 Kubernetes 클러스터에 과도한 부하 및 이벤트가 발생하여 Pod가 Node에 할당되지 못하여 Pending상태가 되는 경우 추가 Node를 생성하여 해당 Node에 Pod를 배치하는 것을 의미한다.즉 Node의 Scale In/Out, Scale Up/Down을 의미 CAS: Cluster AutoscalerEKS의 경우 AWS Auto Scaling Group를 사용하여 Cluster Autoscaler에 적용 설치 및 확인# EKS 노드에 이미 아래 tag가 들어가 있음# k8s.io/cluster-autoscaler/enabled : true# k8s.io/cluster-autoscaler/myeks : ownedaws ec..
Autoscaling이란오토스케일링(autoscaling)은 서버 팜의 컴퓨팅 리소스 양(일반적으로 활성 서버 수로 측정)을 동적으로 조정하는 클라우드 컴퓨팅에 사용되는 한 방식이다. (위키백과) 클라우드를 배우면서 클라우드의 장점이라고 배우는 내용 중 "Autoscaling"은 빠질 수 가 없다.웹 서비스를 운영한다고 했을 경우, 트래픽이 증가하게 되면 이에 적절하게 서버의 스펙 증가 (Scale-UP/Down)을 하거나, 서버의 수를 증가(Scale-In/Out)하여 대처를 하게 된다. Kubernetes 환경에서도 동일하게 트래픽이 증가한다면 어떻게 해결해야 할까?수평 확장 Horizontal Scaling운영 환경에 더 많은 워크로드(VM, Task, Pod)를 추가하는 방식트래픽을 여러 워크로드..
Grafana(★★★)TBSD데이터를 시각화 / 다양한 데이터 형식 지원(메트릭, 로그, 트레이스 등)그라파나는 시각화 솔루션으로 데이터 자체를 저장하지 않음 → 현재 실습 환경에서는 데이터 소스는 프로메테우스를 사용Prometheus에서 수집한 Metric을 시각화 / Prometheus 스텍 설치 시 스텍에 포함되어 설치 기본 메뉴Search dashboards : 대시보드 검색Starred : 즐겨찾기 대시보드Dashboards : 대시보드 전체 목록 확인Explore : 쿼리 언어 PromQL를 이용해 메트릭 정보를 그래프 형태로 탐색Alerting : 경고, 에러 발생 시 사용자에게 경고를 전달Connections : 설정, 예) 데이터 소스 설정 등Administartor : 사용자, 조직, ..
PromQL 사용법 Node-exporter metric(/proc, /sys 정보)ex) node 입력 시 팝업되는 값들은 모두 node-exporter에 의해 수집되는 metric자동완성 기능을 통해 편하게 metric을 선택 할 수 있음# Table 아래 쿼리 입력 후 Execute 클릭 -> Graph 확인## 출력되는 메트릭 정보는 node-exporter 를 통해서 노드에서 수집된 정보node_memory_Active_bytes# 특정 노드(인스턴스) 필터링 : 아래 IP는 출력되는 자신의 인스턴스 PrivateIP 입력 후 Execute 클릭 -> Graph 확인node_memory_Active_bytes{instance="192.168.1.105:9100"} kube-state-metric..