Kubernetes
-
[EKS] EKS 업그레이드 후기Kubernetes/EKS 2024. 10. 27. 20:17
드디어... EKS 업그레이드 일정이 끝났다대민 서비스를 업그레이드 하는거라서 굉장히 꼼꼼하게 준비했던 업그레이드..간단하게라도 후기를 남겨보면서 복기해보려고 한다EKS를 업그레이드 하게 된 배경 우선.. RDS와 마찬가지로 Extended Support 비용 때문에, 해당 비용을 줄이기 위해서는 업그레이드를 반드시 진행해야 했다.운영중인 고객사의 EKS의 버전은 1.23.. 비용이 안나올려면 최소 1.29까지는 올려야하는 상황!그렇다면.. 최소 5번의 롤링 업데이트를 진행해야하는데롤링 업데이트의 경우 1) 롤백이 불가능 2) API 가 Deprecated 되는것이 뭐가 있는지 찾아보고 숙지해서 준비해야놔야함-> 1)번 롤백 불가능하다는 단점이 너무너무 커서... 결국 Blue/Green 업데이트로 가게..
-
[Udemy CKA] Practice Test - ReplicaSetsKubernetes/쿠버네티스 기본개념 2024. 6. 30. 21:58
Replicaset은 지정된 수의 파드 복제본이 항상 실행되도록 보장하는 역할즉, 노드 장애나 파드 종료 시 자동으로 새로운 파드를 생성함 - 보통은, replicaset을 직접 사용하기 보다는 deployment를 통해 사용함- deployment가 replicaset을 관리함 - replicaset이 몇개인지 확인하는 명령어kubectl get rs or replicaset - replicasetdml apiVersion을 확인하는 명령어kubectl api-resources | grep replicaset - tier : 라벨의 키, selector를 통해 특정 라벨을 가진 객체들을 선택할 수 있음 - kubectl delete -f replicaset-definition-1.yaml
-
[Udemy CKA] Practice Test - PodsKubernetes/쿠버네티스 기본개념 2024. 6. 24. 21:59
pods 배포 기본 - pods 확인하는 명령어kubectl get pods -n namespace - nginx 이미지로 새로운 pod를 생성하는 명령어kubectl run my-nginx --image=nginx - pod의 정보를 확인kubectl describe pod 파드이름- 파드가 위치한 노드를 확인kubectl get nodes - 특정 pod(webapp)에 몇개의 컨테이너가 있을지?kubectl describe pod webapp-> containers 확인 - pod 삭제kubectl delete pod webapp - redis 라는 이름으로 pod 만들기, 이미지는 redis123 이용 -> 실제로 리소스 생성하지 않고 클라이언트 측에서 시뮬레이션만 수행하자, 출력형식은 yamlk..
-
[Kubernetes] EKS Workshop #3Kubernetes/EKS 2024. 6. 9. 20:09
AWS CloudWatch Container Insight- 컨테이너형 애플리케이션 및 마이크로서비스에 대한 모니터링, 트러블 슈팅 및 알람을 위한 완전관리형 관측 서비스- Cloudwatch 대쉬보드로 container metrics, Prometeus metrics, application logs 및 performance log events를 탐색, 분석 및 시각화- CPU, 메모리, 디스크 및 네트워크와 같은 인프라 메트릭을 자동으로 수집 1. 클러스터의 매트릭 값 수집하기 위해 cloudwatch agent 설치2. cloudwatch log에 로그를 보내기 위핸 fluent bit 데몬셋 형태로 설치 cd ~/environmentmkdir -p manifests/cloudwatch-insig..
-
[Kubernetes] EKS Workshop #2Kubernetes/EKS 2024. 6. 9. 19:11
인그레스 컨트롤러 만들기(Ingress Controller)- 인그레스는 클러스터 외부에서 내부로 접근할때, 요청들을 어떻게 처리할지 정의해놓은 규칙- 외부 요청에 대한 로드 밸런성, TLS/SSL 인증서 처리, HTTP 경로에 대한 라우팅 등 설정 (L7의 영역)- Nodeport나 LoadBalancer로도 외부에 노출할 순 있지만,, 라우팅 규칙등의 상세한 옵션을 더 추가해야함-> 인그레스 필요- 인그레스 설정을 동작하기 위해 인그레스 컨트롤러를 만들어야함 -> 이 컨트롤러는 클러스터 생성할때 자동으로 생성되는게 아니라 직접 구현이 필요함AWS Load Balancer 컨트롤러 만들기- 클러스터에 인그레이스 자원이 생성될 때 ALB 및 필요한 자원이 새성되로록 트리거하는 컨트롤러임- 구성해놓은걸 가..
-
[Kubernetes] EKS Workshop #1Kubernetes/EKS 2024. 6. 9. 16:53
- EKS 는 kubernetes를 쉽게 실행할 수 있는 관리형 서비스임- EKS 를 사용하면 AWS 환경에서 쿠버네티스 컨트롤 플레인 이나 노드를 직접 설치하거나 운영, 유지할 필요없음 -> 관리형 쿠버네티스 !- AWS의 다양한 서비스들과 연동할 수 있음 -> ECR, ELB, IAM, VPC...실습 환경 구축하기- 본 실습에서는 aws cloud9 서비스를 Control Plane으로 지정하고, Worker node들을 다룰 예정- admin role을 만들어서 인스턴스에 붙여주고, cloud9 설정에서 AWS managed temporary credentials 설정을 비활성화rm -vf ${HOME}/.aws/credentials // 기존의 자격 증명 파일 제거 kubectl 설치- 쿠버네티..
-
[Kubernetes] 쿠버네티스의 기본 구조Kubernetes/쿠버네티스 기본개념 2024. 6. 9. 16:10
전체 쿠버네티스 클러스터의 구조Node- 쿠버네티스 클러스터를 구성하는 머신들은 노드(node)라고 부름- 각 노드들은 물리적이거나 가상 머신일 수 있음Master Node : Control Plane을 형성하며, 전체 클러스터를 관리하는 마스터 노드Worker Node : Data Plane을 형성하며, 파드들을 통해 실제 애플리케이션 컨테이너 이미지들을 작동시키는 워커 노드 Object- 쿠버네티스의 오브젝트(object)는 클러스터의 상태를 나타내는 단위- 항상 오브젝트의 "현재 상태"를 "의도한 상태"와 동일하게 만들게끔 작동함ex) 동작중인 컨테이너 relicas 개수, 어떤 파드들이 어느 노드에서 동작중인지.. pod - 하나 이상의 컨테이너를 둘러싼 가장 작은 래퍼(wrapper) 단위데몬..