오랜만에 아래 세 가지 이유로 가시다님 스터디에 참여하게 되었다. 아자!공부 마음 다잡기쿠버 지식이 휘발될지도 모르는 두려움회사에서 EKS 도입 가능성 대비https://www.youtube.com/watch?v=xIc6sB77Zqs스터디에 시작하기 전에 위
2주차 주제는 네트워킹이다.AWS에서 쿠버네티스를 구축하면 CNI(Container Network Interface)는 Calico 같은 오픈소스를 사용하거나 AWS에서 지원하는 VPC CNI를 사용할 수 있다.이번에 구축할 쿠버네티스에는 VPC CNI를 사용할 것이다
예시: WordPress와 MySQL을 퍼시스턴트 볼륨에 배포하기이번 글에서는 쿠버네티스 공식 문서에 있는 튜토리얼을 하나 따라해 보고자 한다!위 링크에서는 minikube 위에 kustomize를 이용해서 WordPress와 MySQL을 구축했지만 나는 EKS 위에
기본 세팅은 마치고 Observability 관련하여 시작할 것이다.EKS에서 로깅은 애플리케이션과 Node도 있지만 각종 컴포넌트가 있는 Control Plane 로깅도 필요하다.이 글에서는 Control Plane 로깅, 컨테이너 로깅, Fluent Bit 구성에
이번 블로그에서는 프로메테우스와 그라파나 실습을 진행하였다.일단 프로메테우스와 그라파나를 설치하였다.헬름차트를 먼저 추가해 주고monitor-values.yaml를 만들었다다음은 모니터링 네임스페이스를 생성하고 프로메테우스와 그라파나의 몇몇 설정 값을 변경한 value
HPA(Horizontal Pod Autoscaler)는 타겟의 메트릭이 일정 수치를 넘으면 POD의 Replicas를 늘릴 수 있다.php-apache POD를 다운받자!이 POD에 1000000번까지 OK!를 찍는 /var/www/html/index.php 파일이
CA는 Node의 정해진 사양에 따라 POD가 더 이상 스케줄링될 수 없어서 Pending 상태에 이르면, Autoscaler가 동작하여 Node의 개수를 증가시킨다.CA는 AWS ASG를 사용하여 동작하게 된다.Workshop Studio이제 CA 실습을 시작하겠다.
Karpenter는 CA와 마찬가지로 POD의 스케줄링 상태를 모니터링하다가 Node의 스케일링이 이루어 진다. 하지만 CA와 다르게, POD가 Node에 적절하게 스케줄링되어 낭비되는 리소스가 없게 Node의 Rightsizing을 도와준다.게다가 CA의 단점을 보완
이 포스팅에는 전체적인 개요만 말할 것이다! 자세한 실습 내용은 각 링크를 참조해 주십쇼!EKS Autoscaling에는 HPA(Horizontal Pod Autoscaler), VPA(Vertical Pod Autoscaler), CA(Cluster Autoscale
쿠버네티스 환경에서 작업할 때, 클라이언트가 API 서버에 접근하기 위해서는 kubeconfig를 가지고 kubectl 이라는 툴을 사용한다.이 때 클라이언트는 서버에 접근하기 위해 인증(Authentication) → 인가(Authorization) 단계를 거치게 된
쿠버네티스의 기본적인 인증/인가는 Service Account와 RBAC(Role/RoleBinding)으로 이루어졌다면EKS에서 인증/인가는 AWS IAM과 K8S RBAC으로 이루어져 있다.그래서 사용자가 kubectl 명령을 실행하면 내부적으로 EKS 인증과 K8
EKS에서는 인증(Authentication) 방식을 좀더 쿠버네티스 네이티브하게 변경해서 편리하게 사용하기 위해 EKS API 방식을 도입했다. (ConfigMap 수정 시 크리티컬한 요소도 있기 때문)현재는 EKS API 및 ConfigMap 방식으로 동시에 사용하
EKS에서 권한 관리 중에 Node, 클러스터, IAM User에 대한 권한 관리도 있지만 POD에 대한 권한 관리도 할 수 있다. POD에게 권한을 부여하는 방식은 여럿 있다.EC2 Instance Profile ⇒ EC2 Instance에 Role을 부여하게 됨으
OWASP Kubernetes Top Ten에 K8S 보안 위협이 여럿 있다.https://awskoreamarketingasset.s3.amazonaws.com/2022 Summit/pdf/T10S1_EKS 환경을 더 효율적으로 더 안전하게.pdf이 중에서
Kyverno는 CNCF 프로젝트로, K8S의 Policy를 동적으로 관리할 수 있는 Policy-as-Code이다.Dynamic Admission Control로 실행되며, Mutating/Validating admission 에서 동작하여 허용/거부 결과를 반환한다
이번 실습에서는 Docker도 사용해 보고 젠킨스도 사용해 볼 것인데마지막엔 DockerHub, Github, Jenkins를 연동하고 Jenkins에서 CI/CD를 사용할 것이다.Github Checkout → DockerBuild → Deploy to Kuberne
요새는 쿠버네티스 배포 도구 중에서 ArgoCD를 많이 사용하는 것 같다.ArgoCD를 사용하면 GitOps 전략을 잘 활용할 수 있다. Git 레포지토리를 사용해서 일관성, 보안, 자동화를 이점으로 선언적으로(Declarative) 배포(CD)를 진행하는 것이다.Gi
EKS는 테라폼으로도 배포할 수 있다.테라폼 기초 공부는 작년 9-10월 간 T101 스터디로 진행하였다!그래서 바로 클러스터를 생성해 보겠다.실습 환경은 윈도우에서 WSL2를 설치해 vscode로 진행하였다.우선 git clone으로 소스를 받고 시작한다.아래 주소를
이전 글에서 테라폼으로 생성한 클러스터 위에서 작업하겠다!테라폼으로 클러스터를 만들었으면이제 AWS 리소스는 ACK (AWS Controller for Kubernetes)로 생성해 볼 것이다.ACK는 매니페스트로 AWS 리소스를 관리할 수 있어, GitOps의 장점을