본문 바로가기
반응형

Kubernetes10

ArgoCD란? 개념부터 설치 배포까지 ArgoCD란?기존의 소프트웨어를 배포하고 관리하는 방식은 문제점이 많았다. 인프라 환경을 수동적으로 관리하고, 소프트웨어와 인프라를 따로 관리하는 경우가 많았기에 이로 인해 인프라와 소프트웨어 간의 불일치가 발생하게 되었고, 배포 및 운영 과정에서 문제가 발생할 가능성이 높았다. 이러한 기존의 접근 방식에 대한 대안으로 GitOps가 탄생했다.GitOps는 Git 저장소를 사용하는 소프트웨어 배포 접근 방식이다. GitOps 방식은 인프라와 소프트웨어를 함께 관리하기 때문에 Git 버전 관리 시스템과 운영 환경 간의 일관성을 유지하여 소프트웨어 간의 불일치 문제를 해결한다. 또한 모든 코드와 인프라 변경 사항이 Git 저장소에 저장되기 때문에, 변경 내역을 추적하고 롤백을 쉽게 수행할 수 있다.  Ar.. 2023. 5. 12.
Karmada 설치 이번 포스팅에서는 karmada를 설치하고 Karmada 기능을 사용해 Pod를 배포하는 실습을 다룬다. 실습 구성은 아래와 같다. 실습 과정은 아래와 같다. 1. EC2 Bastion에서 Karmada Control-Plane을 구성한다. 2. Push 방식을 이용하여 EKS Member1 클러스터를 Control-plane클러스터에 조인시킨다. 3. 조인이 완료되면 Control-Plane 클러스터에서 Propagation Policy를 이용해 Member1,2 클러스터에 Pod를 배포해한다. [Karmada Join Mode] Push 모드 : Control Plane에서 member 클러스터를 Join 시키는 방식 Pull 모드 : Member 클러스터에서 Control Plane에 join 하는.. 2023. 4. 21.
Karmada 란? Kubernetes는 대규모 분산 시스템에서 애플리케이션을 배포, 관리 및 확장하는 데 사용되는 인기 있는 컨테이너 오케스트레이션 툴이다. Kubernetes는 노드 그룹을 클러스터로 조직하고, 컨테이너를 클러스터의 노드에 배포하여 스케일링, 로드 밸런싱, 고가용성, 로깅 및 모니터링을 가능하게 한다. 그러나 많은 Kubernetes 사용자들은 여러 클러스터를 운영하게 되면, 클러스터 간의 통신과 작업 분배, 리소스 할당 및 오케스트레이션을 수동으로 관리해야 하는 어려움에 직면하게 된다. 이를 해결하기 위해 Karmada는 여러 개의 Kubernetes 클러스터를 하나의 큰 클러스터처럼 관리할 수 있게 해 주며, 이를 통해 리소스를 공유하고 작업을 분산시킬 수 있다. Karmada란? Karmada는 C.. 2023. 4. 21.
Linkerd 트래픽 Retry, Timeout linkerd는 ServiceProfile이라는 CRD를 사용하여 경로별 Retry, Timeout 설정을 할 수 있다.  Retry서비스가 클라이언트의 요청을 받아 처리하는데, 요청이 실패할 경우 다시 보내는 기능이다.가끔 요청이 실패할 경우 다시 보내어 클라이언트 기준 요청 성공률을 높일 수 있다. 하지만 클라이언트가 과도하게 재시도를 수행하면 서비스는 이를 처리하지 못하고 과부하 상태 및 잠재적인 장애 증상을 일으킬 수 있음에 주의해야 한다. Timeout서비스의 요청 처리 시간이 일정 시간 이상 걸릴 경우 해당 요청을 종료하는 기능이다. 클라이언트와 서버와의 통신이 끊어져 있거나 지연되고 있는 상황에서 클라이언트가 무한정 기다리는 것을 방지할 수 있다. 하지만 처리 중인 요청을 종료하여 문제를 일.. 2023. 4. 19.
Kubernetes Pod의 Graceful 한 종료 쿠버네티스에서 Pod의 Graceful 한 종료는 컨테이너와 애플리케이션의 안정성과 데이터 일관성을 보장하는 중요한 요소이다. 만약 Graceful 한 종료를 하지 않는다면, 강제로 컨테이너를 종료하는 것이기 때문에 실행 중인 작업을 완료하지 못하고 중단될 수 있고, 종료 전 Pod에서 일어나는 작업이 불완전한 상태로 남아 데이터 일관성과 안정성을 잃을 수 있다. 따라서, Graceful 한 종료는 Pod을 안정적으로 관리하고 운영상의 이슈를 방지하는 데 매우 중요하다.이를 위해서는 Pod의 종료 과정을 이해하고, 필요한 설정을 적용하여 Graceful 한 종료를 할 수 있도록 해야 한다.Graceful 한 종료란?Pod가 종료되기 전에 현재 진행 중인 작업들을 완료하고, 요청을 처리하는데 필요한 시간을.. 2023. 4. 15.
Linkerd 사이드카 주입 proxy-injector는 Kubernetes의 Admission Controller 중 하나로, Kubernetes API Server가 Pod 생성 요청을 받으면, 이 요청을 가로채서 Pod 생성 시 자동으로 Linkerd 프록시 컨테이너를 함께 생성하고, 이를 통해 모든 네트워크 트래픽을 프록시를 거쳐서 보낼 수 있도록 설정한다. 이렇게 생성된 Pod는 Linkerd 프록시 컨테이너가 사이드카 패턴으로 추가되어, 네트워크 트래픽을 중개하는 역할을 수행하게 된다. 이번 포스팅에서는 Linkerd-proxy 사이드카 컨테이너를 주입하여 pod끼리 통신하는 실습을 다룬다. 실습 Linkerd proxy 사이드카가 주입되기 위해서는 Pod annotations에 "linkerd.io/inject: ena.. 2023. 4. 5.
Linkerd 대시보드 ID, Password 변경 Linkerd 대시보드에 접근하려면 ID, Password 정보가 담긴 Secret을 생성하고, Ingress의 auth-secret을 이용하여 Ingress-nginx-controller를 통해 접근해야 한다. 이번 글에서는 기존의 ID, Password를 변경하기 위해 htpasswd 명령도구를 사용하여 ID, Password 저장 파일을 만들고 이를 이용하여 새로운 Secret을 생성하는 실습을 다룬다. htpasswd란? - 웹 서버의 인증 시스템에서 사용되는 유저 ID, Password 를 관리하는 도구이다. 먼저 htpasswd 명령을 사용하기 위해 패키지를 설치해야 한다. 패키지 설치 CentOS $ yum install httpd-tools Ubuntu $ apt install apache.. 2023. 4. 5.
728x90
반응형