반응형

k8s 8

Kubernets 구조, Yaml file 이해하기

►Kubernetes 구조 쿠버네티스의 핵심 개념을 한 줄로 표현하자면, 계속해서 원하는 상태를 만들기 위해 현재 상태를 바꾸는 플랫폼입니다. 예를 들어 내가 원하는 컨테이너를 쿠버네티스에 알려주면 (Desired State) 쿠버네티스는 계속해서 Current State(현재상태) 를 체크합니다. 단순히 컨테이너 뿐만 아니라 네임스페이스나 네트워크, 스토리지 같은 부분도 동일하게 동작합니다. 쿠버네티스는 가장 먼저 클러스터 구조를 이해할 필요가 있습니다. 클러스터는 여러 대의 컴퓨터가 모여서 같은 목적으로 수행되는 컴퓨터들의 집합이라고 볼 수 있는데, 이때 클러스터 전체를 관리하는 컨트롤러로서 마스터가 존재하고, 컨테이너가 배포되는 물리적인 머신을 노드라고 하게 됩니다. 마스터에는 kube-api-se..

AWS Secrets Manager 사용하기

K8S는 Secrets라는 리소스를 통해서 애플리케이션에 필요로하는 민감한 정보를 저장하고 관리할 수 있는 인터페이스를 제공하고 있습니다. 하지만 Kubernetes의 Secrets는 AWS Secrets Manager와 같은 외부 Secret 관리 system과 연동되지 않기 때문에 외부 Secret관리 System이 가지고 있는 기능들을 활용하지 못한다는 단점이 있습니다. K8s의 External Secrets는 이런 단점을 보완하기 위해 만들어진 System 입니다. kubernetes-external-secrets github : GitHub - external-secrets/kubernetes-external-secrets: Integrate external secret management sy..

[Public Cloud] Kyverno ?

Kyverno는 Kubernetes 용 policy engine입니다. Kyverno 정책을 활용하여 kubernetes 리소스가 정책에 부합하는지 검사하고, 필요하면 리소스를 변경하거나 생성할 수 있습니다. 이 문서에서는 Kyverno 구조 및 동작 방식과 활용 방안을 간략히 소개합니다. 맛보기 : Kyverno 정책 설정 및 활용 예시 먼저 모든 Pod는 app.kubernetes.io/name 라벨을 포함하도록 하는 규칙을 포함하는 아래 정책을 배포하고 실제로 어떻게 동작하는지 확인해보려고 합니다. A. Policy 적용하기 아래와 같이 예시 정책을 적용합니다. 만일 아직 Kyverno가 설치되지 않았다면 아래 설치하기 섹션을 먼저 진행합니다. kubectl create -f-

[AWS] HPA - Horizontal Pod Autoscaler

> 개요 HPA는 지정된 메트릭 값을 기준으로 Pod의 Replica 수를 제어 일반적으로 Pod의 CPU Utilization 메트릭 지정 CPU, Memory 사용량 수집을 위해 EKS Cluster 내 metric-server 구성 필요 기본적인 CPU/Memory 메트릭 이외에도 Custom Metric도 이용 가능 DaemonSet 등 Auto Scaling 적용이 불가능한 Object에는 적용할 수 없음 > 동작 원리 특정 시간 간격마다 kube-controller-manager가 HPA Object에 정의되어 있는 Resource의 utilization을 확인 기본 시간 간격은 15초 kube-controller-manager에 --horizontal-pod-autoscaler-sync-pe..

[AWS] Cluster Autoscaler (CA)

> 개요 CA는 Kubernetes 클러스터 Node의 리소스 사용률에 따라 Worker Node의 Scale out/in을 수행 AWS에서는 Auto Scaling Group을 이용하여 Node의 수를 조정 Kubernetes v1.8 부터 Kubernetes Autoscaler 프로젝트 중 하나로 Cluster Autoscaler v1.0(GA)이 포함 각 Cloud Provider에 맞는 가이드 제공 Cluster Autoscaler on AWS : IAM Policy & OIDC Ferderation, Auto-Discovery Setup이 포함 Cluster Autoscaler on AWS using Helm chart GitHub - kubernetes/autoscaler: Autoscalin..

[AWS] Amazon EKS Version-1

EKS는 기본적으로 오픈 소스 Kubernetes(이하, k8s)를 수정하지 않습니다. EKS는 업스트림 및 인증된 k8s 버전을 포함해서 오픈 소스와의 일관성을 유지하기 위해 보안 수정 사항을 backporting를 진행합니다. k8s 운영의 복잡도를 줄이기 위한 EKS는 k8s API의 모든 GA 기능을 지원하고, 기본적으로 활성화되어 있는 알파 기능을 제외한 모든 베타 기능도 지원합니다. 또한, 업스트림 버전을 장기간 지원하는데 EKS는 최대 4가지 버전의 k8s를 지원하기 때문에 운영단에서 롤아웃 업그레이드를 수행할 수 있는 충분한 시간을 제공합니다. 그 일환으로 AWS는 현재 커뮤니티에서 지원하지 않을 수도 있는 k8s에 대한 패치, 수정 및 업그레이드를 backporting하고 있습니다. 업스..

Amazon EKS Version

EKS는 기본적으로 오픈 소스 Kubernetes(이하, k8s)를 수정하지 않습니다. EKS는 업스트림 및 인증된 k8s 버전을 포함해서 오픈 소스와의 일관성을 유지하기 위해 보안 수정 사항을 backporting를 진행합니다. k8s 운영의 복잡도를 줄이기 위한 EKS는 k8s API의 모든 GA 기능을 지원하고, 기본적으로 활성화되어 있는 알파 기능을 제외한 모든 베타 기능도 지원합니다. 또한, 업스트림 버전을 장기간 지원하는데 EKS는 최대 4가지 버전의 k8s를 지원하기 때문에 운영단에서 롤아웃 업그레이드를 수행할 수 있는 충분한 시간을 제공합니다. 그 일환으로 AWS는 현재 커뮤니티에서 지원하지 않을 수도 있는 k8s에 대한 패치, 수정 및 업그레이드를 backporting하고 있습니다. 업스..

[Helm] k8s package manger - 낱낱이 알아보기

Intro helm은 kubernetes cluster에 어플리케이션을 배포하는 도구입니다. 쿠버네티스를 운영할때 단일 클러스터만으로 운영하는 경우는 흔치 않습니다.결국 애플리케이션을 여러 클러스터에 배포해야하는데, 이 과정에서 발생하는 관리 이슈가 생길 수 있습니다. 서비스의 경우는 그렇다 쳐도, 인그레스와 같이 호스트가 지정된 정보들의 경우 클러스터마다 상이하게 설정해야하는데 클러스터마다 매니패스트를 따로관리하는것도 문제입니다. 따라서 환경에 따라 달라지는 값만 정의해두고 이에 따라 배포하는 메커니즘이 필요하며 이를 해결하는것이 바로 “헬름” 입니다. Helm 이란? helm은 deis라는 회사에서 시작한 Helm Classic 프로젝트와 Google에서 진행되던 GCS Deployment Manag..

반응형