✨✨✨최근 EKS 환경에서 Pod 배포 정책에 문제가 발생해 개선 작업을 진행하게 되었습니다. 이번 포스팅에서는 기존 배포 정책의 문제점과 이를 해결하기 위해 적용한 새로운 정책에 대해 공유드리고자 합니다.💡💡💡기존 배포 정책의 문제점💡💡💡기존에는 Pod 배포 시 다음과 같은 방식으로 진행되었습니다:컨테이너 이미지 Pull -> pod 구동컨테이너 구동 후 ready 상태로 전환기존 Pod 제거 및 신규 Pod 생성 진행이 과정에서 Pod에 대한 Health Check 정책이 부재하여 다음과 같은 문제가 발생했습니다:신규 Pod의 내부 애플리케이션(App)에 문제가 생기더라도, 해당 상태를 확인하지 않은 채 배포가 진행됨.애플리케이션이 정상적으로 구동되지 않은 상태에서 기존 Pod가 제거되고,..
EKS 클러스터를 운영하다 보면 IAM 권한 설정으로 인해 예상치 못한 문제가 발생할 수 있습니다. 이번 포스팅에서는 EC2에만 권한이 부여된 상태에서 발생한 문제를 해결하기 위해 IAM Identity Mapping을 설정한 사례를 공유드립니다. 문제 상황: EC2에만 EKS 권한이 부여된 상태현재 EKS 클러스터 구성에서 EC2 인스턴스에만 EKS 관련 권한이 부여된 상황이었습니다. 이로 인해 AWS Management Console에서 EKS 클러스터와 관련된 정보를 확인하거나 작업하려고 할 때, 권한 부족 오류가 발생했습니다. 문제 확인 과정✨✨✨IAM Identity Mapping 확인권한 설정을 확인하기 위해 다음 명령어를 사용했습니다명령어 실행 결과아래와 같은 결과가 출력되었습니다:이 결..
배포작업시, pod 구동시 발생되는 리소스 부하로 pod가 확장되는 이슈가 있었습니다. 매번 배포할때 리소스 과점유로 노드 생성 및 pod가 주기적으로 생성되어, 필요이상의 인스턴스들이 생성되고 비용적으로도 비효율적인 상황이었습니다.해당 이슈 해소를 위한 방법으로 배포전 확장되는 수치를 0으로 줄이고 , 배포 후 원복하면 되긴하나,매번 배포시마다 수작을 진행하기엔 너무 불필요한 리소스이므로, presync,postsync를 활용하여, 배포 전/후 자동으로 확장되는 수치를 조절하도록 해봤습니다.이번 글에선 해당 작업을 진행해본 과정을 작성하였습니다.
argocd를 배포하여 사용하는 과정입니다환경은 AKS(azure kubernetes service)에서 진행하며, aks구축 과정은 생략하고 argocd 설치부터 진행합니다. https://argo-cd.readthedocs.io/en/stable/#what-is-argo-cdArgocd installaks ingress 설정을 통해서, 외부 접근허용하기git 연동배포 테스트 1.Argocd Install설치는 간단합니다.namespace 를 만들고, argocd install yaml파일을 다운받아서 적용하면 됩니다.[root@console ~]# kubectl create namespace argocdnamespace/argocd created[root@console ~]# kubectl ap..
이번 실습에선 Kubernetes controll 서버 업그레이드를 진행해보겠습니다. 현재 설치된 버전은 1.25 이며, 해당 버전을 1.26으로 업그레이드 해보겠습니다. k8s 환경 구성이 이미 되었다는 전제하에 진행합니다. • kubeadm, kubelet, kubectl을 1.25에서 1.26으로 업그레이드 OS환경: 우분투 20.04 root@k8s-master:~# cat /etc/issue Ubuntu 20.04.6 LTS \n \l K8S 버전 정보 root@k8s-master:~# kubectl get node NAME STATUS ROLES AGE VERSION k8s-master Ready control-plane 39m v1.25.16 k8s-worker1 Ready 9m v1.25...
CKA 시험시 나오는 ETCD 백업 및 복구하는 방법에 대해 실습하는 과정을 작성하였습니다. ETCD란? 핵심 Kubernetes 구성 요소에 포함되며 작동하는 내결함성 Kubernetes 클러스터를 만들기 위한 기본 키-값 저장소 역할 쿠버네티스 클러스터의 정보를 저장(memory)해서 사용 모든 etcd 데이터는 etcd 데이터베이스 파일에 보관 : /var/lib/etcd ETCDCTL 설치 참고 URL : Releases · etcd-io/etcd (github.com) Releases · etcd-io/etcd Distributed reliable key-value store for the most critical data of a distributed system - etcd-io/etcd g..